软件工程导论-ch2

上传人:wm****3 文档编号:51715466 上传时间:2018-08-16 格式:PPT 页数:59 大小:681KB
返回 下载 相关 举报
软件工程导论-ch2_第1页
第1页 / 共59页
软件工程导论-ch2_第2页
第2页 / 共59页
软件工程导论-ch2_第3页
第3页 / 共59页
软件工程导论-ch2_第4页
第4页 / 共59页
软件工程导论-ch2_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《软件工程导论-ch2》由会员分享,可在线阅读,更多相关《软件工程导论-ch2(59页珍藏版)》请在金锄头文库上搜索。

1、第2章 可行性研究 学习目标 :l了解软件问题的定义及可行性研究的任务、过程l掌握可行性研究任务的方法和工具l掌握成本效益分析方法1第2章 可行性研究 问题的定义2.1可行性研究的任务 是软件定义的第一个阶段,该阶段主要明确“该软件开发项目要解决什么问题” 。 必须明确以下问题:l软件系统要完成的总体目标是什么?l要开发软件的功能和性能是什么?l软件系统在可靠性和质量上有何具体要求?l开发该软件系统是否具备可行的技术?l当前市场和竞争对手的情况怎样?l开发该软件系统是否有成本和进度约束?l该软件系统将来可能进行哪些扩充?2第2章 可行性研究 可行性研究的目的可行性研究的主要目的是用极少的代价在

2、最短的时间内决定被 开发的软件是否能开发成功。 可行研究的任务(1)需要进一步分析与澄清问题定义;(2)导出系统的逻辑模型;(3)探索几种可供选择的主要解决方案;(4)对每个方案研究可行性。3第2章 可行性研究 几种可行性(1)经济可行性:通过对被开发软件系统的成本效益的分析,估算 系统的开发成本,估计系统可能取得的效益,确定待开发系统是 否值得投资开发。(2)技术可行性:从问题定义规格说明书提出的系统功能、性能以 及实际系统的各种约束来分析,确定当前的技术及条件是否能实 现整个系统。(3)法律可行性:分析在系统开发的全部过程中可能出现和涉及的 法律问题,如合同、责任、知识产权、专利等问题。(

3、4)运行可行性:判断新系统的运行方式是否可行。4第2章 可行性研究2.2可行性研究过程 1. 复查系统规模和目标 2. 研究目前正在使用的系统 3. 导出新系统的高层逻辑模型 4. 进一步定义问题 5. 导出和评价供选择的解法 6. 推荐行动方针 7. 草拟开发计划 8. 书写文档提交审查 5第2章 可行性研究2.3可行性研究的工具-系统流程系统流程图的作用系统流程图是描述物理系统的工具。通过画出系统流程图来了解要开发的项目的大概处理流程、 范围和功能等。 系统流程图不仅能用于可行性研究,还能用于需求分析阶段。系统流程图可用图形符号来表示系统中的各个元素, 例如,人工处理、数据处理、数据库、文

4、件和设备等。它表达了系统中各个元素之间的信息流动的情况。6第2章 可行性研究2.3.1符号 图2.1基本符号 7第2章 可行性研究图2.2系统符号 8第2章 可行性研究2.3.2例子 2.3.3分层 9第2章 可行性研究任何软件系统从根本上都是对数据的加工或变换的工具。当数据 在软件系统中移动时,它将被一系列“变换”所修改。数据流图 (DFD)就是描述信息流和数据从移动到输出的过程中所经受的变换 的图形化技术。在数据流图中没有任何具体的物理部件,它只是 描绘数据在软件中流动和被处理的过程。它可表现的范围可大到 整个系统,小到一个模块。在需求分析中常用一组DFD图由粗到精 地表示同一软件在不同抽

5、象级别上的功能,这就是分层数据流图 。数据流图基本组成如图2-4所示,由数据流、处理/加工、数据 存储/文件、源点/终点组成。2.4数据流图 10第2章 可行性研究图2.4数据流图的符号 2.4.1符号 11第2章 可行性研究数据流(Data Flow):用箭头代表数据流的方向,它由一组固定成分的数据组成, 表示数据的流向。它可以从一个加工流向另一个加工 ,从加工流流向文件,从源 点流向加工,从加工流向汇点。除了流向文件或从文件流数据流不必命名外,每 个数据流都必须有明确的名字,反映该数据含义。在数据流图中,如果两个以上 的数据流指向一个加工,或者从一个加工引出两个以上的数据流,那么这些数据

