《软件工程第2章可行性研究和软件开发计划》由会员分享,可在线阅读,更多相关《软件工程第2章可行性研究和软件开发计划(14页珍藏版)》请在金锄头文库上搜索。
1、第2章 可行性研究与软件开发计划,本章内容: 软件定义 可行性研究 软件工程开发计划的制订 软件工程项目概述与实施计划 Gantt图 工程网络技术 软件工程开发计划复审 本章重点: 可行性研究 软件工程开发计划的制订,2.1 软件定义与可行性研究,系统定义的目的 系统定义的任务 2.1.1 软件定义 1. 明确系统目标规模、基本要求 2. 对现有系统的分析 3. 设计新系统可能的解决方案 2.1.2 可行性研究 、可行性研究的内容 技术可行性 经济可行性 社会因素方面的可行性 、可行性研究的结论 可以进行开发。 需要等待某些条件 需要对开发目标进行某些修改之后才能开发。 不能进行或不必进行开发
2、。,成本估计,代码行技术:每行代码的平均成本源代码行数 任务分解技术:人力工资 自动估计成本技术 常见公式:Cost=(a+bSC)*m(x) 其中:S=size of the system a,b,c = costant x=(x1,x2,xn)T=Cost factors m=adjustment multiplier,成本效益分析的方法,货币的价值体现 投资回收期 纯收入 投资回收率 其中 P为初始投资 i为年利率、F为第n年底P的值,成本/效益分析,假设某软件的生命周期为5年,现在投资20万元,平均年利率3%。从第一年起,每年年底收4.2万元,问该项目是否值得投资。,2.2 软件工程开
3、发计划的制订,2.2.1 软件工程项目概述和实施计划 1. 项目概述 2. 软件工程实施计划,2.2.2 Gantt图,2.2.3 工程网络技术,工程网络图的步骤,1)画工程网络图。 2)计算事件的最早时刻。 3)计算事件的最迟时刻。 4)确定工程的关键路径。 5)计算每个子任务的机动时间。,工程网络图的步骤,1)画工程网络图 要表示出每个子任务之间的相互依赖关系 计算出完成每个子任务所需要的时间 2)计算事件的最早时刻 沿着事件发生的顺序,按以下三条简单规则计算事件的最早时刻 考虑进入该事件的所有子任务 对每个子任务都计算它的持续时间与起始事件的EET之和 选取上述和数中的最大值,最为该事件
4、的最早时刻,工程网络图的步骤,3)计算最迟时刻 从结束点开始,往开始点方向,逐个进行 考虑离开该事件的所有子任务 把每个子任务的结束事件的最迟时刻,减去该子任务的持续时间 选取上述差数中的最小值,作为该事件的最迟时刻LET,工程网络图的步骤,4)确定关键路径 事件的最早时刻与最迟时刻相同的为关键路径 5)机动时间 不在关键路径上的子任务,在执行时可以有一定的机动时间 等于结束事件的最迟时刻减去它的开始事件的最早时刻,再减去这个子任务的持续时间。 关键任务上的每个子任务的机动时间为0,2.2.4 软件工程开发计划的复审,软件工程的开发计划要得到使用方领导的复审批准,有正式的批文,才能正式进入软件工程的实施阶段。 产生的文档有: 系统定义(包括硬件设备和软件定义) 可行性研究报告 系统解决方案 软件工程项目概述 软件工程实施进度计划等,本章小结,软件定义 可行性研究 制定软件工程进度计划,