软件工程课件之第2章可行性研究第6版张海潘编著_第1页
软件工程课件之第2章可行性研究第6版张海潘编著_第2页
软件工程课件之第2章可行性研究第6版张海潘编著_第3页
软件工程课件之第2章可行性研究第6版张海潘编著_第4页
软件工程课件之第2章可行性研究第6版张海潘编著_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 2.1 2.1 可行性研究的任务可行性研究的任务 2.2 2.2 可行性研究过程可行性研究过程 2.3 2.3 系统流程图系统流程图 2.4 2.4 数据流图数据流图 2.5 2.5 数据字典数据字典 2.6 2.6 成本成本/ /效益分析效益分析第第2 2章章 可行性研究可行性研究三个时期:三个时期: 八个阶段:八个阶段:软件生命周期软件生命周期软件定义软件定义软件开发软件开发软件维护软件维护问题定义问题定义可行性研究可行性研究需求分析需求分析概要设计概要设计详细设计详细设计编码和单元测试编码和单元测试综合测试综合测试运行维护运行维护系统设计系统设计系统实现系统实现问题定义阶段问题定义阶段

2、目的:目的:弄清用户需要计算机解决的问题根本所在,以及弄清用户需要计算机解决的问题根本所在,以及项目所需的资源和经费。项目所需的资源和经费。任务:任务:在向用户调查的基础上,编写在向用户调查的基础上,编写关于系统规模和关于系统规模和目标的报告书目标的报告书 。例:教材销售系统例:教材销售系统n学生购买学校教材的手续可能是:先找系办公室开购学生购买学校教材的手续可能是:先找系办公室开购书申请(用于确定学生可购买的书),凭申请找教材书申请(用于确定学生可购买的书),凭申请找教材科开购书证明(确定是否卖完),向出纳员交付书款科开购书证明(确定是否卖完),向出纳员交付书款获得领书单,然后到书库找保管员

3、领书。获得领书单,然后到书库找保管员领书。关于系统规模和目标的报告书关于系统规模和目标的报告书 1.1.项目名称:教材销售系统项目名称:教材销售系统2.2.问题:人工发售教材手续繁杂,且易出错。问题:人工发售教材手续繁杂,且易出错。3.3.项目目标:建立一个高效率、无差错的微机教材销售项目目标:建立一个高效率、无差错的微机教材销售系统。系统。4.4.项目规模:利用现有微型计算机,软件开发费用不超项目规模:利用现有微型计算机,软件开发费用不超过过50005000元。元。5.5.初步想法:建议在系统中增加对缺书的统计与采购功初步想法:建议在系统中增加对缺书的统计与采购功能。能。6.6.可行性研究:

4、建议进行大约可行性研究:建议进行大约1010天的可行性研究,研究天的可行性研究,研究费用不超过费用不超过500500元。元。第第2 2章章 可行性研究可行性研究n回答回答“对于上一个阶段所确定的问题有行得通对于上一个阶段所确定的问题有行得通的解决办法吗的解决办法吗?”?”n系统分析员需要进行一次大大压缩和简化了的系统分析员需要进行一次大大压缩和简化了的系统分析和设计过程。系统分析和设计过程。n研究问题的范围,探索这个问题是否值得去解,研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。是否有可行的解决办法。 2.1 2.1 可行性研究的任务可行性研究的任务 可行性研究的目的:可行性

