kl800.com省心范文网

软件工程导论第2章_图文

第2章 可行性研究
本章内容: ?问题定义 ?可行性研究 ?可行性研究的内容和步骤 ?系统流程图 ?数据流图 ?数据字典 ?成本/效益分析 本章重点: ?可行性研究

一. 软件计划时期
计划时期是软件生存周期的第一个时期,包括 问题定义和可行性研究两个阶段。 计划时期的主要任务是: 明确要开发的软件项目,研究该项目是否值得 开发,需要的开发时间和投资,开发软件存在哪些 风险,如何预防等。

?目的: 弄清用户需要计算机解决的问题的目标和范围, 以及项目所需的资源和经费。 ?主要任务: 在向用户调查的基础上,编写“系统目标与范围 的说明”的文档。 ?可行的方法: 听用户介绍、阅读资料、现场观察、亲自参加操 作等。 说明书应由用户和分析员共同审查,双方一致同 意后,可作为可行性研究的依据。 例:教材购销系统的问题定义。

二. 问题定义

例:教材购销系统的问题定义。 教材购销系统是某高校用于教材管理的一个系统, 主要用于对计划供应教材的控制销售与补充采购。该 系统主要具有以下功能: ⑴根据学校的教学计划,向选课的学生及时供应所需 教材 ①审查学生(个人或班级)购书单的有效性,对有效 书单发售教材; ②对属于计划供应但暂时缺货的教材进行缺书登记。 ⑵根据缺书登记表补充采购所缺的教材,通知学生补 购 ①将缺书登记表汇总为待购教材计划; ②待购教材到货后,及时通知学生补购。

三. 可行性研究
可行性研究的目的是为了确定用户提出的问题 是否有解,是否值得去解。 可行性研究实质上是要进行一次大大压缩简化 了的系统分析和设计的过程,也就是在较高层次上 以较抽象的方式进行的系统分析和设计的过程。 1.可行性研究的内容: (1)技术可行性 (2)经济可行性 (3)操作可行性 (4)社会因素方面的可行性

2可行性研究的步骤
(1)细化和修改“系统目标与范围的说明”,得 出新系统的逻辑模型。 ①进一步了解“系统目标与范围的说明”的含义, 复查系统规模和目标 ,弄清用户想要解决的问题;

②访问用户,弄清当前系统的工作过程,并用“系 统流程图”加以描述;
③导出当前系统和新系统的逻辑模型,用数据流图 加以描述; ④再访用户,修改数据流图,并对“系统目标与范 围的说明”做必要的补充与修改。

2可行性研究的步骤
(1)细化和修改“系统目标与范围的说明”,得 出新系统的逻辑模型。 (2)导出新系统的解决方案。 目的是根据新系统逻辑模型,设想若干个可能 的解决方案,以便比较和选择。便每种方案都要考 虑在技术上是否可行,并分析经济与社会的可行性。 (3)提出推荐的方案。 分析员必须清楚地表明这个方案的开发价值和 和推荐这个方案的理由。 推荐的方案应附有“系统流程图”和简单的 “数据流图”,以及比较详细的成本—效益分析。

2可行性研究的步骤
(1)细化和修改“系统目标与范围的说明”,得出新系统的 逻辑模型。 (2)导出新系统的解决方案。 (3)提出推荐的方案。 (4)编写可行性论证报告。 可行性论证报告的内容: ①系统概述 对当前系统及其存在问题的简单描述,新的目标系统及 其各子系统的功能与性能,新系统与当前系统的比较等。 ②可行性分析 报告的主体 新系统在经济上、技术上和法律上的可行性,以及对建 立新系统的主客观条件的分析。 ③结论意见 综合上述的分析,说明新系统是否可行。(可立即进行、 推迟进行、不能或不值得进行)

