软件工程导论第2章_第1页
软件工程导论第2章_第2页
软件工程导论第2章_第3页
软件工程导论第2章_第4页
软件工程导论第2章_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

1、第第2章:可行性研究章:可行性研究 可行性研究就是要回答可行性研究就是要回答“所定义的问题有所定义的问题有 可行的解决办法吗?可行的解决办法吗?”。 可行性研究的目的是:用最小的代价在尽可行性研究的目的是:用最小的代价在尽 可能短的时间内确定问题是否能够解决,以可能短的时间内确定问题是否能够解决,以 及是否值得去解决。及是否值得去解决。 2.1 可行性研究的任务可行性研究的任务 可行性研究所需的时间取决于工程的规可行性研究所需的时间取决于工程的规 模,所需要的成本要占工程总成本的模,所需要的成本要占工程总成本的 5%10%。 可行性研究的内容:可行性研究的内容: 1)技术可行性)技术可行性 技

2、术可行性要分析各种技术因素,例如:技术可行性要分析各种技术因素,例如: 使用现有的技术能否实现这个系统?使用现有的技术能否实现这个系统? 是否有胜任开发该项目的熟练技术人员?是否有胜任开发该项目的熟练技术人员? 能否按期得到开发该项目所需的软件、硬件能否按期得到开发该项目所需的软件、硬件 资源?资源? 2)经济可行性)经济可行性 对经济合理性进行评价,所要考虑的问题是:对经济合理性进行评价,所要考虑的问题是: 这个系统的经济效益能否超过它的开发成本?这个系统的经济效益能否超过它的开发成本? 这就需要对项目进行价格这就需要对项目进行价格/利益分析,即利益分析,即“投入投入/ 产出产出”分析。分析

3、。 由于利益分析取决于软件系统的特点,因此在由于利益分析取决于软件系统的特点,因此在 软件开发之前,很难对新系统产生的效益作出精软件开发之前,很难对新系统产生的效益作出精 确的定量描述,所以往往采用一些估算方法。确的定量描述,所以往往采用一些估算方法。 3)操作可行性)操作可行性 操作可行性评价系统运行后会引起的各方操作可行性评价系统运行后会引起的各方 面变化,如:对组织机构管理模式、用户工面变化,如:对组织机构管理模式、用户工 作环境等产生的影响。作环境等产生的影响。 4)社会可行性)社会可行性 社会可行性主要讨论法律方面和使用方面社会可行性主要讨论法律方面和使用方面 的可行性。的可行性。

4、例如,被开发软件的权利归属问题、软件例如,被开发软件的权利归属问题、软件 所使用的技术是否会造成侵权等问题。所使用的技术是否会造成侵权等问题。 2.2 可行性研究过程可行性研究过程 第一步第一步 复查系统规模和目标复查系统规模和目标 对问题定义阶段书写的关于规模和目标的报告书进一步复查对问题定义阶段书写的关于规模和目标的报告书进一步复查 确认。改正报告书中的叙述模糊、不正确的地方。这个步确认。改正报告书中的叙述模糊、不正确的地方。这个步 骤的工作,骤的工作,实质上是为了确保分析员正在解决的问题确实实质上是为了确保分析员正在解决的问题确实 是要求他解决的问题是要求他解决的问题。 进一步复查确认进

5、一步复查确认“规模和目标报告书规模和目标报告书” 第二步第二步 研究目前正在使用的系统研究目前正在使用的系统 正在使用的系统的基本功能以及某些缺点正在使用的系统的基本功能以及某些缺点 分析现有系统的文档资料和使用手册,实地考分析现有系统的文档资料和使用手册,实地考 察现有系统察现有系统 描绘现有系统的高层系统流程图并确认描绘现有系统的高层系统流程图并确认 记录现有系统的接口记录现有系统的接口 第三步第三步 导出新系统的高层逻辑模型导出新系统的高层逻辑模型 设计过程通常总是从设计过程通常总是从现有的物理系统现有的物理系统出发,再参考现有系统的出发,再参考现有系统的 逻辑模型,设想逻辑模型,设想目

