03-3需求分析(需求获取技术).ppt_第1页
03-3需求分析(需求获取技术).ppt_第2页
03-3需求分析(需求获取技术).ppt_第3页
03-3需求分析(需求获取技术).ppt_第4页
03-3需求分析(需求获取技术).ppt_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、02:06,1,河海大学计算机及信息工程学院 郭学俊,软件工程 Software Engineering 第三章 需求分析,河海大学 计算机科学与工程系 郭学俊 ,02:06,2,河海大学计算机及信息工程学院 郭学俊,本章主要内容,3.1 软件需求概念 -软件需求的问题、定义、层次、来源、依据、目标 3.2 需求工程过程 - 需求开发:需求获取、需求分析、规格说明、需求验证 - 需求管理:覆盖需求开发全过程 3.3 需求获取技术 -面谈、专题讨论会、原型方法 -应用用例 3.4 结构化分析技术 -数据流图、实体关系图、状态转换图、数据字典,02:06,3,河海大学计算机及信息工程学院 郭学俊,

2、应用用例(1),用例技术是OOSE方法的组成部分,是需求获取的一种技术,以用户角度建立的功能模型。 用例模型* 表示不同用户的角色和这些角色如何使用系统的,通过与系统的交互方式描述出全部功能性的行为。具有“用户目标”的特征。 用例模型是由用例图和用例描述组成。 用例图组成元素* 角色(Actor)是与系统交互的人或物。 用例(Use Case)描述了角色和系统之间的交互,侧重于系统为用户“做什么”,角色使用系统达到某个目标。,02:06,4,河海大学计算机及信息工程学院 郭学俊,应用用例(2),用例图表示处于同一系统中的参与者和用例之间的关系的图。示例:学生注册课程系统的用例图,02:06,5

3、,河海大学计算机及信息工程学院 郭学俊,应用用例(3),02:06,6,河海大学计算机及信息工程学院 郭学俊,应用用例(4),UML符号 角色不一定指的是人,它可以是其他系统、外部组织机构、外部设备等。(例如:飞机订票系统外部的结算系统。),02:06,7,河海大学计算机及信息工程学院 郭学俊,应用用例(5),建立用例模型的步骤* 识别系统边界和角色 列出事件 识别用例 书写用例文档 识别用例的关系 对用例进行优先级排序,02:06,8,河海大学计算机及信息工程学院 郭学俊,案例描述(1),举例:学生注册课程系统 大学准备开发一个基于Web的学生课程注册系统。 学生使用该系统查询新学期将开设的

4、课程、授课教师情况,登记注册自己要学习的课程,课程结束后查询成绩单; 教师可以使用该系统查询新学期将开设的课程查询学生选课情况,考试结束后可以登记成绩; 注册管理员使用该系统进行注册管理,包括维护教师信息、学生信息、课程信息等。,02:06,9,河海大学计算机及信息工程学院 郭学俊,案例描述(2),在每个学期的开始,学生可以获得该学期课程目录表,课程目录表列出每门课程的所有信息,诸如基本信息、教师、开课系和选课条件等。 新学期开始前两周为选课注册时间,在此期间学生可以选课注册,并且允许改变或取消注册申请,开学两周后注册管理员负责关闭课程注册。 每个学生可以选择不超过4门课程,同时指定2门侯选课

5、程以备主选课程未选上。每门课程最多不能超过10人,最少不能低于3人,低于3人选课将被取消。,02:06,10,河海大学计算机及信息工程学院 郭学俊,案例描述(3),一旦学生注册过程完毕,注册系统将有关信息提交收费系统以便学生缴费。如果在实际注册过程中名额已满,系统将通知学生予以更改。 学期结束时,学生可以查看成绩单。由于学生成绩属于敏感信息,系统必须提供必要的安全措施以防非法存取。,02:06,11,河海大学计算机及信息工程学院 郭学俊,建立用例模型的步骤,识别系统边界和角色 列出事件 识别用例 书写用例文档 识别用例的关系 对用例进行优先级排序,02:06,12,河海大学计算机及信息工程学院

