[计算机软件及应用]软件工程需求分析

上传人:繁星 文档编号:88338545 上传时间:2019-04-24 格式:PPT 页数:73 大小:1.16MB
返回 下载 相关 举报
[计算机软件及应用]软件工程需求分析_第1页
第1页 / 共73页
[计算机软件及应用]软件工程需求分析_第2页
第2页 / 共73页
[计算机软件及应用]软件工程需求分析_第3页
第3页 / 共73页
[计算机软件及应用]软件工程需求分析_第4页
第4页 / 共73页
[计算机软件及应用]软件工程需求分析_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《[计算机软件及应用]软件工程需求分析》由会员分享,可在线阅读,更多相关《[计算机软件及应用]软件工程需求分析(73页珍藏版)》请在金锄头文库上搜索。

1、第3章需求分析,本章内容: 需求分析任务 结构化分析步骤(确定需求) 需求分析图形工具(需求结构化、过程建模) 数据字典 软件需求分析举例 需求分析文档 本章重点: 结构化分析 需求分析图形工具 数据字典,3.1 需求分析的任务,需求分析的任务是明确用户对系统的确切要求。就是要通过软件开发人员与用户的交流和讨论,准确地获取用户对系统的具体要求。 需求分析是发现、逐步求精、建立模型、规格说明和复审的过程。 用需求规格说明书 规范的形式准确地表达用户的需求。 3.1.1 确定目标系统的具体要求 (1)确定系统的运行环境要求 (2)系统的性能要求 (3)确定系统功能,需求分析的原则 目前存在着许多需

2、求分析的方法,虽然各种方法都有其独特的描述方法,但不论采用何种方法,需求分析都必须遵循以下基本原则: (1) 能够表达和理解问题的数据域和功能域。 (2) 能够将复杂问题分解化简。 (3) 能够给出系统的逻辑表示和物理表示。,高质量的需求过程带来的好处,开发后期和整个维护阶段的重做的工作大大减少 强调需求质量并不能引起某些人的重视,他们错误地认为在需求上消耗多少时间就会导致产品开发推迟多少时间 将选定系统的需求明确地分配到各软件子系统,强调采用产品工程的系统方法。这样能简化硬软件的集成,优秀需求具有的特性,1. 完整性 2. 正确性 3. 可行性 4. 必要性 5. 划分优先级 6. 无二义性

3、 7. 可验证性,3 .1.2 建立目标系统的逻辑模型 模型是为了理解事物而对事物做出一种抽象,对事物的无歧义的书面描述。 模型由一组图形符号和组成图形的规则组成。 建模的基本目标是: 描述用户需求 为软件的设计奠定基础 定义一组需求,用以验收产品。 模型分为: 数据模型:用实体关系图来描述数据对象之间的关系。 功能模型:用数据流图来描述数据在系统中移动时变换及变换数据流的功能和子功能。 行为模型:用状态转换图来描述系统的各种行为模式(状态)和不同状态之间的转换。 数据字典:用来描述软件使用或产生的所有数据对象,并对各种图形工具所不能表达的内容加以补充。,3.2 结构化分析步骤,传统的软件工程

4、方法学采用结构化分析(Structured Analysis ,SA)技术完成需求分析工作。,什么是用户需求?,如何识别、获取需求? 你能够采取何种手段与用户进行交流沟通? 何为需求建模? 你如何理解模型与建模?,需求分析的步骤:,进行调查研究(需求确定) 分析和描述系统的逻辑模型(建模) 修正软件开发计划 复审 系统分析员的主要焦点是 “做什么(what)” ,不是 “怎样做(how)”,3.2.1 进行调查研究,调查研究的目的:是了解用户的真正需要 调查研究的方法,需求确定的交付物:,需求获取面临的挑战,客户说不清楚需求 需求易变性 问题的复杂性和对问题空间理解的不完备性与不一致性,有效面

5、谈的指导原则:,设计有效的调查表,调查表中问题的含义和逻辑顺序必须非常清晰,无二义性,3.2.2 分析描述系统的逻辑模型,建立起目标系统的逻辑模型 把收集到的需求信息加以分析,通过“抽象”建立起目标系统的逻辑模型。利用实体关系图、数据流图、状态转换图、数据字典等 表示 2. 沿数据流图回溯,内容包括: 一致性 完整性 现实性 有效性,3.2.3 需求分析的复审,3.3 需求分析图形工具(系统需求结构化),实体关系图 数据流图 状态转换图 IPO 图。,3.3.1 实体关系图,通常把实体关系图简称为ER (Entity Relationship Diagram)图,相应地,用ER图描绘的数据模型