四. 系统流程图
系统流程图是概括地描绘物理系统的传统工具。 它的基本思想是用图形符号以黑盒子形式描绘组成 系统的每个部件(程序,文档,数据库,人工过程 等)。系统流程图表达的是数据在系统各部件之间 流动的情况。 常用符号见书29页 例:教材购销系统的系统流程图

例:
某装配厂有一座存放零件的仓库,仓库中现有 的各种零件的数量以及每种零件的库存量临界值等 数据记录在库存清单主文件中。当仓库中零件数量 有变化时,应该及时修改库存清单主文件,如果哪 种零件的库存量少于它的库存量临界值,则应该报 告给采购部门以便定货,规定每天向采购部门送一 次定货报告。 该装配厂使用一台小型计算机处理更新库存清 单主文件和产生定货报告的任务。

零件库存量的每一次 变化称为一个事务,由放在 仓库中的CRT终端输入到 计算机中; 系统中的库存清单程 序对事务进行处理,更新存 储在磁盘上的库存清单主文 件,并且把必要的定货信息 写在磁带上。 最后,每天由报告生 成程序读一次磁带,并且打 印出定货报告。

分层系统流程图
面对复杂的系统时,一个比较好的方法是分层 次地描绘这个系统。首先用一张高层次的系统流程 图描绘系统总体概貌,表明系统的关键功能。然后 分别把每个关键功能扩展到适当的详细程度,画在 单独的一页纸上。这种分层次的描绘方法便于阅读 者按从抽象到具体的过程逐步深入地了解一个复杂 的系统。

五. 数据流图
数据流图(DFD)是一种图形化技术,它描绘信 息流和数据从输入移动到输出的过程中所经受的变 换。在数据流图中没有任何具体的物理部件,它只 是描绘数据在软件中流动和被处理的逻辑过程。 数据流图的基本要点是描绘“做什么”而不考 虑“怎样做”。 数据流图是系统逻辑功能的图形表示,是分析 员与用户之间极好的通信工具。

1. 符号
见书31页所示。 数据流图有四种基本符号: 正方形(或立方体)表示数据的源点或终点; 圆形(或圆角矩形)代表变换数据的处理; 两条平行横线 (或开口矩形)代表数据存储; 箭头表示数据流,即特定数据的流动方向。 数据存储和数据流都是数据,仅仅所处的状态 不同。数据存储是处于静止状态的数据,数据流是 处于运动中的数据。 在数据流图中应该描绘所有可能的数据流向, 而不应该描绘出现某个数据流的条件。

2. 例:
假设一家工厂的采购部每天需要一张定货报表, 报表按零件编号排序,表中列出所有需要再次定货 的零件。 每个需要再次定货的零件应该包含下述数据: 零件编号,零件名称,定货数量,目前价格,主要 供应者,次要供应者。 零件入库或出库称为事务,通过放在仓库中的 CRT终端把事务报告给定货系统。当某种零件的库 存数量少于库存量临界值时就应该再次定货。

? 数据的源点和终点: 从“采购部每天需要一张定货报表”可以知道, 采购员是数据终点; 而“通过放在仓库中的CRT终端把事务报告给 定货系统”可以知道,仓库管理员是数据源点。 ?数据流: 系统把定货报表送给采购部,因此定货报表是 一个数据流; 事务需要从仓库送到系统中,显然事务是另一 个数据流。

?处理: 由于“采购部需要报表”,因此必须有一个用于产生 报表的处理。 事务的后果是改变零件库存量,然而任何改变数据的 操作都是处理,因此对事务进行的加工是另一个处理。 ?数据存储: 产生报表和处理事务这两个处理在时间上明显不匹 配——每当有一个事务发生时立即处理它,然而每天只产 生一次定货报表。因此,用来产生定货报表的数据必须存 放一段时间,也就是应该有一个数据存储来存放它——定 货信息。 “当某种零件的库存数量少于库存量临界值时就应该 再次定货”则表示应该有一个数据存储用于保存库存数量 和库存量临界值——库存清单 。