5、研究的目的:n不是解决问题,而是确定问题是否值得去解决。不是解决问题,而是确定问题是否值得去解决。可行性研究的实质:可行性研究的实质:n进行一次大大压缩简化了的系统分析和设计的进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。行的系统分析和设计的过程。 可行性研究的内容:可行性研究的内容:n首先进一步分析和澄清问题定义,导出系统的首先进一步分析和澄清问题定义,导出系统的逻辑模型;逻辑模型;n然后从系统逻辑模型出发,探索若干种可供选然后从系统逻辑模型出发,探索若干种可供选择的主要解法择的主要解法( (

6、即系统实现方案即系统实现方案) );n对每种解法都研究它的可行性对每种解法都研究它的可行性,至少应该从三至少应该从三方面研究每种解法的可行性方面研究每种解法的可行性 。主要方面:主要方面:n技术可行性,使用现有的技术能实现这个系统技术可行性,使用现有的技术能实现这个系统吗吗? ?n经济可行性,这个系统的经济效益能超过它的经济可行性,这个系统的经济效益能超过它的开发成本吗开发成本吗? ?n操作可行性,系统的操作方式在这个用户组织操作可行性,系统的操作方式在这个用户组织内行得通吗内行得通吗? ?其他方面:其他方面:n运行可行性,系统的运行方式是否可行?运行可行性,系统的运行方式是否可行?n法律可行

7、性,系统是否侵犯他人、集体或国家法律可行性,系统是否侵犯他人、集体或国家的利益,是否违反法律?的利益,是否违反法律? n分析员应该为每个可行的解法制定一个粗略的分析员应该为每个可行的解法制定一个粗略的实现进度。实现进度。n如果问题没有可行的解,分析员应该建议停止如果问题没有可行的解,分析员应该建议停止这项开发工程,以避免时间、资源、人力和金这项开发工程,以避免时间、资源、人力和金钱的浪费;如果问题值得解,分析员应该推荐钱的浪费;如果问题值得解,分析员应该推荐一个较好的解决方案,并且为工程制定一个初一个较好的解决方案,并且为工程制定一个初步的计划。步的计划。n可行性研究需要的时间长短取决于工程的

8、规模。可行性研究需要的时间长短取决于工程的规模。一般说来,可行性研究的成本只是预期的工程一般说来,可行性研究的成本只是预期的工程总成本的总成本的5%5%10%10%。 2.2 2.2 可行性研究过程可行性研究过程1. 1. 复查系统规模和目标复查系统规模和目标n对问题定义阶段书写的关于规模和目标的报告对问题定义阶段书写的关于规模和目标的报告书进一步复查确认。书进一步复查确认。2. 2. 研究目前正在使用的系统研究目前正在使用的系统 n新的目标系统必须也能完成旧系统的基本功能;新的目标系统必须也能完成旧系统的基本功能;另一方面,新系统必须能解决旧系统中存在的另一方面,新系统必须能解决旧系统中存在

9、的问题。问题。 3. 3. 导出新系统的高层逻辑模型导出新系统的高层逻辑模型n现有的物理系统现有的物理系统现有系统的逻辑模型现有系统的逻辑模型目目标系统的逻辑模型标系统的逻辑模型新的物理系统新的物理系统 4. 4. 进一步定义问题进一步定义问题n分析员应该和用户一起再次复查问题定义、工分析员应该和用户一起再次复查问题定义、工程规模和目标。程规模和目标。 可行性研究的前可行性研究的前4 4个步骤实质上构成一个循环。个步骤实质上构成一个循环。 5. 5. 导出和评价供选择的解法导出和评价供选择的解法n首先从技术角度出发排除不可行方案;首先从技术角度出发排除不可行方案;n其次考虑操作可行性,去掉用户

10、不能接受的方其次考虑操作可行性,去掉用户不能接受的方案;案;n接下来考虑经济可行性,估计余下的每个可能接下来考虑经济可行性,估计余下的每个可能的系统的开发成本和运行费用,进行成本的系统的开发成本和运行费用,进行成本/ /效效益分析;益分析;n最后为每个在各方面都可行的系统制定实现进最后为每个在各方面都可行的系统制定实现进度表。度表。工程进度表工程进度表阶段阶段所需时间(月)所需时间(月)可行性研究可行性研究0.50.5需求分析需求分析1 1概要设计概要设计0.50.5详细设计详细设计1 1实现实现2 2总计总计5 56. 6. 推荐行动方针推荐行动方针n根据可行性研究结果应该做出的一个关键性决

