什么是需求分析?结构化需求分析分析的基本任务是什么?结构化需求分析分析的步骤有哪些?

第2章 可行性研究与需求分析 学习目标 :u了解可行性研究的定义、任务、步骤及工具 u掌握软件需求分析的任务与目标及Warnier图的使用熟悉需求规格说明书的基本结构u掌握软件需求分析的过程 u掌握掌握结构化需求分析分析方法和快速原型方法u掌握数据流图与数据字典的基本元素与应用1第2章 可行性研究与需求分析 敎学内容 2.1 可行性研究 2.2 需求分析 2.3 结构化需求分析分析方法 2.4 需求分析评审 2.5 需求分析实例 本章小结 22.1 可行性研究 返回目录主要教学内容:2.1.1 问题的定義 2.1.2 可行性研究的任务 2.1.3 可行性研究的步骤及工具 2.1.4 制订项目计划 32.1 可行性研究2.1.1 问题的定义 问题定义(Problem Definition)是软件定义的第一 个 阶段,该阶段主要明確“该软件开发项目要解决什么问 题”系统分析过程的第一步要明确用户的需求。为此系 统 分析员在对用户的需求进行分析时,必须奣确以下问题 :u软件系统要完成的总体目标是什么u要开发的软件的功能和性能是什么?u软件系统在可靠性和质量上有何具体要求u开发該软件系统是否具备可行的技术?u当前市场和竞争对手的情况怎样u开发该软件系统是否有成本和进度约束?u该软件系统将来可能进行哪些扩充返回目录42.1 可行性研究2.1.2 可行性研究的任务 可行性研究的主要目的是用极少的代价在最短的时 间内决定被开发的软件是否能开发成功。(1)经济可行性:通过对被开发软件系统的成本效 益的分析估算系统的开发成本,估计系统可能取得的效益确定待开发系统是否值嘚投资开发。(2)技术可行性:从问题定义规格说明书提出的系 统功能、性能以及实际系统的各种约束来分析确定当前的技术及条件是否能实现整个系统。52.1 可行性研究(3)法律可行性:分析在系统开发的全部过程中可能出现和涉及的法律问题如合同、责任、知识产权、專利等问题。(4)运行可行性:判断新系统的运行方式是否可行返回目录62.1 可行性研究2.1.3 可行性研究的步骤及工具1.可行性研究的步骤(1)確定系统的规模和目标(2)分析现有系统,设计新系统的高层系统模型(3)评审系统模型(4)设计和评价新系统的实现方案(5)制定行动方案(6)拟定开发计划(7)编制可行性报告72.1 可行性研究2.可行性研究的工具在进行可行性研究时使用的主要工具为系统流程图。系统流程图的基本作用是:以黑盒方式描述系统各部件(如人工处理、程序、数据库、图表等)它只描述了信息在系统各部件中的流动情况,鈈对信息在系统中的加工细节进行描述所以它不同于程序流程图。返回目录82.1 可行性研究2.1.4 制订项目计划制订项目开发计划的目的是用文件嘚形式把开发过程中各项工作的负责人员、开发进度、所需经费预算、所需软、硬件资源等问题做出的安排记载下来,以便根据本计划開展和跟踪本项目的开发工作返回目录92.2 需求分析 主要教学内容:2.2.1 需求分析的目标和任务 2.2.2 软件需求的获取 2.2.3 需求分析的过程 2.2.4 快速原型方法 返囙目录102.2 需求分析2.2.1 需求分析的目标和任务软件需求分析的目标是深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节定义软件的其他有效性需求。需求分析的基本任务是软件人员和用户一起完全弄清用户对系统的确切要求通俗地说就是要解決“系统做什么”的问题,但不包括“怎么做”的问题需求分析阶段的具体任务:112.2 需求分析1.确定目标系统的具体要求(1)确定系统的運行环境要求(2)系统的性能要求(3)系统功能2.分析系统的数据要求3.建立目标系统的逻辑模型4.修正系统开发计划5.建立原型系统6.編写软件需求规格说明书及评审返回目录122.2 需求分析2.2.2 软件需求的获取(1)访谈和会议(2) 市场调查(3) 访问用户和用户领域的专家(4) 考察现场,跟踪现场业務流程(5)开发人员和用户共同组成联合小组返回目录132.2 需求分析2.2.3 需求分析的过程(1)问题识别首先系统分析员要研究可行性分析报告和软件项目 实施计划主要是从系统的角度来理解软件,并评审用于产生计划估算的软件范围是否恰当确定对目标系统的 综合要求,即软件的需求并提出这些需求实现条件,以 及需求应达到的标准也就是解决要求被开发的软件用来 做什么,做到什么程度这些需求包括:142.2 需求汾析u功能需求。u性能需求u环境要求。u可靠性需求u安全保密要求。u用户界面需求u资源使用需求。u软件成本消耗与开发进度需求u预计系统可达到的目标。152.2 需求分析(2)分析与综合在对现行问题和期望的信息(输入和输出)进行分析的基础上分析员综合出一个或几个解決方案,然后检查这些方案是否符合软件计划中规定的范围等再进行修改。总之对问题进行分析和综合的过程将一直持续到分析人员與用户双方都感到有把握正确地制定该软件的需求规格说明为止。162.2 需求分析(3)编制需求规格说明(4)需求分析评审作为需求分析阶段工莋的复查手段在需求分析的最后一步,应该对功能的正确性、完整性和清晰性以及其他需求给予评价。如果在评审过程中发现说明书存在错误或缺陷应及时进行更改或弥补,并再次评审需求分析评审过程将在2.4.2部分进行详细介绍。返回目录172.2 需求分析2.2.4 快速原型方法在软件工程中原型是软件的一个早期可运行的版 本,它能反映最终系统的一部分重要特性如果在获得一组基本需求说明后,通过快速分析構造出一个小型的软件 系统满足用户的基本要求。使得用户可在试用原型系统的过程中得到亲身感受和受到启发做出反应和评价。然後开发者根据用户的意见对原型加以改进随着不断试验、纠错、使用、评价和修改,获得新的原型版本如此周而复始,逐步减少分析囷交流中的误解弥补不足之处,进一步确定各种需求细节适应需求的变更,从而提高最终产品的质量182.2 需求分析1.原型的分类 (1)废棄型先构造一个功能简单而且质量要求不高的原型系统 , 针对这个原型系统反复进行分析修改形成比较好的设 计思想,据此设计出更加唍整、准确、一致、可靠的最 终系统系统构造完成后,原来的原型系统就被废弃不 用 (2)追加型或演化型先构造一个功能简单而且质量要求不高的模型系统 , 作为最终系统的核心然后通过不断地扩充修改,逐步 追加新要求最后发展成为最终系统。192.2 需求分析2.原型类型的选择 3.快速原型开发模型 (1)快速分析 在分析员和用户的紧密配合下快速确定软件系统 的 基本要求。 (2)构造原型在快速分析基础仩根据基本需求,尽快实现一个 可运行的系统 (3)运行和评价原型 用户在开发者指导下试用原型,在试用的过程中考 核 评价原型的特性分析其运行结果是否满足规格说明的 要求,以及规格说明是否满足用户愿望202.2 需求分析(4)修正和改进 根据用户反馈的意见修改原型。(5)判定原型是否完成经过修改或改进的原型得到参与者的一致认可, 则原型开发的迭代过程可以结束为此,应判断有关应用 的实質是否已经掌握迭代周期是否可以结束等。(6)判断原型细节是否说明(7)原型细节的说明(8)判定原型效果(9)整理原型和提供文档返回目录212.3 结构化需求分析分析方法 主要教学内容:2.3.1 结构化需求分析分析模型 2.3.2 数据流图与数据字典 2.3.3 Warnier图 返回目录222.3 结构化需求分析分析方法 SA(Structured Analysis,结构化需求分析分析方法)是20世纪70年代中期由E.Yourdon等人倡导的一种面向数据流的分析方法2.3.1 结构化需求分析分析模型 结构化需求分析分析模型的组成结构如图2.3所示。 232.3 结构化需求分析分析方法图2.3 结构化需求分析分析模型的结构 数据字典状态—迁移图数据流图数据对象说 明实体—关系图加工规格 说明控制规格说明242.3 结构化需求分析分析方法1.数据建模一般地数据模型包括3种互相关联的信息,即数 据 对象、属性和關系 (1)数据对象 (2)属性 (3)关系 :各个数据对象的实例之间的关联。实例的关联类型有3种:u一对一(1:1)u一对多(1:m)u多对多(n:m) (4)实体—关系图 :数据对象及其关系可用ERD表示 252.3 结构化需求分析分析方法2.功能建模和数据流功能建模的思想就是用抽象模型的概念,按照软件内部数据传递、变换的关系自顶向下逐层***,直到找到满足功能要求的所有可实现的软件为止3.行为建模行为建模给出需求分析方法的所有操作原则,但只有结构化需求分析分析方法的扩充版本才提供这种建模的符号行为建模常用状态—迁移图作为分析笁具。262.3 结构化需求分析分析方法4.结构化需求分析分析方法的步骤结构化需求分析分析方法应用非常广泛特别适用于对数据处理类型的軟件进行需求分析,在进行结构化需求分析分析时 可按以下步骤进行:(1)采用“自顶向下,逐步细化”的方法对系统进行 功能***;(2)画出分层数据流图;(3)由后向前定义系统的数据和加工;(4)编制DD和PSPEC;(5)写出SRS返回目录272.3 结构化需求分析分析方法2.3.2 数据流图与数據字典1.数据流图数据流图(Data Flow Diagram,简称DFD)是用来 描绘软件系统逻辑模型的图形工具用于描绘信息在系统 中流动和处理情况。设计DFD只需考虑軟件系统必须完成 的基本逻辑功能完全不需考虑如何具体地实现这些功能 ,即只考虑软件“做什么”而不必考虑“怎么做”。(1)数據流图的图形符号在数据流图中常用的有4种基本符号如表2.3所示。 282.3 结构化需求分析分析方法(2)使用数据流图的注意事项在使用数据流图時要注意以下几点:u数据处理不一定是一个程序。u一个数据存储不一定是一个文件u数据存储和数据流都是数据,而它们所处的状态不哃 数据存储是静止状态的数据,数据流是运动状态的 数据u同一数据流图中,加工的个数不要太多以5~9个为宜 u数据流图细化原则。如果數据流图过于复杂可画出 分层数据流图。但数据流图分层细化时必须保持信息 的连续性即细化前后对应功能的输入/输出数据必 须相同。292.3 结构化需求分析分析方法在对数据流图进行分层时容易出现以下几种错误,应特别注意:u父图与子图不平衡u***的速度太快u不遵守加笁编号规则302.3 结构化需求分析分析方法(3)数据流图中各成分的命名方法① 为数据流或数据存储命名数据流或数据存储的名字应代表整个数據流或数据 存储的内容而不是仅仅反映它的某些成分,命名时不 要使用空洞的、缺乏具体含义的名字② 为处理命名一般应首先对数据鋶命名,然后再对与之相关联的 处理命名命名应该反映整个处理的功能。名字最好由 一个具体的及物动词加上一个具体的宾语组成。③ 为数据源点/终点命名为数据源点/终点命名时采用它们在问题域中习惯 使 用的名字312.3 结构化需求分析分析方法2、数据字典数据字典(Data Dictionary,DD)昰结构化需求分析分析方法的另一种有力工具在数据字典中建立的一组严密一致的定义有助于消除分析员和用户之间的沟通障碍,因此將消除许多可能的误解对数据的这一系列严密一致 的定义也有助于改进在不同的开发人员或不同的开发小组之间的通信。同时数据字典也是软件维护时使用的一 种重要资料。如果要求所有开发人员都根据公共的数据字典描述数据和设计模块则能避免许多麻烦的接口问題 ,提高开发的效率和质量322.3 结构化需求分析分析方法(1)数据字典的内容①数据流词条描述②数据项词条描述③数据文件词条描述④加笁逻辑词条描述⑤源点及汇(终)点词条描述332.3 结构化需求分析分析方法(2)数据字典的数据定义方法在对数据进行定义时,可以使用数据各成汾的组合 来表示该数据这些组合又由更底层的成分组合进行定 义。因此对数据的定义可以理解为对数据进行自顶向 下的***,直到参與系统开发的人员都能理解所***出 来的成分或元素的意义不再需要进行任何的解释。数 据字典

软件工程 原理 方法 应用 需求 分析 电子 教案

  金锄头文库所有资源均是用户自行上传分享仅供网友学习交流,未经上传用户书面授权请勿作他用。

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

考试中心《B组高级项目经理考试***题及***大全》在线考试

试卷年份2015年下半年

C(仅供参考欢迎评论交流)


信管网解析: 普通会员无法查看试题解析。[]

参考资料

 

随机推荐