3-第三章 需求分析
- 格式:doc
- 大小:94.00 KB
- 文档页数:6
第三章需求分析一. 填空题1.需求分析的步骤 , , , 。
2.需求分析阶段需编写的文档有,,。
3.系统规格说明,数据要求,, ,这四份文档资料是在书写文档阶段必需完成的。
4.在书写文档阶段,数据要求主要包括通过需求分析建立起来的,以及描绘数据结构的层次方框图。
5.对于计算机程序处理的数据,其数据域应包括 , , 和数据结构。
6.数据内容即是。
7.把一个功能分解成几个子功能,并确定 , 就属于横向分解。
8.软件需求的逻辑视图给出 , 而不是实现的细节。
9. 功能一般用 , 来表示。
10.结构化分析方法是 , 进行需求分析的方法.11.描述结构化分析方法的工具有,,,判定表,判定树。
12. SA方法中自顶向下的分析策略主要是和。
13.数据流图的基本组成部分有,,,。
14.数据流图的特性,,,。
15.数据流图和数据字典共同构成了系统的模型,是需求规格说明书的主要组成部分。
16.分析员通过需求分析,逐步细化对软件的需求,描述软件主要处理的,并给软件开发提供一种可转化为,和的数据与功能表示。
17.需求分析阶段研究的对象是软件项目的。
18.数据流图的基本符号包括,,,。
19.在需求分析阶段常用的图形工具有,,。
20.需求分析应交付的主要文档是。
二. 选择题1. 需求分析中开发人员要从用户那里了解()A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模2. 需求分析阶段的任务是确定()A.软件开发方法 B.软件开发工具C.软件开发费 D.软件系统的功能3. 需求分析阶段最重要的技术文档之一是非曲直()。
A.项目开发计划 B.设计说明书 C.需求规格说明书 D.可行性分析报告4.需求分析阶段建立原型的目的是()。
A.确定系统的功能和性能的需求 B.确定系统的运行要求C.确定系统是否满足用户需求 D.确定系统是否满足开发人员需要5.需求分析阶段研究的对象是()A.用户需求 B.分析员要求 C.系统要求 D.软硬件要求6.系统流程图用于可行性分析中的_____的描述。
第三章需求分析
§1 需求分析的任务
软件系统的开发指导思想:从当前系统逻辑模型导出目标系统逻辑模型. 演变过程如下:
怎么做做什么
需求分析的任务:由当前系统的逻辑模型转化到表达需求的逻辑模型,对系统提出完整、准确、清晰、具体的要求,准确回答“系统必须做什么?”。
核心任务是:建立系统模型和描述系统模型。
具体表述如下:
一.确定系统的综合需求
1.系统功能要求,划分出系统必须完成的所有功能;
2.系统性能要求:系统的响应时间、系统需要的存储容量及安全性等;
3.系统运行要求:对系统运行环境的要求,如
(1)支持系统运行的软件环境:工具软件、系统软件;
(2)支持系统运行的硬件环境;
(3)通信接口、输入和输出等外部设备。
4.将来可能提出的要求,为系统将来的扩充做准备.
二.分析系统的数据要求
1.利用数据字典全面准确的定义数据;
2.借助图形工具(如层次方框图、Warnier图)辅助描绘数据结构;
3.将系统中需短期或长期保存的各种信息以一定的方式组织并存储在数据库或文件中。
三.导出系统的逻辑模型
使用DFD、数据字典和主要处理的算法等工具导出系统的逻辑模型.
四.修改系统的开发计划
根据系统的逻辑模型,在加深对系统具体了解的基础上,准确估计系统的成本和进度,修改可行性研究中提出的系统开发计划.
五.开发原型系统(“样机”),显示系统的主要功能.
1.检验关键设计方案的正确性;
2.系统是否真正满足用户要求;
3.沟通用户与系统分析员之间的通信;
4.通过直观的系统模型,获得实践经验.
利用已有的工具可以快速建立原型系统.
六.写出需求规格说明书
它是需求分析的成果,是软件开发、验收和管理的依据。
§2 实现需求分析任务的方法
需求分析的方法是实现需求分析任务的具体实现。
需求分析的基本过程如下:
可行性分析获得目标系统的高层DFD,需求分析的目的之一就是把DF和数据存储定义到元素级。
需求分析的方法具体如下:
一.沿DFD从输出端到输入端回溯
(1)确定每一个数据元素的来源;
(2)为得到某个数据元素补充DFD中还没有的DF;
(3)初步定义有关的算法;
(4)将通过分析补充的DF、数据存储和处理添加到DFD的适当位置上。
(5)将分析中得到的有关数据元素的信息记录到数据字典中,把对算法的简明描述记录到
IPO(输入/处理/输出)图中.
二.用户复查
(1)分析员借助DFD、数据字典和简明算法向用户解释:输入数据怎么一步一步转化成输
出数据的;
(2)用户根据分析员提供的资料和描述提出纠正和补充意见;
(3)分析员根据用户的意见修改系统的描述。
三. 细化DFD
分析员通过功能分解完成DFD的细化,其方法是:结构化的分析方法(SA方法),即“自顶向下、逐步求精”的方法。
细化过程中要注意的如下问题.
(1)分层细化时必须保持信息的连续性,即细化前后的输入/输出数据必须相同;
(2)当把一个功能进一步分解成子功能后,若能简要写出这些功能的程序代码时,对该功能
就不需再分解了.
四.书写文档
文档资料的具体内容包括:
(1)系统规格说明:目标系统概貌、功能、性能、运行要求及将来可能的要求,含必要的
DFD、IPO图等;
(2)数据要求:数据字典及描绘数据结构的层次方框图或Warnier图;
(3)用户系统描述:系统功能和系统性能的扼要描述,包括使用系统的步骤、方法及系统
用户责任等;
(4)修正开发计划:成本估计、资源的使用、进度计划等。
五.审查和复审。
§3 需求分析的技术
为实现需求分析的任务常采用的方法有如下几种。
一.结构化分析技术
1.结构化分析:使用数据流程图、数据字典、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化说明书的目标文档—需求规格说明书。
2.结构化分析技术:将软件系统抽象为一系列的逻辑加工单元,各单元之间以数据流发生关联.
3.结构化分析过程:
(1)项目说明;
(2)画分层数据流图;
(3)编写数据字典:数据流、文件和加工说明等;
(4)复审.
二.面向对象的分析(OOA)技术
对象:是作为现实世界实体的抽象表示,它是外界实体的属性和容许服务的抽象. 在面向对象的分析中,对象和它们的服务被看成一个固有的整体.
对象类:具有相同属性和服务抽象的的一系列对象的总称. 在面向对象的模型中,可以包含若干对象类,它对应于生成模型不同层次上的抽象.
面向对象的分析由五个主要步骤构成:
1.标识对象(类):对确定的对象设立一个对象名,其格式:名词/形容词+名词;
2.标识结构
(1)分类结构:表示一般和特殊的关系,用以描述一个对象类是另一对象类的子类或超类;
(2) 组装结构:表示组装、容纳和包含关系, 用以描述一个对象是由另一个或多个称之为成分的对象组成的.
3.标识主题:对每一个结构(或对象)增加一个相应的主题,当主题个数超过7 2时,将紧密耦合的主题合在一起,提炼新主题,以便得到一个更好的模型概观.最后列出主题及主题层上各主题之间的消息连接.
4.定义属性:属性是描述对象或分类结构实例的数据单元. 定义属性的步骤:
(1)标识属性:找出适用于指定对象或分类结构的所有事例的属性.
(2)属性定位:利用分类结构中的继承机制确定属性的位置,把通用属性放在结构的高层,特殊的属性放在底层.
(3)标识和定义实例连接(实例映射关系)
A.如果连接适用于所有的实例,则在分类结构的通用层相连接,否则只能在特殊的专
用层连接;
B.定义多重性:在每一个方向上建立单重或多重连接;
C.定义参与性:在每一个方向上定义连接是任选的或是强制的.
(4)修正对象:重新修订一些对象或分类结构.
D.如果某些属性不适合于一个对象的所有实例或分类结构的某个特定实例,可考虑
引入附加的分类结构;
E.如果对象或分类结构实例只有一个属性,则应修改模型以反应更高一层的抽象,将
单个的属性直接放入与该属性所描述的对象相关联的对象,然后删除这个多余的
对象;
F.若一个对象实例的某个属性有多个重复值,则应考虑增加新的对象;
G.对无着落的适应性变化参数,将其作为属性..
H.说明属性和实例连接的约束.
5.定义服务:为每一个对象和分类结构定义所需要的行为,并确定对象实例之间必要的通信,即消息连接.定义服务的步骤(略).
三.原型开发技术
1.原型开发技术的基本思想:在获得一组基本需求说明后,快速使其”实现”,通过原型反馈加深对系统的理解,并对需求说明进行补充和敬化.
2.采用原型开发的目的:当系统需求复杂时,采用原型开发可以减少因系统需求的可能性错误而导致的损失。
3.原型开发技术的具体内容
(1)功能选择
(2)构造原型
(3)评价和确认
(4)进一步使用
4.原型开发技术的过程
§4 需求分析的描述工具
数据流图、数据字典、判定表、判定树和结构化自然语言都是需求分析的描述工具,除此之外还有如下几种描述工具。
一.层次方框图
采用树形结构的多层次矩形框描绘数据的层次结构。
顶层是一个单独的矩形框,代表完整的数据结构,下面各层的矩形框代表数据的子集,最底层的矩形框代表组成这个数据的实际数据元素(不能再分割的元素)。
这种模式很适合于结构化分析。
例如,描述一家公司的计算机产品的数据结构的层次方框图如下:
二.Warnier图
它是表示数据结构的另一种层次结构的图形工具。
与层次方框图很类似。
如上例中的计算机产品中的软件产品采用Warnier图表示如下:
操作系统
编译系统
系统软件编辑程序
软件工具
图形生成程序
软件产品
MIS系统
应用软件 CAD
OA系统
三.IPO图
IPO图是输入/处理/输出图的简称,是描述加工说明的图形工具。
它由左中右三个框组成,左框列出所有输入数据,中框列出所有处理,右框列出输出数据,三个框中间用粗箭头指出数据通信情况。
例主文件更新的IPO图如下:
输入处理输出其中处理框中的处理次序表示执行次序.
为了把加工说明表达更清楚、更具体,将IPO图作如下的改进。
四.需求描述语言
需求描述语言是对需求分析进行描述的工具。
该语言用来描述用户对系统功能的需求,它具有形式化的语法,能方便地描述系统中各个目标的性质和目标之间的联系,实现对繁琐的人工需求分析趋于工程化和标准化。
例1977年美国密执安大学开发的PSL/PSA(问题陈述语言/问题陈述分析程序)系统具有下述功能:
1.描述任何应用领域的信息系统(系统信息流、系统结构、数据结构、数据导出、系统
规模、系统动态、系统性质和系统管理等方面);
2.创建一个数据库保存对该信息系统的描述符;
3.对描述符施加增加、删除和修改操作;
4.产生格式化的文档和关于规格说明书的各种分析报告。