11、根据可行性研究结果应该做出的一个关键性决定是,是否继续进行这项开发工程。定是,是否继续进行这项开发工程。n若继续开发,选择一种最好的解法,说明选择若继续开发,选择一种最好的解法,说明选择这个解决方案的理由。这个解决方案的理由。7. 7. 草拟开发计划草拟开发计划n分析员应该为所推荐的方案草拟一份开发计划,分析员应该为所推荐的方案草拟一份开发计划,制定工程进度表、估计对各类开发人员和各种制定工程进度表、估计对各类开发人员和各种资源的需要情况、估计系统生命周期每个阶段资源的需要情况、估计系统生命周期每个阶段的成本、给出下一个阶段的成本、给出下一个阶段( (需求分析需求分析) )的详细进的详细进度表

12、和成本估计。度表和成本估计。 项目实施计划项目实施计划1. 1. 系系统概述统概述 包括项目目标,主要功能,系统特点,以及关于开发包括项目目标,主要功能,系统特点,以及关于开发工作的安排工作的安排2. 2. 系统系统资源资源 包括开发和运行该系统所需要的各种资源包括开发和运行该系统所需要的各种资源 如硬件、软件、人员和组织机构等如硬件、软件、人员和组织机构等3. 3. 费用预算:分阶段的人员费用、机时费用及其他费用费用预算:分阶段的人员费用、机时费用及其他费用4. 4. 进度安排:各阶段起始时间、完成文档及验证方式进度安排:各阶段起始时间、完成文档及验证方式5. 5. 要交付要交付的产品清单的

13、产品清单8. 8. 书写文档提交审查书写文档提交审查n把可行性研究各个步骤的工作结果写成清晰的把可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析查,以决定是否继续这项工程及是否接受分析员推荐的方案。员推荐的方案。 2.3 2.3 系统流程图系统流程图 系统流程图:系统流程图:n是概括地描绘物理系统的传统工具。是概括地描绘物理系统的传统工具。n用图形符号以黑盒子形式描绘组成系统的每个用图形符号以黑盒子形式描绘组成系统的每个部件部件( (程序,文档,数据库,人工过程等程序,文档,数据库,人

14、工过程等) )。n表达的是表达的是数据在系统各部件之间流动数据在系统各部件之间流动的情况,的情况,而不是对数据进行加工处理的控制过程。而不是对数据进行加工处理的控制过程。2.3.1 2.3.1 符号符号 n基本符号:基本符号:5 5个,以概括的方式抽象地描绘个,以概括的方式抽象地描绘一个实际系统。一个实际系统。n系统符号:系统符号:1111个,更具体的描绘物理系统。个,更具体的描绘物理系统。2.3.2 2.3.2 例子例子 例例1 1: 某装配厂有一座存放零件的仓库,仓库中现有的各种零某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清件的数量以

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

16、由放在仓库中CRTCRT终端输入到计算机中;系统中的库存清单终端输入到计算机中;系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的订货信息写在磁带上。最后,每天由报告生成并且把必要的订货信息写在磁带上。最后,每天由报告生成程序读一次磁带,并且打印出订货报告。程序读一次磁带,并且打印出订货报告。部件:部件:包括程序、文档、数据库、人工过程等包括程序、文档、数据库、人工过程等n程序:更新库存清单程序程序:更新库存清单程序 产生定货报告程序产生定货报告程序n文档:定货报告文档:定货报告n数据:磁盘上的库存清单主文件

17、数据:磁盘上的库存清单主文件 磁带上的定货信息磁带上的定货信息 CRTCRT终端输入事务终端输入事务n人工过程:无人工过程:无库存清单系统的系统流程图库存清单系统的系统流程图2.3.3 2.3.3 分层分层 n首先用一张高层次首先用一张高层次的系统流程图描绘的系统流程图描绘系统总体概貌,表系统总体概貌,表明系统的关键功能;明系统的关键功能;n然后分别把每个关然后分别把每个关键功能扩展到适当键功能扩展到适当的详细程度,画在的详细程度,画在单独的一页纸上。单独的一页纸上。 第一层:描绘系统关键功能第一层:描绘系统关键功能(仅用基本符号)(仅用基本符号)第二层:扩展系统关键功能第二层:扩展系统关键功