6、也可以称为ER模型。ER图中包含了实体(即数据对象)、关系和属性等三种基本成分。 实体(数据对象):组织希望维护数据的用户环境中的人、场所、对象、事件或概念。 属性:实体的性质或特征。 关系:实体(数据对象)之间的关联。 一对一1:1 一对多1:N 多对多M:N,【例】商品买卖E-R图,【例3.2】p39,3.3.2 数据流图,在需求分析阶段,数据流(也称信息流)是系统分析的基础。数据流图(DFD,Data Flow Diagram)是描述软件系统中数据处理过程的一种有力的图形工具。数据流图从数据传递和加工的角度出发,刻画数据流从输入到输出的移动和变换过程。,DFD使用4个基本符号表示数据流、

7、数据存储、数据的源点或终点、数据处理。如图所示:,18,数据流图的附加符号, 表示数据流之间是“与”关系(同时存在) 表示数据流之间是“或”关系 表示只能从几个数据流中选一个(互斥关系),画数据流图的步骤,画顶层数据流图 顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据 画分层数据流图 把系统处理过程自顶向下、逐步进行分解,每层画出数据流图 画总的数据流图,几点注意事项,数据流图的画图规则,数据处理: 1、任何数据处理都不可能只有输出,不可能从虚无中产生数据。如果一个对象只有输出,那他必定是数据源点。,不正确,正确,数据流图的画图规则,数据处理:

8、2、任何数据处理都不可能只有输入,如果一个对象只有输入,那他必定是数据终点。,数据处理1,数据流1,数据流2,不正确,正确,数据流图的画图规则,数据存储: 1、数据不能直接从一个数据存储移动到另一个数据存储,数据必须通过数据处理移动,数据流1,正确,不正确,数据存储1,数据存储2,数据流1,数据存储1,数据存储2,数据处理1,数据流2,数据流图的画图规则,数据存储: 2、数据不能直接从一个外部源点移动到数据存储,数据必须通过数据处理移动,数据处理从源点接收数据,处理后将数据放入数据存储中,数据流1,正确,不正确,数据存储2,数据流1,数据存储2,数据处理1,数据流2,数据源1,数据源1,数据流

9、图的画图规则,数据存储: 3、数据不能直接从数据存储到外部源点,数据流1,正确,不正确,数据存储2,数据流1,数据存储2,数据处理1,数据流2,数据源1,数据源1,数据流图的画图规则,数据源点/终点: 1、数据不能直接从一个数据源点移动到数据终点,必须经过数据处理过程。,数据流1,正确,不正确,数据流1,数据处理1,数据流2,数据源1,数据源1,数据源2,数据源2,数据流图的画图规则,数据流: 1、一个数据流只有一个流动方向,,正确,不正确,数据处理1,数据流2,数据源1,数据流1,数据处理1,数据流2,数据源1,数据流图的画图规则,数据流: 2、一个数据流分支表示完全相同的数据从一个公共地方

10、进入两个或多个不同的过程、数据存储或者源终点,正确,不正确,数据处理1,A,数据处理1,数据处理1,A,数据处理1,B,数据处理1,数据处理1,A,数据流图的画图规则,数据流: 3、数据流的连接(join)表示完全相同的数据从两个不同的数据处理、数据存储或源终点移动到一个共同的位置,正确,不正确,数据处理1,A,数据处理1,数据处理1,A,数据处理1,B,数据处理1,数据处理1,A,数据流图的画图规则,数据流: 4、数据流不能直接返回它所离开的数据处理过程,至少需要进过一个数据处理过程处理该数据流,产生其他某个数据流,然后才能把原数据流返回给开始数据处理过程,正确,不正确,数据处理1,A,数据

11、处理1,数据处理1,A,B,数据处理1,A,C,B,【例】工资计算系统数据流图,工资计算系统,人事部门,后勤部门,职工,银行,工资计算系统顶层(0层)数据流图,出勤表,业绩表,水电扣款表,工资条,工资存款清单,工资计算系统1层数据流图,人事部门,后勤部门,职工,银行,工资清单F3,1 计算工资,2 打印工资清单,3 工资转存,出勤表,业绩表,水电扣款表,发放工资表,工资存款清单,工资条,工资计算系统2层数据流图,人事部门,1.1 计算奖金和缺勤扣款,1.2 计算应发工资,1.3 计算所得税,1.4 计算实发工资,工资清单F3,后勤部门,奖惩条例文件F1,工资档案文件F2,“计算工资”子数据流图