6、流之间往往存在一定的关系。为表示这些关系,用“*”表示相邻的一对数据流同 时出现;用“”表示相邻的两数据流只取其一。在DFD中用圆框代表加工。它描述输入数据流到输出数据流之间的变换。每个加工 有一个名字和编号。编号反映该加工在分层数据图中的层次和位置,同时还能够 看出它与其它加工的联系。用来表示暂时存储的数据,每个文件都必须有名字。流向文件的数据流表示写文 件,流出文件的数据流表示读文件,双向箭头表示对文件可读可写。通常指存在软件系统之外的人员和组织。它指出系统所需数据的发源地 和系统所产生的数据的归宿地。在一个软件系统中,有些源点和汇点可 以是同一个人或组织,源点和汇点可用同一个图形符号。1

7、2第2章 可行性研究2.4.2 示例 13第2章 可行性研究图2.5定货系统的基本系统模型 (顶层图)14第2章 可行性研究 画出分层数据流图从系统的基本模型,逐层地对系统进行分解。每分解一次,系统的处理数量就会增多一些,每个处理的功能也就更具体一些。继续重复分解,直到所有的处理都足够简单,不必再分解为止。这种不需要再分解的处 理就是我们常说的“基本处理”。通过这种分解,对所分析的系统将获得一组分层次的数据流图,用以代替一张含有系统全部处理的总数据流图。具体步骤如下: 画出系统的输入与输出 画出系统的内部 对图和处理编号 检查复审15第2章 可行性研究 画出系统的输入与输出 把整个系统看成是一

8、个处理,根据系统从外界的哪些 源点接受哪些数据流,以及系统的哪些数据流送到外 界的哪些终点/汇点,从而画出系统的输入和输出图。 这张图称为顶层图。 画出系统的内部 将顶层图的处理分解成若干个处理,并用数据流将这 些处理连接起来,使得顶层图中的输入数据流经一连 串的处理后变换成顶层的输出数据流,这张图称为0层 图。从一个处理画出一张数据流图的过程就是对这个 处理的分解过程。处理方法如下:16第2章 可行性研究处理方法 在数据流的组成或值发生变化的地方画一个处理,这 个处理功能就是实现这一变化;也可以根据系统的功 能确定处理。 当用户把若干数据看作一个单位来处理(这些数据一 起到达,一起处理)时,

9、可把这些数据看成一个数据 流。通常可以把实际工作中的单据作为一个数据流。 对于一些以后某个时间要使用的数据可以组织为一个 数据存储(文件)。17第2章 可行性研究对图和处理编号对于一个软件系统,其数据流图可能有许多层,第一层又有许多张图,为了区分 不同的处理和不同层次的数据流图,我们应该对每张图和每个处理进行编号,以 利于管理。父图与子图 假定分层数据流图里的某张图(图A)中的某个处理可用另一张图( 图B)来分解,我们称图A是图B的父图,图B称为图A的子图。在一张图中,有些处 理需要进一步分解,有些处理则不必分解。因此,如果父图中有n个处理,那么它 可以有0至n张子图(这些子图位于同一层),但

10、每张子图仅有唯一的父图与之对 应。编号 顶层图只能一张,图中的处理只有一个,不必编号;0层图只有一张,图中 的加工号分别是0.1、0.2,或者1,2,.;子图号就是父图中被分解的处理号 ;子图中的处理号由子图号、圆点、序号组成。如某图中的某处理号为2.4.2,这 个处理分解出来的子图号就是图2.4.2,子图中的处理号分别为2.4.2.1、2.4.2.2 等。18第2章 可行性研究 检查复审对系统的分层数据流图画出后,可根据以下需要注意的要点检查复审,以便保证分层数据流图的合理准确性 :命名、处理、数据存储、保持父图与子图的平衡、保持数据守恒、分解的速度适当。19第2章 可行性研究 命名检查数据

11、流图中的命名是否合理,为数据流、处理、 数据存储、源点/终点的命名应该能够反映各成分的实际含义,避免使用空洞的名字;名字应代表整个数据 流/数据存储/处理的内容。 处理每个处理必须既有输入数据流,又有输出数据流。允 许一个处理有多条数据流流向另一个处理,也允许一 个处理有两个相同的输出数据流流向两个不同的处理 。 20第2章 可行性研究 数据存储在自顶向下的分解过程中,若一个数据存储首次出现时只与一个处理有关,那么这个数据存储应作为这个处理的内部数据存储(文件)不必画出;在整套数据流图中,每个数据存储必须既有读数据存储的数据流,又有写数据存储的数据流,但在某一张子图中可能只有读没有写,或只有写