6、 郭学俊,识别系统边界和角色,系统边界的定义 系统边界是指一个系统所包含所有系统成分与系统以外各种事物的分界线。系统成分是那些在OOA&OOD中定义可以编程实现的系统元素。,系统成分:登录、查课、选课、查成绩、录入成绩等。,与系统交互的事物:学生、教师、管理员、收费系统等。,02:06,13,河海大学计算机及信息工程学院 郭学俊,识别角色,谁使用系统的主要功能? 谁改变系统的数据? 谁从系统获取信息? 谁需要系统的支持以完成 日常工作任务? 谁负责维护、管理并保持 系统正常运行? 系统需要应付(处理)哪些 硬设备? 系统需要和哪些外部系统交互? 谁对系统运行产生的结果感兴趣? 时间、气温等内部

7、外部条件?,学生注册课程系统,学生、教师 学生、教师、注册管理员 学生、教师 学生、教师 注册管理员 无特殊硬件设备 收费系统 学生、教师 无,02:06,14,河海大学计算机及信息工程学院 郭学俊,识别角色:角色是利益获得者,角色识别是用户观点,非系统观点 键盘、鼠标也与系统交互,但是对用户来说不是有意义的交互。所以键盘、鼠标不是系统的责任。 打印机不是角色,是因为打印机与系统之间不是有意义的交互,其交互是系统观点,而非用户观点。,02:06,15,河海大学计算机及信息工程学院 郭学俊,识别角色:角色的泛化关系,经理可以参与职员,参职员参与的所有用例。,02:06,16,河海大学计算机及信息

8、工程学院 郭学俊,建立用例模型的步骤,识别系统边界和角色 列出事件(业务中的重要活动集合) 识别用例 书写用例文档 识别用例的关系 对用例进行优先级排序,02:06,17,河海大学计算机及信息工程学院 郭学俊,列出事件,系统必须响应的外部事件和内部事件 外部事件:来自系统外部(如:ATM系统“存款”) 内部事件:来自系统内部(如:ATM系统自动“过帐”) 如何识别:头脑风暴法(根据需求,找谁做什么的描述) “主语+动词(+宾语)” 主语:Actor的侯选,如教师,学生,注册管理员。 动词:表示行为,如注册,登记,查看 宾语:动词所代表行为的目标,02:06,18,河海大学计算机及信息工程学院

9、郭学俊,列出事件:学生注册课程系统,02:06,19,河海大学计算机及信息工程学院 郭学俊,建立用例模型的步骤,识别系统边界和角色 列出事件 识别用例(角色开展什么业务) 书写用例文档 识别用例的关系 对用例进行优先级排序,02:06,20,河海大学计算机及信息工程学院 郭学俊,识别用例(1),用例特征: 可观测(用例总是由角色初始化的) 用例止于系统边界,描述交互而不是内在系统活动。 结果值(用例为角色提供值) 用例是目标导向的,参与者需要使用它来达到的目标。 系统执行(系统责任) 结果值由系统生成,用例执行才算完毕。 用户需求观点(用户获得什么利益) 业务语言(课程),而非技术语言(数据库

10、表) 用户观点(注册课程),而非系统观点(处理课程注册),02:06,21,河海大学计算机及信息工程学院 郭学俊,识别用例(2),用例粒度 粒度过细,陷入功能分解。 过细的粒度,一般都会导致技术语言的描述,而不再是业务语言。 用例命名 动词+宾语,02:06,22,河海大学计算机及信息工程学院 郭学俊,识别用例:用例vs功能,02:06,23,河海大学计算机及信息工程学院 郭学俊,识别用例:用例的粒度(1),常见错误* 把交互的某个步骤当作用例 把系统活动当作用例,02:06,24,河海大学计算机及信息工程学院 郭学俊,识别用例:用例的粒度(2),常见错误(续) 蜕变成关系数据库操作,“系统就