18、能 第三层:合成后的系统流程图第三层:合成后的系统流程图例例2 2:教材销售系统:教材销售系统n人工教材销售系统:先找系办公室开购书申请,人工教材销售系统:先找系办公室开购书申请,凭申请找教材科开购书证明,向出纳员交付书凭申请找教材科开购书证明,向出纳员交付书款获得领书单,然后到书库找保管员领书。款获得领书单,然后到书库找保管员领书。人工教材销售的系统流程图人工教材销售的系统流程图n计算机教材销售系统:由计算机实现有效性审计算机教材销售系统:由计算机实现有效性审查(不该购买或已卖完的教材),收书款和发查(不该购买或已卖完的教材),收书款和发书仍由人工完成。开购书申请和购书证明可一书仍由人工完成

19、。开购书申请和购书证明可一步完成,增加缺书统计和采购功能。步完成,增加缺书统计和采购功能。计算机计算机教材销售的系统流程图教材销售的系统流程图2.4 2.4 数据流图数据流图数据流图数据流图 (DFD) (DFD) :n是一种图形化技术,它描绘信息流和数据从输是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。入移动到输出的过程中所经受的变换。n在数据流图中没有任何具体的物理部件,它只在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。是描绘数据在软件中流动和被处理的逻辑过程。2.4.1 2.4.1 符号符号基本符号:基本符号:n数据源点数据

20、源点/ /终点:终点:通常是人或部门,可重复表通常是人或部门,可重复表示;示;n处理:处理:一个处理框可以代表一系列程序、单个一个处理框可以代表一系列程序、单个程序或程序的一个模块;程序或程序的一个模块; n数据存储:数据存储:可以表示一个文件、文件的一部分、可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等,数据存储是数据库的元素或记录的一部分等,数据存储是处于静止状态的数据;处于静止状态的数据; n数据流:数据流:描绘所有可能的数据流向,而不应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件描绘出现某个数据流的条件 ,数据流是处于,数据流是处于运动中的数据。运动中的数据

21、。附加符号:附加符号:n星号(星号(* *):表示):表示“与与”关系关系n加号(加号(+ +):表示):表示“或或”关系关系n异或(异或( ):表示互斥关系):表示互斥关系2.4.2 2.4.2 例子例子例例1 1: 假设采购部每天需要一张定货报表,报假设采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件,定货的零件。对于每个需要再次定货的零件,应该列出下述数据:零件编号,零件名称,应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供定货数量,目前价格,主要供应者,次要供应者

22、。零件入库或出库称为事务,通过放在应者。零件入库或出库称为事务,通过放在仓库中的仓库中的CRTCRT终端把事务报告给定货系统。终端把事务报告给定货系统。当某种零件的库存量少于库存量的临界值时,当某种零件的库存量少于库存量的临界值时,就应该再次定货。就应该再次定货。画数据流图的步骤:画数据流图的步骤:1. 1. 从问题描述中提取数据流图的从问题描述中提取数据流图的4 4种成分种成分n数据的源点数据的源点/ /终点终点q“通过放在仓库中的通过放在仓库中的CRTCRT终端把事务报告给定货系终端把事务报告给定货系统统”仓库管理员仓库管理员是数据源点;是数据源点;q“采购部每天需要一张定货报表采购部每天

