260 likes | 510 Views
第 9 讲 图书馆管理系统(一). 一、 UML 基础知识 二、用例分析技术. 一、 UML 基础知识. UML 简介 1997 年, OMG 组织发布了统一建模语言( Unified Modeling Language , UML ); UML 的目标之一就是为 开发团队 提供标准通用的 建模语言 来构建计算机应用系统; 通过使用 UML ,这些人员能够 阅读和交流 系统架构和设计规划。. 常用的 UML 图 UML 提供了多种图来从不同的侧面描述一个系统,例如: 用例图 :描述系统应该具备的功能; 类图 :系统的静态结构; 时序图 :描述用例的详细流程;
E N D
第9讲 图书馆管理系统(一) 一、UML基础知识 二、用例分析技术
一、UML基础知识 • UML简介 • 1997年,OMG组织发布了统一建模语言(Unified Modeling Language,UML); • UML的目标之一就是为开发团队提供标准通用的建模语言来构建计算机应用系统; • 通过使用UML,这些人员能够阅读和交流系统架构和设计规划。
常用的UML图 • UML提供了多种图来从不同的侧面描述一个系统,例如: • 用例图:描述系统应该具备的功能; • 类图:系统的静态结构; • 时序图:描述用例的详细流程; • 状态图:类的状态转换; • 活动图、组件图和部署图等等。
1、用例图(Use Case Diagram) • 是从软件需求分析到最终实现的第一步; • 从参与者的角度出发来描述一个系统的功能; • 主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求;
2、类图(Class Diagram) • 描述系统中类的静态结构; • 不仅定义系统中的类的内部结构(类的属性和操作) ,还描述类之间的关系(继承、关联等); • 是面向对象系统建模中最常用的图,是定义其它图的基础。
3、时序图 • 按照交互发生的时间顺序,显示对象之间是如何调用的; • 描述了具体用例的详细流程; • 主要用途,是把用例表达的需求,转化为进一步、更加正式层次的精细表达。 • 用例常常被细化为一个或更多的时序图。
二、用例分析技术 • 提出问题 • 通过用例从系统用户的角度提取软件的需求的方法已经很流行了; • 如何对用例加以分析,并用代码实现出来是一个最常见的问题。
用例分析技术 • 按照RUP(Rational Unified Process,统一软件开发过程),软件开发是由用例驱动的; • 在系统分析和系统设计中,用例被用来将一个复杂的系统分割、定义成一个个小的单元,然后以每个单元为对象进行开发。
建立一个用例实现 • 包括所关注的用例中出现的所有类的一个UML类图; • 描述交互的对象,以及它们之间的调用关系的一个或多个UML交互图,如时序图。
具体案例:网上借书用例描述 1. 这个用例从读者提出想要借书开始; 2. 系统提供查询功能,提示读者输入关键字查询 图书; 3. 系统列出可借用的图书供读者选择; 4. 如果读者选定了图书,系统提示读者输入借书证号和密码; 5. 如果最后读者表示确定借阅关系,系统处理并通知读者借书成功,并给读者一个确认; 6. 当确认信息出现时,这个用例就结束了。
第一步:从用例描述中找出类 • 实体类:如银行系统中的银行顾客、帐户、帐号交易等,与实现技术无关; • 控制类:控制整个业务的流程和执行次序; • 边界类:处理系统的输入与输出。
如何找出实体类 • 领域常识或类似的系统; • 比较简单的是语法分析,找出用例描述中的名词;这些名词: • 有些是类; • 有些会成为类的属性; • 有些跟系统无关。
思考 • 根据语法分析方法,我们可以从 “网上借书用例” 中找到几个实体类? • 网上借书用例描述
第二步:具体化找出的类 • 从一个类在系统中的 “责任” 出发,找出: • 类的属性(成员变量) • 它们之间的关系(如继承、或关联)
图书(类名:Book) • 职责:描述一本书的基本信息和状态;如书号、书名、作者和出版社等、是否已被借出。
读者(类名:Reader) • 职责:描述一个读者的基本信息和状态;如学号、姓名、班级等、是否可借书。
借阅关系(类名:Loan) • 职责:描述读者与图书之间的关系,如读者号和书号、借出时间、借阅天数等。
第三步:确认分析类的行为 • 这些类如何协作完成网上借书这个用例? • 可以用UML时序图来分析类之间的是如何交互的。 • 一个业务类(例如读者或图书)来接收用户的消息? • 通常会给时序图增加一个的用例控制类。
常用建模工具 • Rational Rose • Together Software Center • Visio • PowerDesigner • 等等
小结 • 主要介绍了UML中的用例图,类图和时序图,这些也是比较常用的。 • 介绍了用例分析的步骤,得到了用例的实现; • 但还必须进行用例设计的步骤,才能进入编码阶段。
参考资料 • Donald Bell 统一建模语言简介 http://www.ibm.com/developerworks/cn/rational/r-uml/ • Gary Evans 从用例到代码,第一部分:用例分析 http://www.ibm.com/developerworks/cn/rational/ rationaledge/content/mar05/5383/ • Gary Evans 从用例到代码,第二部分:用例设计 http://www.ibm.com/developerworks/cn/rational/ rationaledge/content/mar05/5670/