6、标系统的逻辑模型目标系统的逻辑模型,最后根据目标系统的逻,最后根据目标系统的逻 辑模型建造辑模型建造新的物理系统新的物理系统。 使用使用数据流图数据流图,描绘数据在系统中流动和处理的情况,从而概,描绘数据在系统中流动和处理的情况,从而概 括地表达出对新系统的设想。括地表达出对新系统的设想。 通常为了把新系统描绘得更清晰准确,还应该有一个初步的数通常为了把新系统描绘得更清晰准确,还应该有一个初步的数 据字典,定义系统中使用的数据。据字典,定义系统中使用的数据。 数据流图和数据字典共同定义了新系统的逻辑模型,以后可以数据流图和数据字典共同定义了新系统的逻辑模型,以后可以 从这个逻辑模型出发设计新系

7、统。从这个逻辑模型出发设计新系统。 第四步第四步 重新定义问题重新定义问题 分析员应该和用户一起再次复查问题定义、工程规模和目标,分析员应该和用户一起再次复查问题定义、工程规模和目标, 这次复查应该把数据流图和数据字典作为讨论的基础。这次复查应该把数据流图和数据字典作为讨论的基础。 可行性研究的前四个步骤实质上构成一个循环。可行性研究的前四个步骤实质上构成一个循环。 定义问题定义问题 分析问题分析问题 导出一个试探性的解导出一个试探性的解 重新定义问题重新定义问题 符合系统目标?符合系统目标? Y N 第五步第五步 导出和评价供选择的解法导出和评价供选择的解法 分析员应该从他建议的系统逻辑模型

8、出发,导出若干个较高层次分析员应该从他建议的系统逻辑模型出发,导出若干个较高层次 的(较抽象的)物理解法供比较和选择。的(较抽象的)物理解法供比较和选择。 A.A.从技术角度出发考虑解决问题的不同方案。例如,从技术角度出发考虑解决问题的不同方案。例如,2 24 4节中将举例说明节中将举例说明 在数据流图上划分不同的自动化边界在数据流图上划分不同的自动化边界 B.B.根据技术可行性的考虑初步排除一些不现实的系统。例如,如果要求系根据技术可行性的考虑初步排除一些不现实的系统。例如,如果要求系 统的响应时间不超过几秒钟,显然应该排除任何批处理方案。统的响应时间不超过几秒钟,显然应该排除任何批处理方案

9、。 C.C.考虑操作方面的可行性。分析员应该根据使用部门处理事务的原则和习考虑操作方面的可行性。分析员应该根据使用部门处理事务的原则和习 惯检查技术上可行的那些方案,去掉其中从操作方式或操作过程的角度惯检查技术上可行的那些方案,去掉其中从操作方式或操作过程的角度 看用户不能接受的方案。看用户不能接受的方案。 D.D.考虑经济方面的可行性。考虑经济方面的可行性。 分析员应该估计余下的每个可能的系统的开发成本和运行费用,并且估计相对于现有分析员应该估计余下的每个可能的系统的开发成本和运行费用,并且估计相对于现有 的系统而言这个系统可以节省的开支或可以增加的收入。的系统而言这个系统可以节省的开支或可

10、以增加的收入。 在这些估计数字的基础上,对每个可能的系统进行成本效益分析。在这些估计数字的基础上,对每个可能的系统进行成本效益分析。 制定实现进度表。制定实现进度表。 通常只需要估计生命周期每个阶段的工作量。通常只需要估计生命周期每个阶段的工作量。 第六步第六步 推荐行动方针推荐行动方针 做出一个关键性的决定:是否继续进行这项开发工程。做出一个关键性的决定:是否继续进行这项开发工程。 如果分析员认为值得继续进行这项开发工程,那么他应该选择如果分析员认为值得继续进行这项开发工程,那么他应该选择 一种最好的解法,并且说明选择这个解决方案的理由。一种最好的解法,并且说明选择这个解决方案的理由。 第七