11、是数据的增删改查”。这是常犯的错误,先关心数据的存储和维护,反而忽略了用户的目的。,02:06,25,河海大学计算机及信息工程学院 郭学俊,识别用例:学生注册课程系统(1),与教师有关的用例 - 选择课程:选择所教的课程,并获得学生的名册; - 登记成绩:在学期结束时,提交学生的课程成绩。 与学生有关的用例 - 注册课程:在学期开始选课注册,允许在一段时间内更 改或删除,课程目录系统提供当前学期的所有可选课程 列表; - 查看成绩单:学生可以查看以前学期的成绩单。,02:06,26,河海大学计算机及信息工程学院 郭学俊,识别用例:学生注册课程系统(2),与注册管理员有关的用例 - 维护课程信息

12、:增、删、改课程信息; - 维护学生信息:增、删、改学生信息; - 维护教师信息:增、删、改教师信息。 - 关闭注册:删除少于3人的课程,并由付费系统通知 学生缴费。 与安全性有关的用例 - 登录系统:使用此系统的人员需要进行登录,验证其身 份和权限。,02:06,27,河海大学计算机及信息工程学院 郭学俊,用例图:学生注册课程系统*,02:06,28,河海大学计算机及信息工程学院 郭学俊,建立用例模型的步骤,识别系统边界和角色 列出事件 识别用例 书写用例文档(用例说明) 识别用例的关系 对用例进行优先级排序,02:06,29,河海大学计算机及信息工程学院 郭学俊,书写用例文档:模板*,单纯

13、的用例图不能提供用例的全部信息,需要使用文字补充说明。用例描述实际上是关于角色与系统如何交互的规格说明,要求清晰明确。描述用例时只注重外部能力,不涉及内部细节。用例文档描述内容如下: 用例名,用例编号; 事件流描述:角色如何开展业务,拟达什么目标; 前置条件(最小保证 ):说明用例开始执行的前提条件或状态,如角色登录成功等; 后置条件(成功保证 ):说明用例执行结束后,什么结果传给角色或状态,包括失败状态;,02:06,30,河海大学计算机及信息工程学院 郭学俊,事件流描述:哪些角色在什么情况下启动执行用例;信息交互流程;不同条件下可以选择的交互流程。描述语法:主+谓+宾,主语是角色或系统。

14、基本流程 1. 角色做什么; 2. 系统做什么; 3. X X X X; 可选流程(扩展流程) 3a. X X X X; 3a1. X X X X; 3a2. X X X X; 3b. X X X X; 3b1. X X X X; 必要的补充说明(数据结构、业务规则),书写用例文档:模板* (续),02:06,31,河海大学计算机及信息工程学院 郭学俊,书写用例文档:示例1,1、用例:登记成绩(Submit Grades) 2、用例目标:本用例允许教师提交一门课程的学生成绩。 3、事件流 基本流程:当教师希望提交上学期完成的一门或多门课程的学生成绩时,本用例开始执行。(1)系统显示教师上学期所

15、教的课程列表;(2)教师选择所教课程;(3)系统检索出已注册此课程的学生列表,显示每个学生及其以前所给的成绩;(4) 对于列表中的每个学生,教师输入百分制成绩,系统记录所提供课程的学生成绩。如果教师希望跳过某个特定的学生,其相应的成绩可以为空,以后在进行填写。教师可以修改学生的成绩。可选流程:在主流程中,如果教师在上学期没有教课,系统将显示错误信息,教师接受此信息,用例结束。 4、前提条件:用例开始之前,教师必须在系统登录成功。 5、后置条件:如果用例执行成功,所提供课程的学生成绩被更新,否则,系统状态不变。,02:06,32,河海大学计算机及信息工程学院 郭学俊,:示例2,02:06,33,

