- 3
- 0
- 约9.86千字
- 约 70页
- 2018-03-04 发布于浙江
- 举报
[计算机软件及应用]软件需求分析
第三章 软件需求分析 任务分解 1、确定对系统的综合要求 2、分析系统的数据要求 3、导出系统的逻辑模型 4、修正系统开发计划 5、开发原型系统(样机模型) 6、编写软件需求规格说明书 1、确定对系统的综合要求(讲义p48) 功能需求 (2) 性能需求 (3) 环境需求 (4) 界面需求 …… (n)将来可能提出的要求 (1) 功能需求 系统做什么? 系统何时做什么? 系统何时及如何修改或升级? (3) 环境需求 硬件设备:机型、外设、接口、地点、 分布、温度、湿度、磁场干扰等 软件: 操作系统、网络、数据库 3、导出系统的逻辑模型 根据系统的综合要求和系统的数据要求的结果,导出系统的详细的逻辑模型。通常用数据流图、数据字典和主要的处理算法描述。 5、开发原型系统(样机模型) 在第一章我们讲过软件开发三种模型当中,有一种原型模型(也称样机模型)。在需求分析当中,使用样机的主要目的是:使用户通过实践获得关于未来的系统将怎样为他们工作的更直接更具体的概念,从而可以更准确地提出和解决他们的要求。 二、需求分析的步骤 获取用户需求→分析用户需求→编写需求文档→评审需求文档→管理需求。 目前,需求分析的方法有面向数据流的方法(也就是结构化的分析方法(SA),使用的工具有DFD+RED等),以及面向对象的方法(使用的工具为用例图等)。一般来说,可以使用DFD+ERD来描述那些功能层次比较清晰的需求;而USE CASE则适于描述功能结构复杂的需求。做需求分析的目的是为了建立需求的模型,不同的子系统有可能使用不同的建模方法。 本章主要是介绍结构化的需求分析方法。 三、结构化的分析方法 结构化软件分析方法 (SA) 也就是面向数据流的分析方法,它把问题描述为 数据流图+实体联系图(+状态转换图) 的形式 面向数据流自顶向下求精分析过程 1、沿数据流图回溯(02(5)) 沿数据流图从输出端往输入端回溯,确定每个数据元素的来源,同时初步定义算法。在可行性研究阶段的高层数据流基础上,设计细节的数据元素。 通常把分析过程中得到的有关数据元素的信息记录在数据字典中,把对算法的简明描述记录在IPO图中。 通过分析而补充的数据流、数据存储和处理,应该添加到数据流图的适当位置上。 2、用户复查 请用户对上一个分析步骤中得出结果仔细地进行复查。从输入端开始,借助数据流图以及数据字典和简明的算法描述向用户解释输入数据是怎样一步一步地转变成输出数据的。在分析过程中必须充分重视和使用数据流图、数据字典和算法描述工具。 分析过程中产生的问题依靠用户来回答,分析员对系统的认识必须经过用户的检验和确认。最后必须完成正式的用户复查文档说明书。 4、修正开发计划 我们讲过在可行性研究阶段,写出了一份开发计划。经过需求分析阶段的工作,对系统的成本和进度有了更准确的估计之后,对开发计划进行修正。 为了把用户的数据表达清楚,通常建立一个概念性的数据模型(也称信息模型)。 概念性数据模型是一种面向问题的数据模型,按照用户的观点来对数据和信息建模。它描述了从用户角度看到的数据,反映用户的现实环境,与软件的实现方法无关。 概念性数据模型常用的方法是实体—联系的方法(也称ER模型)。是用ER图描述现实世界中的实体。 (1)实体: 客观世界中存在的且可相互区分的事物。 在ER图中用矩形框代表。 实体是现实中存在的对象,有具体的,也有抽象的;有物理上存在的,也有概念性的;例如,学生、课程,等等。它们的特征是可以互相区别,否则就会被认为是同一对象。凡是可以互相区别、又可以被人们识别的事、物、概念等统统可以被抽象为实体 。 (2)联系: 客观世界中的事物间的联系 在ER图中用菱形框代表。联系又分三种: ※一对一联系(1:1) 例如,一个部门一个经理,而每个经理只能在一个部门任职,则部门与经理是一对一的联系。 ※一对多联系(1:N) 例如,每个教师可教多门课程,但每门课程只能有一个教师来教,则教师与课程是一对多的联系。 ※多对多联系(M:N) 例如,一个学生可以上多门课程,而每门课程可以有多个学生来学,则学生与课程是多对多的联系。 (3)属性:是实体或联
原创力文档

文档评论(0)