11、步第七步 草拟开发计划草拟开发计划 为推荐的系统草拟一份开发计划:为推荐的系统草拟一份开发计划: 1.工程进度表工程进度表 2.估计对各种开发人员和各种资源的需要情况。估计对各种开发人员和各种资源的需要情况。 3.估计系统生命周期每个阶段的成本。估计系统生命周期每个阶段的成本。 4.最后应该给出下一个阶段(需求分析)的详细进度表和最后应该给出下一个阶段(需求分析)的详细进度表和 成本估计。成本估计。 第八步第八步 书写文档提交审查书写文档提交审查 写成清晰的文档,请用户和使用部门的负责人仔细审查写成清晰的文档,请用户和使用部门的负责人仔细审查。 2.3 系统流程图系统流程图 系统流程图是描绘物

12、理系统的传统工具。系统流程图是描绘物理系统的传统工具。 它的基本思想是用图形符号以黑盒子形式描绘系统它的基本思想是用图形符号以黑盒子形式描绘系统 里面的每个部件(程序,文件,数据库,表格,里面的每个部件(程序,文件,数据库,表格, 人工过程等等)。人工过程等等)。 系统流程图表达的是信息在系统各部件之间流动的系统流程图表达的是信息在系统各部件之间流动的 情况,而不是对信息进行加工处理的控制过程。情况,而不是对信息进行加工处理的控制过程。 尽管系统流程图使用的某些符号和尽管系统流程图使用的某些符号和程序流程图使程序流程图使用用 的符号相同,但是它却是物理数据流程图而不是的符号相同,但是它却是物理

13、数据流程图而不是 程序流程图。程序流程图。 2.3.1 符号符号 符号符号名称名称说明说明 处理处理 如:程序,处理机,人工加工如:程序,处理机,人工加工 输入输入/输出输出 连接连接 换页连接换页连接 数据流数据流 表示输入或输出表示输入或输出 指出转到图的另一部分或从图的另指出转到图的另一部分或从图的另 一部分转来,通常在同一页上一部分转来,通常在同一页上 指出转到另一页图上或由另一图转来指出转到另一页图上或由另一图转来 指明数据流动方向指明数据流动方向 图图2.1 基本符号基本符号 符号符号名称名称说明说明 穿孔卡片穿孔卡片 文档文档 磁带磁带 联机存储联机存储 磁盘磁盘 磁鼓磁鼓 显示

14、显示 人工输入人工输入 人工操作人工操作 辅助操作辅助操作 通信链路通信链路 穿孔卡片输入穿孔卡片输入/输出,或穿孔卡片文件输出,或穿孔卡片文件 打印输出,或打印终端输入数据打印输出,或打印终端输入数据 磁带输入磁带输入/输出,或表示磁带文件输出,或表示磁带文件 任何种类磁盘存储,如磁盘、磁鼓等任何种类磁盘存储,如磁盘、磁鼓等 磁盘输入磁盘输入/输出,或磁盘上文件、数据库输出,或磁盘上文件、数据库 磁鼓输入磁鼓输入/输出,或磁鼓上文件、数据库输出,或磁鼓上文件、数据库 显示器部件显示器部件 人工输入数据,如填写表格人工输入数据,如填写表格 人工完成的处理人工完成的处理 使用辅助设备进行的脱机操

15、作使用辅助设备进行的脱机操作 通过远程通信线路传送数据通过远程通信线路传送数据 图图2.2 系统符号系统符号 2.3.2 例子例子 事务事务 库存清单程序库存清单程序 报告生成程序报告生成程序 定货定货 信息信息 定货报告定货报告 库存清单库存清单 主文件主文件 图图2.3 库存清单系统的系统流程图库存清单系统的系统流程图 某装配厂有一座存放零件的某装配厂有一座存放零件的 仓库,仓库中现有的各种仓库,仓库中现有的各种 零件的数量以及每种零件零件的数量以及每种零件 的库存量的库存量临界值临界值等数据记等数据记 录在库存清单主文件中。录在库存清单主文件中。 当仓库中零件数量有变化当仓库中零件数量有