12、,出勤表,业绩表,水电扣款表,实发工资表,奖金发放表,应发工资表,所得税扣款,缺勤扣款,工资计算系统2层数据流图,工资计算,3.1 查找职工银行账号,3.2 生成工资存款清单,银行,职工个人工资账号清单F4,“工资转存”子数据流图,实发工资表,实发工资账号,工资存款清单,工资计算系统3层数据流图,分解数据流图时,要注意父图与子图的平衡,父图与子图的输入和输出应该一致,如图所示:,1,1.1,1.2,1.3,1,1.1,1.2,1.3,父图,子图,(a)父图与子图平衡,(a)父图与子图不平衡,绘制数据流图的主要原则 (1)明确系统界面。 (2)自顶向下逐层扩展。 (3)合理布局。 (4)数据流图

13、绘制过程,就是系统的逻辑模型的形成过程,必须始终与用户密切接触,详细讨论,不断修改,也要和其他系统建设者共同商讨一求一致意见。,结构化分析方法步骤示例 商店业务处理系统,第一层数据流图,第二层数据流图 销售细化,第二层数据流图 采购细化,3.3.3 状态转换图,什么情况下要使用状态转换图,有时系统中的某些数据对象在不同状态下会呈现 不同的行为方式,此时应分析数据对象的状态,画出状态转换图,才可正确地认识数据对象的行为并定义它的行为。对这些行为规则较复杂的数据对象要进行以下的分析工作。 (1)找出数据对象的所有状态; (2)分析在不同状态下,数据对象的行为规则有无差别,若无差别则应将它们合并在一

14、种状态; (3)分析从一种状态可以转换到哪几种其它 ,是数据对象的什么行为能力引起这种转换。,状态,状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的 响应方式。系统对事件的响应,既可以是做一个( 或一 系列 ) 动作,也可以是仅仅改变系统本身的状态,还可 以是既改变状态又做动作。 在状态图中定义的状态主要有:初态 ( 即初始状态 ) 、终 态 ( 即最终状态 ) 和中间状态。在一张状态图中只能有一个初态,而终态则可以有 0 至多个。 状态图既可以表示系统循环运行过程,也可以表示系统单程生命期。当描绘循环运行过程时,通常并不关心循环是 怎样启动的。当描

15、绘单程生命期时,需要标明初始状态 ( 系统启动时进入初始状态 ) 和最终状态 ( 系统运行结束时到达最终状态 ) 。,事件,事件是在某个特定时刻发生的事情,它是对引起系统做动作或 ( 和 ) 从一个状态转换到另一个状态的外界事件的抽 象。简而言之,事件就是引起 系统做动作或 ( 和 ) 转换状态的控制信息。 事件表达式的语法如下: 事件说明守卫条件 守卫条件是一个布尔表达式。如果同时使用事件说明和守卫条件,则当且仅当事件发生且布尔表达式为真时,状态转换才发生。如果只有守卫条件没有事件说明,则只要守卫条件为真状态转换就发生。,符号,在状态图中,初态用实心圆表示,终态有一对同心圆(内圆为实心圆)表

16、示。 中间状态用圆角矩形(或椭圆)表示。 状态图中两个状态之间带箭头的连线称为状态转换,箭头指明了转换方向。状态变迁通常是由事件触发的,在这种情况下应在表示状态转换的箭头线上标出触发转换的事件表达式;如果在箭头线上未标明事件,则表示在源状态的内部活动执行完之后自动触发转换。,如图所示为状态图中使用的主要符号,例:电话状态转换图,3.3.4 IPO图,数据流图的不足,数据流图以数据流为基础进行需求分析,但信息系统的实际情况则是以业务过程为基本单位来完成用户业务过程中的信息处理工作,这也是信息系统自身的需求。在结构化方法中,进行数据流分析之后,仍然需要进行业务过程的归并和划分,形成程序模块。这里的程序模块就是完成一个或多个信息处理过程的软件单元。使用数据流图的分析方法其实是走了弯路的,而且,数据的数量及其结构的复杂程度远大于对数据的处理。使用数据流图进行分析,图形一般都比较复杂,使我们不能很快抓住问题的关键。,何谓IPO图,输入处理输出(Input Process Output )图的简称,【例3.6】画出学生成绩管理系统的 IPO 图。,用

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作范文

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