软件需求分析的任务课件.ppt

上传人(卖家):三亚风情 文档编号:2221803 上传时间:2022-03-22 格式:PPT 页数:59 大小:411KB
下载 相关 举报
软件需求分析的任务课件.ppt_第1页
第1页 / 共59页
软件需求分析的任务课件.ppt_第2页
第2页 / 共59页
软件需求分析的任务课件.ppt_第3页
第3页 / 共59页
软件需求分析的任务课件.ppt_第4页
第4页 / 共59页
软件需求分析的任务课件.ppt_第5页
第5页 / 共59页
点击查看更多>>
资源描述

1、1第三章第三章 需求工程需求工程n需求阶段是软件开发的关键阶段。n该阶段的主要任务: 必须回答一个问题:“系统应该做什么(what)”。n所涉及的人员有:领域专家、领域用户、软件投资人、系统分析员和需求分析员。该阶段的工作量约占总工作量的10%以上。23.1 3.1 软件需求软件需求IEEE软件工程标准词汇表(1997年)将需求定义为:(1)用户解决问题或达到目标所需的条件或能力;(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。(3)一种反映(1)或(2)所描述的条件或能力的文档说明。3.1.1 软件需求的定义定义从两个角度阐述需求:用户角度 系统的外部行为开

2、发者角度 系统的内部特性其关键的问题:编写需求文档。 33.1.2 3.1.2 需求的层次需求的层次软件需求包括四个不同的层次:软件需求包括四个不同的层次:1.1.业务需求:业务需求:描述了组织结构或客户对系统的高层次的目标要求。描述了组织结构或客户对系统的高层次的目标要求。2.2.用户需求:用户需求:描述了用户使用产品必须要完成的任务,使用实例模型描述。描述了用户使用产品必须要完成的任务,使用实例模型描述。3.3.功能需求:功能需求:定义了开发人员实现的软件的功能。定义了开发人员实现的软件的功能。4.4.业务需求:业务需求:描述系统的约束和限制条件。描述系统的约束和限制条件。注:以上需求应详

3、细的写到软件需求规格说明书里。4n需求描述模棱两可,有时写的过于简单;需求描述模棱两可,有时写的过于简单;n用户的要求不断变换,需求也不断变化;用户的要求不断变换,需求也不断变化;n参与的用户过少,而且忽略了用户的分类;参与的用户过少,而且忽略了用户的分类;n追求个性化,添加不必要的特性。追求个性化,添加不必要的特性。 需求越来越复杂,但很重要,现在提出了采用需求越来越复杂,但很重要,现在提出了采用工程化的思想对需求进行分析,引出需求工程的概工程化的思想对需求进行分析,引出需求工程的概念。念。定义定义:指应用已证实指应用已证实有效的技术有效的技术、方法方法进行进行需求分析需求分析,确定,确定客

4、户需求,帮助分析人员理解问题并定义目标系统的所有客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。外部特征的一门学科。主要活动:主要活动:需求获取需求获取需求建模(需求分析)需求建模(需求分析)需求传递:编写规格(规约)说明书需求传递:编写规格(规约)说明书需求验证需求验证需求管理需求管理需求工程的层次分解示意图需求工程的层次分解示意图 需求工程需求工程需求开发需求开发 需求管理需求管理 问题获取问题获取需求分析需求分析编写规格说明编写规格说明 验证验证73.2.1 3.2.1 需求开发需求开发从用户获得需求,并整理成文档。从用户获得需求,并整理成文档。注:分析员与各种层析

5、的客户进行交流,如决策人,具体使注:分析员与各种层析的客户进行交流,如决策人,具体使用人,系统维护人员等等。用人,系统维护人员等等。OOA中常采用方法:用例方法获取需求。中常采用方法:用例方法获取需求。一一. . 需求获取需求获取二二. . 需求分析需求分析对上阶段获取的需求进行分析、提炼,并用相应的分析模型对上阶段获取的需求进行分析、提炼,并用相应的分析模型描述出来,分析出高质量的需求。描述出来,分析出高质量的需求。8n需求分析研究的对象是软件项目的用户要求需求分析研究的对象是软件项目的用户要求n准确地表达被接受的用户要求准确地表达被接受的用户要求n确定被开发软件系统的系统元素确定被开发软件

6、系统的系统元素n将功能和信息结构分配到这些系统元素中将功能和信息结构分配到这些系统元素中n深入描述软件的功能和性能深入描述软件的功能和性能n确定软件设计的确定软件设计的约束约束和软件同其它系统元素的和软件同其它系统元素的接口接口细细节节n定义软件的其它有效性需求定义软件的其它有效性需求9n从从系统系统的角度来理解软件并评审软件范围是否恰当的角度来理解软件并评审软件范围是否恰当n确定确定对目标系统的综合要求,即对目标系统的综合要求,即软件的需求软件的需求n提出这些提出这些需求实现条件需求实现条件,以及需求应达到的标准,以及需求应达到的标准10问题识别的另一项工作是问题识别的另一项工作是建立分析所

7、需要的通信途径建立分析所需要的通信途径,以保证能顺利地对问题进行需求分析。以保证能顺利地对问题进行需求分析。11从从信息流信息流和和信息结构信息结构出发,出发,逐步细化所有的软件功能逐步细化所有的软件功能,找出找出系统各元素之间的联系系统各元素之间的联系、接口特性接口特性和和设计上的约设计上的约束束,分析它们是否满足功能要求,是否合理。剔除其,分析它们是否满足功能要求,是否合理。剔除其不合理的部分,增加其需要部分。最终综合成系统的不合理的部分,增加其需要部分。最终综合成系统的解决方案,给出解决方案,给出目标系统的详细逻辑模型。目标系统的详细逻辑模型。n面向数据流面向数据流的结构化分析方法的结构

8、化分析方法 (SA)(SA)n面向数据结构面向数据结构的的JacksonJackson方法方法 (JSD)(JSD)n面向数据结构面向数据结构的结构化数据系统开发方法的结构化数据系统开发方法 (DSSD)(DSSD)n面向对象面向对象的分析方法的分析方法 (OOA) (OOA) 等等12 数据字典是对系统所用到的所有数据项和结构的定数据字典是对系统所用到的所有数据项和结构的定义,以确保开发人员使用统一的数据定义。义,以确保开发人员使用统一的数据定义。13n软件需求说明书软件需求说明书n数据要求说明书数据要求说明书n初步的用户手册初步的用户手册n修改、完善与确定软件开发实施计划修改、完善与确定软

9、件开发实施计划 注:格式见附录注:格式见附录n系统定义的目标是否与用户的要求一致系统定义的目标是否与用户的要求一致; ;n系统需求分析阶段提供的文档资料是否齐全系统需求分析阶段提供的文档资料是否齐全; ;n文档中的所有描述是否完整、清晰、准确反映用户要求文档中的所有描述是否完整、清晰、准确反映用户要求; ;n与所有其它系统成分的重要接口是否都已经描述与所有其它系统成分的重要接口是否都已经描述; ;14n被开发项目的数据流与数据结构是否足够,确定被开发项目的数据流与数据结构是否足够,确定; ;n所有图表是否清楚,在不补充说明时能否理解所有图表是否清楚,在不补充说明时能否理解; ;n主要功能是否已

10、包括在规定的软件范围之内,是否都已主要功能是否已包括在规定的软件范围之内,是否都已充分说明充分说明; ;n设计的约束条件或限制条件是否符合实际设计的约束条件或限制条件是否符合实际; ;n开发的技术风险是什么开发的技术风险是什么; ;n是否考虑过软件需求的其它方案是否考虑过软件需求的其它方案; ;n是否考虑过将来可能会提出的软件需求是否考虑过将来可能会提出的软件需求; ;n是否详细制定了检验标准,它们能否对系统定义是否成是否详细制定了检验标准,它们能否对系统定义是否成功进行确认功进行确认; ;1516 需求管理从形成需求基线开始,分析变更影响并控制变更过程。主要包括变更控制、版本控制和需求跟踪等

11、活动。变更控制就是在一定的程序下有效地实施整个变更过程;版本管理保证了在需求文档中记录和反映所有的需求变化;需求跟踪帮助人们全面地分析变更带来的影响,从而作出正确的变更决策。三者统一起来,真正做到了管理需求变化过程,以及维护需求变化后的一致性和完整性。 3.2.2 3.2.2 需求管理需求管理171.1.需求变更控制需求变更控制 一些需求的改进是合理的且不可避免。 不被控制的变更是项目陷入混乱、不能按进度执行或软件质量低劣的共同原因,因此,需求变更应该实现以下要求: 应仔细评估已建议的变更; 挑选合适的人选对变更做出决定; 变更应及时通知所有涉及的人员; 项目要按一定的程序来采纳需求变更。18

12、版本控制是管理需求的一个必要方面。需求文档的每一个版本必须被统一确定,小组内每个成员必须能够得到需求的当前版本,必须清楚地将变更写成文档,并及时通知到项目开发所涉及的人员。为了尽量减少困惑、冲突、误传,应仅允许指定的人来更新需求。每一个公布的需求文档的版本应该包括一个修正版本的历史情况,即已做变更的内容、变更日期、变更人姓名以及变更原因,可以考虑给每个需求标记上版本号,当修改满足需求后就增加版本号。2.2.需求文档的版本控制需求文档的版本控制版本控制的最有力方法是用一个商业需求管理工具的数据库存储需求,这些工具可以跟踪和报告每个需求的变动历史,特别是当需要恢复早期的需求时非常有意义。19当某项

13、业务需求发生变化时,可能会影响到系统需求和功能需求的变化,并且连带地影响到设计、测试、实现、项目计划等各方面的变化,从而构成了一个跟踪能力联系链。如下图显示需求跟踪的任务:编制每个需求同系统元素之间的联系文档,这些元素包括别的需求、体系结构、其他设计部件、源代码模块、测试、帮助文件、文档等,从而建立了需求的跟踪联系链。当需求发生变化时,使用需求跟踪可以确保不忽略每个受到影响的系统元素,实现需求变更的正确实施,降低由此带给项目的风险等。3.3.需求跟踪需求跟踪20业 务 需 求系统需求,使用实例,业务规则及外部接口需求软件功能需求系统测试项目计划任务体系结构,用户接口或功能设计集成测试代码单元测

14、试变更需求影响影响影响被实现被验证被验证被陈述被验证连接到规格说明依赖另一个影响21(1).建立了需求的跟踪联系链当需求发生变化时,使用需求跟踪可以确保不忽略每个受到影响的系统元素。使用需求跟踪能力矩阵 分析变更产生的影响CMM:软件能力成熟度模型的目标之一:进行需求管理222.需求管理工具 需求管理工具有两种类型:a.以文档为核心的b.以数据库核心的23结构化分析方法最早开始于20世纪60年代末和70年代初。DeMaro在1979年出版的Structured Analysis and System Specification一书中,给出了数据流图等结构化分析工具,并使用数据字典和加工说明等作

15、为图形工具的补充。 3.3 3.3 分析建模分析建模 现在在主导地位的分析方法为:结构化分析方法(SA)和面向对象的分析方法(OOA)本节主要讲SA。2425数据字典功能模型数据模型行为模型实体关系图数据流图状态转换图结构化分析导出的分析模型包括数据模型、功能模型和行为模型,该模型以“数据字典”为核心,它描述了软件使用的所有数据对象。3.3.1 3.3.1 分析模型分析模型 2627 Entities 例:例: , ,StudentInstructorClass Attributes 例:例: ,NameI D# Relations 例:例:Enrolled inTeach111NMN一.实体

16、 -联系图(Entity-Relationship Diagram)数据模型有三种基本元素:数据对象、属性、关系。28InstructorStudentEnrolled inTeachClassI D #I D #NameNameSexSexTitleInstructor IDClass IDGradeStudent IDClass IDCreditI D #Subjectmn1n例如:29二二. .数据流图数据流图数据流图信息流和数据转换。对加工进行细化获得数据流图。从数据传递和加工的角度看,其以图形的方式刻画数据流从输入到输出的传递变换过程,描绘信息在系统中流动和处理的情况。表示了系统内部

17、信息的流向和系统的逻辑处理功能。30313233n为了表达数据处理过程的数据加工情况,需要采用为了表达数据处理过程的数据加工情况,需要采用层次结构层次结构的数据流图。按照系统的层次结构进行的数据流图。按照系统的层次结构进行逐逐步分解步分解,并以分层的数据流图反映这种结构关系,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。能清楚地表达和容易理解整个系统。n在多层数据流图中,在多层数据流图中,顶层流图顶层流图仅包含一个加工,它仅包含一个加工,它代表被开发系统。它的代表被开发系统。它的输入流输入流是该系统的输入数据,是该系统的输入数据,输出流输出流是系统所输出数据是系统所输出数

18、据34353637383940结构化分析过程是创建结构化分析过程是创建数据模型数据模型、功能模型功能模型和和行为模型行为模型的过程的过程数据模型数据模型功能模型功能模型行为模型行为模型E-RE-R图图DFDDFD图图STDSTD图图下面结合学生成绩管理系统的子系统查询系统,讲解如何画DFD。41(1 1) 第第0 0层层DFDDFD将整个系统表示成一个加工;将整个系统表示成一个加工; (2 2) 确定并标记主要的输入和输出;确定并标记主要的输入和输出;(3 3) 分离出下一层中的加工、数据对象和存储,并对其进分离出下一层中的加工、数据对象和存储,并对其进行细化,一次细化一个加工;行细化,一次细

19、化一个加工;(4 4) 标记所有加工和箭头;标记所有加工和箭头;(5 5) 重复步骤(重复步骤(3 3)和()和(4 4),直到所有的加工只执行一个),直到所有的加工只执行一个简单的操作,可以很容易地用程序实现。简单的操作,可以很容易地用程序实现。在该系统中,教务人员录入学生信息、课程信息和成绩信息。在该系统中,教务人员录入学生信息、课程信息和成绩信息。学生可以随时查询自己所选课程的成绩。学生在查询成绩时学生可以随时查询自己所选课程的成绩。学生在查询成绩时应该具有相应的权限。应该具有相应的权限。数据流图是分层绘制的,使自顶向下对功能分解和细化的过程。数据流图是分层绘制的,使自顶向下对功能分解和

20、细化的过程。42教务人员0学生成绩管理学生学生信息成绩课程信息查询请求查询结果图3.11第0层DFD图 第0层DFD图教务人员维护学生信息和课程信息,并登录学生的选课成绩; 学生查询自己的成绩单。 431录入学生信息2录入课程信息3登记学生成绩4查询学生成绩学生教务人员成绩课程学生查询请求查询结果成绩课程信息学生信息 第1层DFD图对第0层DFD图中的一个加工“学生成绩管理”进行展开。 444.1合法性检查4.2查询成绩成绩课程学生合法查询条件学生查询请求查询条件查询条件查询结果 第第2 2层层DFDDFD图图对第对第1 1层层DFDDFD图中的一个图中的一个加工加工“查询学生成绩查询学生成绩

21、”进行展开。进行展开。 45绘制数据流图应当遵循以下绘制数据流图应当遵循以下原则原则:(1 1) 分层时,子图的输入、输出数据流必须和父图中相应加分层时,子图的输入、输出数据流必须和父图中相应加工的输入、输出数据流一致;工的输入、输出数据流一致;(2 2) 加工的编号应唯一且具有层次性;加工的编号应唯一且具有层次性;(3 3) 加工不应该只有输入或只有输出,通常既有输入又有输加工不应该只有输入或只有输出,通常既有输入又有输出;出;(4 4) 数据流图不应反映处理的顺序;数据流图不应反映处理的顺序;(5 5) 加工之间应通过数据存储进行通信,避免从一个加工直加工之间应通过数据存储进行通信,避免从

22、一个加工直接流到另一个加工;接流到另一个加工;(6 6) 数据应通过加工进行流动,避免从一个数据存储直接流数据应通过加工进行流动,避免从一个数据存储直接流到另一个数据存储;到另一个数据存储;(7 7) 数据流图中所有元素的命名应当对客户有意义,且与业数据流图中所有元素的命名应当对客户有意义,且与业务相关;务相关;(8 8) 不要在一个图中绘制不要在一个图中绘制7 7个以上的加工,否则难于绘制和个以上的加工,否则难于绘制和理解。理解。 4647484950515253数据流图与其他流程图的区别数据流图与其他流程图的区别1 1、数据流图与系统流程图、数据流图与系统流程图 系统流程图中不仅有数据流,

23、还有物流、资金流。DFD将物流、资金流排除在外,或者将它们抽象为数据流的形式。DFD仅以数据流的形态反映一个组织中整个管理业务的流程。2 2、数据流图与程序流程图、数据流图与程序流程图 程序流程图的处理框之间有严格的时间顺序;DFD只反映数据的流向、处理逻辑和必要的数据存储,它不反映处理逻辑的先后时间顺序。数据流与控制流545556575859作业作业1.1.需求分析的任务是什么?怎样理解分析阶段的任务需求分析的任务是什么?怎样理解分析阶段的任务是决定是决定“做什么做什么”,而不是,而不是“怎么做怎么做”? ?2.2.为什么数据流图要分层?画数据流图要遵循那些原为什么数据流图要分层?画数据流图要遵循那些原则?则?3.3.教材教材p58 19 p58 19 4.4.图书管理系统需求分析报告图书管理系统需求分析报告

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(软件需求分析的任务课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|