16、变化 时,应该及时修改库存清时,应该及时修改库存清 单主文件,如果那种零件单主文件,如果那种零件 的库存量少于它的库存量的库存量少于它的库存量 临界值,则应该报告给采临界值,则应该报告给采 购部门以便定货,规定每购部门以便定货,规定每 天向采购部门送一次定货天向采购部门送一次定货 报告。报告。 习惯画法是使信息在图中从习惯画法是使信息在图中从 顶向下,从左向右流动。顶向下,从左向右流动。 2.3.3 2.3.3 分层分层 首先用一张高层次的系统流程图描绘系统总体概貌,表明系统首先用一张高层次的系统流程图描绘系统总体概貌,表明系统 的关键功能。的关键功能。 然后分别把每个关键功能扩展到适当的详细

17、程度,画在单独的然后分别把每个关键功能扩展到适当的详细程度,画在单独的 一页纸上。一页纸上。 这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步 深入地了解一个复杂的系统。深入地了解一个复杂的系统。 数据流图描绘系统的逻辑模型,图中没有任何具体的物理元数据流图描绘系统的逻辑模型,图中没有任何具体的物理元 素,只是描绘信息在系统中流动和处理的情况。素,只是描绘信息在系统中流动和处理的情况。 因为数据流图是逻辑系统的图形表示,即使不是专业的计算因为数据流图是逻辑系统的图形表示,即使不是专业的计算 机技术人员也容易理解,所以是极好的通信工具。

18、机技术人员也容易理解,所以是极好的通信工具。 此外,设计数据流图只需考虑系统必须完成的基本逻辑功能,此外,设计数据流图只需考虑系统必须完成的基本逻辑功能, 完全不需要考虑如何具体地实现这些功能,所以它也是软完全不需要考虑如何具体地实现这些功能,所以它也是软 件设计的很好的出发点。件设计的很好的出发点。 2.4 数据流图(描绘数据在系统中流动的逻辑过程)数据流图(描绘数据在系统中流动的逻辑过程) 2.4.1 符号符号 图2.4数据流图的符号 (a)基本符号的含义;(b)附加符号的含义 三个附加符号三个附加符号 * * : : 表示数据之间是表示数据之间是“与与”关系。关系。 + + :表示数据之

19、间是:表示数据之间是“或或”关系。关系。 :表示数据之间是:表示数据之间是“互斥互斥”关系(只能从关系(只能从 中选一个)。中选一个)。 注意:注意: “处理处理”可表示:单个程序、一系列程序、程序可表示:单个程序、一系列程序、程序 的一个模块、人工处理过程等等;的一个模块、人工处理过程等等; “数据存储数据存储”可表示:一个文件、文件的一部分、可表示:一个文件、文件的一部分、 数据库记录等等;数据库记录等等; 数据流图忽略出错处理、打开文件、关闭文件。数据流图忽略出错处理、打开文件、关闭文件。 2.4.2 绘制数据流图的绘制数据流图的例子例子 问题定义:一家工厂的采购部每天需要一张定货报问题

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

21、少于库存量临界值时就应该再次定货。 提取数据流图的四种成分提取数据流图的四种成分 “通过放在仓库中的通过放在仓库中的CRTCRT终端把事务报告给定货系统终端把事务报告给定货系统” 仓库管理员是仓库管理员是数据源点数据源点。 “采购部每天需要一张定货报表采购部每天需要一张定货报表”采购员是采购员是数据终点数据终点。 “采购部需要报表采购部需要报表” ” 用于产生报表的用于产生报表的处理处理。 “事务的后果是改变零件库存量事务的后果是改变零件库存量” ” 对事务进行的加工对事务进行的加工 的处理。的处理。“系统把定货报表送给采购部系统把定货报表送给采购部” ” 定货报表定货报表 是一个是一个数据流