23、需要一张定货报表”采购员采购员是数是数据终点。据终点。n处理处理q“采购部需要报表采购部需要报表”,产生报表产生报表;q事务的后果是改变零件库存量,因此对事务进行事务的后果是改变零件库存量,因此对事务进行的加工是另一个处理的加工是另一个处理处理事务。处理事务。n数据流:数据流:q“系统把定货报表送给采购部系统把定货报表送给采购部”定货报表定货报表;q“事务需要从仓库送到系统中事务需要从仓库送到系统中”事务事务。n数据存储:数据存储:q处理事务和产生报表这两个处理在时间上明显不处理事务和产生报表这两个处理在时间上明显不匹配,用来产生定货报表的定货信息必须存放一匹配,用来产生定货报表的定货信息必须

24、存放一段时间段时间定货信息定货信息;q零件库存量和库存量临界值需要存储零件库存量和库存量临界值需要存储库存清单。库存清单。源点:仓库管理员源点:仓库管理员终点:采购员终点:采购员处理:产生报表、处理事务处理:产生报表、处理事务数据流:数据流:定货报表定货报表事务事务零件编号零件编号零件名称零件名称定货数量定货数量目前价格目前价格主要供应者主要供应者次要供应者次要供应者零件编号零件编号事务类型事务类型数量数量数据存储:数据存储:定货信息定货信息同定货报表同定货报表库存清单库存清单零件编号零件编号库存量库存量库存量临界值库存量临界值2. 2. 画基本系统模型画基本系统模型n由若干个数据源点由若干个

25、数据源点/ /终点和一个处理组成。终点和一个处理组成。定货系统的基本系统模型定货系统的基本系统模型3. 3. 细化,描绘系统的主要功能(功能级数据流图)细化,描绘系统的主要功能(功能级数据流图)定货系统的功能级数据流图定货系统的功能级数据流图4. 4. 对系统主要功能进一步细化对系统主要功能进一步细化把处理事务的功能进一步分解后的数据流图把处理事务的功能进一步分解后的数据流图细化时注意:细化时注意:n当进一步分解涉及如何具体的实现一个功能时当进一步分解涉及如何具体的实现一个功能时就不应该再分解了。就不应该再分解了。n当对数据流图分层细化时必须保持信息连续性,当对数据流图分层细化时必须保持信息连

26、续性,也就是说,当把一个处理分解为一系列处理时,也就是说,当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同。分解前和分解后的输入输出数据流必须相同。n注意对处理进行编号的方法。注意对处理进行编号的方法。 2.4.3 2.4.3 命名命名 1. 1. 为数据流为数据流( (或数据存储或数据存储) )命名命名n完整性;完整性;n具体性;具体性;n起名字遇到了困难时,试试重新分解。起名字遇到了困难时,试试重新分解。 2. 2. 为处理命名为处理命名n通常先为数据流命名,然后再为与之相关联的通常先为数据流命名,然后再为与之相关联的处理命名;处理命名;n完整性;完整性;n及物动词及

27、物动词+ +宾语,具体性;宾语,具体性;n通常名字中仅包括一个动词,否则进行分解;通常名字中仅包括一个动词,否则进行分解;n命名时遇到困难,应考虑重新分解。命名时遇到困难,应考虑重新分解。3. 3. 为数据源点为数据源点/ /终点命名终点命名n采用它们在问题域中习惯的名字。采用它们在问题域中习惯的名字。 2.4.4 2.4.4 用途用途 n作为交流信息的工具作为交流信息的工具q供有关人员审查确认供有关人员审查确认q供用户理解和评价供用户理解和评价q数据流图应该分层,超过数据流图应该分层,超过9 9个时应该画分图个时应该画分图 n作为分析和设计的工具作为分析和设计的工具q描绘系统所完成的功能描绘

