《UML完整考试复习资料.docx》由会员分享,可在线阅读,更多相关《UML完整考试复习资料.docx(15页珍藏版)》请在三一办公上搜索。
1、一. UML定义:UML (Unified Modeling Language)统一建模语言,是一种面向对象的建模语言,它的主 要作用是帮助用户对软件系统进行面向对象的描述和建模(建模是通过将用户的业务需求映射为代码,保 证代码满足这些需求,并能方便地回溯需求的过程),它可以描述这个软件开发过程从需求分析直到实现和 测试的全过程。二. 软件工程生命周期:需求捕获3系统分析与设计3系统实现3测试3维护需求分析步骤:获取需求- 分析需求- 描述需求- 验证需求: 三UML的统一:根据应用需求3对不同建模语言对比3取其精华去其糟粕3求同存异3统一建模语言UML四.UML的内容结构:UML中的五种视图
2、:视图名称视图内容静态表现动态表现观察角度1用户模型视图(用例视图)系统行为,动力用例图交互图、状态图、活动图用户、 分析员、 测试员2结构模型视图(设计视图)问题及解决方案类图、对象图交互图、状态图、活动图类、接口、协作3行为模型视图(进程视图)性能、可伸缩性,吞 吐量类图、对象图交互图、状态图、活动图线程、 进程4实现模型视图(实现视图)构件、文件构件图交互图、状态图、活动图配置、 发布5环境模型视图(实施视图)部件的发布、 交付、安装配置图(实施图)交互图、状态图、活动图拓扑结构 的节点五.UML中的关系:关系功能表示法关联类实例之间连接的描述0.1*依赖两个模型元素间的关系,对一个元素
3、(提供者)的改变可能影响或提供信息给其他元素泛化更概括的描述和更具体的种类间的关系,适 用于继承实现说明和实现间的关系A依赖:依赖是指一个类使用了另一个类,它是一种使用关系,描述了一个事物的规格说明的变化可能会影 响到使用它的另一个事物(反之不一定)。最常见的依赖关系是一个类的内部使用到了另一个类的定 义。关联:关联关系是一种结构化的关系,指一种对象和另一种对象有联系。给定关联的两个类可以从其中的 一个类的对象访问到另一个类的相关对象。泛化:是一个较广泛的元素和一个较特殊元素之间的类元关系。较特殊的元素完整地包含了较广泛元素, 并含有更多的信息。实现:实现关系将一种模型元素(如类)与另一种模型
4、元素(如接口)连接起来之.化圭系第二部分UML的几种基本图一.类图:(Class Diagram)类图是描述类、接口、协作以及它们之间的关系的图。用来显示系统中各个类的静态结构。类包括:类名,属性,方法类图包括:类,接口,协作(关系)类图的建模过程:确定对象与类- 确定类的属性- 确定类的关系二.对象图:(Object Diagram)对象图表示在某一时刻一组对象以及他们之间的关系的图。三. 包图:(Package)由包和包之间的关系构成,它是维护和控制系统总体结构的重要建模工具。包:是一种分组机制,表示一个类图集合。四. 用例图:(Use Case Diagram)用例图表述了一组用例、参与
5、者以及他们之间的关系用例模型包括:用例图和用例规约用例规约包括:基本流和备选流用例图包含:用例(Use Case)参与者(Actor)参与者之间的关系(泛化、包含、扩展)参与者:系统外部的一个实体(可以是任何事物或人),它以某种方式参与了用例的执行过程用例:是对一个系统或一个应用的一种单一的使用方式所做的描述,是关于单个活动者在与系统对话 中所执行的处理行为的陈述序列。用例模型中的关系:1. 包含:表示基础用例会用到被包含的用例2. 扩展:基础用例中定义了一个到多个扩展用例3. 泛化:多个用例共同拥有一种类似的结构和行为时,我们可以将它们的共性抽象成为父用例,其他 的用例作为泛化关系中的子用例
6、。包含关系泛化关系扩展关系三种关系的区别:/泛化侧重表示子用例间的互斥性;/包含侧重表示被包含用例对Actor提供服务的间接性;/扩展侧重表示扩展用例的触发不定性用例图的建模步骤:1. 寻找参与者2.确定用例3.分析关系4.细化用例规约5.精化细化用例模型五.时序图:(Sequence Diagram )时序图包括:对象(Object)生命线 (Lifeline) 激活(Activation)消息(Message)对象:对象代表时序图中的对象在交互中所扮演的角色生命线:一条垂直的虚线,代表时序图中的对象在一段时期内的存在激活:生命线拓宽成为矩形,代表时序图中的对象执行一项操作的时期消息:定义交
7、互和协作中交换信息的类,信息用于在实体间传递信息时序图的建模步骤: 设置交互的语境。 通过识别对象在交互中扮演的角色,设置交互的场景。 为每个对象设置生命线。 从引发某个消息的信息开始,在生命线之间画出从顶到底依次展开的消息,显示每个消息的特性(如参数)。 如果需要可视化消息的嵌套或实际计算发生时的时间点,可以用激活修饰每个对象的生命期。 如果需要说明时间或空间的约束,可以用时间标记修饰每个消息,并附上合适的时间和空间约束。 如果需要更形式化的说明某控制流,可以为每个消息附上前置和后置条件。六.协作图:(Collaboration Diagram)协作图包括:对象(O bject )链(Lin
8、k )消息(Message) 协作图的建模步骤: 设置交互的语境。 通过识别对象在交互中扮演的角色,设置交互的场景。 对每个对象设置初始特性。 描述对象之间可能有信息沿着它传递的链。 从引起交互的消息开始,适当地设置其顺序号,然后将随后的每个消息附到适当的链上。 如果需要说明时间或空间约束,可以用时间标记修饰这个消息,并附上合适的时间和空间约束。 如果需要更形式化地说明这个控制流,可以为每个消息附上前置和后置条件。时序图与协作图的比较:1. 相同点:规定责任,支持消息,衡量工具2. 不同点:时序图描述了交互过程中的时间顺序,但没有明确地表达对象之间的关系。协作图描述了对象之间的关系,但时间顺序
9、必须从顺序号获得。七. 状态图:(State Diagram)1.状态图包括:状态(State) 转换(Transtition)2. 状态机:展示状态与状态转换的图,包含了一个类的对象在其生命期间所有状态的序列以及对象对 接受到的事件所产生的反应。3. 一个状态图表示一个状态机,表现从一个状态到另一个状态的控制流。4. 状态图由表示状态的节点和表示状态之间转换的带箭头的直线组成。5. 状态图中的状态一般是给定类对象中的一组属性值,这组属性值是对象所有属性的子集。6. 状态图的建模步骤: 找出适合用模型描述其行为的类。 确定对象可能存在的状态。 确定引起状态转换的事件。 确定转换进行时对象执行的
10、相应动作。 对建模的结果进行相应的精化和细化。八. 活动图(Activity Diagram )活动图是一种描述系统行为的图,它用于展现参与行为的类所进行的各种活动的顺序关系。活动图包括:动作状态(Action State)、活动状态(Activity State)、动作流(Action Flow)分支(Branch) 与合并(Merge)、分叉(Fork)与汇合(Join)、泳道(Swimlane)、对象流(Object Flow) 活动图建模步骤: 识别要对其工作流描述的类或对象。 确定工作流的初始状态和终止状态,明确工作流的边界。 对动作状态或活动状态建模。 对动作流建模。 对对象流建模
11、。 对建立的模型进行精化和细化。活动图与状态图的区别:活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。九. 组件图:组件图描述了软件的各种组件和他们之间的依赖关系组件图包括:组件(Component)、接口(Interface)、依赖关系(Dependency)组件图的建模步骤: 对系统中的组件建模。 对相应组件提供的接口建模。 对组件之间的依赖关系建模。 将逻辑设计映射成物理实现。 对建模的结果进行精化和细化。十.配置图:配置图描述了运行软件的系统中硬件和软件的物理结构配置图包括:节点(Node)关联关系(
12、Association)配置图的建模步骤: 对系统中的节点建模。 对节点之间的关联关系建模。 对驻留在节点上的组件建模。 对驻留在节点上的组件之间的依赖关系建模。 对建模的结果进行精化和细化。第三部分应用一. 传统的软件开发模型瀑布模型(Waterfall Model)- 瀑布模型是一种线性模型。- 瀑布模型将软件生存周期划分为7个阶段: 问题定义 可行性研究 需求分析 设计 实现 测试 运行和维护- 瀑布模型最为突出的缺点是缺乏灵活性。螺旋模型- 螺旋模型使用原型作为降低风险的机制。- 螺旋模型使开发者在产品演化的任意阶段均可使用原型方法。- 螺旋模型体现了 RUP中迭代的思想。- 一个螺旋
13、的周期一般包括四个阶段: 确定目标,选择方案,选定完成目标的策略。 风险分析。 启动开发阶段。 评审前一阶段的工作,计划下一阶段工作。二. 软件项目失败的原因: 混乱的需求管理。 开发者之间以及开发者和用户不清晰的交流。 架构不够坚固。 没有发现需求、设计和实现中的不一致。 缺少有效的测试。 对项目状态的主观估计。 没有正确地处理项目开发过程中的风险。 没有对项目变更进行控制。三.RUP二维软件开发模型Rational Unified Process (RUP,统一开发过程)是一套面向对象的软件工程过程。四.RUP开发过程中各阶段的核心工作流:1. 初始阶段:需求和分析2. 细化阶段:需求、分
14、析和设计3. 构造阶段:实现4.交付阶段:实现和测试 五.RUP的迭代开发模型类的关系决定生成什么代码第四部分档案管理系统软件需求的层次:业务需求、用户需求、功能需求需求分析步骤:获取需求- 分析需求- 描述需求- 验证需求 一.分析需求:档案管理系统档案管理系统的功能需求结构图系统参数设置模块添加用户删除用户查看用户权限修改用户权限删媵日理权限理权限添加管理权限系统表档案种类表文件种类表文件类日表其他参数表用户管理模块结构图借阅管理模块系统参数设置模块结构图.某仓【乂冒埋枕不借阅登记借阅查询网上借书借阅者管理模块结构图案案卷卷z-S.z-S.文文件件查录询入案卷(文件)管理模块过程:1.寻找
15、参与者2.确定用例3.分析关系4.细化用例规约5.精化细化用例模型寻找参与者:一般人员、档案室人员、借阅管理员、系统管理员确定用例:一般人员用例、档案室人员用例、借阅管理员用例、系统管理员用例分析:一般人员活动:登录系统、查找档案、网上借阅、借阅档案、归还档案档案室人员活动:系统参数设置、数据信息录入、数据查询、操作并查看日志借阅管理员活动:借阅查询、处理网上借阅、借阅登记系统管理员活动:登录系统、用户管理、权限管理、日志管理、数据管理、参数设置、报表打印、 网上借阅管理关系:确定用例图:处理网上借阅其他用例图参照上图三. 创建类图:过程:确定对象与类- 确定类的属性- 确定类的关系类与对象:
16、用户、用户角色、权限、用户权限关系、参数表、档案案卷信息、档案文件信息、借阅关系、日志四. 创建时序图:步骤:确定对象- 确定交互流程- 分析消息1.系统管理员添加用户2.档案管理员录入数据AddRecondDataB缶。2:提交用户ID :4:提示用户输入案卷内容5:填写案卷内容13:提交到数据库1 DataBasI e返回添加信息其他协作图参照上图 六.创建状态图: 步骤:标识建模实体- 标识实体的各种状态- 标识相关事件- 对所建模型精化和细化 实体:档案、用户账户(借阅者) 档案状态和事件:新建档案、可借阅、借出 借阅者状态和事件:新建借阅者、可用、不可用、已删除档案状态图:借阅者状态
17、图:登陆系统借阅登记网上借阅借阅登记借阅查询数据管理管理模块豆|也示瓠;用户管理其它参数删除极限退出用户 管理模块活动图:系统参数 设置模块数据备份否超时修改单位名 称及全总号 -;登陆案卷管理输入模块】系统管理员维护用户活动图:V案卷录入数据维护更新借阅者 帐户信息旦否合法或超处理网上 借阅系统管理员维护系统数据活动图: r i退出系统档案室人员录入档案活动图:退.出系统参 数设置模块r布加、删除 文件目录增加、删除 档案种类 Jr添加、删除 文件种类权限管理用户管理 模块增加、删 除用户,查看、修改 用户信息添加权限类图、组件图、配置图见课本第五部分 BBS论坛系统.分析需求:BBS论坛系
18、统用户管理模块论坛帖子管理模块其他管理模块BBS论坛系统的功能需求结构图 I帖子管理帖子分类管理建议管理其他管理二.用例图:参与者:游客、注册用户、版主、系统管理员游客用例:注册、登陆系统、查询帖子注册用户用例:登陆系统、发表帖子、查询帖子、回复帖子版主用例:登陆系统、帖子管理(增、删、改、查)、加精贴、置顶帖系统管理员用例:登录系统、帖子管理(增、删、改、查)、会员管理、论坛分类管理、加精贴、置顶贴确定用例图:(from Actors)并更新会员信息6:提示成功论坛管理员管理论坛分类时序图论坛管理员管理帖子时序图:4.提交灿J改除操恤ID7:提示处理成功信息5:巍库处理,并更新结果6:更新成
19、功:n u7:提示成功信息;:论坛管理员0Q口输入账号和密码:;II口2提交用户ID U n! 3:显示论坛海别处理信息:4提安增删改除的出员旧7:提示操作成功信息论坛管理员q输入账宙和密麒(from Use Cases论坛管理员管理会员时序图: e xt e改会员信息会员管理、:注册用户gQ1:甫?入用户名和密码j;2显示论坛分类,查看论坛详细艾章=- J ;Y表新文章;回复协帖会员管理模力2:提交用户ID ;J - Il ?:3:显示会卦操作信息:口丁 FU 6:更新成功:DL一I4继续浏览文Mn登录系统帖子管理模相关处理数据库模块:论坛管理员4提交删隅置顶帖、精华帖的ID5:虑处理,并更
20、新数据3:显示帖申处理信息计输入账号和密码:、:提交管理员口埃登录系统论坛主页发帖回帖模 &登录系统论坛类别管 理模魄相关处理数据库模块论坛管理员论坛管理员管理论坛分类时序图论坛管理员管理帖子时序图:论坛管理员管理会员时序图:四.协作图会员发帖/回帖时序图:5:数据库登录系 统发帖回帖 模块吊新成功3:显示会员的操 处理,并更新会员信息2:W用户D 信息用户 /表新萝/4复帖子 4:等必”览帖子操作成功信$4:输入账号和密股数据库模块登录系-统.=/入用户名和密钢,:注:3论坛主页2显示论坛分类,查看论坛具体文章处理增删改除1援枷通滞朋路故冬吊IE会员管理操作模块其他用例图、时序图、协作图、活动图、状态图见课本