22、数据流。 “事务需要从仓库送到系统中事务需要从仓库送到系统中” ” 事务是一个事务是一个数据流数据流。 “每当有一个事务发生时立即处理它,然而每天只产生一次每当有一个事务发生时立即处理它,然而每天只产生一次 定货报表定货报表” ” 应该有一个数据应该有一个数据存储存储保存产生定货报表保存产生定货报表 的的数据数据。 “当某个零件的库存数量少于库存量临界值时就应该再次定当某个零件的库存数量少于库存量临界值时就应该再次定 货货” ” 应该有一个数据存储保存库存清单应该有一个数据存储保存库存清单数据数据。 数据流图四种成分:数据流图四种成分:源点或终点,处理,数据存储和数据流源点或终点,处理,数据存

23、储和数据流 组成该例子的数据流图的元素组成该例子的数据流图的元素 源点源点/终点终点处理处理 采购员采购员 仓库管理员仓库管理员 产生报表产生报表 处理事务处理事务 数据流数据流数据存储数据存储 订货报表订货报表 零件编号零件编号 零件名称零件名称 订货数量订货数量 目前价格目前价格 主要供应商主要供应商 次要供应商次要供应商 事务事务 零件编号零件编号 事务类型事务类型 数量数量 订货信息订货信息 (见订货报表)(见订货报表) 库存清单库存清单 零件编号零件编号 库存量库存量 库存量临界值库存量临界值 2.4.2 绘制数据流图的绘制数据流图的例子例子 仓库仓库 管理员管理员采购员采购员 定货

24、系定货系 统统 事务事务定货报表定货报表 图图2.5 定货系统的基本系统模型定货系统的基本系统模型 2.4.2 绘制数据流图的例子绘制数据流图的例子 库存清单库存清单 仓库仓库 管理员管理员采购员采购员 事务事务 定货报表定货报表 图图2.6 定货系统的功能级数据流图定货系统的功能级数据流图 处理处理 事务事务 1 产生产生 报表报表 2 D1 库存清单库存清单 D2 定货信息定货信息 定货信息定货信息 定货信息定货信息 上述数据流图所描述的功能够上述数据流图所描述的功能够 详细了吗?详细了吗? 2.4.2 绘制数据流图的例子绘制数据流图的例子 仓库仓库 管理员管理员采购员采购员 事务事务 定

25、货报表定货报表 图图2.7 定货系统进一步分解后的数据流图定货系统进一步分解后的数据流图 更新更新 库存库存 清单清单 1.2 产生产生 报表报表 2 D1 库存清单库存清单 D2 定货信息定货信息 接收接收 事务事务 1.1 处理处理 定货定货 1.3 库存清单库存清单 定货信息定货信息定货信息定货信息 注意注意 1. 1.当进一步分解将涉及如何具体地实现一个功能时就不应当进一步分解将涉及如何具体地实现一个功能时就不应 该再分解了。该再分解了。 例如:为什么不进一步分解例如:为什么不进一步分解“产生报表产生报表”这个功能呢?定货这个功能呢?定货 报表中需要的数据在存储的定货信息中全都有,产生

26、报报表中需要的数据在存储的定货信息中全都有,产生报 表只不过是按一定顺序排列这些信息,再按一定格式打表只不过是按一定顺序排列这些信息,再按一定格式打 印出来。然而这些考虑纯属具体实现的细节,不应该在印出来。然而这些考虑纯属具体实现的细节,不应该在 数据流图中表现。数据流图中表现。 2. 2.当对数据流图分层细化时必须保持信息连续性。当对数据流图分层细化时必须保持信息连续性。 也就是说,当把一个处理分解为一系列处理时,分解前和分也就是说,当把一个处理分解为一系列处理时,分解前和分 解后的输入输出数据流必须相同。解后的输入输出数据流必须相同。 3. 3.应该注意在图中对处理进行编号的方法。应该注意