把处理事务的功能进一步分解后的数据流图

3. 命名
数据流图中每个成分的命名是否恰当,直接影 响数据流图的可理解性。因此,给这些成分起名字 时应该仔细推敲。 (1) 为数据流(或数据存储)命名 ① 名字应代表整个数据流(或数据存储)的内容,而 不是仅仅反映它的某些成分。 ② 不要使用空洞的、缺乏具体含义的名字(如“数 据”、“信息”、“输入”之类)。 ③ 如果在为某个数据流(或数据存储)起名字时遇到 了困难,则很可能是因为对数据流图分解不恰当造 成的,应该试试重新分解,看是否能克服这个困难。

(2) 为处理命名 ① 通常先为数据流命名,然后再为与之相关联的处理命名。 ② 名字应该反映整个处理的功能,而不是它的一部分功能。 ③ 名字最好由一个具体的及物动词加上一个具体的宾语组成。 ④ 通常名字中仅包括一个动词,如果必须用两个动词才能描述 整个处理的功能,则把这个处理再分解成两个处理可能更恰当 些。 ⑤ 如果在为某个处理命名时遇到困难,则很可能是发现了分解 不当的迹象,应考虑重新分解。 (3)数据源点/终点命名 数据源点/终点并不需要在开发目标系统的过程中设计和实 现,它只不过是目标系统的外围环境部分(可能是人员、计算机 外部设备或传感器装置)。通常,为数据源点/终点命名时采用 它们在问题域中习惯使用的名字(如“采购员”、“仓库管理员” 等)。

例:教材购销系统的数据流图
顶层DFD

学 生

购书单
领书单
发票

教材 购销 系统
F1教材存量表

书 库 管 理 进书通知 员

缺书单

第二层DFD 学 购书单 生
1 发票 销 领书单 售

进书通知

2 采 购

缺书单 书库

管理 进书通知 员

F2缺书登记表

4. 用途
画数据流图的用途有二: (1)作为交流信息的工具 分析员把他对现有系统的认识或对目标系统的设想用 数据流图描绘出来,供有关人员审查确认。 数据流图应该分层,并且在把功能级数据流图细化后 得到的处理超过9个时,应该采用画分图的办法,也就是把 每个主要功能都细化为一张数据流分图,而原有的功能级 数据流图用来描绘系统的整体逻辑概貌。 (2)作为分析和设计的工具 数据流图着重描绘系统所完成的功能而不是系统的物 理实现方案。 当用数据流图辅助物理系统的设计时,以图中不同处 理的定时要求为指南,能够在数据流图上画出许多组自动 化边界,每组自动化边界可能意味着一个不同的物理系统, 因此可以根据系统的逻辑模型考虑系统的物理实现。

例如,由于事务随时可能发生,因此处理1.1必须是联机的; 采购员每天需要一次定货报表,因此处理2应该以批量方式 进行。 问题描述并没有对其他处理施加限制,例如,可以联 机地接收事务并放入队列中,然而更新库存清单、处理定 货和产生报表以批量方式进行。当然,这种方案需要增加 一个数据存储以存放事务数据。

改变自动化边界,把处理1.1,1.2和1.3放在同 一个边界内,这个系统将联机地接收事务、更新库 存清单和处理定货及输出定货信息;然而处理2将 以批量方式产生定货报表。

六. 数据字典
数据字典是关于数据的信息的集合,也就是对数据流 图中包含的所有元素的定义的集合。 数据字典的作用: ?就是对软件中的每个数据规定一个定义条目,以保持数 据在系统中的一致性; ?在软件分析和设计的过程中给人提供关于数据的描述信 息。 数据流图和数据字典共同构成系统的逻辑模型,没有 数据字典数据流图就不严格,然而没有数据流图数据字典 也难于发挥作用。只有数据流图和对数据流图中每个元素 的精确定义放在一起,才能共同构成系统的规格说明。

