第04讲软件需求分析剖析_第1页
第04讲软件需求分析剖析_第2页
第04讲软件需求分析剖析_第3页
第04讲软件需求分析剖析_第4页
第04讲软件需求分析剖析_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1、第四章第四章 软件需求分析软件需求分析课程提纲课程提纲软件需求基本理论和概念软件需求基本理论和概念 软件需求工程过程软件需求工程过程 软件需求获取软件需求获取 软件需求分析软件需求分析 软件需求规格说明软件需求规格说明 软件需求验证软件需求验证 软件需求管理软件需求管理 软件需求实现软件需求实现 软件需求工程新进展软件需求工程新进展 软件需求开发与需求管理工具软件需求开发与需求管理工具内容提要需求分析面临的困难需求分析面临的困难需求分析基本方法和工具需求分析基本方法和工具数据需求分析数据需求分析功能需求分析功能需求分析非功能性需求分析非功能性需求分析实时系统需求分析实时系统需求分析基于基于US

2、E CASEUSE CASE的需求分析的需求分析基于原型方法的分析基于原型方法的分析需求分析需求分析分析是指通过对分析是指通过对问题域问题域的研究的研究,获得对该领获得对该领域特性及存在于其中的待解决的问题特性域特性及存在于其中的待解决的问题特性的透彻理解并用文档说明。的透彻理解并用文档说明。需求分析是前面需求获取阶段的继续,通需求分析是前面需求获取阶段的继续,通过对所获取的信息进一步加工获得对系统过对所获取的信息进一步加工获得对系统的更精确描述,成为转换成需求规格说明的更精确描述,成为转换成需求规格说明的直接信息元。的直接信息元。但是否将需求分析作为独立的过程?但是否将需求分析作为独立的过程

3、?需求分析的关键点需求分析的关键点 问题域的结构问题域的结构 问题域的数据问题域的数据 问题域的行为问题域的行为 问题域的事件问题域的事件 问题域的状态问题域的状态 派生需求派生需求图图1 软件需求工程的组成软件需求工程的组成获取需求工程需求开发需求管理分析分析 编写规约 确认分析方法分析方法 结构化分析结构化分析 面向对象分析面向对象分析需求分析建模工具需求分析建模工具 数据流图数据流图 实体关系图实体关系图 状态转换图状态转换图 对话图对话图 类图类图 Petri Net建模技术建模技术面向处理技术面向处理技术 Context diagram 上下文图上下文图 Data flow diag

4、ram (DFD) 数据流图数据流图 流程图流程图面向数据结构技术面向数据结构技术 E-R D - Entity Relationship Diagrams面向对象建模面向对象建模 处理和数据相结合处理和数据相结合 Object and Class 对象和类的技术对象和类的技术 结构化分析(Structured Analysis,简称SA法)的基本思想:“分解”和“抽象”n分解:把系统的复杂性降低到可以掌握的程度,把大问题分解成若干小问题,然后分别解决。图4 自顶向下逐层分解领书单领书单 进书通知进书通知 购书单购书单 缺书单缺书单 学学生生教材教材购销购销系统系统书 库书 库保 管保 管员员

5、图5 售书系统顶层数据流图领书单领书单 进书通知进书通知 进书通知进书通知 购书单缺书单购书单缺书单 1销销售售 2采采购购书库书库保管保管员员学学生生F1教材存量表教材存量表 F2缺书登记表缺书登记表 0:11:10:m1:m电话机电话机生产厂商生产厂商经销商经销商用户用户生生产产购购买买使用使用经销经销数据需求与功能需求的区别:状状 态态1状状 态态2事件事件/触发行为触发行为20秒到/翻屏生成最新数据/翻屏半小时到/工控处理半分钟到/传送空闲/采集物品经过/计数采集PLC计数传送工控处理实时翻屏对话图对话图 对话图代表了一个高层抽象的用户界面体系结构。对话图代表了一个高层抽象的用户界面体

6、系结构。 对话图描绘了系统中的对话元素和它们之间的导航连接,对话图描绘了系统中的对话元素和它们之间的导航连接,但它没有揭示具体的屏幕设计。但它没有揭示具体的屏幕设计。 对话图可以使你在对需求的理解上探索假设的用户界面概对话图可以使你在对需求的理解上探索假设的用户界面概念。念。 用户和开发者可以通过对话图在用户如何利用系统执行任用户和开发者可以通过对话图在用户如何利用系统执行任务上达成共同的视觉界面。务上达成共同的视觉界面。 对话图与系统情节叙述相关联,这些叙述还包括对每一个对话图与系统情节叙述相关联,这些叙述还包括对每一个屏幕意图的简短说明。屏幕意图的简短说明。 对话图抓住了用户一系统交互作用

7、和任务流的本质,而不对话图抓住了用户一系统交互作用和任务流的本质,而不会使你太快陷入到屏幕布局和数据元素的特定细节中。用会使你太快陷入到屏幕布局和数据元素的特定细节中。用户可以通过跟踪对话图寻找遗漏、错误或多余的转换,和户可以通过跟踪对话图寻找遗漏、错误或多余的转换,和因此而有遗漏、错误或多余的需求。因此而有遗漏、错误或多余的需求。 你可以把在需求分析过程中形成的对话图用作详细用户界你可以把在需求分析过程中形成的对话图用作详细用户界面设计时的指南,最终形成一个执行的对话图,该对话图面设计时的指南,最终形成一个执行的对话图,该对话图记录了产品的真正用户界面的体系结构。记录了产品的真正用户界面的体

