第4章+用例图
UML概述
UML建模基础——UML概述东软人才实训中心3 Sept. 2008©Neusoft Confidential课程结构1第五章:状态图和活动图2第三章:类图1第四章:交互图1第二章:用例图1第一章:UML 概述、Rose 简介课时(H )内容培训目标•能够使用Rose工具画UML类图•能够看懂用UML表示的设计第一章:UML 概述、Rose 简介学时:1学时教学方法:讲授ppt +上机练习目标:本章旨在向学员简要介绍UML建模的重要性、UML的概念模型,通过本课的学习,学员应该掌握如下知识:1)了解UML的概念模型2)简要介绍UML的“4+1view ”3)了解Rose工具UML概述•什么是UML?–UML: 统一建模语言Unified Modeling Language–UML是由Rational公司三位世界级面向对象技术专家Grady Booch,Ivar Jacobson和Jim Rumbaugh提出的。
–UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。
•什么是UML?–不是一种可视化编程语言,而是一种可视化建模语言–不是工具或知识库的规格说明,而是建模语言的规格说明,是一种表示的标准–不是过程,也不是方法,但是允许任何一种过程和方法使用它•什么是模型?–模型就是真实世界的简化–为我们提供一个系统的原型•为什么要建模?–为了更好的理解我们将要或正在开发的系统–是把复杂的系统变成小的系统,采用“各个击破”的原则逐一解决–因为我们通常无法理解一个复杂系统的全部–模型能为我们做什么?•帮助我们对系统进行可视化•允许我们详细说明系统的结构或行为•给出一个指导我们构造系统的模板•对我们做出的决策进行文档化业务流程计算机系统可视化建模可视化建模就是用标准的图形表示法来建模“建模获取系统的关键部分”UML•什么是可视化建模?可视化建模的作用•可视化建模获取业务流程–用例(use case)分析是一种从用户的角度获取业务流程的技术–使用相同的语言,不至于产生歧义–用例分析能让分析师在构建系统之前理解要构建什么可视化建模的作用(续)•可视化建模是一个交流工具–使用相同的语言,不至于产生歧义业务领域计算机领域Logical ViewPhysical View User InterfaceBusiness Logic Database Java JSPC++ JavaSQL•管理复杂性–把3000多个类放在一张图中不好–可视化建模的“包”(package)•把元素模型化成有意义的组合•为不同的人提供不同级别的抽象–软件构架(architecture)•促进复用(reuse)–复用是软件的“圣杯”–不止是复用代码,而是复用建立原始工件时需要的所有分析、设计、实现、测试、文档化–可以有一个类复用、多个类(或一个组件)的复用、应用模式等复用方式–可视化建模让你从复用的角度看,如果想复用工件,什么是可用的UML的概念模型•UML的概念模型–UML建模的三个主要元素•构造块:事物、关系、图•规则:命名、范围、可见性、完整性、执行•公共机制:规范说明、通用划分、扩展机制•UML元素–构造块–事物•对模型中最具有代表性的成分的抽象–关系•把事物结合在一起–图•聚集了相关的事物•UML元素–构造块–事物–结构事物:通常是UML模型的静态部分,描述概念或物理元素•类•接口•用例:通常代表一个需求•协作:表示一个用例的实现•主动类:至少拥有一个进程或线程的类•组件:系统中物理的、可替代的部件,如源代码文件•节点:运行时存在的物理元素,如一个设备•UML元素–构造块–事物(续)–行为事物:是UML模型的动态部分,是模型中的动词•交互(interaction):可描述一个对象群体的行为或单个操作的行为•状态机(state machine):可描述单个类或一组类之间协作的行为–分组事物:是UML中的组织部分•包(package)–注释事物:是UML中的注释部分•注解(note)•UML元素–构造块–关系–关系•依赖(dependency):一个事物发生变化会影响到另一个事物。
uml综合案例:医院预约挂号系统
表 2. 医院预约挂号系统用例说明
描述 完成在系统的注册业务 查询医院、相关科室、各科室的医生等各类信 息 登录系统 注册用户可通过该用例完成预约挂号业务 打印出已经预约挂号的预约单 打印出已经预约挂号并支付费用的挂号单
备选事件流
A-* 用户在提交该预约前,随时都可能中止本次预约 1. 系统显示中止确认的消息; 2. 用户可以结束该用例,也可以选择继续。
A-1 当用户已经有成功预约且还没看病的预约记录时 1. 系统显示用户已有的预约记录; 针对每个预约记录,系统提供三个扩展点:打印预约单、打印挂号费、支付挂号费
A-2 无法查询到所要的出诊信息 1. 系统显示没有可用的出诊信息; 2. 注册用户可以重新输入查询条件进行查询,也可以结束该用例。
2. 参考答案
作业答案部分仅供参考,学生的作业可能会多种多样,具体按照第三部分的典型错误扣 分,用例图:
1
未注册用户 注册用户
实名注册
生成出诊信息
时间
打印预约单
查询医院信<<息extend>>
处理逾期未取消的预约
<<extend>> 打印挂号单
<<extend>>
预约挂号
支付挂号费
支付系统
取消预约
系统管理员
登录 审核注册信息
挂号处 核查预约单
<<include>>
第四章 Rational统一过程
什么叫统一过程
RUP是按照二维结构进行组织的。其中横轴按时间组织,显示RUP的动态 特征,通过迭代式软件开发的周期、阶段、迭代和里程碑等动态信息表 示;纵轴按内容组织,显示RUP的静态特征,通过过程的构建、活动、 工作流、产品和角色等静态概念来描述系统。
统一过程(RUP)
统一软件过程就是在软件生命周期过程中以用例为驱 动、构架为中心来进行一次一次的增量式的迭代,每 次迭代都是以上一次迭代为基础并生成包括构件的源 代码体、需求说明、测试用例等的制品。 每次的迭代又具体分为四个阶段:初始、细化、构造 和移交,而在每个阶段又分为五个核心工作流:需求 、分析、设计、实现和测试。 统一软件开发过程是基于面向对象方法和UML统一建 模语言的,用这种方法论来指导软件开发主要可以解 决两个问题:1.软件复用问题;2.需求变化问题。
该阶段所需时间短,约占总周期的10%。
细化阶段(elaborattion phase)
主要目标
根据主要的用例描述设计出详细的系统构架。构架 包括了用例模型、分析模型、设计模型、实现模型 (包含一些构件)和实施模型的视图。 处理在构架方面具有重要意义的所有项目风险 建立一个已确定基线的构架 这个阶段主要是解决用例、构架和计划是否足够稳 定可靠,风险释放得到充分控制,以便能够按照合 同的规定完成整个开发任务。
主要目标
β测试时期,开发人员改正用户报告产品的缺 陷和不足。 确保最终用户可以使用软件 培训用户和维护人员 根据产品的完整前景和验收标准,对部署基 线进行的评估
该阶段所需时间也较短,约占总周期的10%。
统一过程的结构
3 . 面向架构的过程
UML基础与Rose建模实用教程课后习题及答案(无第四章)
UML基础与Rose建模实用教程课后习题及答案第1章面向对象概述1. 填空题(1)软件对象可以这样定义:所谓软件对象,是一种将状态和行为有机结合起来形成的软件构造模型,它可以用来描述现实世界中的一个对象。
(2)类是具有相同属性和操作的一组对象的组合,即抽象模型中的“类”描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。
(3)面向对象程序的基本特征是抽象、封装、继承和多态。
2. 选择题(1)可以认为对象是ABC。
(A)某种可被人感知的事物(B)思维、感觉或动作所能作用的物质(C)思维、感觉或动作所能作用的精神体(D)不能被思维、感觉或动作作用的精神体(2)类的定义要包含以下的要素ABD。
(A)类的属性(B)类所要执行的操作(C)类的编号(D)属性的类型(3)面向对象程序的基本特征不包括B。
(A)封装(B)多样性(C)抽象(D)继承(4)下列关于类与对象的关系的说法不正确的是A。
(A)有些对象是不能被抽象成类的(B)类给出了属于该类的全部对象的抽象定义(C)类是对象集合的再抽象(D)类用来在内存中开辟一个数据区,并存储新对象的属性3. 简答题(1)什么是对象?试着列举三个现实中的例子。
对象是某种可被人感知的事物,也可是思维\感觉或动作所能作用的物质或精神体,例如桌子.椅子.汽车等。
(2)什么是抽象?抽象是对现实世界信息的简化。
能够通过抽象将需要的事物进行简化、将事物特征进行概括、将抽象模型组织为层次结构、使软件重用得以保证。
(3)什么是封装?它有哪些好处?封装就是把对象的状态和行为绑在一起的机制,使对象形成一个独立的整体,并且尽可能地隐藏对象的内部细节。
封装有两个含义;一是把对象的全部状态和行为结合在一起,形成一个不可分割的整体。
对象的私有属性只能够由对象的行为来修改和读取。
二是尽可能隐蔽对象的内部细节,与外界的联系只能够通过外部接口来实现。
通过公共访问控制器来限制对象的私有属性,使用封装具有以下好处:避免对封装数据的未授权访问、帮助保护数据的完整性、当类的私有方法必须修改时,限制了在整个应用程序内的影响。
信息系统分析与设计答案(第二版)
第一章信息系统基础一、简答题1.什么是信息?信息与数据有什么区别?信息的本质是什么?答:信息,一般是指具有新内容、新知识的消息或情报。
信息与数据具有内在的联系。
数据是记录在一定介质上并可鉴别的符号,数据是无意义的符号,信息则是蕴含意义的符号。
数据是信息加工的原材料,信息是数据加工的结果。
信息的本质是物质的属性和特征,是事物运行状态与规律的表征。
2.什么叫系统?可以从哪个方面对系统进行分类?答:系统是由相互联系、相互影响的若干要素结合为具有特定目标、特定功能,并处于一定环境之中的有机整体。
从系统的复杂程度划分:简单的、中等的、复杂的和超复杂的系统.从抽象程度划分:概念系统、逻辑系统、物理系统(也叫客观系统)。
从系统与外界的关系划分:封闭系统、开放系统。
3.简述管理的概念答:管理是对一定组织所拥有的资源进行有效整合以达成组织既定目标和履行责任的动态创造性活动。
管理的目的是实现组织的目标.4.信息资源管理的基本模式是什么?答:是技术管理模式、经济管理模式、人文管理模式.二、填空题1.(数据)是无意义的符号,(信息)是蕴涵意义的符号.2.信息的本质是(物质)的属性和特征,是(事物)运动状态与规律的表征.3.信息的特征有:承载性、(层次性)、传输性、(共享性)、加工性和时效性。
4.从逻辑层次看,可以把信息分为(语法信息)、语义信息和(语用信息)三种类型。
5.系统是由相互(联系)、相互影响的若干(要素)结合为具有特定目标、特定功能,并处于一定环境之中的有机整体.6.系统的特性是指具有目的性、(相关性)、整体性、(层次性)和适应性几种。
7.管理的职能有决策、(组织)、计划、(领导)、控制和激励等六个方面。
三、选择题1.下面说法正确的是(D)A.数据就是数字 B.数据就是信息C.数据是加工之前的信息 D.信息是数据加工的结果2.下面哪个不属于信息的特征?(D)A.承载性B.传输性C.层次性D.独享性3.下面不属于系统特性的是(B)A.目的性B.功能性C.层次性D.适应性4.下面说法不正确的是(A)管理职能方面考题(决策是管理的核心)A.决策是企业的核心 B.从时间性可以把计划分为长期计划和短期计划C.组织结构也被称为组织机构 D.激励有直接满足和间接满足两种方法5.下面哪一种不属于信息资源管理模式?(D)A.技术管理模式 B.经济管理模式 C.人文管理模式 D.社会管理模式6.下面哪一种不属于信息资源管理的五大要素?(A)A.信息资源管理的应用B.信息资源管理的架构C.信息资源管理的组织D.信息资源管理的环境四、论述题1.谈谈信息资源管理在信息系统建设中的作用答:信息资源是指人类社会活动中所涉及到的信息内容,按照某种方法和规律,经加工处理有序化并大量积累后的用用信息的集合.信息资源管理是对整个组织信息资源开发利用的全局管理,这种管理独立于信息技术,重视人和社会因素,追求一种将技术因素和人文因素相结合协调解决问题的方法,形成独立的管理领域。
第4章__面向对象需求分析
• 在确定事件轨迹后,所有事件可以汇总成输入对象的事件 集和从对象输出的事件集。事件流图就是用于标记所有流入和 流出某对象的事件。
•
例:打印机对象—行为模型示例。
• 状态转换图表示了打印机的状态转换。图中的每个箭头代 表了从对象的一个状态到另一个状态的转变,箭头上标记的是 触发转变的事件。有时需要增加保护条件来满足对象的变迁, 例如,上图中打印机在故障状态时,故障修复事件只有在打印 队列不破坏的情况下才能使打印机进入打印状态,否则即使修 复也只能进入就绪状态。
工人
1..*
经理 管理
(1)关联
•限定关联 • 限定关联通常用在一对多或多对多的关联关系中,可以把 模型中的重数从一对多变成一对一,或从多对多简化成多对一。 在类图中把限定词放在关联关系末端的一个小方框内。 • 例如,某操作系统中一个目录下有许多文件,一个文件仅 属于一个目录,在一个目录内文件名确定了惟一一个文件。利 用限定词“文件名”表示了目录与文件之间的关系,可见,利 用限定词把一对多关系简化成了一对一关系。
(1)关联
•关联类 • 为了说明关联的性质可能需要一些附加信息。可以引入 一个关联类来记录这些信息。关联类也有属性、操作和其他 关联。
个人
0..*
授权
0..*
个人
授权 优先权 特权
用户和工作站的授权关联的关联类
3.对象-关系图
• (2)聚集
• 聚集也称为聚合,是关联的特例。聚集表示一类对象与 另一类对象之间的关系,是整体与部分的关系。
• 一.面向对象分析模型的组成结构 • 二.面向对象分析模型描述工具 • 三.面向对象分析的基本过程
• 四. 面向对象分析方法
• 五. 小结
一.面向对象分析模型的组成结构
第4章 面向对象系统分析与对象类建模 2
⑶ 类的操作
其语法如下: [方向]名称:类型[ = 默认值] [direction] name:type [= default value] 方向可以取下述值之一: in输入参数,不能对它进行修改。 out输出参数,为了向调用者传送信息可以对它进 行修改。 inout输入参数,为了向调用者传送信息可以对它 进行修改。
第4章 面向对象系统分 析与对象类建模
教学目的
⑴ 掌握面向对象系统分析的过程 ⑵ 掌握系统用例模型的设计方法
⑶ 了解类和对象的概念、类与对象的关系等
⑷ 重点掌握系统用例模型的设计和对象与类图 的设计
4.1 面向对象系统分析
面向对象分析,就是抽取和整理用户需求并 建立问题域精确模型的过程。 面向对象分析过程从分析陈述用户需求的文 件开始 可能由用户(包括出资开发该软件的业主代 表及最终用户)单方面写出需求陈述,也可 能由系统分析员配合用户,共同写出需求陈 述 当软件项目采用招标方式确定开发单位时,
关联可以有方向,即导航。 一般不作说明的时候,导航是双向的,不需要在线上标出箭头。 大部分情况下导航是单向的,可以加一个箭头表示。 导航性描述的是一个对象通过链(关联的实例)进行导航访问另 一个对象,即对一个关联端点设置导航属性意味着本端的对象可 以被另一端的对象访问。 可以在关联关系上加箭头表示导航方向。 只在一个方向上可以导航的关联称为单向关联,用一条带箭头的 实线来表示。 在两个方向上都可以导航的关联称为双向关联,用一条没有箭头 的实线来表示。
关联的多重性是指有多少对象可以参与该关联,多重性可 以用来表达一个取值范围、特定值、无限定的范围或一组 离散值。 将多重性写成一个表示取值范围的表达式,其最大值和最 小值可以相同,用两个圆点把它们分开。 多重性说明对于关联另一端的类的每个对象,本端的类可 能有多少个对象出现,对象的数目必须是在给定的范围内。 可以精确地表示多重性为:一个(1);多个(0..*);一 个或多个(1..*);整数范围,
第4章面向对象方法学与UML
第4章面向对象方法学与UML面向对象方法学(Object-Oriented Methodology,OOM)是一种软件开发方法,它将系统建模和设计过程中的对象概念引入到软件开发中。
在面向对象方法学中,系统被看作是一组对象的集合,这些对象通过消息传递进行通信和交互。
而UML(Unified Modeling Language)是一种用于软件系统描述的建模语言,也是面向对象方法学的一部分。
面向对象方法学中的核心概念是对象。
对象是系统中的一个实体,它可以具有属性(属性描述对象的状态)和方法(方法描述对象的行为)。
通过将系统建模为一组对象的集合,面向对象方法学提供了一种基于对象的分析和设计框架,帮助开发人员将系统需求转化为可执行的软件。
面向对象方法学使用UML作为建模语言,通过使用UML图表来可视化和描述系统的不同方面。
UML图表包括类图、用例图、序列图、活动图等。
类图是UML中最常用的图表类型之一,用于描述系统中的类、属性和方法之间的关系。
类图中的类代表系统中的对象,属性代表类的状态,方法代表类的行为。
类图可以帮助开发人员理解系统的对象结构,设计类之间的关系。
用例图是UML中的另一个重要图表类型,用于描述系统与外部用户或系统之间的功能需求。
用例图用于表示系统的功能需求,并显示不同用户或系统与系统之间的交互。
序列图用于描述系统中对象之间的交互和通信。
它显示了对象之间的消息传递顺序,帮助开发人员理解系统中不同对象之间的交互过程。
活动图用于描述系统中的业务流程或工作流程。
它展示了系统中的活动和操作之间的顺序和关系,帮助开发人员理解系统中不同活动和操作之间的流程。
通过使用面向对象方法学和UML,开发人员可以更好地理解和描述系统的需求和结构。
这有助于提高软件开发的效率和质量,并且提高系统的可维护性和可扩展性。
因此,面向对象方法学和UML已成为现代软件开发中不可或缺的重要工具和技术。
用例和用例图
访客用例图
会员用例图
书店管理员用例图
3、用例描述 (1)细化用例描述----搭框架
用例名称:搜索图书 概述:用户根据关键字搜索图书 前置条件:无 事件流: 基本事件流 扩展事件流 后置条件: 无
3、用例描述 (2)细化用例描述----填"血肉"
事件流: •基本事件流 1 用户点击“搜索图书”,用例开始。 2 系统显示搜索图书商品界面,提示用户输入商品关键字。 3 用户输入图书关键字,选择提交。 4 系统访问数据库,根据关键字查询相关的图书商品信息, 并把查询出的图书信息显示搜索图书页面。 5 用例结束。 •扩展事件流 4a) 系统未查出所要商品相关信息,显示提示信息,用例 结束。 4b) 系统查出用户输入的关键字为空,显示提示信息并返 回基本事件流2。
编写用例描述应遵循以下几点:
使用简单的语法,主语明确,语义易于理解;在事件流描 述中让读者直观地了解是参与者在控制还是系统在控制; 从第三者观察的角度指出参与者的动作,以及系统的响应; 显示参与者的意图而非动作 显示过程向前推移,每一步都有前进感;
构建结构良好的用例
为系统和部分系统中单个的、可标识的、合理的原子行为 命名。 将多个用例的公共的行为抽取出来放到一个被包含用例中。 对于变化部分,将其抽取出来,放到扩展用例中。 清晰的描述事件流。
扩展关系(Extend)
扩展关系表示基本用例在由扩展用例间接说明的一个位置 上隐式的合并了另一个用例(扩展用例)的行为。 基本用例不知道扩展用例的任何细节,没有扩展用例,基 本用例是完整的。只有在特定条件下,它的行为可以被扩 展用例的行为扩展,因此扩展关系处理事件流的异常或者 可选事件。
第章面向对象分析与设计类图和对象图
学校工作总结本学期,我校工作在全体师生的大力支持下,按照学校工作计划及行事历工作安排,紧紧围绕提高教育教学质量的工作思路,不断强化学校内部管理,着力推进教师队伍建设,进一步提高学校办学水平,提升学校办学品位,取得了显著的成绩。
现将我校一学期来的工作总结如下:一、德育工作本学期我校德育工作围绕学校工作中心,精心安排了“文明守纪”、“良好习惯养成”、“光辉的旗帜”、“争先创优”等主题教育月活动,从培养学生的行为规范,狠抓养成教育入手,注重务实,探索途径,加强针对性、实效性和全面性,真正把德育工作落到实处。
1.强化学生养成教育,培养学生良好习惯。
本学期,我校德育工作十分注重学生的常规管理,尤其重视对学生的养成教育。
一是利用班队会、红领巾广播站、国旗下演讲对学生进行品德熏陶。
二是以文明监督岗为阵地,继续强化了“文明班集体”的创建评比活动,通过卫生、纪律、两操等各项常规的评比,增强了学生的竞争意识,同时也规范了学生的行为。
三是继续加大值周检查的力度,要求值周领导、教师、学生按时到岗,在校门口检查、督促学生有秩序出入校园,从而使学生的行为规范时时有人抓,处处有人管,形成了良好的局面。
2.抓好班主任队伍建设,营造全员育人氛围。
班主任是学校德育工作最重要的力量,为了抓好班主任队伍建设,提高班主任素质水平,学校在第十二周组织开展了班主任工作讲座,在学期末举行了班主任工作交流,在活动中探索行之有效的工作方法,总结经验,交流心得,使班级管理工作更上新台阶。
3.充分发挥主题班队会的教育功能。
主题班队会,是对学生进行德育教育的一种特殊而卓见成效的方式之一。
为了充分发挥主题班队会的教育意义,第十三周,四(3)中队举行了“祖国美,家乡好”主题队会观摩活动,有效规范了我校主题中队会程序,强化了主题队会对学生的思想教育作用。
二、学校管理工作1.建立健全规章制度。
学期初,学校制定了出明确的目标计划及管理措施,做到了目标明确、工作具体,有效地增强了全体教师参与学校管理的主人翁意识,充分调动了全体教师的工作积极性,保障了教育教学工作的顺利开展。
软件工程课件之第4章用例和用例图
4.2.3 泛化关系
借阅者
.9 泛化关系
4.2.4 分组关系
在一些用例图中,用例的数目可能很多,这时就需要把 这些用例组织起来。这种情况在一个系统包含很多子系 统时就会出现。另一种可能就是,当你按顺序和用户会 谈,收集系统需求时,每个需求必须用一个单独的用例 来表达,这时就需要某种方式来对这些需求进行分类。
4.1.1 参与者
例如,在“图书管理系统”中,可以认为“读者”是 “学生读者”和“教师读者”的泛化,而“学生读者” 还可以具体化为“本科生读者”和“研究生读者”;同 样,“图书管理员”也是“采购员”、“ 编目员”及 “借阅人员”的泛化。图4.3表示出了参与者之间的泛 化关系。
4.1.1 参与者
“<<extend>>”是扩展关系的构造型,箭头指向基本用例。
4.2.2 扩展关系
借阅者
<<include>>
还书
<<extend>>
查询图书 交罚款
图4.8 扩展关系
区别与联系:
联系:都是从现有的用例中抽取出公共的那部分信息
,作为一个单独的用例,然后通过不同的方法来重用这 个公共的用例,以减少模型维护的工作量。
因此,在“图书管理系统”中“借阅者”和“系统管理 员”都是参与者。
4.1.1 参与者
【例4-1】客户给销售员发来传真订货, 销售员下班前 将当日订货单汇总输入系统。谁是系统的参与者?
分析:根据参与者的定义可知,此系统的参与者是销售 员。
4.1.1 参与者
【例4-2】在需求分析中常见的权限控制问题,一般的 用户只可以使用一些常规的操作,如查询等,而管理员 除了常规操作之外还需要进行一些系统管理工作,如一 些关键数据的增加、删除、修改等,操作员既可以进行 常规操作又可以进行一些配置操作。
第四章:产品设计(1) – 产品需求文档(PRD)介绍
第四章:产品设计(1) –产品需求文档(PRD)介绍产品设计是一个由抽象的概念到具体形象化的处理过程,通过文字或图像等方式将我们规划的产品需求展现出来。
它将产品的某种目的或需求转换为一个具体的物理或工具的过程,把一种计划、规划设想、问题解决的方法,通过具体的操作,以理想的形式表达出来。
由于产品设计阶段要全面确定整个产品策略、外观、结构、功能,从而确定整个产品系统的布局,因而,产品设计的意义重大,具有“牵一发而动全局”的重要意义。
如果一个产品的设计缺乏具体形象的表述,那么研发时就将耗费大量资源和劳动力来调整需求。
相反,好的产品设计,不仅表现在功能上的优越性,而且便于执行时理解,从而使产品的研发效率得以增强。
1、产品需求文档介绍产品设计的最终表述的形式被称为产品需求文档,业界常常称呼为PRD文档,这是英文Product Requirement Document的缩写。
产品需求文档是将产品规划和设计的需求具体形象化表述出来的一种展现形式,主要用于产品界面设计和研发使用。
PRD文档是基于BRD、MRD的延续文档,主要是一份给执行层面的工作人员阅读的文档,这部分人群绝大多数是设计与技术人员。
在这类人群中,设计师更多依赖于产品原型进行交互或视觉的设计,因此看这份文档的人主要是技术人员。
相对于技术人员,他们不太关注产品的商业需求和市场愿景,因为在进行产品讨论立项时,产品的定义就已经向参与设计和研发的人员宣讲过,因此技术人员更多的是关注界面、功能、交互、元素等等内容,因此产品需求文档是一份详细的产品功能需求说明文档,是产品文档中最底层和最细致的文档。
因为阅读人类的因素,所以产品需求文档是一份没有闲话,直入主题的功能说明文档。
并且产品需求文档是没有标准规范的,也没有统一的模板,每个公司都不一样和每个人也不一样,这个取决于个人习惯和团队要求。
虽然产品需求文档没有明确的规范,但是目的都是一样的,必须能够明确产品的功能需求,便执行人员理解任务要求。
第4章 初识UML
4.4 UML中的扩展机制
4.4.3 标记值
4.4.3.2 自定义标记值
► 标记值是有关模型和模型元素的附加信息,在最终
的系统中是不可见的。 ► 自定义标记值时的具体步骤分成以下的几步: 1. 确定要定义标记值的目的。 2. 定义需要标记值的元素。 3. 为标记进行命名。 4. 定义值类型。 5. 根据使用标记值对象的不同,适当定义标记值。 6. 在文档中给出一个以上使用该标记值的例子。
4.4 UML中的扩展机制
4.4.2 构造型
► 构造型可以基于所有种类的模型元素:类、节点、
组件、注释、关联、泛化和依赖等都可以用来作为 构造型的基类。 ► 要表示一个构造型,可以将构造型名称用一对尖括 号括起来,然后放置在构造型模型元素名字的邻近, 例如<<use>>、<<extends>>等,<<use>>和 <<extends>>构造型的名字就是由UML预定义的。 ► 使用这些预定义的构造型用于调整一个已存在的模 型元素,而不是在UML工具中添加一个新的模型元 素。 ► UML中已经预定义了多种标准构造型,我们可以在 这些标准构造型的基础上自己定义构造型。
4.4 UML中的扩展机制
4.4.1 UML的体系结构
4.4.1.1 四层元模型体系结构
►
UML具有一个四层的体系结构,每个层次是根据该层 中元素的一般性程度划分的。从一般到具体,这四层 分别为元元模型层、元模型层、模型层、用户模型层, 如下图所示。
4.4 UML中的扩展机制
4.4.1 UML的体系结构
图、状态图、活动图、构件图和部署图。
4.1 UML的构成
4.1.2 图
Chap4 初始阶段
西安邮电学院计算机学院 舒新峰 shuxf@
4.3 基于用例的需求描述
5. 用例的作用
可作为计划的基础。可以估算实现每个用例所需的时 间和资源
可用来捕获功能需求。它们是分析、设计和实现的基 础
可作为软件测试的基础。测试人员可将那些在用例中 描述的消息序列以及动作序列作为测试脚本来验证系 统的功能 可作为文档的基础
西安邮电学院计算机学院 舒新峰 shuxf@
4.3 基于用例的需求描述
1. 什么是用例? “一组用例的实例,其中每个实例都是系统执行的 一系列活动,这些活动产生了对每个参与者而言可 观察的返回值” 描述了从参与者角度看系统(黑盒子)做了什么 用例模型本身不是面向对象建模技术 2. 用例的好处 从用户的角度获取操作性需求 对系统的功能进行清晰而一致的描述 系统测试的基础 提供了从功能需求跟踪到系统中真正的类和操作 的能力 西安邮电学院计算机学院 舒新峰 shuxf@
西安邮电学院计算机学院 舒新峰 shuxf@
4.2 理解需求
可靠性 失效频率和严重性(frequency and severity of failure ) 可恢复性(recoverability ) 可预测性(predictability ) 精度(accuracy ) 平均失效时间(mean time between failure (MTBF) ) 性能 速度(speed ) 效率(efficiency ) 可用性(availability ) 精度(accuracy ) 吞吐量(throughput ) 响应时间(response time ) 恢复时间(recovery time ) 资源利用率(resource usage )
第4章 UML的符号
20
状态: 状态: 历史状态
Recording start H Pause pause Pre-process Sampling
Compress stop Store
21
状态: 状态:并发子状态
22
跃迁
跃迁是两个状态间的一种关系,它表示对象在第一个 状态将执行某些动作,当规定的事件发生或满足规定 的条件时,对象进入第二个状态。 跃迁表示了从活动(或动作)到活动(或动作)的控 制流的传递。 跃迁由以下部分组成:
<<interface>> Interface Interface
Interface
14
接口
接口与类之间的关系
KeyListener
UserInterface MouseListener
HandleEvent
ActionListener
15
包
包是一个用来将模型单元分组的通用机制。 包可以用在任何一个UML图中,但一般多用于 用例图和类图,它就象文件夹一样,可以将模 型元素分组隐藏,从而简化UML图,使得UML 图更易理解。
ClassName attribute : AttributeType = initialValue operation(arg : ArgumentType) : ReturnType
7
类
边界类
边界类处理系统环境与系统内部之间的通信,边界 类为用户或另一个系统(即参与者)提供了接口。 边界类的UML符号表示
<<boundary>> Class Class
Class
8
类
实体类
实体类是模拟必须被存储的信息和其关联行为的类。 实体类的UML符号表示
UML顺序图和协作图
对上述步骤建模的顺序图如下:
: Customer
: Front
: Register
: Dispenser
1: accept(cash,selection) 2: getCustomerInput(cash,selection)
3: check(selection) 4: yes
5: updateReserve(cash,price)
:ClassA
:ClassB
oper()
返回消息
返回消息表示从过程调用 返回,以虚线箭头表示。
:ClassA
:ClassB
oper()
阻止消息
阻止消息是指消息发送者发出消息给接收者, 若接收者无法立即接收消息,则发送者放弃此 消息。Rose中用折回的箭头表示阻止消息。
:ClassA
:ClassB
场景描述
曹操 :刘备
:孔明
求战 请拟策略
:关羽
:张飞 孙权
请防守荆州
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
U M L 理 论 及 实 践
UML的的语法和语义规则
名字(Names):为事物、关系、图起的名 字 范围(Scope):使名字具有特定含义的语境 可见性(Visibility):如何让其他成分看到和 使用这些名字 完整性(Integrity):事物如何正确、一致 的相互联系 执行(Execution):运行或者模拟动态模型 意味着什么
Home
Use Case的确定
U M L 理 论 及 实 践
注意Use Case的大小。 不要只用一个Use Case就把一个系统或子系统 的功能行为全部包括在内,也不要把Use Case划分得过于琐碎细小。 一般应该把系统或子系统中主要的业务流找 出来,对每一个业务流建立一个相应的Use Case。 为业务处理的各种例外(异常)情况的事件 流单独建立一个相应的Use Case。
Home
Use Case的确定
U M L 理 论 及 实 践
Use Case的种类大体如下: (1)系统的开始和停止的Use Case。 (2)系统维护的Use Case。 如添加新用户,设置用户的操作模板(profile)等。 (3)维护系统中存储数据的Use Case。 如所建造的系统要与现存的系统数据同步。 (4)修改系统行为的功能的Use Case。 如创建一个新报表,而不是对一个一个的报表进行 单独的编程。
泛化关系
如果用例已经泛化,并且一个活动者使用了一 个已经泛化用例,那个活动者就不应该是使用 已泛化用例的父用例的活动者。
U M L 理 论 及 实 践
扩展关系范例
Record grades
《include》
《extend》
teacher
Save grades update grades
《include》
Notify guardians
用例间的关系
U M L 理 论 及 实 践
扩展关系范例
《include》
《extend》 Save grades Extension points: Failing grade is saved
用例
U M L 理 论 及 实 践
用例的名称:
简单名 路径名
用例
U M L 理 论 及 实 践
识别用例
识别用例最好的方法就是从分析系统的活动者 开始,考虑每个活动者是如何使用系统的。 如何识别用例。
活动者要求系统提供哪些功能
活动者需要读、产生、删除、修改或存储系统中的
信息有哪些类型 必须提醒活动者的系统事件有哪些 活动者必须提醒系统事件有哪些
Use Case的确定
U M L 理 论 及 实 践
在标识Use Case时需要考虑的问题如下:
对于每一个已经确定的活动者,系统将有一 些什么任务,提供什么服务。 在系统中是否需要传递信息给活动者。 活动者是否需要通知系统某些突然的外部变 化。 系统是否为领域业务提供了正确的行为。 Use Case的运行特征是否标识出来了。 Use Case将支持和维护的系统功能是什么。
用例与事件流
U M L 理 论 及 实 践
事件流的目的是在建档时说明用例的逻辑流程, 即详细描述系统用户的工作和系统本身的工作。 主要包括:
简要说明:描述用例的作用。 前提条件:列出开始用例之前必须满足的条件。 主事件流和其他事件流:
用例如何开始 用例的各种路径
用例的正常(主)流程
用例与事件流
U M L 理 论 及 实 践
建立事件流的主要问题是确定描述的详细 程度,可根据用户来确定。事件流的主要 用户包括:
客户,客户通过该文档确定是否准确反映客户 的期望。 系统设计人员,用其创建系统设计并最终建立 系统。 质检人员,用其创建测试脚本(测试用例)。
U M L 理 论 及 实 践
活动者
U M L 理 论 及 实 践
注意事项:
活动者对于系统而言总是外部的; 活动者直接同系统交互; 活动者表示人或事物与系统交互时所扮演的角 色; 一个人或事物在与系统交互时可以同时或不同 时扮演多个角色; 每个活动者需要有一个反映业务的名字; 每个活动者必须有简短的描述,从业务角度描 述活动者是什么。
概述
U M L 理 论 及 实 践
用例图主要功能
用例图是使用统一建模语言设计新系统的起点, 在初始阶段完成。 用例图提供了系统的一个概览,为系统提供给 用户的功能进行说明。 从形式上讲,用例记录用户使用系统时从头到 尾的一系列事件。 是用户和开发者一起深入剖析系统功能的起点。 在开发项目的初期,用例图可以描述现实世界 中的活动和动机。同时可以在项目后期改进用 例图以反映用户界面和设计细节。
Home
用例与事件流
U M L 理 论 及 实 践
用例分析是处于系统的需求分析阶段,这 个阶段应该尽量的避免去考虑系统实现的 细节问题。也就是说,用例描述的是一个 系统做什么,而不是怎么做。 如何来描述用例的执行流程呢?可以通过 一个清晰的,易被用户理解的事件流来说 明一个用例的行为。这个事件流包括用例 何时开始和结束,用例何时和活动者交互, 什么对象被交互以及该行为的基本流和可 选流。
上节课重点
U M L 理 论 及 实 践
RUP的主要特点:
1.面向对象。 e Case驱动。 3.以体系结构为中心。 4.螺旋上升式的开发过程。 5.以质量控制和风险管理为目标。 6.与UML配套。 7.适应性强。
Home
UML理论及实践
第4章 用例图
内容提要
U M L 理 论 及 实 践
UML的扩展机制包括:
上节课重点
U M L 理 论 及 实 践
UML的“4+1”视图
设计视图(Design View)或逻辑视图 (Logical View) 进程视图(process view): 实现视图(implementation view):
部署视图(deployment view):
用例图的概念 用例图建模技术 实例
概述
U M L 理 论 及 实 践
用例是对系统行为的描述,该描述是从一 个让系统完成一些特定工作的用户的角度 编写的。 用例记录了系统响应单个用户刺激所经历 的可视事件序列。
概述
U M L 理 论 及 实 践
用例图显示谁将是相关的用户、用户希望 系统提供什么服务以及用户需要为系统提 供的服务。 用例图最常用来描述系统以及子系统。
Home
U M L 理 论 及 实 践
异动处理:信用卡有效性检查失败。 本Use Case包含了两个剧本:成功的商 品交易的 “购买商品” 剧本,“信用卡有 效性检查失败”的剧本。
用例间的关系
U M L 理 论 及 实 践
关联关系 包含关系 扩展关系 泛化关系
用例间的关系
U M L 理 论 及 实 践
例:一个网上商店,顾客购买商品的过程的Use Case 可以用文字列表描述如下。 购买商品 (1)顾客浏览查询产品分类目录,找出所需要的产品。 (2)顾客准备结算。 (3)顾客填写购货信息(产品信息,数量、送货地址、送 货日期)。 (4)系统显示价格和应付款项。 (5)顾客填写信用卡信息。 (6)系统检查信用卡的有效性,确认交易成功。 (7)系统确定发货时间,发出发货通知。 (8)系统发确认成交的电子邮件给顾客。
Record grades
teacher
update grades
《include》
扩展点
用例间的关系
U M L 理 论 及 实 践
泛化关系
父用例也可以被特别列举为一个或多个子用例。 子用例表示父用例的特殊形式。 子用例从父用例处继承行为和属性,还可以添 加行为或覆盖、改变继承的行为。
用例间的关系
用例的主事件流(其他事件流)的变形 错误流
事后条件
用例与事件流
U M L 理 论 及 实 践
范例:用户登录用例事件流
主事件流:活动者管理人员或操作人员输入自 己的密码时,用例开始。输入的密码被提交后 服务器判断是否正确。如果正确,用户登录成 功,系统根据用户的类型(管理员或操作员) 为其分配相应的权限。 异常事件流:用户密码错误,不能登录,用例 重新开始。 异常事件流:在密码提交前,用户清除输入密 码,重新填写。
活动者
U M L 理 论 及 实 践
活动者的种类:
系统用户 与所建造的系统交互的其他系统 一些可以运行的进程
活动者
U M L 理 论 及 实 践
如何确定活动者:
谁使用系统的主要功能 谁需要系统支持他们的主要工作 谁来维护、管理系统使其能正常工作 系统需要控制哪些硬件 系统需要与哪些系统交互 对系统产生的结果感兴趣的是哪些人或哪些事 物
U M L 理 论 及 实 践
泛化关系范例
Compile application developer Compile software GUI Compilation Command line compilation scheduler
developer
scheduler
用例间的关系
U M L 理 论 及 实 践
概述
U M L 理 论 及 实 践
用例图包含6个元素:
活动者(Actor) 用例(Use Case) 关联关系(Association) 包含关系(Include) 扩展关系(Extend) 泛化关系(Generalization)
概述
U M L 理 论 及 实 践