1. 数据字典的内容
数据字典应该对4类元素进行定义和描述: (1) 数据流 (2) 数据项(即数据元素,数据流或数据存储的成分) (3) 数据存储 (4) 处理 但是,对数据处理的定义用其他工具(如IPO图或 PDL)描述更方便,因此数据字典将主要由对数据 的定义组成,这样做可以使数据字典的内容更单纯, 形式更统一。

2. 定义数据的方法
(1)可以使用自然语言描述由数据元素组成数据的关系; (2)可以使用公式定义: = 等价于(或定义为); + 和(即连接两个分量); [ ]或(从方括弧内列出的若干个分量中选择一个); | 隔开供选择的分量; { } 重复(即重复花括弧内的分量); ( ) 可选(即圆括弧里的分量可有可无)。 例:定义标识符 标识符=字母字符+字母数字串 字母数字串=0{字母或数字}7 字母或数字=[字母字符|数字字符]

七. 成本/效益分析
通过估计新系统所需的成本和可能产生的效益, 从经济上衡量这个项目的开发价值,从而帮助客户 组织的负责人正确地作出是否投资于这个项目的决 定。

1. 成本估计
系统成本包括开发成本和运行维护成本。 (1)开发成本: 主要为人力消耗。通常先估计项目开发所需要 的人力,再乘以平均工资则得到开发费用。 (2)运行维护成本: 包括使用中的物质消耗,占用的操作和维护人 员数量,以及围绕这一项目的人员训练等费用。 在计划时期,对成本的计算只能是估计值。

①. 代码行技术 代码行技术是比较简单的定量估算方法,它把开发每 个软件功能的成本和实现这个功能需要用的源代码行数联 系起来。通常根据经验和历史数据估计实现一个功能需要 的源程序行数,再用每行代码的平均成本乘以行数就可以 确定软件的成本。每行代码的平均成本主要取决于软件的 复杂程度和工资水平。 ②. 任务分解技术 首先把软件开发工程分解为若干个相对独立的任务。 再分别估计每个单独的开发任务的成本,最后累加起来得 出软件开发工程的总成本。 ③. 自动估计成本技术 采用自动估计成本的软件工具。 采用这种技术必须有长期搜集的大量历史数据为基础, 并且需要有良好的数据库系统支持。

2. 成本/效益分析的方法
系统的总效益与系统的生命周期的长度有关,应 该合理地估计软件的寿命。一般在进行成本/效益分 析时一律假设生命周期为5年。 系统的效益既包括经济效益,也包括社会效益。 在计算有形效益时,不能简单地比较成本和效益, 应该考虑货币的时间价值。

(1) 货币的时间价值 通常用利率的形式表示货币的时间价值。 假设年利率为i,如果现在存入P元,则n年后可以得到 的钱数为: F=P(1+i)n F 就是P元钱在n年后的价值。反之,如果n年后能收入F元 钱,那么这些钱的现在价值是 P=F/(1+i)n 例如: 修改一个已有的库存清单系统,使它能在每天送给采 购员一份定货报表。修改已有的库存清单程序并且编写产 生报表的程序,估计共需5000元;系统修改后能及时定货 将消除零件短缺问题,估计因此每年可以节省2500元。 假定年利率为12%,利用上面的公式可以算出修改库 存清单系统后每年预计节省的钱的现在价值,如书41页表 2.3所示。

(2) 投资回收期 所谓投资回收期就是使累计的经济效益等于最 初投资所需要的时间。 显然,投资回收期越短就能越快获得利润,因 此这项工程也就越值得投资。 通常用投资回收期衡量一项开发工程的价值。 (3) 纯收入 纯收入就是在整个生命周期之内系统的累计经 济效益(折合成现在值)与投资之差。

4. 投资回收率
投资回收率用以衡量投资效益的大小,在衡量工程的 经济效益时,它是最重要的参考数据。