28、系统所完成的功能 q辅助物理系统的设计时,以定时要求为指南,画出辅助物理系统的设计时,以定时要求为指南,画出许多组自动化边界,对应不同的物理系统。许多组自动化边界,对应不同的物理系统。 q导出更详细的设计步骤导出更详细的设计步骤面向数据流的设计方法面向数据流的设计方法 以批量方式更新库存清单以批量方式更新库存清单以联机方式更新库存清单以联机方式更新库存清单例例2 2:高考录取统分子系统高考录取统分子系统 功能如下:功能如下: (1) (1) 计算标准分计算标准分根据考生原始根据考生原始分计算标准分,存入考生分数文件;分计算标准分,存入考生分数文件; (2) (2) 计算录取线分计算录取线分根据

29、标准分根据标准分和招生计划文件中的招生人数,计算录取线分,和招生计划文件中的招生人数,计算录取线分,存入录取线文件。存入录取线文件。 1. 1. 提取数据流图的四种成分提取数据流图的四种成分n数据源点和终点:数据源点和终点:考生考生n处理:处理: (1) (1) 计算标准分计算标准分 (2) (2) 计算录取线分计算录取线分n数据存储:数据存储:(1) (1) 考生分数文件考生分数文件 (2) (2) 招生计划文件招生计划文件 (3) (3) 录取线文件录取线文件n数据流:数据流:原始分;标准分;原始分;标准分; 招生人数;录取线分招生人数;录取线分 2. 2. 画基本数据流图画基本数据流图3

30、. 3. 画功能级数据流图画功能级数据流图 例例3 3:教材销售系统:教材销售系统n人工:先找系办公室开购书申请,凭申请找教人工:先找系办公室开购书申请,凭申请找教材科开购书证明,向出纳员交付书款获得领书材科开购书证明,向出纳员交付书款获得领书单,然后到书库找保管员领书。单,然后到书库找保管员领书。n计算机:包括销售和采购两大功能。计算机:包括销售和采购两大功能。q销售时,根据学生用书表和教材库存清单对购书单销售时,根据学生用书表和教材库存清单对购书单进行有效性审查,通过审查后得到有效购书单,并进行有效性审查,通过审查后得到有效购书单,并将缺书信息写入缺书表。交完款后开领书单,根据将缺书信息写

31、入缺书表。交完款后开领书单,根据领书单更新教材库存清单。领书单更新教材库存清单。q采购时,将缺书表中的信息汇总生成采购单,新书采购时,将缺书表中的信息汇总生成采购单,新书进库时更新教材库存清单。进库时更新教材库存清单。人工教材销售系统的数据流图人工教材销售系统的数据流图基本数据流图基本数据流图功能级数据流图功能级数据流图销售功能细化的数据流图销售功能细化的数据流图采购功能细化的数据流图采购功能细化的数据流图2.5 2.5 数据字典数据字典 数据字典:数据字典:n是关于数据的信息的集合,也就是对数据流图是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。中包含的所有元素的定义的

32、集合。n数据流图和数据字典共同构成系统的逻辑模型。数据流图和数据字典共同构成系统的逻辑模型。 2.5.1 2.5.1 数据字典的内容数据字典的内容 数据字典的组成:数据字典的组成:n数据流数据流n数据流分量数据流分量( (即数据元素即数据元素) )n数据存储数据存储n处理处理( (用其它工具描述更方便,如用其它工具描述更方便,如IPOIPO图图) )在数据字典中记录数据元素的下列信息:在数据字典中记录数据元素的下列信息:n一般信息一般信息n定义定义n使用特点使用特点n控制信息控制信息n分组信息分组信息 2.5.2 2.5.2 定义数据的方法定义数据的方法方法:方法:对数据自顶向下分解。对数据自

