




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ObjectOriented 软件工程研究室 处理实例 在线购物 客户定单 一个计算机制造厂商提供了通过因特网购买计算机的可能性 客户可以在制造商的Web页面上选择一台计算机 计算机分为服务器 台式机和笔记本 客户可以选择标准配置 或者可以在线建立自己希望的配置 可配置的构件 如内存 显示在一个可供选择的列表中 对每个新的配置 系统可以计算价格 要发出定单 客户必须填上运送和付款信息 可接收的付款方式为信用卡和支票 一旦定单被输入 系统向客户发送一个确认e mail消息 并附上定单的细节 在等待计算机送到的时候 客户可以在任何时候在线查到定单的状态 后端定单处理包含下面所需的步骤 验证客户的信任度和付款方式 向仓库请求所订购的配置 打印发票并且请求仓库将计算机运送给客户 用例建模 参与者 与用例交互的任何人或任何事情 要得到有用的结果用例 功能的具体化为用例 功能需求可以直接映射到用例 表示一个完整的给用户传值的功能性单元 用例图 将用例赋给参与者 是系统行为模型的主要可视化技术 图形元素 用例 参与者 为用例编写文档 用事件流来描述 第 步 在线购物 用例建模 寻找系统中参与者 考虑如下扩展的需求来发现在线购物应用中的参与者 1 客户使用制造厂商的Web页面来查看所选择的服务器 台式机或笔记本的标准配置 价钱也同时显示出来 2 客户选择查看配置的细节 也许带有买它的意愿或建立一个更合适的配置 每种配置的价格在客户要求的情况下可以计算出来 3 客户可以选择在线订购计算机 或者也可以要求销售人员在定单真正发出之前与自己联系 解释定单的细节 协商价格等 4 要发出定单 客户必须填写在线表格关于运送和发票地址以及付款细节 信用卡或支票 5 在客户定单输入到系统之后 销售人员发送电子请求给仓库 附上所订购的配置的细节 6 事务的细节 包括定单号和客户账号 要e mail给客户 使得客户可以在线查看定单的状态 7 仓库从销售人员那里获得发票 并给客户运送计算机 第 步 在线购物 用例建模 寻找参与者 基于以上分析创建以下参与者 1 客户 Customer2 销售人员 Salesperson3 仓库 Warehouse 图1 1参与者 在线购物 Customer Salesperson Warehouse 表1 1寻找用例 在线购物 第 步 在线购物 用例建模 寻找用例 第 步 在线购物 用例建模 寻找用例 图1 2用例 在线购物 第 步 在线购物 用例建模 画用例图 extend Customer 显示标准计算机配置 DisplayStandardComputerConfiguration 更新定单状态 UpdateOrderStatus 制定计算机配置 BuildComputerConfiguration 订购预先配置的计算机 OrderConfiguredComputer 请求销售人员联系 RequestSalespersonContact 将定单通知仓库 InformWarehouseaboutOrder Warehouse仓库 Salesperson销售人员 图 3用例图 在线购物 第 步 在线购物 用例建模 编写用例文档 表1 2用例 订购配置的计算机 在线购物 的陈述性规格说明 活动建模 用图来表示用例的事件流 为用例建模 活动状态可根据用例文档来建立 活动图填补了系统行为在用例模型中的高级表示和行为在交互模型 序列图和协作图 中的低级表示之间的空白 活动图显示了计算的步骤 执行步骤称为活动状态 活动状态要花费时间来完成 行为被看作快到 活动只能在对象状态中定义 活动应从系统的角度 而不是从参与者的观点命名 行为可出现在对象状态的转换中 从一个活动状态到另一个活动状态的控制流称为转换 活动图也可用于在一个高的抽象层次上理解业务进程 在一个低的抽象层次上设计复杂的序列算法 在多线程应用中设计并发算法 第 步 在线购物 活动建模 找出活动 为用例OrderConfiguredComputer 定购配置计算机 找出活动 表1 3在主要的和附加的流中找出活动 第6步 在线购物 活动建模 活动图 类建模 类建模元素包含 类自身 类的属性 操作 关联 聚合 组合 泛化 类图提供这些建模元素的组合可视化表示 类建模和用例建模可并行进行 用例辅助类的发现 类模型可以发现被忽略的用例 实体类 定义业务对象 边界类 定义GUI对象 控制类 控制程序逻辑的类 类的结构由它的属性定义 对象协作的路径由关联表示 即关联用于指向所关联类的属性类型 第7步 在线购物 类建模 找出实体类 表1 4需求到实体类的赋值 在线购物 第7步 在线购物 实体类 ConfigurationItem Computer 图1 5类 在线购物 Customer fromUseCaseView 客户类 从用例角度 配置的计算机类 定单类 付款类 发票类 配置细节类 计算机类 第8步 在线购物 类建模 原始类型的属性 第9步 在线购物 类建模 增加关联 第10步 在线购物 类建模 增加聚合 客户类 从用例角度 配置的计算机类 付款类 发票类 1 1 1 0 1 0 1 0 1 1 1 图1 8聚合 在线购物 第11步 在线购物 类建模 增加泛化 图1 9泛化 在线购物 ConfiguredComputer 配置的计算机类 Customer fromUseCaseView 客户类 从用例角度 Order 定单类 Payment 付款类 Invoice 发票类 ConfigurationItem 配置细节类 Computer 1 1 1 1 1 1 0 0 1 1 0 1 1 1 标准计算机类 第12步 在线购物 类建模 类的属性 配置的计算机类 标准计算机类 配置细节类 发票类 交互建模 交互建模是需求分析的高级阶级 提供了用例的详细规格说明 用来捕获执行一个用例的对象之间的交互 交互建模是将事件赋予了对象 显示了协作对象之间的事件 消息 的次序 交互模型有 交互是某个行为的一组消息及在对象间的交互 序列图 强调时间序列 是二维图 水平维表示对象 垂直维表示消息的次序 需求分析中使用消息在序列图中出现 规定了在类图中需要一个关联 协作图 强调对象关系 系统设计中使用交互和操作 检测交互导致操作的发现 交互模型中的消息和实现类中的方法之间是一对一的映射 第13步 在线购物 交互建模 序列图 第14步 在线购物 交互建模 显示用操作扩展的类 constructor openNew displayComputer item reset ConfigurationItem item type String item descr String getConfItem outitem rec 图1 12用交互关系来给类增加操作 在线购物 边界类 配置窗口类 配置细节类 计算机类 第15步 在线购物 交互建模 简化序列图 图1 13活动图OrderConfiguredComputer的序列图 Customer OrderWindow openNew 打开新配置窗口 getConf 获取配置 图1 13活动图OrderConfiguredComputer的序列图 在线购物 aComp Computer 计算机类 定单窗口类 Order 定单类 acceptConf 接受配置 prepareForOrder 准备定单 displayOrder 显示定单 submitOrder 提交定单 storeOrder 存储定单 linkComputer 链接计算机对象 emailOrder linkCustomer linkPayment 在线购物 交互建模 简化序列图 状态图建模 状态模型给出了类的详细描述 类的状态的动态变化 这些动态变化典型地描绘了对象跨越几个用例时的行为 对象的状态由对象属性的当前值表示 原始属性及指向其他类的属性 状态模型捕获了类可以具有的状态即捕获了类生命期的历史 对象在其生命期间是不变的 它的标识决不变化 但对象的状态可能发生变化 状态图是状态和由事件引起的变迁 箭头 现成的二分图 对每个对象状态 它决定这个对象在接收到一个事件时将采取什么行为 行为的执行将引起状态的变化 变迁的完整描述 event parameters guard action 第16步 在线购物 状态图建模 FullyPaid PartlyPaid 图1 13类Invoice的状态和事件 Partialpayment finalpayment finalpayment 未付款状态 部分付款状态 完全付款状态 第17步 在线购物 状态图建模 给类Order画状态图 Cancel ReadytoShip Filled FutureOrder NewOrder BackOrder stocknotavailable stockavailable shipdateinfuture cancellation pending 将来的定单 过去的定单 没有库存 有库存 将来运送日期 取消预定 准备运送 有库存 现在的运送日期 配置计算机 定单信息存入数据库 第18步 在线购物 限定关联 Order order number String order date Date ship address String order total Currency order status String salesperson name String Configuration id Integer Computer Computer name String Getconf 0 1 图1 15被限定的关联 第19步 在线购物 协作图 图1 16DisplayCurrentConfiguration的协作图 获取配置 获取配置细节 第20步 在线购物 用例包 图1 17用例包 在线购物 显示标准计算机配置 产品 购买 请求供货方合同 订购预先配置的计算机 付款 验证并接受客户付款 打印发票 第21步 在线购物 类包 构件与部署的设计 构件是系统的物理部分 依赖实现平台 构件是有清晰边界的功能单元 构件必须被仔细的设计和实现 支持Web应用的部署结构包括四层计算结点 带浏览器的客户端 Web服务器 应用服务器 数据库服务器 Web服务器处理来自浏览器的页面请求 并为客户端上的执行和显示动态产生的页面和代码 Web服务器还与用户一起解决活动阶段的客户化和参数化 若在实现时引入了分布式对象 使用应用服务器管理业务逻辑 业务构件将它们的接口通过如CORBA DCOM和EJB等的构件接口向其他结点发布 业务构件封装了存储在数据库中的永久对象 它们与数据库服务器通过数据库互连协议进行通信如JDBC ODBC 典型技术 ODBC 开发数据库互连 JDBC Java数据库互连 RBO 远程数据对象 ADO ActiveX数据对象 DBLib 数据标准库 Web服务器技术 脚本化HTML 超文本Markup语言 页面 ASP 活动服务器页面 JSP Java服务器页面 Web页面技术 客户机脚本 JavaScript或VBScript XML eXtensibleMarkup语言 文档Java应用程序 JavaBean或者ActiveX控件 客户使用HTTP 超文本传输协议 来从Web服务器获得Web页面 该页面可以被脚本化或包含己编译的可执行的DLL 动态链接库 模块如 ISAPI 因特网服务器应用程序设计界面 NSAPI Netscape服务器应用程序设计界面 CGI 公共网关界面 或Java小服务程序 第22步 在线购物 构件图 图1 19构件包 在线购物 第23步 在线购物 部署图 详细设计 包 构件 结点属于体系结构的设计详细设计集中在协作上 协作定义用例的实现或复杂操作的实现协作设计导致类图的细化或产生 顺序图 状态图的细化 第24步 在线购物 用例规格说明 用例规格说明 OrderConfiguredComputer1 UC15OrderConfiguredComputer 1 1简述客户填写并提交购买定单表 系统验证细节并确认或拒绝这个定单 2 事件流2 1 基本流2 1 1 UC15 1系统在客户的Web浏览器上显示OrderEntry表格 这个表格包含如下项目 UC15 1 1表的标题为OrderYourComputer UC15 1 2解释信息显示在标题下方这段解释信息的正文如下 请填写表格中的项目 要求的项目为红颜色并且是黑体 按Submit键提交该表 或者如果你决定不继续你的预定时 按Cancel键 你能够在提交预定的24小时之内取消你的预定 不用交罚金 你可以用Web email fax或电话取消提交的预定 UC15 1 3运送地址项 UC15 1 3 1所要求的运送地址项为 名字 国家 城市 街区 邮政方向 UC15 1 3 2后选的运送地址项为 郊区 州 邮政编码 第24步 在线购物 用例规格说明 UC15 1 4不同于运送地址提供的其他联系细节 UC15 1 4 1偏好的联系方式 电子邮件 电话 传真 普通邮件 快递邮件 UC15 1 4 2所要求的联系细节为下列项目之一 电子邮件 电话 传真 UC15 1 4 3候选的联系细节为 上述三种所要求的联系细节中的任何两种 邮件地址 如果与运送项目中提供的不一样的话 UC15 1 5账单地址 如果与运送项目中提供的不一样的话 UC15 1 6付款方法 UC15 1 6 1客户可以选择用支票或者信用卡付款 UC15 1 6 2对支票付款 系统提供支票的付款对象信息和应该寄往的地址信息 它还要通知客户一旦收到支票将在三天内从账户中取钱 UC15 1 6 3对信用卡付款 系统显示要由客户填写的项 这些项是可接受的信用卡类型列表 信用卡号 信用卡的过期日期 UC15 1 7销售代表的名字 如果客户在前面已经知道的话 UC15 1 8两个行为键 Submit和Cancel 2 1 2 UC15 2系统将光标放在第一个可编辑的域 Name域 上 通过这种方式提示客户输入定单信息 UC15 3系统允许按任何次序输入信息 第24步 在线购物 用例规格说明 UC15 4如果客户不在15分钟之内提交或者取消这个表 替换动作 客户未激活 就开始执行 2 1 3 UC15 5如果客户点击Submit按钮 并且所要求的信息都已经提供 则该定单就提交给Web服务器 该Web服务器通知数据库服务器在数据库中保存该定单 UC15 6数据库为这次订购赋予唯一的一个编号和一个客户账号 UC15 7如果数据库服务器不能创建和存储这个定单 则替换动作 数据库异常 就开始执行 UC15 8如果客户提交了信息不完全的定单 则替换动作 不完全信息 就开始执行 2 1 4 UC15 9如果客户提供email地址作为通信方式 系统将定单和客户编号以及所有的定单细节email给客户 作为对接收定单的确认 用例终止 UC15 10否则定单信息将寄给客户 该用例也终止 2 1 5 UC15 11如果客户点击Cancel键 则替换流Cancel就开始执行 2 2替换流2 2 1 客户未激活 UC15 4 1如果客户在15分钟内没有被激活 则系统中断与浏览器的连接 用例终止 第24步 在线购物 用例规格说明 2 2 2数据库异常 UC15 7 1如果数据库出现异常 系统要进行解释并通知客户错误的性质 如果客户的连接已经中断 系统将错误信息email给客户和销售人员 用例终止 如果客户用Internet和email不能联系 销售人员需要用其他方式联系客户 2 2 3 不完全信息 UC15 8 1如果客户没有填写所要求的项目 系统请求客户提供这些漏掉的信息并显示漏掉项目的列表 用例继续 2 2 4 取消 UC15 11 1如果客户点击Cancel键 该表格的域消失 用例继续 3 前置条件3 1 客户将因特网浏览器指向该系统的Web页面 该页面显示所配置的计算机的细节以及它的价格 客户点击Purchase键 3 2 客户要在请求建立后的计算机配置并在浏览器页面上显示出来之后的15分钟之内点击Purchase键 4 后置条件4 1 如果客户的预定提交成功 该购买定单记录在系统数据库中 否则 系统的状态不变 第25步 在线购物 协作的结构 refresh newOrderClientPage incompleteSubmit newOrderServerPage readClient writeOrder clientpage b ConfigurationClientPage button Purchase beginTransaction commitTransaction rollbackTransaction newOrder deleteOr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 快递员资格考试题及答案
- 2024年雅安市名山区乡村公益性岗位招聘笔试真题
- 2025年中国酱油碟行业市场调查、投资前景及策略咨询报告
- 2025年中国译码器集成电路行业投资前景及策略咨询研究报告
- 2025年中国艺术花瓶行业投资前景及策略咨询研究报告
- 2025年中国网袋机行业投资前景及策略咨询研究报告
- 2025年中国等离子体恶臭异味净化装置行业市场调查、投资前景及策略咨询报告
- 2025年中国石英火头行业投资前景及策略咨询研究报告
- 2025年中国电磁阀型干蒸汽加湿器行业投资前景及策略咨询研究报告
- 2025年中国洗小块煤行业市场调查、投资前景及策略咨询报告
- 如何进行税务数据分析试题及答案
- 内镜中心的护理内容
- 边坡作业安全教育培训
- 动静脉瘘护理常规
- 小学语文跨学科主题学习策略研究
- 行政前台面试题及答案
- 维语语言考试题及答案
- 蓝鲸的眼睛测试题及答案
- 2025年道教人员考试试题及答案
- 兽药GMP培训课件
- 2022-2023学年浙江省温州市永嘉县人教PEP版四年级下册期末测试英语试卷
评论
0/150
提交评论