{行业分析报告}软件工程讲义之第3章需求分析第五版张海潘编著

上传人:精****库 文档编号:140967973 上传时间:2020-08-03 格式:PPTX 页数:72 大小:710.99KB
返回 下载 相关 举报
{行业分析报告}软件工程讲义之第3章需求分析第五版张海潘编著_第1页
第1页 / 共72页
{行业分析报告}软件工程讲义之第3章需求分析第五版张海潘编著_第2页
第2页 / 共72页
{行业分析报告}软件工程讲义之第3章需求分析第五版张海潘编著_第3页
第3页 / 共72页
{行业分析报告}软件工程讲义之第3章需求分析第五版张海潘编著_第4页
第4页 / 共72页
{行业分析报告}软件工程讲义之第3章需求分析第五版张海潘编著_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《{行业分析报告}软件工程讲义之第3章需求分析第五版张海潘编著》由会员分享,可在线阅读,更多相关《{行业分析报告}软件工程讲义之第3章需求分析第五版张海潘编著(72页珍藏版)》请在金锄头文库上搜索。

1、3.1 需求分析的任务 3.2 与用户沟通获取需求的方法 3.3 分析建模与规格说明 3.4 实体-联系图 3.5 数据规范化 3.6 状态转换图 3.7 其他图形工具 3.8 验证软件需求,第3章 需求分析,第3章 需求分析,需求分析的任务: 需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。 确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。 系统分析员应该写出软件需求规格说明书,以书面形式准确地描述软件需求。,需求:正在构建的系统必须符合的事务。 需求管理:是一种获取、组织并记录系统需求的系统化方案以及一个使客户与项目团

2、队不断变更的系统需求达成并保持一致的过程。 传统需求分析:强调需求的记录,以一成不变的观点对待需求,不重视需求实现与维护。 现代需求过程:包括需求的获取、分析、处理、验证、实现和全过程的需求管理。需求管理覆盖软件工程的整个过程。,传统与现代需求方法的比较:,需求管理存在的问题: 范围问题:系统目标、边界未被良好定义,用户和开发团队理解不一致。 理解问题:用户不能完全了解自己需要什么,对系统能力、局限更加不清楚;工程师不理解用户的问题域和应用环境。 易变问题:需求随时间发生变化。,需求工程: 20世纪80年代中期,形成了软件工程的子领域需求工程。 进入20世纪90年代后,需求工程称为软件界研究的

3、重点之一。 Alan Davis 把需求工程定义为“直到(但不包括)把软件分解为实际架构构件之前的所有活动”。,需求工程的阶段划分:,3.1 需求分析的任务,确定对系统的综合要求 分析系统的数据要求 导出系统的逻辑模型 修正系统开发计划,3.1.1 确定对系统的综合要求,1. 功能需求 2. 性能需求 3. 可靠性和可用性需求 4. 出错处理需求 5. 接口需求 6. 约束 7. 逆向需求 8. 将来可能提出的要求,3.1.2 分析系统的数据要求,建立数据模型ER图 描绘数据结构层次方框图和Warnier图 数据结构规范化,3.1.3 导出系统的逻辑模型,综合上述两项分析的结果可以导出系统的详

4、细的逻辑模型,通常用数据流图、实体-联系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。,根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划。,3.1.4 修正系统开发计划,3.2 与用户沟通获取需求的方法,访谈 面向数据流自顶向下求精 简易的应用规格说明技术 快速建立软件原型,需求分析综合症 解决方案 需求诱导的方法:,3.2.1 访谈,1. 正式访谈 系统分析员将提出一些事先准备好的具体问题。 2. 非正式访谈 分析员将提出一些用户可以自由回答的开放性问题,以鼓励被访问人员说出自己的想法。 3. 调查表 经过仔细考虑写出的

