




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、系统分析,需求分析,软件需求的层次,2,业务需求(business requirement)反映了组织机构或客户对系统或产品高层次的目标要求,它们在项目视图与范围文档中予以说明。 用户需求(user requirement)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。,功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。 系统需要提供的服务或功能:如图书检索 系统对特定输入的处理方式:如对非法输入的提示 系统在特定环境下的行为:如长时间无操作时的屏保,软件需求的层次,3,非功能需求(
2、non-functional requirement)是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 对系统功能或服务附加的质量约束,例如响应时间、容错性、安全性等客户所关心的(外部质量) 从系统开发和维护角度出发的质量属性,例如可理解性、可扩展性、可配置性等软件开发或维护者所关心的(内部质量、软件所特有),软件需求的层次(续),4,例:银行ATM系统 业务需求 系统为用户提供自助存取款服务 用户需求 用户可以随时安全、快捷地进行存款和取款 功能需求 系统允许用户从银行帐户中取款 系统允许用户向银行帐户中存款 系统允许用户查询从银行帐户中的余额 系统使用位数字密码检
3、验用户存取的合法性,软件需求的层次(续),5,例:银行ATM系统() 非功能需求 系统在秒内响应所有请求 除了每天分钟维护外,系统每周天、每天小时都可以用 需求来源 客户或用户(如银行职员、管理人员、用户) 行业标准、政策法规 当前手工处理系统的文档 咨询银行领域专家,4.4 需求分析阶段的活动,活动,产出物,需求开发,会议纪要 讨论纪要,分析模型,需求规格 说明书,审核通过的 规格说明书,图 4-4 需求分析阶段的活动,需求管理,需求 获取,需求分析 与建模,规格 说明,需求 验证,4.1 需求及需求原因,4.2 需求分析的相关人员,4.3 不同层次的需求,4.4.1 需求获取 (requi
4、rement elicitation),需求获取的目标 获取需求信息的相关者 获取需求信息的来源 获取需求信息的基本步骤 获取需求信息的方法,1) 需求获取的目标,收集准备建立的系统和正在使用的系统的信 息,并从这些信息中提取用户和系统需求。 为下一步的需求分析提供素材。,2)获取需求信息的相关者,主 要用户,中层管理用户,技术人员,顾客,查询用户,商业用户,图 4-5 收集信息相关者,9,历史数据、记录、表、报表、卡片、文字描述、 文档、图(手工流程、计算机流程)、己有的系 统、不同类型的人员等信息。,需求活动 需求的获取,3) 获取需求信息的来源,10,安排航班飞行的时间表。 交通费用的设
5、置和购成的规定描述。 航空公司的预定和售票的工作流程。 航班预定业务中的各种人(旅行社和航空公司雇员) 是如何工作的。 己有的预定系统能完成哪些工作,如何完成的。 法律、规章制度和规则管理着该行业。 研究竞争性预定系统的功能。 了解正在发生的从旅游代理商预定机票到旅客在线预定机票的过渡。,用一段话概括进行航班预定系统分析时需要 收集的信息来源。,4) 获取需求信息的基本步骤,第1步:了解相关背景和领域/行业的知识,确定产品所 期望的用户类;,第2步:与客户或组织的高层人员进行交流,了解实际用 户任务和目标以及这些任务所支持的业务需求;,第3步:与客户或组织的底层人员进行交流,获取每个用 户类的
6、详细的用户需求;,第4步:整理需求纪要,发现新问题,并重复1-3步;,第5步:需求分类和组织,以区别功能需求、非功能需求、 约束条件、业务规则、外部接口需求、建议解决 方法和附加信息;,第6步:优先排序和解决冲突; 第7步:得到最终需求清单,并与客户做最终签字确认。,12,(1) 思想: 先了解宏观的问题,再了解细节的问题.设 S : 一个软件系统; D : 不同的问题域; P : 问题; F : 行为(或功能) S = D1,D2,D3, Dn Di = P1,P2,P3, Pm Pj = F1,F2,F3, Fk 每个行为对应于软构件中的接口。 从发现初始需求开始.,5) 获取需求信息的方
7、法,思考如下问题 背景:你对一个同学已经仰慕已久,“十一” 快到了,你希望对方能够与你共进晚 餐。但是由于你们只有几面之缘,你 对她(他)的爱好一无所知 问题:你会采用哪些方式来调查获得对方的 兴趣爱好?,(2) 获取需求信息的方法,直接(面谈、打电话、发信、跟踪观察),间接调查;猜测。,面对面访谈(face-to-face interviewing) 专题讨论会(workshop) 现场观察(observing on the scene) 头脑风暴(brainstorming) 多种方法要结合在一起使用,效果更好,获取需求信息的方法,面对面访谈,面对面访谈,需求获取中最直接的方法: 用户面谈
8、(interviewing), “看起来很容易”, 但“做起却很难”。面谈中存在以下问题: 交流障碍、沟通不全、对问题的理解不深入或 有偏见。 缺少经验,不能主动、深入挖掘问题。 意见冲突,不虚心听取别人的意见。 认为用户不懂得计算机和程序,如何提问?,封闭式问题: 对错判断或多项选择题,回答只需 要一两个词,“每个人都能提问题, 但并不等于人人 都会提问题”,开放式问题: 这种问题需要解释和说明,同时向 对方表示你对他们说的话很感兴趣, 还想了解更多的内容。,通过提问题增强你对谈话进展和方向 的控制,问题不能过于宽泛,最开始的问题不能太难,谈话之前有意识的准备一些备用问题,不能在提问之前就已
9、经表示不赞同,访谈问题的分类,上下文无关的问题(context-free questions): 充分理解用户的问题,不涉及具体的解决方案 客户是谁? 最终用户是谁? 不同用户的需求是否不同? 这种需求目前的解决方案是什么?,解决方案相关的问题(solution-context questions): 通过这类问题,探寻特定的解决方案并得到用户 认可 你希望如何解决这个问题? 你觉得该问题这样解决如何?,面谈之前,确立面谈目的 确定要包括的相关用户 确定参加会议的项目小组成员 建立要讨论的问题和要点列表 复查有关文档和资料 确立时间和地点 通知所有参加者有关会议的目的、时间和地点,面谈之中,S
10、tep 1:事先准备一系列上下文无关的问题,并 将其记录下来以便面谈时参考;,Step 2:面谈前,了解一下要面谈的客户公司的 背景资料,不要选择自己能回答的问题 而浪费时间;,Step 3:面谈过程中,参考事先准备的面谈模板, 以保证提出的问题是正确的。将答案记 录到纸面上,并指出和记录下未回答条 目和未解决问题;,Step 4:面谈之后,分析总结面谈记录。,面谈之后,复查笔记的准确性、完整性和可理解性 把所收集的信息转化为适当的模型和文档 确定需要进一步澄清的问题域 向参加会议的每一个人发出此次面谈的minutes(会议纪要)。,面谈记录的示例(1),第1部分:建立客户或用户情况表 第2部
11、分:评估问题 询问用户对哪些类型的问题缺乏好的解决方案 它们是什么?(不断的问“还有吗?”) 第3部分:理解用户环境 谁是用户?他们的经历和经验如何?用户的预期 如何? 第4部分:扼要说明理解情况 你刚才告诉我:(用自己的话复述客户描述的问题) 这是否足以表达你现在的解决方案中存在的问题? 如果有,你还有什么问题?,面谈记录的示例(2),第5部分:分析人员对客户问题的提问 对每个问题进行以下提问: 这是一个实际的问题吗? 问题产生的原因是什么? 现在如何解决的? 希望如何解决? 该问题的重要度如何? 第6部分:评估自己的解决方案 总结自己建议的解决方案; 对自己方案的优先级排序; 第7部分:评
12、估机会 第8部分:评估可靠性、性能及其他需要,面谈记录的示例(3),第9部分:其他需求 法律法规、环境、行业标准等; 第10部分:总结性提问 还有其他问题要问面谈人吗? 尚未解决的问题有哪些? 下次访谈的方式、地点、时间、参加人等; 第11部分:分析人员的总结 总结出客户/用户确认的三条优先级最高的需求或 问题。,对于你们已经确定的项目,进行角色扮演为客户方,用户方,开发方,通过面谈来获得需求。,面对面访谈的优缺点分析,优点: 直接了解用户,得到第一首材料。 缺点: 需求工程师难以理解专业术语和“行话”,容易 造成很多误解。 用户不自觉地认为某些需求太普通,太基本, 不值得去提。但它们对需求工
13、程师来说却不 是显而易见的。这使得某些需求被忽略。,专题讨论会准备 参加会议人员:主持人、用户、技术人员、 项目组人员 安排日程 通常在具有相应支持设备的专用房间进行 举行会议 主持人掌握讨论气氛并控制会场 自由讨论阶段,营造一种创造性的和积极的氛 围,获得所有相关者的意见 分配会议时间,记录所有言论,需求研讨会 (Workshop),需求研讨会会议,图 4-6 参加会议人员,需求研讨会(Workshop),Figure 4-7 High-Tech JAD Facility,需求研讨会(Workshop),联合应用设计会议(Joint Application Design, JAD)。让项目的
14、所有成员参加会议,定义需求或 设计系统, 会议一般为1至2天,与会者畅所欲言, 在应用需 求上达成共识、对操作过程尽快取得统一意见。 促进用户与开发团队之间达成共识; 揭露和解决妨碍项目成功的问题; 快速产生初步的系统定义。,观察用户的工作流程,了解基本商业需求,理解商业 功能,获得对商业过程和规则的全面理解。,现场观察 (Observe),Workflows : 工作流是处理商业事务的一系列步骤。 提供了一种用来描述组件和参与者之间复 杂的交互关系的方法。,两种方式: 被动观察:需求分析人员观看用户的工作 主动观察:需求分析人员直接参与用户的工作,31,询问报价,制定需 求记录,检查需求,将
15、数据 录入系统,将数据 录入系统,计算报价,复查报价,接受订单,客户 销售 技术专家 系统,需要 帮助?,需求 变否?,是,变,否,否,图 4-8 工作流程,(4) 头脑风暴,回答:铅笔有什么用途?,头脑风暴(Brainstorming),一般以8-12人最佳 明确分工:1名主持人、 2名记录员 成功要点: 自由畅谈 发表见解 追求数量 会后:修剪、 分组、 排序,尽早提供可选择的启发技术:应用用例、角色扮演、开发原型等方法,回答下列问题:,将用户当作领域专家来认识 和激励,尝试其他交流和启 发技术,把分析员放在用户的位置上, 试着角色扮演一小时或一天,直到开发人员将用户描述的 东西交给他们,
16、用户才认为 他们知道自己要什么,用户不知道自己需要什么, 或知道但不知如何表达,分析员认为自己比用户更了 解用户的需求,35,图 4-9 收集信息和建模关系,(5) 获取需求信息和建模关系,和用户面谈,分发调查问卷,复查现有文档,观察商业过程,开讨论会和 头脑风暴,理解新系 统的限制,理解新系 统的过程,理解新系 统的功能,开发系统 需求和模型,需求分析阶段的活动,活动,产出物,需求开发,会议纪要 讨论纪要,分析模型,需求规格 说明书,审核通过的 规格说明书,需求分析阶段的活动,需求管理,需求 获取,需求分析 与建模,规格 说明,需求 验证,结构化分析的思想 需求分析的步骤 加快对需求理解的几
17、种技术,4.4.2 需求分析 (requirement analysis),4.4.1 需求获取,结构化分析(structure analysis,SA)方法,最早产生于1970年代中期,1980年代开始成为 主流。 Yourdon于1989年出版 Modern Structured Analysis,起源于结构化程序设计语言(事先设计好每一个 具体的功能模块,然后将这些设计好的模块组 装成一个软件系统)。,4.4.2 需求分析(requirement analysis),39,(1) 抽象: 抓住事物的本质(要素),捕获问题空间 的“一般/特殊”关系是认识 、构造问题的 一般途径。,需求活动
18、-需求的获取,(2) 划分: 分离问题。捕获问题空间 的“整体/部分”关系是 降低问题复杂性 的基本途径之一.,1) 结构化分析的思想,自顶向下逐层分解(top-down),40,(4) 自悟(Introspection): 具有领域和过程方面的知识,具有良好的 想象能力。,(5) 提炼(Extraction): 提炼方法是针对已经有了部分需求文档的 情况,通过提练,复审有代表性的文档。,(3) 多视图: 捕获并建立问题空间的多维“视图”是描 述问题的基本手段之一,是解决“A是B, B是A” 的基本方法.,41,一般问题的解决过程,待解决问题的认识,领域的术语、知识, 类似问题的解决,无关的信
19、息与使 人误解的信息,问题的阐述,问题的分析,寻找解决途径,报告及资料设计 (文档),实现,设计规格说明,问题细节定义 (规格、限制、准则),图 4-10 一般问题的解决过程,3) 需求分析的步骤,42,发现和记录初始的或原始的需求。在此,应 该开发操作概念文档。还应该标识其它需求 源,并记录它们的需求。,3) 需求分析的步骤,1) 需求分析的基本思想,2) Davis指导性原则,4.4.2 需求分析,(1) 发现初始需求,分析并验证初始需求是否有效的、正确的。 发现问题,及时进行修订。,基于对初始需求的分析,开发最终的技术规约, 并建立相应的需求文档。,需求引出,43,例 大学课程注册系统,
20、需求: 每个大学都有若干必修课、选修课 每门课都有一个级别,且有学分值 同一门课程可以是若干学位的一部分 完成学分值(包括必修课) 32学分 学生可任选学习程序,完成注册学位,44,附加的需求:,(1) 学生选课的约束条件:时间表冲突 人数限制的约束 (2) 输入学生的学习计划到注册系统中并检查 一致性,报告存在的问题,并在学术指导下 解决,最终的学习程序经院领导批准,并由 注册人备案 (3) 学生留有注册记录 (4) 每门课程由一位老师负责,45,需求分析的步骤,(2) 对问题进行讨论 理解问题背后的问题在定义上达成共识,图 4-11 太多废品原因的鱼骨图,发现初始需求,练习: 用鱼骨图描述
21、学习好、差的原因,46,图 4-12 根本原因的帕雷托图,60,根本原因的另一种图示法,不正确销售订单,运输损耗,用户退货,成品折旧,制造缺陷,其它,50,40,30,20,10,0,2,3,4,5,6,1,47,表 4-2 订单系统的用户及风险承担人表,需求活动 需求分析,(3) 确定风险承担人和用户,用例的概念在1986年 由Ivar Jacobson正式 提出之后被广泛接受, 迅速发展,已成为OO、 UML、RUP的标准规 范和方法。,(4) 定义系统的边界(面向对象课中详细讲述) 使用“用例(use case)”技术进一步启发需求,需求分析,用例方法的思想: 从用户的角度来看,他 们并
22、不想了解系统的内部结 构和设计,他们所关心的是 系统所能提供的服务,也就 是被开发出来的系统将是如 何被使用的。,通讯关 联,图 4-13 use case图,系统外部 并与该系 统发生交 互的人或 其他系统,系统基本 事件流,例1:ATM系统的用例,参与者:银行客户 用例:银行客户使用自动提款机来进行银行帐户 的查询、提款和转帐交易,银行客户,查询,取款,转帐,存款,图 4-14 ATM系统的用例,例:ATM系统,有哪些参与者和用例?,银行客户 查询 存款、取款 转账,用 例,ATM维护人员 维护系统,后台服务器 周期性操作,图 4-15 ATM系统的参与者和用例,ATM系统的参与者与角色之
23、间的通讯关联,系统内部定时的执行 一些操作,但这些操 作并不是由外部的人 或系统触发的。,银行客户,查询,存、取款,转帐,后台服务器,系统时钟,周期性任务,操作员,维护系统,图 4-16 ATM系统的参与者与角色之间的通讯关联,参与者确定用例 参与者与用例对应,52,描述如下: 在图书管理系统中,要为每个借阅者建立一个账号,并给借阅者发放借阅卡(借阅卡可以提供借阅卡号、借阅者名). 账户中存储借阅者的个人信息,借阅信息以及预定信息。,例2 图书馆图书管理系统的分析,持有借阅卡的借阅者可以借阅书刊、返还书刊、查阅书刊信息、预定书刊并取消预定,但这些操作都是通过图书管理员进行的,也即借阅者不直接与
24、系统交互,而是图书管理员充当借阅者的代理与系统交互。,53,在借阅书刊时,需要输入: 所借阅的书刊名、书刊的ISBN/ISSN号, 然后输入借阅者的图书卡号和借阅者名, 完成后提交所填表格, 系统验证借阅者是否有效(在系统中存在账号)。,若有效,借阅请求被接受,系统查询数据库系统,看借阅者所借阅的书刊是否存在,若存在,则借阅者可以借出书刊,建立并在系统中存储借阅纪录。,54,借阅者还书后, 删除关于所还书刊的借阅纪录。 如果借阅者所借的书刊已被借出,借阅者还 可预订该书刊,一旦借阅者预定的书刊可以获 得,就将书刊直接寄给借阅人(为了简化系 统,预定书刊可获得时就不通知借阅者了)。,另外,为了简
25、化系统,也不考虑书刊的最长 借阅期限,假设借阅者可以无限期地保存所 借阅的书刊。,55,对上述图书馆图书管理系统的描述进行分析 获得如下功能性需求: (1)图书管理员可以创建新的借阅者账号。 (2)借阅者持有借阅卡(借阅者名和借阅卡号)。 (3)图书管理员作为借阅者的代理借书。 (4)图书管理员作为借阅者的代理预订书刊。 (5)图书管理员作为借阅者的代理取消预订。 (6)图书管理员作为借阅者的代理还书。,56,(7) 图书管理员可以修改借阅者的账户信息。 (8) 图书管理员可以删除已经存在的借阅者账户。 (9) 图书管理员可以添加新的书刊种类。 (10) 图书管理员可以修改书刊种类信息。 (1
26、1) 图书管理员可以删除系统中的书刊种。 (12) 图书管理员可以在系统中添加书刊的 信息(注意区分“书刊种类”和“书刊”)。 (13) 图书管理员可以编辑书刊信息。 (14) 图书管理员可以删除书刊信息。,讨论 识别并描述参与者,图书管理员 登录 管理读者信息 管理图书信息 登记借书 登记还书,借阅者: 登录 预订图书 取消预订 查询浏览图书信息,例:一个图书馆管理系统,有哪些参与者和用例?,用例,图书馆管理系统参与者与用例之间的通讯关联,登录,查询浏览,预订图书,图书管理员,管理读者,取消预订,管理图书信息,登记借书,登记还书,图 4-18 图书馆管理系统用例图,用例的文字描述,用例= 椭
27、圆 + 名字?, NO!,用例模型,参与者,用例名,图 4-19 由用例图到文字描述,用例:登记借书描述,1. 目标: 本用例允许图书管理员登记普通读者的借书记录 2 事件流: 2.1 常规流程 当读者希望借书、图书管理员准备登记有关的借书记录时,本用例开始执行。 (1) 系统要求管理员输入读者的注册号和所借图书号。 (2) 图书管理员输入信息后,系统产生一个唯一的借 书记录号。 (3) 系统显示新生成的借书记录。 (4) 图书管理员确认后,系统增加一个新的借书记录。,用例:登记借书描述,2.2 备选流程 (1) 读者没有注册 在主流程中,如果系统没有读者的注册信息, 系统将显示错误信息,用例结束。 (2) 所借图书不存在 在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第2.6讲 指数与指数函数(原卷版)-2024年高考数学一轮复习精讲精练宝典(新高考专用)
- 菏泽黄底真石漆施工方案
- 第三单元课外古诗词教学设计 2024-2025学年七年级上册同步
- 博物馆拆迁合同范本
- 优化公司供应商管理的工作计划
- 构建班级学习共同体的工作策略计划
- 老年肺炎区别护理
- 公司生产工作计划改善生产线平衡性
- 农业发展安全服务保障蓝图计划
- 小班集体游戏的安排与实施计划
- 2025年2月时事政治100题及参考答案
- 2025中小学植树节主题班会
- 2025年湖南铁道职业技术学院单招职业技能测试题库带答案
- 2025年江苏扬州市仪征市众鑫建设开发有限公司招聘笔试参考题库附带答案详解
- 学校招生预约与咨询服务
- 脑卒中患者渐进式分级康复护理的临床效果观察
- 疯狂动物城赏析课件
- 塑料包装知识培训课件
- 古法拓印(非遗课程)
- 2025年无线电管理局招聘(10人)高频重点提升(共500题)附带答案详解
- 部编高教版2023·职业模块 中职语文 2.《宁夏闽宁镇:昔日干沙滩今日金沙滩》 课件
评论
0/150
提交评论