16、河海大学计算机及信息工程学院 郭学俊,:示例2,02:06,34,河海大学计算机及信息工程学院 郭学俊,:示例2,02:06,35,河海大学计算机及信息工程学院 郭学俊,- 通过ADO建立数据库连接,传送SQL查询语句,从课程表查询 ? - 系统按照条件搜索课程 ?,书写用例文档:事件流规范描述(1),只书写“可观测”的 使用主动语句 主语必须用角色或系统 不要逻辑程序 不要涉及界面细节,02:06,36,河海大学计算机及信息工程学院 郭学俊,- 系统从权限表获取用户名和密码 ? - 用户名和密码被验证 ?,书写用例文档:事件流规范描述(2),只书写“可观测”的 使用主动语句 主语必须用角色或

17、系统 不要逻辑程序 不要涉及界面细节,02:06,37,河海大学计算机及信息工程学院 郭学俊,- 学生做什么 - 教师做什么 - 系统做什么 ,书写用例文档:事件流规范描述(3),只书写“可观测”的 使用主动语句 主语必须用角色或系统 不要逻辑程序 不要涉及界面细节,02:06,38,河海大学计算机及信息工程学院 郭学俊,- 如果那么否则? - 如果查询结果不为空,系统显示查询结果列表,否则,系统显示“找不到所需课程” ?,书写用例文档:事件流规范描述(4),只书写“可观测”的 使用主动语句 主语必须用角色或系统 不要程序逻辑 不要涉及界面细节,02:06,39,河海大学计算机及信息工程学院

18、郭学俊,- 从下拉框中选择课程 ? - 在文本框中输入查询条件 ? - 点击“确定”按钮 ?,书写用例文档:事件流规范描述(5),只书写“可观测”的 使用主动语句 主语必须用角色或系统 不要程序逻辑 不要涉及界面细节,02:06,40,河海大学计算机及信息工程学院 郭学俊,书写用例文档:可选事件流规范描述(1),可选事件流: 角色的多项选择 另一条成功路线 角色错误的操作 系统进行验证处理 系统内部出现错误 ,02:06,41,河海大学计算机及信息工程学院 郭学俊,书写用例文档:可选事件流规范描述(2),学生注册课程系统例 角色的选择 - 注册管理员可以选择以下动作: 增加教师信息 修改教师信

19、息 删除教师信息 扩展点描述 - 增加教师信息 (1)系统请求注册管理员输入教师的信息; (2)一旦注册管理员提供所需信息,系统为教师分配唯一的ID号,教师加入到系统中; (3)系统为注册管理员提示新的教师ID号。 类似,修改教师信息、删除教师信息也是扩展点,需要单独描述。,02:06,42,河海大学计算机及信息工程学院 郭学俊,书写用例文档:可选事件流规范描述(3),系统进行验证 2.系统验证用户名和密码 。 3. 扩展点描述 2a.系统提供的用户名不存在。 2a1.系统显示”用户名不存在”信息,询问用户是否注册。 2a2.用户注册。 2b.角色提供的密码错误。 2b1.系统显示”密码错误”

20、信息。,02:06,43,河海大学计算机及信息工程学院 郭学俊,书写用例文档:可选事件流规范描述(4),用例:登录 1.系统显示输入用户名和密码的界面。 涉及界面 2. 会员输入用户名和密码,点击“确定” 涉及界面 3. 如果用户名和密码正确,系统根据用户名从数据库中“会员”表中查询该会员信息,系统显示会员定制界面。不可观测 4.如果用户名不存在 不可观测 以上用例文字存在错误!,02:06,44,河海大学计算机及信息工程学院 郭学俊,书写用例文档:可选事件流规范描述(5),用例:登录 1. 会员提交用户名和密码。 2.系统验证用户名和密码。 3. 系统显示带有会员信息(姓名,账户余额)执行检

21、索。 扩展点 1a.会员计算机死机系统外的,无意义 1b.会员心脏病发作 以上扩展点有问题!,02:06,45,河海大学计算机及信息工程学院 郭学俊,建立用例模型的步骤,识别系统边界的角色 列出事件 识别用例 书写用例文档 识别用例的关系(基本用例、附加用例) 对用例进行优先级排序,02:06,46,河海大学计算机及信息工程学院 郭学俊,识别用例关系*,用例之间的关系 用例之间可以具有包含或扩展的关系,即基本用例(base)包含或扩展另一个附加用例(additional)。通过用例关系提高用例的复用。 包含()提取公共行为,提高复用。 如果若干基本用例的某些行为都是相同的,则可以将这些相同的行