27、在图中对处理进行编号的方法。 1)为数据流(或数据存储)命名为数据流(或数据存储)命名 A名字应该代表整个数据流(或数据存储)名字应该代表整个数据流(或数据存储) 的内容;的内容; B不要使用空洞的、缺乏具体含义的名字不要使用空洞的、缺乏具体含义的名字 (如(如“数据数据”、“输入输入”);); 2.4.3 命名命名 C如果为某个数据流(或数据存储)如果为某个数据流(或数据存储) 起名字时遇到困难,则很可能是因为对起名字时遇到困难,则很可能是因为对 数据流图的分解不恰当造成的,应该试数据流图的分解不恰当造成的,应该试 试重新分解数据流图;试重新分解数据流图; 2)为处理命名为处理命名 A通常先

28、为数据流命名,然后再为与之通常先为数据流命名,然后再为与之 相关联的处理命名;相关联的处理命名; B名字应该反映整个处理的功能;名字应该反映整个处理的功能; C应该尽量避免空洞笼统的动词做名字,应该尽量避免空洞笼统的动词做名字, 如如“处理处理”、“加工加工”; D通常用一个动词命名,如果必须用两通常用一个动词命名,如果必须用两 个动词才能描述整个处理的功能,则可能要个动词才能描述整个处理的功能,则可能要 把这个处理分解成两个处理更恰当;把这个处理分解成两个处理更恰当; E如果在为某个处理命名时遇到困难,如果在为某个处理命名时遇到困难, 则很可能是发现了分解不当的情况,应考虑则很可能是发现了分

29、解不当的情况,应考虑 重新分解。重新分解。 通常,为通常,为“数据源点数据源点/终点终点”命名时,采用命名时,采用 它们在问题域中习惯使用的名字(如它们在问题域中习惯使用的名字(如“仓库仓库 管理员管理员”、“采购员采购员”)。)。 1)利用它作为交流信息的工具;)利用它作为交流信息的工具; 2)作为软件分析和设计的工具。)作为软件分析和设计的工具。 2.4.4 数据流图的用途数据流图的用途 2.4.4 数据流图的用途数据流图的用途 仓库仓库 管理员管理员采购员采购员 事务事务 定货报表定货报表 图图2.8 这种自动化边界建议以联机方式更新库存清单这种自动化边界建议以联机方式更新库存清单 更新

30、更新 库存库存 清单清单 1.2 产生产生 报表报表 2 D1 库存清单库存清单 D2 定货信息定货信息 接收接收 事务事务 1.1 处理处理 定货定货 1.3 库存清单库存清单 定货信息定货信息定货信息定货信息 图图2.8 对应的物理实现硬件方案对应的物理实现硬件方案 2.4.4 数据流图的用途数据流图的用途 仓库仓库 管理员管理员采购员采购员 事务事务 定货报表定货报表 图图2.9 这种自动化边界暗示以批量方式更新库存清单这种自动化边界暗示以批量方式更新库存清单 更新更新 库存库存 清单清单 1.2 产生产生 报表报表 2 D1 库存清单库存清单 D2定货信息 定货信息 接收接收 事务事务

31、 1.1 处理处理 定货定货 1.3 库存清单库存清单 定货信息定货信息定货信息定货信息 D3 事务事务 图图2.9 对应的物理实现硬件方案对应的物理实现硬件方案 数据字典数据字典:对数据流图中包含的所有元素的:对数据流图中包含的所有元素的 定义的集合;定义的集合; 可行性研究阶段,数据流图与数据字典共同可行性研究阶段,数据流图与数据字典共同 构成系统的构成系统的逻辑模型逻辑模型。 2.5 数据字典数据字典 2.5.1 数据字典的内容数据字典的内容 数据字典应该对下列元素进行定义:数据字典应该对下列元素进行定义: 1)数据流;)数据流; 2)数据元素(数据流分量);)数据元素(数据流分量);