已知现在的投资额,并且已经估计出将来每年可以获 得的经济效益,那么,给定软件的使用寿命之后,怎样计 算投资回收率呢?设想把数量等于投资额的资金存入银行, 每年年底从银行取回的钱等于系统每年预期可以获得的效 益,在时间等于系统寿命时,正好把在银行中的存款全部 取光,那么,年利率等于多少呢?这个假想的年利率就等于 投资回收率。

计算公式为:P=F1/(1+j)+F2/(1+j)2 +…+Fn/(1+j)n
其中: P是现在的投资,Fi是第i年底的效益,n是系统使用寿命; j就是投资回收率

可行性论证报告内容
①系统概述 包括对当前系统及其存在的问题的简单描述,新的目标系统 和它的各个子系统的功能与性能,新系统与当前系统的比较等。 新系统可以用系统流程图来描述,并附上数据流图作为补充。 ②可行性分析 这是报告的主体。包括新系统在经济上、技术上和法律上的 可行性,以及对建立新系统的主观条件的分析(如影响该项目的 约束、可能的风险、价格/利益分析等) 。如有不止一种解决方 案,应对几种方案进行比较,并指明推荐的方案。 ③结论意见 综合上述分析,说明新系统是否可行。结论可为: ?立即进行 ?推迟进行 ?不能或不值得进行 如果结论认为可行,用户也决定立即开发,则下一步是制定 “项目实施计划”,并签署合同书。

八.制定项目实施计划
软件计划涉及到实施项目的各个环节,计划的合理性和准确 性往往关系着项目的成败。

(1)软件计划类型:
①项目实施计划

这是最重要的软件计划

通常包括软件目标、功能、进度、资源和费用等。 ②质量保证计划 包括软件开发各个阶段的质量要求和质量保证活动。 ③软件测试计划 规定各种测试活动的任务、方法、进度、资源和人员等。 ④文档编制计划

规定项目开发各个阶段应编制的文档种类、标准和内容等。

(1)软件计划类型: ①项目实施计划 ②质量保证计划 ③软件测试计划 ④文档编制计划 ⑤用户培训计划 包括对用户培训的目标、要求和进度等。 ⑥综合支持计划 描述软件开发中所需的各个方面的支持,以及如何 获得和利用这些支持。 ⑦软件分发计划 包括软件新产品如何提交给最终用户。

(2)项目实施计划的主要内容: ①系统概述 包括项目目标,主要功能,系统特点,以及关 于开发工作的安排。 ②系统资源 包括开发和运行该软件系统所需要的各种资源 (如硬件、软件、人员和组织机构等)。 ③费用预算 分阶段人员的费用,机时费用和其他费用。 ④进度安排 各阶段起止时间,完成的文档及验收方式。 ⑤要交付的新产品清单。

小结
可行性研究进一步探讨问题定义阶段所确定的 问题是否有可行的解。 在对问题正确定义的基础上,通过分析问题, 导出试探性的解,然后复查并修正问题定义,再次 分析问题,改进提出的解法……。经过定义问题、 分析问题、提出解法的反复过程,最终提出一个符 合系统目标的高层次的逻辑模型。 然后根据系统的这个逻辑模型设想各种可能的 物理系统,并且从技术、经济和操作等各方面分析 这些物理系统的可行性。 最后,系统分析员提出一个推荐的行动方针, 提交用户和客户组织负责人审查批准。

在表达分析员对现有系统的认识和描绘他对未 来的物理系统的设想时,系统流程图是一个很好的 工具。系统流程图实质上是物理数据流图,它描绘 组成系统的主要物理元素以及信息在这些元素间流 动和处理的情况。 数据流图的基本符号只有4种,它是描绘系统 逻辑模型的极好工具。通常数据字典和数据流图共 同构成系统的逻辑模型。没有数据字典精确定义数 据流图中每个元素,数据流图就不够严密;然而没 有数据流图,数据字典也很难发挥作用。 成本/效益分析是可行性研究的一项重要内容, 是客户组织负责人从经济角度判断是否继续投资于 这项工程的主要依据。


