软件工程与项目案例教程电子工业出版社1需求描述根据需求建立系统的静态模型构造系统的结构描述系统的行为面向对象的设计软件工程与项目案例教程电子工业出版社2用例图:从用户角度描述系统功能,并指出各功能的操作者;重点是参与者和用例的挖掘;注意参与者之间、用例之间的泛化、包含和扩展关系软件工程与项目案例教程电子工业出版社3类图:用于定义系统中的类。包括描述类之间的关系(如:关联、依赖、泛化、聚合、可见性、数量关系、聚合与组合等)以及类的内部结构(即类的属性和操作)。软件工程与项目案例教程电子工业出版社4对象图:是类图的实例,显示一组对象以及它们的关系。对象图只在系统的某一时间段存在。对象图是类图的实例,几乎使用与类图完全相同的标识。软件工程与项目案例教程电子工业出版社5包图:用于描述系统的分层结构,包中内容可以是类,也可以是包。包图主要表示包与类,或包与包之间的关系。软件工程与项目案例教程电子工业出版社6状态图:描述了对象在其生命周期中所有可能的状态以及事件发生时状态的转移条件。通常状态图是对类图的补充。软件工程与项目案例教程电子工业出版社7活动图:描述了为满足用例要求所要进行的各种活动的执行流程,以及活动间的约束关系,有利于识别并行活动。通过同步棒与泳道反映并发活动关系软件工程与项目案例教程电子工业出版社8顺序图:显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;如果强调时间和顺序,则使用顺序图;软件工程与项目案例教程电子工业出版社9协作图:描述了一组相互合作的对象与对象之间的协作关系,强调对象相互间的通信关系。如果强调上下级关系,则选择合作图。软件工程与项目案例教程电子工业出版社10构件图:组件图描述了软件组件的物理结构以及各组件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。软件工程与项目案例教程电子工业出版社11配置图:(也称部署图)描述了软件在硬件环境中的配置关系。配置图不但显示实际的计算机和设备(用节点表示)以及它们之间的关系,还描述了连接的类型及组件之间的依赖性。在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。软件工程与项目案例教程电子工业出版社12案例1:ATM系统建立一个具有基本功能的ATM机软件客户可以存钱,取钱客户可以查询节余客户可以修改密码客户可以使用信用卡付帐软件工程与项目案例教程电子工业出版社13客户的用例关系图软件工程与项目案例教程电子工业出版社14用例“取钱”的事件流(1)简要说明:客户可以从ATM机上取出自己帐目上的部分或者全部存款。前提条件:无主事件流:软件工程与项目案例教程电子工业出版社151.客户将卡插入ATM机,开始用例。2.ATM显示欢迎消息并提示客户输入密码。3.客户输入密码。4.ATM确认密码有效。如果无效则执行其他事件流A1。如果与主机联接有问题,则执行异常事件流E1。5.ATM提供以下选项:存钱,取钱,查询。6.用户选择取钱选项。7.ATM提示输入所取金额。8.用户输入所取金额。9.ATM确定该帐户是否有足够的金额。如果余额不够,则执行A2,如果与主机联接有问题,则执行异常事件流E1。10.ATM从客户帐户中减去所取金额。11.ATM向客户提供要取的钱。12.ATM打印清单。13.ATM退出客户的卡,用例结束。软件工程与项目案例教程电子工业出版社16其他事件流A1:输入无效密码1.ATM告诉客户该密码错误。2.ATM退出客户的卡,用例结束。其他事件流A2:余额不足1.ATM告诉客户该帐户余额不足。2.ATM退出客户的卡,用例结束。异常事件流E1:联接主机出现错误1.ATM告诉客户联接主机出现错误。2.ATM在错误日志记下错误。3.ATM退出客户的卡,用例结束。事后条件:无软件工程与项目案例教程电子工业出版社17客户李明取20元钱的顺序图软件工程与项目案例教程电子工业出版社18客户李明取20元钱的协作图软件工程与项目案例教程电子工业出版社19ATM系统“取钱”用例的类图读卡机类ATM屏幕类帐户类取钱机类软件工程与项目案例教程电子工业出版社20ATM系统的包图软件工程与项目案例教程电子工业出版社21Account对象的状态图软件工程与项目案例教程电子工业出版社22ATM客户机的C++组件图软件工程与项目案例教程电子工业出版社23ATM服务器的C++组件图软件工程与项目案例教程电子工业出版社24ATM客户机的Java组件图软件工程与项目案例教程电子工业出版社25ATM系统的实施图