5、书面回答可能比被访者对问题的口头回答更准确。,4. 情景分析技术 对用户将来使用目标系统解决某个具体问题的方法和结果进行分析。 情景分析技术的用处: 能在某种程度上演示目标系统的行为,从而便于用户理解,而且还可能进一步揭示出一些分析员目前还不知道的需求。 能保证用户在需求分析过程中始终扮演一个积极主动的角色。让用户起积极主动的作用对需求分析工作获得成功是至关重要的。,3.2.2 面向数据流自顶向下求精,1. 分析追踪数据流图 需求分析的目标之一就是把数据流和数据存储定义到元素级,通常从数据流图的输出端着手分析。 2. 用户复查 必须请用户对上述分析过程中得出的结果仔细地复查。复查过程验证了已知

6、的元素,补充了未知的元素,填补了文档中的空白。 随着分析过程的进展,经过问题和解答的反复循环,分析员越来越深入具体地定义了目标系统,最终得到对系统数据和功能要求的满意了解。,面向数据流自顶向下求精过程,3.2.3 简易的应用规格说明技术,简易的应用规格说明技术是一种面向团队的需求收集法。 这种方法提倡用户与开发者密切合作,共同标识问题,提出解决方案要素,商讨不同方案并指定基本需求。,分析需求的典型过程如下: 1. 初步访谈,准备会议 首先进行初步的访谈,初步确定待解决的问题的范围和解决方案。 然后开发者和用户分别写出“产品需求”。选定会议的时间和地点,并选举协调人。 2. 会前审查需求,确定列

7、表 要求每位与会者在开会的前几天认真审查产品需求,并且列出对象、操作这些对象或与这些对象交互的服务、约束条件和性能标准。,3. 会上讨论列表,创建组合列表 每位与会者展示列表供大家讨论。大家共同创建一张组合列表。由协调人主持讨论这些列表。 4. 分组制定小型规格说明 与会者分成更小的小组,为每张列表中的项目制定小型规格说明。每个小组都向全体与会者展示他们制定的小型规格说明,供大家讨论。 5. 制定确认标准,起草需求规格说明书 每个与会者都制定出产品的一整套确认标准,并提交会议讨论,以创建出意见一致的确认标准。 最后,起草完整的软件需求规格说明书。,简易的应用规格说明技术的优点: 开发者与用户不

8、分彼此,齐心协力,密切合作; 即时讨论并求精; 有能导出规格说明的具体步骤。,3.2.4 快速建立软件原型,快速建立软件原型是最准确、最有效、最强大的需求分析技术。 快速原型就是快速建立起来的旨在演示目标系统主要功能的可运行的程序。 构建原型的要点是,它应该实现用户看得见的功能,省略目标系统的“隐含”功能。,快速原型的特性: “快速”。快速原型的目的是尽快向用户提供一个可在计算机上运行的目标系统的模型。因此,原型的某些缺陷是可以忽略的。 “容易修改”。如果原型的第一版不是用户所需要的,就必须根据用户的意见迅速地修改它,构建出原型的第二版,以更好地满足用户需求。如果修改耗时过多,势必延误软件开发

9、时间。,快速原型通常使用下述3种方法和工具: (1) 第四代技术(4GL) 第四代技术包括众多数据库查询(如SQL)和报表语言(如ADF)、程序和应用系统生成器(如Power Builder和Oracle的应用开发环境)以及其他非常高级的非过程语言。 第四代技术使得软件工程师能够快速地生成可执行的代码,它们是较理想的快速原型工具。,第四代技术特点: 简单易学,用户界面良好,面向问题、非过程化程度高,用户只需告知系统做什么,而无需说明怎么做。用4GL编程使用的代码量较少,并可成数量级地提高软件生产率。 程序设计语言划代: 1GL是汇编语言; 2GL是高级程序设计语言,如FORTRAN,ALGOL

10、,BASIC,LISP等; 3GL是增强性的高级程序设计语言,如PASCAL,ALGOL68,FORTRAN77等; 4GL是按计算机科学理论指导设计出来的结构化语言,如ADA,MODULA2,SMALLTALK80,JAVA,VB,VC,VF等。,(2) 可重用的软件构件 另外一种快速构建原型的方法,是使用一组已有的软件构件(也称为组件)来装配(而不是从头构造)原型。 软件构件可以是数据结构(或数据库),或软件体系结构构件(即程序),或过程构件(即模块)。 (3) 形式化规格说明和原型环境 非形式化方法:自然语言描述 半形式化方法:数据流图或实体-联系图 形式化方法:基于数学的技术,3.3