软件工程导论第二章_图文.ppt

软件工程导论第二章 - 《软件工程》 1 第二章 软件过程 ? ISO 9000

软件工程导论第2章_图文.ppt

软件工程导论第2章 - 可行性研究所需的时间取决于工程的规 模,所需要的成本要占

软件工程导论 第2章 可行性研究_图文.ppt

软件工程导论 第2章 可行性研究_工学_高等教育_教育专区。教学PPT Soft

软件工程导论(第五版) 第二章_图文.ppt

软件工程导论(第五版) 第二章_理学_高等教育_教育专区。软件工程导论,第六版,课件 第2章:可行性研究 2.1 可行性研究的任务 ? 可行性研究就是要回答“所...

《软件工程导论》第二章可行性研究课件完整版_图文.ppt

软件工程导论第二章可行性研究课件完整版 - 第2章 可行性研究 2.1 2.

软件工程导论第2章可行性研究_图文.ppt

软件工程导论第2章可行性研究 - 内容 2.1 问题定义 2.2 可行性研究 小

软件工程导论第2章可行性研究-精品文档_图文.ppt

软件工程导论第2章可行性研究-精品文档 - 内容 2.1 问题定义 2.2 可行

软件工程导论第2章 可行性的研究-PPT课件_图文.ppt

普通高校本科计算机专业特色教材精选 张海藩 编著 软件工程导论 (第5版) 第2章 可行性研究 ? 主要内容 - 2.1 可行性研究的任务 - 2.2 可行性研究过程 - 3...

软件工程导论-第2章_可行性研究(第五版)(张海潘编著)_图文.ppt

软件工程导论-第2章_可行性研究(第五版)(张海潘编著) - 第2章 可行性研究

软件工程导论第二章ppt_图文.ppt

软件工程导论第二章ppt - 第2章 可行性研究 2.1 2.2 2.3 2.4

软件工程导论_第2章_.ppt

软件工程导论第二章 65页 1下载券软件工程导论_...第2章 可行性研究 2.

软件工程导论第2章_图文.ppt

软件工程导论第2章 - 第2章 可行性研究 2.1 2.2 2.3 2.4 2.

软件工程导论课件之第2章_可行性研究_图文.ppt

软件工程导论课件之第2章_可行性研究 - 第2章 可行性研究 2.1 可行性研究

(张海潘编著)软件工程导论_第2章-可行性研究_图文.ppt

(张海潘编著)软件工程导论_第2章-可行性研究 - 第2章 可行性研究 2.1

软件工程导论课件之第2章_可行性分析(第五版)(张海藩编....ppt

软件工程导论课件之第2章_可行性分析(第五版)(张海藩编著)_百度文库 - 北京城市学院 第2章 可行性研究 教学目的与要求: 深刻理解可行性研究的必要性,掌握可行...

第2章 可行性研究 软件工程导论(山东师范大学)_图文.ppt

第2章 可行性研究 软件工程导论(山东师范大学)_工学_高等教育_教育专区。软件工程导论(山东师范大学) 软件工程导论 02章 可行性研究 02章 可行性研究 2 . 1 ...

软件工程导论 第2章 可行性研究_图文.ppt

软件工程导论 第2章 可行性研究 - 内容 2.1 问题定义 2.2 可行性研究

软件工程导论第2章_图文.ppt

软件工程导论第2章 - 软件工程导论书本的ppt材料... 软件工程导论第2章_IT/计算机_专业资料。软件工程导论书本的ppt材料 第2章 可行性研究本章内容: ?问题定义 ?...

软件工程导论第2章_图文.ppt

软件工程导论第2章 - 软件工程导论 第2章 可行性研究 章 2.1 可行性研究

软件工程导论第二章_图文.ppt

软件工程导论第二章 - 第2章 软件过程 2.1 软件生命周期的基本任务 ? 2