《《软件工程案例》PPT课件》由会员分享,可在线阅读,更多相关《《软件工程案例》PPT课件(59页珍藏版)》请在金锄头文库上搜索。
1、案例分析案例分析案例案例1:仓库信息管理系统:仓库信息管理系统一、一、需求分析需求分析二、系统用例模型二、系统用例模型三、系统动态模型三、系统动态模型四、四、创建创建系统包图系统包图五、系统类模型五、系统类模型六、系统部署六、系统部署系统总体功能需求系统总体功能需求一个功能完全的仓库信息管理系统,必须包括以下的几个管一个功能完全的仓库信息管理系统,必须包括以下的几个管理系统:理系统:(1)用户登录)用户登录(2)仓库管理)仓库管理(3)业务查询)业务查询(4)系统设置)系统设置一、一、需求分析需求分析系统总体结构图系统总体结构图用户登录功能模块用户登录功能模块仓库管理功能模块仓库管理功能模块系
2、统设置功能模块系统设置功能模块二、二、系统用例模型系统用例模型创建用例图分为以下几个步骤:创建用例图分为以下几个步骤:确定角色确定角色创建用例创建用例创建角色创建角色用例关系图用例关系图1、确定角色、确定角色2、创建用例、创建用例仓库信息系统根据业务流程可以分为以下的几个用例(仓库信息系统根据业务流程可以分为以下的几个用例(UseCases):):仓库进货仓库进货仓库退货仓库退货仓库领料仓库领料仓库退料仓库退料商品调拨商品调拨仓库盘点仓库盘点库存查询库存查询业务分析业务分析仓库历史记录查询仓库历史记录查询供应商信息维护供应商信息维护仓库信息维护仓库信息维护用户登录用户登录用户注销用户注销退出系
3、统退出系统建立用例建立用例图图3 3、创建、创建角色角色用例用例关系图关系图三、三、系统动态模型系统动态模型动动态态模模型型包包括括许许多多图图:活活动动图图(Activity)、时时 序序 图图 ( Sequence) 、 协协 作作 图图(Collaboration)等。等。业务用例能够采用语言描述的形式,但是对于复杂的业务处理流程 ,最好采用活动图的形式。进货的进货的活动图活动图仓库盘点过程时序图仓库盘点过程时序图仓库盘点过程协作图仓库盘点过程协作图四、四、创建系统包图创建系统包图包包是是模模型型的的一一部部分分,模模型型的的每每一一部部分分必必须须属属于于某某个个包包。建建模模者者可可
4、以以将将模模型型的的内内容容分分配配到到包包中中。UML对对如如何何组组包包并并不不强强制制使使用用什什么么规规则则,但但是是良好的分组会很大的增强模型的可维护性。良好的分组会很大的增强模型的可维护性。系统包图系统包图人员信息包内的类人员信息包内的类事务包内的类事务包内的类五、五、系统类模型系统类模型 类类图图是是面面向向对对象象系系统统的的建建模模中中最最常常见见的的图图。类类图图显显示示了了一一组组类类、接接口口、协协作作以以及及他他们们之之间间的关系。的关系。类类图图不不仅仅对对结结构构模模型型的的可可视视化化、详详述述和和文文档档化化很很重重要要,而而且且对对通通过过正正向向与与逆逆向
5、向工工程程构构造造可可执行的系统也很重要。执行的系统也很重要。 Logical视图视图类图类图六、六、系统部署系统部署 仓仓库库管管理理系系统统部部署署是是整整个个项项目目实实施施过过程程中中最最后后的的阶阶段段,就就是是把把该该系系统统中中涉涉及及到到的的硬硬件件软软件件、整合到一起,并且可以让系统运行起来。整合到一起,并且可以让系统运行起来。组件图组件图配置配置图图案例案例2:ATM系统建立一个具有基本功能的建立一个具有基本功能的建立一个具有基本功能的建立一个具有基本功能的ATMATM机软件机软件机软件机软件客户可以存钱,取钱客户可以存钱,取钱客户可以存钱,取钱客户可以存钱,取钱客户可以查
6、询节余客户可以查询节余客户可以查询节余客户可以查询节余客户可以修改密码客户可以修改密码客户可以修改密码客户可以修改密码客户可以使用信用卡付帐客户可以使用信用卡付帐客户可以使用信用卡付帐客户可以使用信用卡付帐需求建模用例图 需求分析的第一步是确定系统能够做什需求分析的第一步是确定系统能够做什么?谁来使用这个系统?么?谁来使用这个系统?用例图显示用例(表示系统功能)与角用例图显示用例(表示系统功能)与角色(表示提供或者接收系统信息的人或色(表示提供或者接收系统信息的人或系统)之间的交互。系统)之间的交互。用户,项目管理员,分析人员,开发人用户,项目管理员,分析人员,开发人员,质保人员都可以通过用例
7、图了解系员,质保人员都可以通过用例图了解系统功能。统功能。需求建模用例图建立用例图分为以下几个步骤:建立用例图分为以下几个步骤:确定角色(确定角色(Actors)创建用例(创建用例(UseCase)创建角色(创建角色(UseCases)用例(用例(UseCase)关系图关系图角色 系统用户 与本系统交互的其他系统 时间 确定角色确定角色(Actor)用例 描述一个系统(或一个子系统)做什么,而不是说明怎么做. 创建用例(创建用例(UseCase)用用例例是是角角色色启启动动的的,基基于于这这样样的的考考虑虑,ATM系系统统根据业务流程大致可以分为以下的几个用例:根据业务流程大致可以分为以下的几
8、个用例:客户取钱客户取钱客户存钱客户存钱客户查询余额客户查询余额客户转帐客户转帐客户更改密码客户更改密码客户通过信用系统付款客户通过信用系统付款建立用例建立用例图图创建角色创建角色用例关系图用例关系图客户的客户的角色角色用例用例关系图关系图一共有一共有6个用例:个用例:转账转账查询余额查询余额存钱存钱付款付款取钱取钱修改密码修改密码客户的客户的用例用例关系图关系图建立事件流 事件流的目的是建档使用案例中的逻辑流程,详细描述系统的工作。用例“取钱”的事件流 (1)简简要要说说明明:客户可以从ATM机上取出自己帐目上的部分或者全部存款。 前提条件:无前提条件:无 主事件流:主事件流: 1.1.1.
9、1.客户将卡插入客户将卡插入客户将卡插入客户将卡插入ATMATMATMATM机,开始用例。机,开始用例。机,开始用例。机,开始用例。2.2.2.2.ATMATMATMATM显示欢迎消息并提示客户输入密码。显示欢迎消息并提示客户输入密码。显示欢迎消息并提示客户输入密码。显示欢迎消息并提示客户输入密码。3.3.3.3.客户输入密码。客户输入密码。客户输入密码。客户输入密码。4.4.4.4.ATMATMATMATM确确确确认认认认密密密密码码码码有有有有效效效效。如如如如果果果果无无无无效效效效则则则则执执执执行行行行其其其其他他他他事事事事件件件件流流流流A1A1A1A1。如如如如果果果果与主机联
10、接有问题,则执行异常事件流与主机联接有问题,则执行异常事件流与主机联接有问题,则执行异常事件流与主机联接有问题,则执行异常事件流E1E1E1E1。5.5.5.5.ATMATMATMATM提供以下选项:存钱,取钱,查询提供以下选项:存钱,取钱,查询提供以下选项:存钱,取钱,查询提供以下选项:存钱,取钱,查询 。6.6.6.6.用户选择取钱选项。用户选择取钱选项。用户选择取钱选项。用户选择取钱选项。 7.7.7.7.ATMATMATMATM提示输入所取金额。提示输入所取金额。提示输入所取金额。提示输入所取金额。8.8.8.8.用户输入所取金额。用户输入所取金额。用户输入所取金额。用户输入所取金额。
11、 9.9.9.9.ATMATMATMATM确确确确定定定定该该该该帐帐帐帐户户户户是是是是否否否否有有有有足足足足够够够够的的的的金金金金额额额额。如如如如果果果果余余余余额额额额不不不不够够够够,则则则则执执执执行行行行A2A2A2A2,如果与主机联接有问题,则执行异常事件流如果与主机联接有问题,则执行异常事件流如果与主机联接有问题,则执行异常事件流如果与主机联接有问题,则执行异常事件流E1E1E1E1。 10.10.10.10.ATMATMATMATM从客户帐户中减去所取金额。从客户帐户中减去所取金额。从客户帐户中减去所取金额。从客户帐户中减去所取金额。 11.11.11.11.ATMAT
12、MATMATM向客户提供要取的钱。向客户提供要取的钱。向客户提供要取的钱。向客户提供要取的钱。 12.12.12.12.ATMATMATMATM打印清单。打印清单。打印清单。打印清单。 13.13.13.13.ATMATMATMATM退出客户的卡,用例结束。退出客户的卡,用例结束。退出客户的卡,用例结束。退出客户的卡,用例结束。其他事件流其他事件流A1:输入无效密码输入无效密码 1.ATM告诉客户该密码错误。 2.ATM退出客户的卡,用例结束。其他事件流其他事件流A2:余额不足余额不足1.ATM告诉客户该帐户余额不足。2.ATM退出客户的卡,用例结束。 异常事件流异常事件流E1E1:联接主机出
13、现错误联接主机出现错误1.ATM告诉客户联接主机出现错误。2.ATM在错误日志记下错误。3.ATM退出客户的卡,用例结束。 事后条件:无事后条件:无对象交互交互图 交互图显示一组对象以及它们之间传送的消息 寻找对象 研究事件流及情景文档中的名词 分辨对象和对象属性 不在事件流中的控制对象 时序图按时间顺序对控制流建模用户从中看到业务过程的细节用户从中看到业务过程的细节 分析人员从中看到处理流程 开发人员看到需要开发的对象和它们的操作 质保人员看到过程细节,并根据这个过程开发测试案例 客户李明取20元钱的顺序图 协作图按对象的组织对控制流建模质保人员和系统分析员用协作图显示对象间处理过程的责任分
14、布和数据流。 客户李明取20元钱的协作图 对象结构类图 显示系统中类与类之间的交互分析员用类图显示系统细节。类图可以显示每个用例中类的相互作用,也可以显示整个系统或子系统 ATM系统“取钱”用例的类图 读卡机类ATM屏幕类帐户类取钱机类创建系统包图创建系统包图包将具有一些共性的类组合在一起包将具有一些共性的类组合在一起. .一个包形成一个命名空间。通过包组织大系统模型,减少复杂性 结构良好的包是松耦合,高内聚的,对其类容的访问具有严密的控制 ATM系统的包图 对象行为状态图 显示一个对象从生成到删除的生命周期中相应事件所经历的状态序列以及它们对哪些事件的相应。 分析人员和开发人员通过状态图更好的了解类的动态行为,使编码前能讨论和建立复杂逻辑。 Account对象的状态图 构造程序组件图 表示一组组件之间的组织和依赖关系 编译和部署系统的人员需要使用组件图。显示了类与实现组件之间的映射,组件按什么顺序编译,编译时生成哪些运行组件 构件图对于通过正向工程和逆向工程构造可执行系统是重要的 组件图ATM客户机的C+组件图 ATM服务器的C+组件图ATM客户机的Java组件图项目部署实施图 建模系统的实际部署 项目管理员,用户,分析员和部署人员通过实施图了解,显示网络的实际布局和网络节点上组件的配置ATM系统的实施图