33、顶向下分解。 数据组成方式数据组成方式( (三种基本类型三种基本类型) ):n顺序顺序 以确定次序连接两个或多个分量;以确定次序连接两个或多个分量;n选择选择 从两个或多个可能的元素中选取一个;从两个或多个可能的元素中选取一个;n重复重复 即把指定的分量重复零次或多次。即把指定的分量重复零次或多次。附加类型:附加类型:n可选可选 即一个分量是可有可无的即一个分量是可有可无的( (重复零次或重复零次或一次一次) )。 符号:符号:n= =意思是等价于意思是等价于( (或定义为或定义为) );n+ +意思是和意思是和( (即,连接两个分量即,连接两个分量) );n 意思是或意思是或( (即,从方括

34、弧内列出的若干个即,从方括弧内列出的若干个分量中选择一个分量中选择一个) ),通常用,通常用“|”|”号隔开供选择号隔开供选择的分量;的分量;n 意思是重复意思是重复( (即,重复花括弧内的分量即,重复花括弧内的分量) );常常使用上限和下限进一步注释表示重复的花常常使用上限和下限进一步注释表示重复的花括弧。括弧。n( )( )意思是可选意思是可选( (即,圆括弧里的分量可有可即,圆括弧里的分量可有可无无) )。 例例1 1:标识符标识符 = = 字母字符字母字符 + + 字母数字串字母数字串字母数字串字母数字串 = 0= 0字母或数字字母或数字7 7字母或数字字母或数字 = =字母字符数字字

35、符字母字符数字字符 例例2 2:购书单购书单= =学号学号+ +姓名姓名+书号书号+ +数量数量+ +单价单价+ +总价总价+书书费合计费合计学生用书表学生用书表=学院编号学院编号+ +专业编号专业编号+ +年级年级+书号书号年级年级= 1 | 2 | 3 | 4 = 1 | 2 | 3 | 4 学号学号=10=10数字数字10102.5.3 2.5.3 数据字典的用途数据字典的用途n数据字典最重要的用途是作为分析阶段的工具;数据字典最重要的用途是作为分析阶段的工具;n数据字典中包含的每个数据元素的控制信息是数据字典中包含的每个数据元素的控制信息是很有价值的。很容易估计改变一个数据将产生很有价

36、值的。很容易估计改变一个数据将产生的影响;的影响;n数据字典是开发数据库的第一步,而且是很有数据字典是开发数据库的第一步,而且是很有价值的一步。价值的一步。2.5.4 2.5.4 数据字典的实现数据字典的实现n计算机实现:计算机实现:目前,数据字典几乎总是作为目前,数据字典几乎总是作为CASECASE(计算机辅助软件工程)(计算机辅助软件工程)“结构化分析与结构化分析与设计工具设计工具”的一部分实现的。在开发大型软件的一部分实现的。在开发大型软件系统的过程中,数据字典的规模和复杂程度迅系统的过程中,数据字典的规模和复杂程度迅速增加,人工维护数据字典几乎是不可能的。速增加,人工维护数据字典几乎是

37、不可能的。n人工实现:人工实现:采用卡片形式书写数据字典,每张采用卡片形式书写数据字典,每张卡片上保存描述一个数据的信息。每张卡片上卡片上保存描述一个数据的信息。每张卡片上主要应该包含下述这样一些信息:名字、别名、主要应该包含下述这样一些信息:名字、别名、描述、定义、位置。描述、定义、位置。 名字:定货报表名字:定货报表别名:定货信息别名:定货信息描述:每天一次送给采购员的需要定描述:每天一次送给采购员的需要定货的零件表货的零件表定义:定货报表定义:定货报表= =零件编号零件编号+ +零件名称零件名称 + +定货数量定货数量+ +目前价格目前价格+ +主要供主要供 应者应者+ +次要供应者次要

38、供应者位置:输出到打印机位置:输出到打印机名字:零件编号名字:零件编号别名:别名:描述:惟一地标识库存清单中一个特描述:惟一地标识库存清单中一个特定零件的关键域定零件的关键域定义:零件编号定义:零件编号=8=8字符字符88位置:定货报表位置:定货报表 定货信息定货信息 库存清单库存清单名字:定货数量名字:定货数量别名:别名:描述:某个零件一次定货的数量描述:某个零件一次定货的数量定义:定货数量定义:定货数量=1=1数字数字55位置:定货报表位置:定货报表 定货信息定货信息2.6 2.6 成本成本/ /效益分析效益分析n成本成本/ /效益分析的目的效益分析的目的正是要从经济角度分析正是要从经济角