32、3)数据存储;)数据存储; 4)处理。)处理。 出现别名主要原因出现别名主要原因 1.1.对于同样的数据,不同的用户使用了不同的名字;对于同样的数据,不同的用户使用了不同的名字; 2.2.一个分析员在不同时期对同一个数据使用了不同一个分析员在不同时期对同一个数据使用了不同 的名字;的名字; 3.3.两个分析员分别分析同一个数据流时,使用了不两个分析员分别分析同一个数据流时,使用了不 同的名字。同的名字。 1)数据元素数据元素字典字典定义定义 其定义的基本内容有:其定义的基本内容有: A数据元素编号、名称及其含义;数据元素编号、名称及其含义; B数据类型和长度;数据类型和长度; C合理取值;合理

33、取值; D其他内容,如它与其它数据的逻辑关其他内容,如它与其它数据的逻辑关 系等。系等。 2.5.2 定义数据的方法定义数据的方法 数据元素字典数据元素字典定义实例:定义实例: 数据元素编号数据元素编号:DC001 数据元素名称数据元素名称:考试成绩:考试成绩 别名别名:成绩、分数:成绩、分数 简述简述:学生考试成绩,分五个等级:学生考试成绩,分五个等级 类型类型/长度长度:两个字节,字符类型:两个字节,字符类型 取值取值/含义含义:优:优 90-100 良良 80-89 中中 70-79 及格及格 60-69 不及格不及格 0-59 有关数据项或结构有关数据项或结构:学生成绩档案:学生成绩档

34、案 有关处理逻辑有关处理逻辑:计算成绩:计算成绩 图图2.10 数据元素字典定义数据元素字典定义 2)数据流字典数据流字典定义定义 其定义的基本内容有:其定义的基本内容有: A数据流编号及名称;数据流编号及名称; B数据流来源;数据流来源; C数据流去处;数据流去处; D数据流的组成;数据流的组成; E流通量;流通量; F峰值。峰值。 数据流字典数据流字典定义实例:定义实例: 数据流编号数据流编号:DF001 数据流名称数据流名称:订票单:订票单 简述简述:订票时填写的订票单:订票时填写的订票单 数据流来源数据流来源:外部实体:外部实体“乘客乘客” 数据流去处数据流去处:处理逻辑:处理逻辑“预

35、订机票预订机票” 数据流组成数据流组成:订单编号:订单编号 日期日期 乘客号乘客号 航班号航班号 状态状态 订单失效日期订单失效日期 流通量流通量:每天:每天300份份 高峰值流通量高峰值流通量:每天早上:每天早上9:00,约,约160份份 图图2.11 数据流字典定义数据流字典定义 3)数据存储数据存储字典定义字典定义 其定义的基本内容有:其定义的基本内容有: A数据存储编号及名称;数据存储编号及名称; B数据存储的组成;数据存储的组成; C其它要求。其它要求。 4)数据处理数据处理字典定义字典定义 其定义的基本内容有:其定义的基本内容有: A数据处理编号及名称;数据处理编号及名称; B简单

36、描述;简单描述; C输入输入/输出;输出; D功能描述;功能描述; E有关数据存储。有关数据存储。 数据处理数据处理字典定义实例:字典定义实例: 数据处理编号数据处理编号:DP001 数据处理名称数据处理名称:编辑订票:编辑订票 简述简述:接收从终端录入的订票单,检验是否正确:接收从终端录入的订票单,检验是否正确 输入输入:乘客订单,来源:外部实体:乘客订单,来源:外部实体“乘客乘客” 输出输出:1.合格订单,去处:处理逻辑合格订单,去处:处理逻辑“确定订票确定订票 ” 2.不及格订单,去处:外部实体不及格订单,去处:外部实体“乘客乘客” 功能描述:功能描述:(略)(略) 图图2.12 数据处