12、没有读。21第2章 可行性研究 保持父图与子图的平衡父图中某处理的输入输出数据流与它的子图的输入输出数据流在数量和名字上相同。如果父图的一个输入(输出)数据流对应于子图中的几个输入(输出)数据流,而子图中组成这些数据流的数据项的全体正好是父图中的一个数据流,那么它们也算是平衡的。 保持数据守恒一个处理的所有数据流的数据必须能从该处理的输入数据流中直 接获得,或者是该处理能产生的数据。 22第2章 可行性研究 分解的速度适当分解是一个逐步细化的过程。通常在上层可分解快一些,下层应慢一些,因为越是接近下层功能越具体,分解太快会增加用户理解的困难。同一图中的各个处理,分解的步子应大致均匀,保持同步扩

13、展。每一处理每次可分为2至4个子处理,最多不要超出7个。23第2章 可行性研究图2.6定货系统的功能级数据流图 (0层数据流图)例1 定货系统的分层数据流图 (0层数据流图)24第2章 可行性研究图2.7把处理事务的功能进一步分解后的数据流图 25第2章 可行性研究2.4.3命名 1. 为数据流(或数据存储)命名 2. 为处理命名 2.4.4用途 作为交流信息的工具。 作为分析与设计的工具。 作为划分物理实现的依据(如图2-8,2-9所示)。 有助于详细设计。26第2章 可行性研究图2.8 这种划分自动化边界的方法暗示以批量方式更新库存清单 27第2章 可行性研究图2.9另一种划分自动化边界的

14、方法建议以联机方式更新库存清单 28 例2 为高校学生收费系统画出分层的数据流图(为了比较 清楚地说明画出分层流图,这里只取本系统的一个子 系统教材购销系统)。该子系统有如下功能:根据学 校的教学计划,向选课的学生及时供应教材;审查学 生购书单的有效性,对有效书单发售所需的教材;对 属于计划供应但暂时缺货的教材进行缺书登记。根据 缺书登记补充采购所缺的教材,通知学生补购;将缺 书登记表汇总为待购计划;待购教材到货后,及时通 知学生补购。分析图见图2-10、图2-11、图2-12、图2 -13。29第2章 可行性研究 教材购销系统的顶层DFD购书单学生学生教材购 销系统进书通知领书单缺书单图2-

15、10 教材购销系统的顶层DFD30第2章 可行性研究 教材购销系统的0层DFD进书通 知购书单进书通 知领书单缺书单图2-11 教材购销系统的0层 DFD学 生学 生1 销售2 采购F2缺书登记 表F1教材存量 表31第2章 可行性研究 教材购销系统的1层DFD销售子系统发票发票暂缺 书单领书单有效 购书单无效书单进书通知购书单图2-12 教材购销系统的1层DFD销售子系统学 生学 生F2缺书登记 表F1教材存量 表1.5登记缺书F4售书登记 表F3学生用书 表1.6产生补书单1.1审查有效性1.2开发票1.3打印发票1.4登记售书打印书单采 购补 售 书 单32第2章 可行性研究 教材购销系

16、统的0层DFD采购子系统图2-13 教材购销系统的0层DFD采购子系统 进书通知进书通知销售保管 员2.3 修改库 存与待 购量F1教材存量表F2 缺书登记表F6教材一览表2.1 按书号 汇总缺 书2.2 按出版 社统计 缺书F5待购教材表缺 书 单33第2章 可行性研究2.5数据字典数据字典是关于数据的集合,也是对数据流图中包含的所有元素的定义的集合。它的作用是对软件中的每个数据规定一个定义条目,在软件分析和设计过程中提供相关数据的描述信息,以保持数据在系统中的一致性。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的定义放在一起,才能构成系统的规格说明。34第2章 可行性研究2.5.1数据字典的内容 数据流 数据流分量 数据存储 处理 对前三者主要描述下列信息: 一般信息(名字、别名等) 定义信息(类型、长度、结构等) 使用

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

当前位置:首页 > 生活休闲 > 社会民生

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