39、度分析开发一个特定的新系统是否划算,从而帮助客开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地作出是否投资于这项开户组织的负责人正确地作出是否投资于这项开发工程的决定。发工程的决定。 2.6.1 2.6.1 成本估计成本估计 1. 1. 代码行技术代码行技术n方法:通常根据经验和历史数据估计实现一个方法:通常根据经验和历史数据估计实现一个功能需要的源程序行数。一旦估计出源代码行功能需要的源程序行数。一旦估计出源代码行数以后,用每行代码的平均成本乘以行数就可数以后,用每行代码的平均成本乘以行数就可以确定软件的成本。每行代码的平均成本主要以确定软件的成本。每行代码的平均成本主要取决于软

40、件的复杂程度和工资水平。取决于软件的复杂程度和工资水平。n特点:简单;当有以往开发类似工程的历史数特点:简单;当有以往开发类似工程的历史数据可供参考时,这个方法是非常有效的。据可供参考时,这个方法是非常有效的。 功能功能生产率生产率( (行行/ /人人月月) )估计行数估计行数每行成本每行成本( (元行元行) )成本成本( (元元) )人力人力( (人月人月) )获取实时数据获取实时数据929284084010810890720907209.19.1更新数据库更新数据库102102121012105454653406534011.811.8脱机分析脱机分析1341346006007272432

41、00432004.44.4产生报告产生报告145145450450333314850148503.13.1实时控制实时控制80801100110013513514850014850013.713.7总计总计36261036261042.142.1代码行技术分析一个过程控制系统:代码行技术分析一个过程控制系统:2. 2. 任务分解技术任务分解技术n方法:首先把软件开发工程分解为若干个相对方法:首先把软件开发工程分解为若干个相对独立的任务。再分别估计每个单独的开发任务独立的任务。再分别估计每个单独的开发任务的成本,最后累加起来得出软件开发工程的总的成本,最后累加起来得出软件开发工程的总成本。估计每

42、个任务的成本时,通常先估计完成本。估计每个任务的成本时,通常先估计完成该项任务需要用的人力成该项任务需要用的人力( (以人月为单位以人月为单位) ),再,再乘以每人每月的平均工资而得出每个任务的成乘以每人每月的平均工资而得出每个任务的成本。本。 任务分解技术估计软件开发成本:任务分解技术估计软件开发成本: 任务任务估计人力(人月)估计人力(人月) 元人月元人月 成本(元)成本(元)需求分析需求分析5.05.010200102005100051000设计设计15.015.096009600144000144000编码和单元测试编码和单元测试8.08.0795079506360063600综合测试

43、综合测试16.516.587008700143550143550总计总计44.544.54021504021503. 3. 自动估计成本技术自动估计成本技术 n方法:采用自动估计成本的软件工具方法:采用自动估计成本的软件工具n特点:可以减轻人的劳动,并且使得估计的结特点:可以减轻人的劳动,并且使得估计的结果更客观。但是,采用这种技术必须有长期搜果更客观。但是,采用这种技术必须有长期搜集的大量历史数据为基础,并且需要有良好的集的大量历史数据为基础,并且需要有良好的数据库系统支持。数据库系统支持。 2.6.2 2.6.2 成本成本/ /效益分析的方法效益分析的方法 n成本成本/ /效益分析要估计开发成本、运行费用和效益分析要估计开发成本、运行费用和新系统将带来的经济效益。新系统将带来的经济效益。n运行费用:取决于系统的操作费用运行费用:取决于系统的操作费用( (操作员人操作员人数,工作时间,消耗的物资等等数,工作时间,消耗的物资等等) )和维护费用。和维护费用。n系统的经济效益:等于因使用新系统而增加的系统的经济效益:等于因使用新系统而增加的收入加上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论