37、理字典定义数据处理字典定义 5)组成数据项的表示方法)组成数据项的表示方法 = 表示表示“等价于等价于”或或“定义为定义为” + 表示表示“与与” 与与 | 表示表示“或或” 表示重复表示重复 ( ) 表示可选项表示可选项 通讯录通讯录=通讯地址通讯地址 通讯地址通讯地址=姓名姓名+邮编邮编+省省|直辖市直辖市|自治自治 区区+市市|县县+街道街道+门牌号门牌号+(电话)(电话) 1. 作为分析阶段的重要工具;作为分析阶段的重要工具; 2. 数据元素的控制信息非常有用;数据元素的控制信息非常有用; 3. 有助于开发数据库。有助于开发数据库。 2.5.3 数据字典的用途数据字典的用途 实现数据字

38、典:实现数据字典: 1)程序处理;)程序处理; 2)卡片式人工书写;)卡片式人工书写; 2.5.4 数据字典的实现数据字典的实现 2.6 成本成本/效益分析效益分析 1)代码行技术代码行技术 软件成本软件成本 = 每行代码的平均成本估计的每行代码的平均成本估计的 源代码总行数源代码总行数 2.6.1 成本估计成本估计 2)任务分解技术任务分解技术 软件开发项目分解为若干个相对独立的软件开发项目分解为若干个相对独立的 任务,分别估计每个单独任务的成本:任务,分别估计每个单独任务的成本: 单独任务成本单独任务成本 = 任务所需人力估计值每任务所需人力估计值每 人每月平均工资;人每月平均工资; 软件

39、开发项目总成本估计软件开发项目总成本估计 = 各个单独任务各个单独任务 成本估计值之和。成本估计值之和。 常用的办法是按开发阶段划分任务,典型环境下常用的办法是按开发阶段划分任务,典型环境下 各个开发阶段需要使用的人力百分比大致如下:各个开发阶段需要使用的人力百分比大致如下: 任务任务人力()人力() 可行性研究可行性研究 需求分析需求分析 设计设计 编码与单元测试编码与单元测试 综合测试综合测试 总计总计 5 10 25 20 40 100 3)自动估计成本技术自动估计成本技术 采用自动估计成本的软件工具估计。采用自动估计成本的软件工具估计。 1)货币的时间价值货币的时间价值 假设年利率为假

40、设年利率为i,如果现在存入如果现在存入P元钱,则元钱,则n 年以后可以得到的钱数为:年以后可以得到的钱数为: 反之,如果反之,如果n年后能收入年后能收入F元钱,那么这些元钱,那么这些 钱现在的价值是:钱现在的价值是: n iPF)1 ( n iFP)1/( 2.6.2 成本成本/效益分析效益分析 例:修改一个已有的库存管理系统,估计例:修改一个已有的库存管理系统,估计 需要需要5000元,系统修改后使用元,系统修改后使用5年,每年可年,每年可 节省节省2500元。请进行成本元。请进行成本/效益分析。效益分析。 表表1:将来的收入折算成现在值:将来的收入折算成现在值 年年将来值将来值 (元)(元

41、) (1+0.12)n 现在值现在值 (元)(元) 累计的现在累计的现在 值(元)值(元) 125001.122232.142232.14 225001.251992.984225.12 325001.401779.456004.57 425001.571588.807593.37 525001.761418.579011.94 2)投资回收期投资回收期 第一、第二年回收:第一、第二年回收:4225元元 第三年用于回收投资要:第三年用于回收投资要: ( 5000 - 4225 ) / 1779 = 0.44年年 总的投资回收期总的投资回收期 = 2.44年年 3)纯收入纯收入 9011.94 - 5000 = 4011.94 (元)(元) 4)投资回收率投资回收率 其中:其中:P是现在的投资额;是现在的投资额; Fi是第是第i年年底的效益(年年底的效益(i=1

温馨提示

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

评论

0/150

提交评论