22、为提取出来单独组成一个附加用例。当其他基本用例使用该附加用例时,就包含了该附加用例的所有行为。包含关系用带关键字的虚线来表示,箭头指向附加用例。,02:06,47,河海大学计算机及信息工程学院 郭学俊,识别用例关系 (2),扩展()分离复杂部分或易变部分。 在一个基本用例中加入一些新的动作,则构成了另一个用例,这种用例之间的关系称为扩展。扩展用例可以根据需要有选择地继承基本用例的部分行为,扩展关系用带关键字的虚线来表示,箭头指向基本用例。,02:06,48,河海大学计算机及信息工程学院 郭学俊,识别用例关系 (3)包含、扩展关系的判定?,如果触发条件中含有基用例负责的事物,即基用例知道附加用例

23、何时、何处、为什么发生,那么基用例应该包含(调用或引用)它;如果触发条件中含有附加用例负责的事物(附加用例知道它应该何时、何处、为什么发生),应该让附加用例扩展基用例Cockburn A.著,编写有效用例(英文版),机械工业出版社,2002年7月。,经验法则: 凡是在用例基本流中出现的附加用例都应作为包含用例,而在扩展流中出现的附加用例必然是扩展用例。,示例:产品定购管理,02:06,49,河海大学计算机及信息工程学院 郭学俊,02:06,50,河海大学计算机及信息工程学院 郭学俊,识别用例关系(4),用例之间不能通讯,用例关系应该是用例中事件的依存关系,02:06,51,河海大学计算机及信息

24、工程学院 郭学俊,识别用例关系(5),用例关系:举例,02:06,52,河海大学计算机及信息工程学院 郭学俊,识别用例关系(6),用例关系:举例,02:06,53,河海大学计算机及信息工程学院 郭学俊,建立用例模型的步骤,识别系统边界的角色 列出事件 识别用例 书写用例文档 识别用例的关系 对用例进行优先级排序(核心、依赖),02:06,54,河海大学计算机及信息工程学院 郭学俊,对用例进行优先级排序,以下情况的用例优先级别最高 a) 对类图有重要影响 b) 包含丰富的业务过程信息和线索 c) 有开发风险,时间紧迫或功能复杂 d) 涉及到重要核心技术和新技术 e) 能直接产生经济效益或降低成本

25、 f) 代表本系统的核心流程,02:06,55,河海大学计算机及信息工程学院 郭学俊,其他需求文档,词汇表 补充需求 - 可用性,可靠性,性能, ,02:06,56,河海大学计算机及信息工程学院 郭学俊,本节重点回顾(1),(1)用例概念特征 用例是角色与系统在边界上有意义的交互(用例捕获了用户可见的需求,具体实现一类用户的目标;是以业务目标为导向的,是用户观点非系统观点。用例由角色激活,并提供结果给角色;用例可大可小,但它必须是对某类用户目标的完整描述)。 用例本质是问题域中那个真实的、抽象的“业务胚” (其中既包含数据流,也包含控制流,既包含消息发送和数据处理,也包括活动、状态变迁)。 业务用例反映用户需求,是本节讨论的问题; 系统用例反映系统需求,是OOD研究的问题。,02:06,57,河海大学计算机及信息工程学院 郭学俊,本节重点回顾(2),(2)用例模型及其作用 描述使用系统的角色(利益获得者),以及角色与系统之间的行为需求模型(可获取何利益),由用例图和用例描述组成。,用例模型可以有效获取业务需求,便于抽象业务过程(包括数据流、控制流、消息发送、数据交换、状态的变迁等抽象);便于用例驱动开发方法的运用(用例分析,用例设计,用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论