8、系结构。对话图示例对话图示例Petri Net (Activity Diagram)Petri Net行为行为(功能功能)建模建模 FSM有限状态机有限状态机 - 状态转移图状态转移图State Transition Diagram 状态图状态图State Chart Diagram Specification and description language (SDL)规规范与描述语言范与描述语言 Petri Net系统名称系统名称系统系统用例名用例名用例用例角色角色关联关联保险商务系统保险商务系统签定保险单销售统计客户统计客户保险销售员扩展签保险单签汽车购买契约使用使用签保险单签汽车保险单

9、签房屋保险单类图类图面向对象需求分析 因为人类自然地趋向于用“对象”的观点或“方法”来认识问题,分析问题以及解决问题,用基于“对象”的概念模型来建立问题域模型自然成为系统分析员与用户交流的有效工具。 用面向对象的方法进行需求分析,其根本要点在于,利用对象的概念模型建立一个针对于问题域的模型,用户和软件工程师通过该模型进行交流。通过在这么一个基于对象的问题域模型的基础上形成需求规格说明书。 面向对象需求分析 - 步骤 通过查看相关资料并与用户广泛地接触,自己对问题域有一个大致的了解。在这个基础上,将问题域中与系统和问题有关的对象提取出来。这就是标识对象的工作。 将第一步中抽象出来的对象(类)的之

10、间的关系考虑清楚;如整体与部分、从属关系等; 为“类”提取与系统问题域有关的属性、服务等; 由于要完成一项任务,肯定是有不同的对象互相协作完成的。同时一个对象的属性、服务也是在与相关对象的协作中体现出来的。将问题域中所有任务的对象的协作关系搞清楚,是面向对象需求分析的关键一环。即将问题域中的“剧情”搞清楚,是需求分析的主要工作之一。面向对象需求分析以上四步并不是单独的而是互有联系,可以同以上四步并不是单独的而是互有联系,可以同时进行的。通过,对以上时进行的。通过,对以上4步工作的反复执行我步工作的反复执行我们就可以建立一个基于对象的问题域的模型。们就可以建立一个基于对象的问题域的模型。在该模型

11、的基础上,可以比较容易地产生一个在该模型的基础上,可以比较容易地产生一个符合用户需求的软件需求规格说明书成为后续符合用户需求的软件需求规格说明书成为后续工作的基础。工作的基础。利用废弃原型从用例到用户界面设计的活动序列:利用废弃原型从用例到用户界面设计的活动序列:用例描述用例描述对话框对话框废弃型原型废弃型原型详细用户界面设计详细用户界面设计反馈反馈反馈反馈反馈反馈Risk Reduction Through Prototyping通过原型减小风险通过原型减小风险原型开发与需求获取原型开发与需求获取原型开发与需求分析原型开发与需求分析原型开发与需求规范文档原型开发与需求规范文档原型开发与需求验

12、证原型开发与需求验证原型开发与需求风险管理原型开发与需求风险管理使用质量功能部署使用质量功能部署质量功能部署质量功能部署(QFD)(QFD)是一种高级系统技术,是一种高级系统技术,它将产品特性、属性与对客户的重要性联它将产品特性、属性与对客户的重要性联系起来。该技术提供了一种分析方法以明系起来。该技术提供了一种分析方法以明确哪些是客户最关注的特性。确哪些是客户最关注的特性。QFDQFD将需求将需求分为三类:分为三类:期望需求期望需求,即客户或许并未提,即客户或许并未提及,但若缺少会让他们感到不满意;及,但若缺少会让他们感到不满意;普通普通需求需求;兴奋需求兴奋需求,即实现了会给客户带去,即实现

13、了会给客户带去惊喜,但若未实现也不会受到责备。惊喜,但若未实现也不会受到责备。QFD示例 如果你有足够的资源来完成你和你如果你有足够的资源来完成你和你的客户所想做的全部需求,那再好的客户所想做的全部需求,那再好不过了。不过了。 但在快速变化的市场环境中,这是但在快速变化的市场环境中,这是不现实的!不现实的!设定需求优先级设定需求优先级多种设定需求优先级的规则多种设定需求优先级的规则命命 名名 意意 义义 参参 考考高高一个关键任务的需求;下一版本所需求的一个关键任务的需求;下一版本所需求的中中支持必要的系统操作;最终所要求的,但如支持必要的系统操作;最终所要求的,但如果有必要的话,可以延迟到下

14、一个版本果有必要的话,可以延迟到下一个版本低低功能或质量上的增强;如果资源允许的话,功能或质量上的增强;如果资源允许的话,实现这些需求总有一天使产品更完美实现这些需求总有一天使产品更完美基本的基本的只有在这些需求上达成一致意见,软件才会只有在这些需求上达成一致意见,软件才会被接受被接受(IEEE 1998)条件的条件的实现这些需求将增强产品的性能,但如果忽实现这些需求将增强产品的性能,但如果忽略这些需求,产品也是可以被接受的略这些需求,产品也是可以被接受的可选的可选的一个功能类,实现或不实现均可一个功能类,实现或不实现均可3必须完美地实现必须完美地实现(Kovitz 1999)2需要付出努力,

15、但不必做得太完美需要付出努力,但不必做得太完美1可以包含缺陷可以包含缺陷 设定需求优先级设定需求优先级设定需求优先级设定需求优先级RequirementImportantNot ImportantUrgentHigh PriorityDo not do theseNot UrgentMedium Priority Low Priority设定需求优先级设定需求优先级Suggestions需求获取期间就关注需求优先级的问题需求获取期间就关注需求优先级的问题基于基于Use case标注优先级标注优先级基于基于Scenario标注优先级,尤其对例外的处理。有些标注优先级,尤其对例外的处理。有些例外会对系统产生根本影响如例外会对系

温馨提示

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

最新文档

评论

0/150

提交评论