1、1、用例图(use case diagram)用例图(Use Case Diagram)是被称为参与者(Actor)的外部用户所能观察到的系统功能的模型图列出系统中的用例和参与者显示哪个参与者参与了哪个用例的执行核心概念用例:系统中的一个功能单元,可以被描述为参与者与系统之间的一次交互作用参与者、参与者泛化用例与参与者之间的关系:关联用例之间关系:扩展、UC01:“借书”用例文档用例名称:借书用例标识:UC01涉及的参与者:工作人员涉及的用例:无描述:工作人员利用该用例为读者完成借书过程前置条件:工作人员必须登录到当前系统涉众利益:包括、泛化推荐使用场合业务建模、需求获取、定义某图书馆管理系统
2、:是一个基于 Web 的计算机应用系统;读者可以查询图书信息以及借阅信息;读者可以通过系统预约所需的图书;图书馆工作人员利用该系统完成读者的借书、还书业务;图书馆工作人员可以对图书信息、读者信息等进行维护;对于到期的图书,系统会自动向读者发送催还信息;管理员会定期进行系统维护;读者:能够方便的找到并借出所需的图书工作人员:能够快速并准确的完成借书工作基本事件流:工作人员帮助读者借阅图书1.用例起始于读者带着所要借的图书来到借阅前台;2.工作人员录入读者信息;3.工作人员逐一录入所有的图书信息:* 3.1 工作人员录入一本图书信息;* 3.2 系统确认该读者可以借阅当前图书;4.工作人员确认本次
3、借阅信息;5.系统记录本次借阅情况。后置条件:系统将读者借阅信息正确地记录到数据库中备选事件流2a. 读者身份不合法2b. 读者存在欠费信息,不允许借书3.2a. 该读者不允许借阅当前图书字段列表:5. 借阅信息主要包括:读者图书证号、图书编号、借阅日期(默认为当天日期)、借阅天数以及归还日期。业务规则3.2 系统根据当前读者的借阅规则来判断是否可以借阅图书;而借阅规则取决于读者的类型(如本科生、研究生、老师等)和图书的类型(如科技类、文学类、新书等),并可动态配置非功能需求:无设计约束:无部署约束:无未解决的问题2b. 读者存在多少欠费记录时,才不允许借书?3.2 借阅规则的具体配置情况需和
4、用户进一步讨论?2、活动图(activity diagram)活动图(Activity Diagram)通过动作来组织,主要用于描述某一方法、机制或用例的内部行为核心概念状态、活动、组合活动、对象转移、分支并发、同步泳道推荐使用场合业务建模、需求、类设计3、静态结构图类图(Class Diagram)是软件的蓝图,详细描述了系统内各个对象的相关的类,以及这些类之间的静态关系。核心概念:类、接口、依赖、关联、泛化、实现类图展示实体类的静态关系:对象图(Object Diagram)表示在某一时刻类的对象静态结构和行为。核心概念:对象、链接、多重性对象图展示我当前借书情况:包图(Package D
5、iagram)展现有模型本身分解而成的组织单元(包)以及它们的依赖关系。核心概念:包(、框架、层、子系统) 、依赖包图展示系统分层结构:组合结构图(Composite Structure Diagram)描述系统中某一部分(组合结构 )的内部结构,包括该部分与系统其它部分的交互点。 核心概念:组合结构、部件、端口、协议组合结构图展示借书内部结构:4、顺序图(Sequence Diagram)顺序图(Sequence Diagram)用于显示对象间的交互活动关注对象之间消息传送的时间顺序核心概念对象、生命线、激活、交互、消息交互帧(Interaction Frame)推荐使用场合用例分析、用例设
6、计“借书” 用例实现的顺序图5、交互纵览图(Interaction Overview Diagram)交互纵览图(Interaction Overview Diagram)活动图和顺序图的混合物直观地表达一组相关顺序图之间的流转逻辑核心概念交互帧交互纵览图组织多个顺序图分支、转移推荐使用场合用例分析、用例设计6、通信图(Communication Diagram)通信图(Communication Diagram)UML 1.x 中称为协作图(Collaboration Diagram)表示一组对象间关系以及交互活动核心概念对象、协作角色协作、交互、消息推荐使用场合用例分析、用例设计“借书”
7、用例实现的通信图 7、时间图(Timing Diagram)时间图(Timing Diagram)“打电话”顺序图的时间约束 一种交互图,展现消息跨越不同对象或角色的实际时间信息;具体描述单个或多个对象状态变化的时间点以及维持特定状态的时间段;顺序图是表示交互的主要手段,可以在顺序图中增加时间约束来表明对象状态变化的时间点以及维持特定状态的时间段。核心概念时间约束、持续时间约束、生命线状态、条件、事件利用时间图描述时间约束 8、状态机图(State Machine Diagram)状态机图(State Machine Diagram)UML1.x 为状态图 (Statechart Diagra
8、m)利用状态和事件描述对象本身的行为主要概念状态、初态、终态、复合状态事件、转移、动作“图书” 类的状态机图 并发推荐使用场合类设计9、构件图(Component Diagram)构件图(Component Diagram)封装类为构件描述在系统实现环境中的软件构件和之间的关系主要概念构件、工件、接口(所供接口、所需接口)依赖、实现推荐使用场合系统设计、实现、部署构件图描述类的实现环境 10、部署图(Deployment Diagram)部署图(Deployment Diagram)描述系统所需的硬件构件的物理部署主要概念节点、构件、位置连接、依赖部署图描述系统部署情况 推荐使用场合系统设计、
9、实施、部署UML1.XUML 几种图的绘制UML 是 Unified Modeling Language(统一建模语言)的简称。UML 是对软件密集型系统中的制品(软件开发过程中产生的各种各样的产物,如模型、源代码、测试用例等)进行可视化、详述、构造和文档化的语言。UML 是一套表示法系统。UML 由一组图组成,它使得系统分析员可以利用这一标准来建立能够和客户、程序员以及任何参与程序开发的人员理解的多视角的系统蓝图。不同的风险承担人通常使用不同类型的图相互交流。UML 的特点有:统一的标准:UML 已被 OMG 接受为标准的建模语言、面向对象、可视化、表示能力强大、独立于过程、概念明确,建模表
10、示法简洁,图形结构清晰,容易掌握使用UML 中包括九种图:类图、对象图、用例图、状态图、顺序图、活动图、协作图、构件图、部署图【系统用例图】用例是系统的一组使用场景。每个场景描述了一个事件的序列。每个序列是由一个人、另一个系统、一台硬件设备或者某段时间的流逝所发起。这些发起事件序列的实体叫做参与者(actor )。用例是对一个参与者(actor)使用系统的一项功能时所进行的交互过程的一个文字描述序列。UML 表示: 用例用一个椭圆形表示 参与者用直立人形图标表示 用例的发起参与者在用例图的左侧,接收参与者在用例图的右侧 关联线连接参与者和用例并且表示参与者与用例之间有通信关系;关联线是实线。R
11、ational Rose 表示:创建参与者 创建与参与者相关的用例 并建立联系系统用例图如下:目录中出现参与者及用例如下:【顺序图】对象之间的交互是按照特定的顺序发生的,这些按特定顺序发生的交互序列从开始到结束需要一定的时间。当建立一个系统时,必须要指明这种交互序列,顺序图就是用来完成这项工作的 UML 组件。UML 表示: 对象用矩形表示,其中是带下划线的对象名 时间用垂直虚线表示 消息用带箭头的直线表示 激活用窄矩形条表示Rational Rose 表示:右击用例“Add Item to Shopping Cart”,选择“Add”-“Sequence Diagram”首先画出用例中会用到
12、 Object 再在 Object 之间创建 ObjectMessage顺序图如下:【协作图】协作图是对象图的扩展。协作图除了展示出对象之间的关联,还显示出对象之间的消息传递。对象图是一个快照;而协作图是一部电影。UML 表示: 关联线附近的箭头线表示对象之间的传递的消息,箭头指向消息接收对象 消息名称和消息序号附在箭头线附近。消息的一般含义是触发接收消息的对象执行它的一个操作Rational Rose 表示:用例图按 F5 键直接生成协作图如下:绘制详细顺序图如下:生成协作图:在目录中生成如下文件:【类图】类是一类或者一组具有类似属性和共同行为的事物UML 表示: 矩形方框 被分为三个区域:
13、类名、类的属性、类的操作 类名由多个单词组成;每个单词的首字母要大写,单词之间不用空格 属性名和操作名也类似,但首字母不用大写 每个操作名的后面都有一对括号Rational Rose 表示:在图中绘制各种类以 及各种类之间的关系 分析“Add Item to Shopping Cart”中用到的类,在 Logical View 新建“Class Diagram”、“Add Item to Shopping Cart”绘制类图如下:创建主类图“main”:Boudaries 、Control 、Entities 三个包则在 Logical 中生成三个文件夹:将相应的类拖到对应的文件夹下:【状态图
14、】人或事物表现出来的形态为状态。当系统与用户(也可能是其它系统)交互的时候,组成系统的对象为了适应交互需要经历必要的变化。如果要对系统建立模型,那么模型中必须要反映出这种变化。UML 表示: 状态用圆角矩形表示 状态间带箭头的实线代表状态的迁移(转移),箭头指向目标状态 实心圆代表状态转移的起点,眼形圆圈代表终点Rational Rose 表示:在类 Product Item 下新建“Statechart Diagram”,绘制 Product 的状态图绘制“开始” 状态 ,之后依次绘制各种状态及转移,最后以 表示结束绘制状态图如下:生成目录如下:【构件图】构件是系统中遵从一组接口且提供其实现
15、的物理的、可替换的部分。构件图则显示一组构件以及他们之间的相互关系,包括编译、链接或执行时构件之间的依赖关系。构件图和部署图用于在 OO 系统中实现物理方面的建模UML 表示: 左侧附有两个小矩形的大矩形框;也可以用一个顶部带关键字Component的矩形表示 构件有自己的名称。如果构件属于一个包,可以在构件名称前面加上包名 可以在构件图标中列出构件的操作Rational Rose 表示:在“Component View”中新建 Component Diagram 创建构件 ,并绘制构件间各种关系 绘制系统组件图如下:创建组件图“main”,建立三个包目录中生成三个相应文件夹,将相应的组件放入
16、文件夹中,为了显示出每个 Package 中的Component,在相应的目录下建立组件图“main”文件目录如下:其中 Boundaries 下 main 组件图如下:Control 下 main 组件图如下:Entities 下 main 组件图如下:【部署图】部署图用来描述系统硬件的物理拓扑结构以及在此结构上执行的软构件。部署图也称配置图,实施图。常常用于帮助理解分布式系统。部署图由体系结构设计师,网络工程师,系统工程师等描述。UML 表示: 用立方体表示 加关键字Rational Rose 表示:在 Commonent View 下的 Deployment 中绘制 Processor
17、及Device 绘制系统部署图如下:结果分析1. UML 是 Unified Modeling Language(统一建模语言)的简称。UML 是对软件密集型系统中的制品(软件开发过程中产生的各种各样的产物,如模型、源代码、测试用例等)进行可视化、详述、构造和文档化的语言。2. UML 中视图包括:用例视图(Use Case View)、逻辑视图(Logical View)、实现视图(Implementation View)、进程视图(Process View)、部署视图 (Deployment View)等。由九种图组成3. 实验通过掌握各种图在 Rational Rose 中的绘制方法,加深了对图所表达含义的理解以及各种图之间的关系。