第四章:软件需求分析.pdf
《第四章:软件需求分析.pdf》由会员分享,可在线阅读,更多相关《第四章:软件需求分析.pdf(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、需求工程需求工程需求工程需求工程需求工程需求工程需求工程需求工程李傲雷李傲雷上海交通大学软件学院上海交通大学软件学院2010-04-041教学内容教学内容教学内容教学内容教学内容教学内容教学内容教学内容1 1软件需求基本理论和概念软件需求基本理论和概念1 1.软件需求基本理论和概念软件需求基本理论和概念2.2.软件需求工程过程软件需求工程过程3 3软件需求获取软件需求获取3 3.软件需求获取软件需求获取4.4.软件需求分析软件需求分析5 5软件需求规格说明软件需求规格说明5 5.软件需求规格说明软件需求规格说明6.6.软件需求验证软件需求验证7.7.软件需求管理软件需求管理7.7.软件需求管理
2、软件需求管理8.8.软件需求实现软件需求实现9.9.软件需求工程新进展软件需求工程新进展10.10.软件需求开发与需求管理工具软件需求开发与需求管理工具11.11.其它其它上海交通大学软件学院上海交通大学软件学院2010-04-042软件需求分析软件需求分析软件需求分析软件需求分析软件需求分析软件需求分析软件需求分析软件需求分析1 1什么是需求分析什么是需求分析1 1.什么是需求分析什么是需求分析2.2.需求分析面临的困难需求分析面临的困难求析本法求析本法3.3.需需求求分分析析基基本本方方法法和工具和工具4.4.结构化分析方法结构化分析方法5.5.面向对象分析方法面向对象分析方法6.6.其它
3、分析方法其它分析方法7.7.质量功能部署质量功能部署8.8.确定需求优先级确定需求优先级上海交通大学软件学院上海交通大学软件学院2010-04-0431 1 什么是需求分析什么是需求分析什么是需求分析什么是需求分析1.1.什么是需求分析什么是需求分析什么是需求分析什么是需求分析什么是需求分析什么是需求分析?什么是需求分析什么是需求分析?需求分析是指通过对问题域的研究,获得对该领域特性及存在于其中的待解决的问题特性的透彻理解并用文档说明;需求分析是指通过对问题域的研究,获得对该领域特性及存在于其中的待解决的问题特性的透彻理解并用文档说明;?需求分析是前面需求获取阶段的继续,通过对所获取的信息进一
4、步加工获得对系统的更精确描述,成为转换成需求规格说明的直接信息元;需求分析是前面需求获取阶段的继续,通过对所获取的信息进一步加工获得对系统的更精确描述,成为转换成需求规格说明的直接信息元;?为什么要进行需求分析为什么要进行需求分析为什么要进行需求分析为什么要进行需求分析?软件系统开发最困难的部分就是准确的说明要开发什么;软件系统开发最困难的部分就是准确的说明要开发什么;最为困难的概念性工作便是编写出详细的需求,最为困难的概念性工作便是编写出详细的需求,这包括所有面向用户、面向机器这包括所有面向用户、面向机器和其它软件系统的界面和其它软件系统的界面同时这也是同时这也是一一旦做错旦做错将最终会给系
5、统带来将最终会给系统带来和其它软件系统的界面和其它软件系统的界面。同时这也是旦做错同时这也是旦做错,将最终会给系统带来将最终会给系统带来极大损害的部分,并且以后再对它进行修改也极为困难;极大损害的部分,并且以后再对它进行修改也极为困难;?一般情况下,用户并不能准确的描述自己的需要,这就需要系统分析一般情况下,用户并不能准确的描述自己的需要,这就需要系统分析人员根据用户用自己语言的描述整理出相关的需要然后再与客户核对人员根据用户用自己语言的描述整理出相关的需要然后再与客户核对;人员根据用户用自己语言的描述整理出相关的需要然后再与客户核对人员根据用户用自己语言的描述整理出相关的需要然后再与客户核对
6、;?系统分析员和客户必须确保所有项目涉众在所有描述需求的名词的理解上务必达成共识。系统分析员和客户必须确保所有项目涉众在所有描述需求的名词的理解上务必达成共识。上海交通大学软件学院上海交通大学软件学院2010-04-0441 1 什么是需求分析什么是需求分析什么是需求分析什么是需求分析1.1.什么是需求分析什么是需求分析什么是需求分析什么是需求分析需求分析的关键点需求分析的关键点?需求分析的关键点需求分析的关键点?问题域的结构问题域的结构问题域的数据问题域的数据?问题域的数据问题域的数据?问题域的行为问题域的行为?问题域的事件问题域的事件问题域的事件问题域的事件?问题域的状态问题域的状态?派生
7、需求派生需求上海交通大学软件学院上海交通大学软件学院2010-04-0452 2 需求分析面临的困难需求分析面临的困难需求分析面临的困难需求分析面临的困难2.2.需求分析面临的困难需求分析面临的困难需求分析面临的困难需求分析面临的困难需求分析是个项目的开端需求分析是个项目的开端也是项目建设的基石也是项目建设的基石在在?需求分析是需求分析是一一个项目的开端个项目的开端,也是项目建设的基石也是项目建设的基石。在在失败的项目中,80是由于需求分析的不明确而造成的。失败的项目中,80是由于需求分析的不明确而造成的。因此因此一一个项目成功的关键因素之个项目成功的关键因素之一一就是对需求分析的就是对需求分
8、析的因此个项目成功的关键因素之因此个项目成功的关键因素之,就是对需求分析的就是对需求分析的把握程度。把握程度。?由于软件项目的特殊性和行业覆盖的广阔性由于软件项目的特殊性和行业覆盖的广阔性,以及高风以及高风由于软件项目的特殊性和行业覆盖的广阔性由于软件项目的特殊性和行业覆盖的广阔性,以及高风以及高风险性,软件需求分析的重要性是不言而喻的,同时需求分析又面临着很多困难。险性,软件需求分析的重要性是不言而喻的,同时需求分析又面临着很多困难。上海交通大学软件学院上海交通大学软件学院2010-04-0463 3 需求分析基本方法和工具需求分析基本方法和工具需求分析基本方法和工具需求分析基本方法和工具3
9、.3.需求分析基本方法和工具需求分析基本方法和工具需求分析基本方法和工具需求分析基本方法和工具需求分析内容包括需求分析内容包括?需求分析内容包括需求分析内容包括:?绘制关联图绘制关联图创建用户界面和技术原型创建用户界面和技术原型需求工程?创建用户界面和技术原型创建用户界面和技术原型?分析需求的可行性分析需求的可行性?确定需求的优先级确定需求的优先级需求开发需求管理确定需求的优先级确定需求的优先级?为需求建模为需求建模?创建数据字典创建数据字典?将需求分解到子系统将需求分解到子系统?应用质量功能部署应用质量功能部署获取分析分析编写规约确认软件需求工程的组成软件需求工程的组成上海交通大学软件学院上
10、海交通大学软件学院2010-04-0473 3 需求分析基本方法和工具需求分析基本方法和工具需求分析基本方法和工具需求分析基本方法和工具3.3.需求分析基本方法和工具需求分析基本方法和工具需求分析基本方法和工具需求分析基本方法和工具需求分析方法需求分析方法?需求分析方法需求分析方法?结构化分析方法结构化分析方法面向对象分析方法面向对象分析方法?面向对象分析方法面向对象分析方法?需求分析模需求分析模型型描描述工述工具具需求分析模描具需求分析模描具?结构化分析结构化分析?DFD、DD和PSPEC DFD、DD和PSPEC?CFDCFDCSPECCSPEC和和STDSTD?CFDCFD、CSPECC
11、SPEC和和STDSTD?E-R图E-R图?面向对象分析面向对象分析?用例图,类图用例图,类图?对象-关系图对象-关系图?对象-行为图对象-行为图上海交通大学软件学院上海交通大学软件学院2010-04-0483 3 需求分析基本方法和工具需求分析基本方法和工具需求分析基本方法和工具需求分析基本方法和工具3.3.需求分析基本方法和工具需求分析基本方法和工具需求分析基本方法和工具需求分析基本方法和工具需求分析建模技术需求分析建模技术?需求分析建模技术需求分析建模技术?面向处理面向处理?Ctt diCtt di上下文图上下文图?C Conont texext t didiagram agram 上下
12、文图上下文图?Data flow diagram(DFD)数据流图Data flow diagram(DFD)数据流图?面向数据结构面向数据结构面向数据结构面向数据结构?E-R图-Entity Relationship DiagramsE-R图-Entity Relationship Diagrams?面向对象面向对象?处理和数据相结合处理和数据相结合?Object and Class 对象和类Object and Class 对象和类上海交通大学软件学院上海交通大学软件学院2010-04-0494 4 结构化分析方法结构化分析方法结构化分析方法结构化分析方法4.4.结构化分析方法结构化分析方
13、法结构化分析方法结构化分析方法结构化分析结构化分析(简称简称法法)?结构化分析结构化分析(Structured Analysis,Structured Analysis,简称简称SASA法法)?结构化开发方法是现有的软件开发方法中最成熟,应用最广泛结构化开发方法是现有的软件开发方法中最成熟,应用最广泛的方法的方法,主要特点是快速主要特点是快速、自然和方便自然和方便;的方法的方法,主要特点是快速主要特点是快速、自然和方便自然和方便;?由结构化分析方法(SA法)、结构化设计方法(SD 法)及结构化程序设计方法(SP 法)构成;由结构化分析方法(SA法)、结构化设计方法(SD 法)及结构化程序设计方
14、法(SP 法)构成;结构化分析结构化分析(Sttd Ali(Sttd AliSASA 法法)方法是面向数据流的需方法是面向数据流的需?结构化分析结构化分析(St(Strucruct tureured d A Ananal lysysi is,s,SASA 法法)方法是面向数据流的需方法是面向数据流的需求分析方法,是70 年代末由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用;求分析方法,是70 年代末由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用;它适合于分析大型的数据处理系统它适合于分析大型的数据处
15、理系统特别是企事业管理系统特别是企事业管理系统?它适合于分析大型的数据处理系统它适合于分析大型的数据处理系统,特别是企事业管理系统特别是企事业管理系统。上海交通大学软件学院上海交通大学软件学院2010-04-04104 4 结构化分析方法结构化分析方法结构化分析方法结构化分析方法4.4.结构化分析方法结构化分析方法结构化分析方法结构化分析方法结构化分析结构化分析(法法)的基本思想的基本思想?结构化分析结构化分析(Structured Analysis,SAStructured Analysis,SA法法)的基本思想的基本思想:“分解”和“抽象”:“分解”和“抽象”分解分解把系统的复杂性降低到可
16、以掌握的程度把系统的复杂性降低到可以掌握的程度把大问题分解把大问题分解?分解分解:把系统的复杂性降低到可以掌握的程度把系统的复杂性降低到可以掌握的程度,把大问题分解把大问题分解成若干小问题,然后分别解决;成若干小问题,然后分别解决;?抽象:先考虑问题最本质的属性,暂把细节略去,以后再逐层抽象:先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容。添加细节,直至涉及到最详细的内容。上海交通大学软件学院上海交通大学软件学院2010-04-04114 4 结构化分析方法结构化分析方法结构化分析方法结构化分析方法4.4.结构化分析方法结构化分析方法结构化分析方法结构化分析方
17、法结构化分析法的步骤结构化分析法的步骤?结构化分析法的步骤结构化分析法的步骤?1.Produce statement of purpose(objective of new system)1.Produce statement of purpose(objective of new system)?2.Develop essential environmental model(of new system)2.Develop essential environmental model(of new system)?Context diagramContext diagram?Data dicti
18、onaryData dictionary?Event listEvent list?3.Develop essential behavioral model(of new system)3.Develop essential behavioral model(of new system)?Data flow diagram(s)(modeling the“functionality”of the new system)Data flow diagram(s)(modeling the“functionality”of the new system)?Mini-specs(for the tra
19、nsformation processes)Mini-specs(for the transformation processes)?St ttitidi(ftl)St ttitidi(ftl)?StSta at te e t transransitiition on didiagrams agrams(f(for any conor any cont trorol l processes processes)?Entity relationship diagramEntity relationship diagram?Supporting text Supporting text(N No
20、ot te,e,ththe es se e d dococumume entsnts coconstitutnstitute e ththe e analanaly ysis and thsis and the e s specpecifiific catiatio on n(o e,(o e,e ee e oceoce coecoe e e y y e e peccopecco documentation)documentation)?4.(The rest is probably best considered as design)4.(The rest is probably best
21、considered as design)上海交通大学软件学院上海交通大学软件学院2010-04-04124 4 结构化分析方法结构化分析方法结构化分析方法结构化分析方法4.4.结构化分析方法结构化分析方法结构化分析方法结构化分析方法结构化分析模型结构化分析模型?结构化分析模型结构化分析模型?DFD、DD和PSPEC(加工说明)基本组成DFD、DD和PSPEC(加工说明)基本组成?CFD、CSPEC(控制说明)和STD CFD、CSPEC(控制说明)和STD 扩展(适合实时系统的分析)扩展(适合实时系统的分析)?E-R图 扩展(复杂数据结构可以使用)E-R图 扩展(复杂数据结构可以使用)数据模
22、型功能模型数据模型功能模型加工说明加工说明E-R图图DFD图图加工说明加工说明数据对象说明数据对象说明STD图图DD行为模型行为模型控制说明(控制说明(CSPEC)上海交通大学软件学院上海交通大学软件学院2010-04-0413行为模型行为模型4 4 结构化分析方法结构化分析方法结构化分析方法结构化分析方法4.4.结构化分析方法结构化分析方法结构化分析方法结构化分析方法数据流图数据流图(图图)?数据流图数据流图(DFDDFD图图)?描述系统的逻辑模型描述系统的逻辑模型?信息在系统中的流动和处理信息在系统中的流动和处理?信息在系统中的流动和处理信息在系统中的流动和处理?用途用途?交流信息的工具交
23、流信息的工具结构化分析和设计的工具结构化分析和设计的工具?结构化分析和设计的工具结构化分析和设计的工具上海交通大学软件学院上海交通大学软件学院2010-04-04144 4 结构化分析方法结构化分析方法结构化分析方法结构化分析方法4.4.结构化分析方法结构化分析方法结构化分析方法结构化分析方法数据流图数据流图(图图)?数据流图数据流图(DFDDFD图图)?组成符号组成符号?圆或椭圆代表加工圆或椭圆代表加工(处理处理)?圆或椭圆代表加工圆或椭圆代表加工(处理处理)?箭头代表数据流向箭头代表数据流向?方框代表源点和终点,即外部实体方框代表源点和终点,即外部实体?单单/双杠表示数据文件或数据库双杠表
24、示数据文件或数据库?单单/双杠表示数据文件或数据库双杠表示数据文件或数据库?分层分层从高层到低层从高层到低层?从高层到低层从高层到低层?分解前后的数据流必须一致分解前后的数据流必须一致?命名命名?数据流:除了与数据存储(文件)之间的数据流不用命名外,其余数据流都应该用名词或名词短语命名;数据流:除了与数据存储(文件)之间的数据流不用命名外,其余数据流都应该用名词或名词短语命名;?加工:通常是动词短语,简明描述完成什么加工;分层DFD加工还应有编号;加工:通常是动词短语,简明描述完成什么加工;分层DFD加工还应有编号;上海交通大学软件学院上海交通大学软件学院2010-04-04154 4 结构化
25、分析方法结构化分析方法结构化分析方法结构化分析方法4.4.结构化分析方法结构化分析方法结构化分析方法结构化分析方法数据流图数据流图(图图)练练售书系统售书系统?数据流图数据流图(DFDDFD图图)练练习:习:售书系统售书系统购书单购书单缺书单缺书单教材教材领书单领书单进书通知进书通知购书单购书单缺书单缺书单学学生生教材教材购销购销系统系统书库保管书库保管员员领书单领书单进书通知进书通知生生系统系统员员售书系统顶层数据流图上海交通大学软件学院上海交通大学软件学院2010-04-04164 4 结构化分析方法结构化分析方法结构化分析方法结构化分析方法4.4.结构化分析方法结构化分析方法结构化分析方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 软件 需求 分析
限制150内