11、分析建模与规格说明3.3.1 分析建模,模型:就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成。 结构化分析过程:实质上是一种创建模型的活动。系统分析员从不同角度抽象出目标系统的特性,使用精确的表示方法构造系统的模型,验证模型是否满足用户对目标系统的需求,并在设计过程中逐渐把和实现有关的细节加进模型中,直至最终用程序实现模型。,分析模型的结构,需求分析过程应该建立3种模型,分别是: 数据模型 功能模型 行为模型,数据字典:是分析模型的核心,它描述软件使用或产生的所有数据对象。 实体-联系图:描绘数据对象及数据对象之间的关系

12、,是用于建立数据模型的图形。 数据流图:描绘当数据在软件系统中移动时被变换的逻辑过程,指明系统具有的变换数据的功能,因此,数据流图是建立功能模型的基础。 状态转换图(简称为状态图):指明了作为外部事件结果的系统行为。为此,状态转换图描绘了系统的各种行为模式(称为“状态”)和在不同状态间转换的方式。状态转换图是行为建模的基础。,3.3.2 软件需求规格说明,通过需求分析除了创建分析模型之外,还应该写出软件需求规格说明书,它是需求分析阶段得出的最主要的文档。 通常用自然语言完整、准确、具体地描述系统的数据要求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求以及将来可

13、能提出的要求。,我国定义了GB856D-1988国家标准,给出了需求规格说明的内容框架:,练习题:习题3.3,画数据流图,顶层数据流图,功能级数据流图,细化的数据流图,3.4 实体-联系图,概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。它描述了从用户角度看到的数据,它反映了用户的现实环境,且与在软件系统中的实现方法无关。 数据模型中包含3种相互关联的信息: 数据对象 数据对象的属性 数据对象彼此间相互连接的关系,3.4.1 数据对象,数据对象:是对软件必须理解的复合信息的抽象。复合信息是指具有一系列不同性质或属性的事物,仅有单个值的事物不是数据对象。 数据对象可以是

14、外部实体、事物、行为、事件、角色、单位、地点或结构等。 数据对象彼此间是有关联的。,3.4.2 属性,属性:定义了数据对象的性质。必须把一个或多个属性定义为“标识符” 。 根据对问题的理解来确定特定数据对象的合适的属性。,3.4.3 联系,联系:数据对象彼此之间相互连接的方式称为联系,也称为关系。 联系可分为以下3种类型: 一对一联系(11) 一对多联系(1N) 多对多联系(MN) 联系也可能有属性。,3.4.4 实体-联系图的符号,ER图中包含: 实体(即数据对象),用矩形框表示; 关系,用连接相关实体的菱形框表示; 属性,用椭圆形或圆角矩形表示,并用直线把实体(或关系)与其属性连接起来。,

15、例1:某校教学管理系统的ER图,ER图的优点: 比较接近人的习惯思维方式; 用简单的图形符号表达系统分析员对问题域的理解,用户也容易理解,可以作为用户与分析员之间有效的交流工具。 数据建模工具:以自动化的方式创建ER图、数据字典及相关模型。 AllFusion ERWin 辅助设计数据库、数据对象、结构、关键元素 ER/Studio 支持实体-关系建模 Oracle Designer 建模、应用系统和数据库设计 Meta Scope 图形化显示数据 Model Sphere Visible Analyst 模型可视化分析,例2:习题3.3,银行储蓄系统的ER图 银行计算机储蓄系统的工作过程大致

16、如下: 储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户; 如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。,银行储蓄系统的ER图,3.5 数据规范化,数据结构规范化:软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。,范式:通常用“范式(normal forms)”定义消除数据冗余的程度。第一范式(1 NF)数据冗余程度最大,第五范式(5 NF)数据冗余程度最小。 范式级别越高,存储同样数据需要分解成更多张表,因此,“存储自身”过程越复杂。 随着范式级别的提高,数据的存储结构与基于问题域的结构间的匹配程度也随之下降,因此,在需求变化时数据的稳定性较差。 范式级别提高则需要访问的表增多,因此性能(速度)将下降。,第一、第二和第三范式的定义:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号