《精编》工程立项建议及其可行性研究

上传人:tang****xu5 文档编号:133586179 上传时间:2020-05-28 格式:PPT 页数:108 大小:1.68MB
返回 下载 相关 举报
《精编》工程立项建议及其可行性研究_第1页
第1页 / 共108页
《精编》工程立项建议及其可行性研究_第2页
第2页 / 共108页
《精编》工程立项建议及其可行性研究_第3页
第3页 / 共108页
《精编》工程立项建议及其可行性研究_第4页
第4页 / 共108页
《精编》工程立项建议及其可行性研究_第5页
第5页 / 共108页
点击查看更多>>
资源描述

《《精编》工程立项建议及其可行性研究》由会员分享,可在线阅读,更多相关《《精编》工程立项建议及其可行性研究(108页珍藏版)》请在金锄头文库上搜索。

1、王少华武汉大学国际软件学院空间信息与数字工程研究中心huazimail 工程立项 可行性分析与需求获取 结构化分析设计过程 结构分析设计过程 本质上是功能分解 以实现功能的过程为中心 而用户的需求变化主要是针对功能的 这就使基于过程的设计不易被理解 且功能变化往往引起结构变化较大 稳定性不好 系统有明确的边界定义 且系统结构依赖于系统边界的定义 这样的系统不易扩充和修改 数据与操作分开处理 可能造成软构件对具体应用环境的依赖 可重用性 reusability 较差 结构化技术的缺点 管理的范围 有效的项目管理集中于三个P上 人员 people 问题 problem 和过程 process 其顺

2、序不是任意的 任何管理者如果忘记了软件工程是人的智力密集的劳动 他就永远不可能在项目管理上得到成功 任何管理者如果在项目开发早期没有支持有效的用户通信 他有可能为错误的问题建造一个不错的解决方案 最后 对过程不在意的管理者可能冒把有效的技术方法和工具插入到真空中的风险 一 工程立项建议 1 立项原因2 立项基础3 国内外研究现状4 工程意义与目标5 用户调查6 投资条件7 投资周期8 技术力量与基础9 软件硬件价格与性能10 数据源状况11 应用前景12 效益评估13 可运行性评价 问题定义 问题定义阶段必须回答的关键问题是 要解决的问题是什么 问题定义阶段的工作 系统分析员应该提出关于问题性

3、质 工程目标和规模的书面报告 问题定义阶段是生命周期中最简短的阶段 一般只需要一天甚至更少的时间 二 可行性研究 这个阶段要回答的关键问题是 对于上一个阶段所确定的问题有可行的解决办法或值得做吗 可行性研究比较简短 这个阶段的任务不是具体解决问题 而是研究问题的范围 探索这个问题是否值得去解 是否有可行的解决办法 做还是不做 联想集团领导人柳传志曾说 没钱赚的事我们不干 有钱赚但投不起钱的事不干 有钱赚也投得起钱但没有可靠的人选 这样的事也不干 柳传志为决策立了上述准则 同时也为可以行性分析指明了重点 2 1可行性研究的任务 可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解

4、决 可行性研究的目的不是解决问题 而是确定问题是否值得去解 以及关键技术 难点 能否解决 必须分析几种主要的可能解法的利弊 从而判断原定的系统目标和规模是否现实 系统完成后所能带来的效益是否大到值得投资开发这个系统的程度 一般说来 可行性研究的成本只是预期的工程总成本的5 10 软件领域的可行性分析主要考虑四个要素 经济 技术 社会环境和人 项目的意义 社会的意义 技术可行性经济可行性操作可行性 3 1 1可行性研究的任务 可行性分析的四个任务 2 2可行性研究的步骤 1系统定义 复查系统规模和目标 性质 范围 约束和限制2研究目前正在使用的系统 研究现行系统 人工 旧软件 描绘系统流程图 审

5、核 现有的系统必然有某些缺点 新系统必须能解决旧系统中存在的问题 3 导出新系统的逻辑模型 分析员应该画出描绘现有系统的高层系统流程图 并请有关人员检验他对现有系统认识是否正确 千万不要花费太多时间去了解和描绘现有系统的实现细节 例如 除非是为了阐明一个特别关键的算法 否则不需要根据程序代码画出程序流程图 2 3导出新系统的高层逻辑模型 4 设计方案 优秀的设计过程通常总是从现有的物理系统出发 导出现有系统的逻辑模型 再参考现有系统的逻辑模型 设想目标系统的逻辑模型 最后根据目标系统的逻辑模型建造新的物理系统 并进行可行性评价 4方面 分析员能够使用数据流图描绘数据在系统中流动和处理的情况 从

6、中概括地表达出他对新系统的设想 通常为了把新系统描绘得更清晰准确 还应该有一个初步的数据字典 定义系统中使用的数据 数据流图和数据字典共同定义了新系统的逻辑模型 以后可以从这个逻辑模型出发设计新系统 2 4重新定义问题 分析员应该和用户一起再次复查问题定义 工程规模和目标 这次复查应该把数据流图和数据字典作为讨论的基础 可行性研究的前四个步骤实质上构成一个循环 分析定义问题 分析这个问题 导出一个试探性的解 在此基础上再次定义问题 再一次分析这个问题 修改这个解 继续这个循环过程 直到提出的逻辑模型完全符合系统目标 2 5导出和评价供选择的解法 5 推荐可行的方案 分析员应该从他建议的系统逻辑

7、模型出发 导出若干个较高层次的 较抽象的 物理解法供比较和选择 其次可以考虑操作方面的可行性 考虑经济方面的可行性 对每个可能的系统进行成本 效益分析 最后为每个在技术 操作和经济等方面都可行的系统制定实现进度表 不需要 也不可能 制定得很详细 通常中需要估计生命周期每个阶段的工作量 2 5 1经济可行性 经济经济可行性分析主要包括 成本 收益 分析和 短期 长远利益 分析 成本 收益分析最容易理解 如果成本高于收益则表明亏损了 如果成本大大高于收益那就亏大了 2 6成本 效益分析 直接效益服务节省开支提高工作效率间接效益科学决策快速决策社会效益 2 6 1成本考虑的方面 1 办公室房租 2

8、办公用品 如桌 椅 书柜 照明电器 空调等 3 计算机 打印机 网络等硬件设备 4 电话 传真等通讯设备以及通讯费用 5 资料费 6 办公消耗 如水电费 打印复印费等 7 软件开发人员与行政人员的工资 8 购买系统软件的费用 如买操作系统 数据库 软件开发工具等 有些老板买盗版的系统软件 却按市场价算成本 可从美国佬那里赚一笔 9 做市场调查 可行性分析 需求分析的交际费用 10 公司人员培训费用 11 产品宣传费用 如果用Internet作宣传 则要考虑建设Web站点的费用 12 如果客户是政府部门 还要充分考虑用于吃喝玩乐 行贿的费用 13 如果公司的风水不好 会有很多莫名其妙的管理费 每

9、戳一个红艳艳的公章都要化一把钞票 2 6 2短期 长远利益分析 人们喜欢吃着碗里的 看着锅里的 还想着别人家里的 短期利益和长远利益兼得是人们梦寐以求的事 开发策略 2 6 3成本估计 系统规模 1 代码行技术 面向规模的估计 代码行KLOC 每千行代码 KLOC 的错误数 每千行代码 KLOC 的缺陷数 每行代码 LOC 的成本 每千行代码 KLOC 的文档页数 每人月错误数 每人月代码行 LOC 每页文档的成本 2 任务分解技术 面向功能的估计 功能点 用户输入数 计算每个用户输入 它们向软件提供面向应用的数据 输入应该与查询区分开来 分别计算 用户输出数 计算每个用户输出 它们向用户提供

10、面向应用的信息 这里 输出是指报表 屏幕 出错信息 等等 一个报表中的单个数据项不单独计算 用户查询数 一个查询被定义为一次联机输入 它导致软件以联机输出的方式产生实时的响应 每一个不同的查询都要计算 文件数 计算每个逻辑的主文件 如数据的一个逻辑组合 它可能是某个大型数据库的一部分或是一个独立的文件 外部接口数 计算所有机器可读的接口 如磁带或磁盘上的数据文件 利用这些接口可以将信息从一个系统传送到另一个系统 2 6 3问题分解及过程分解 首先把软件开发工程分解为若干个相对独立的任务 估计每个任务的成本时 通常先估计完成该任务需要用的人力 以人月为单位 再乘以每人每月的平均工资而得出每个任务

11、的成本 最常用的办法是按开发阶段划分任务 如果软件系统很复杂 由若干个子系统组成 则可以把每个子系统再按开发阶段进一步划分成更小的任务 典型环境下各个开发阶段需要使用的人力的百分比大致如表所示 软件规模的例子 3 自动估计成本技术采用这种技术必须有长期搜集的大量历史数据为基础 并且需要有良好的数据库支持 参考书籍 软件成本估算 COCOMOII模型方法出版社 机械工业出版社作者 美 勃姆 Boehm B W 等 译者 李师贤 杜云梅 李卫华等 功能点分析 成功软件项目的测量实践作者 美 DavidGarmus DavidHerron 出版社 清华大学出版社 功能点分析法 功能点分析法 FPA

12、functionpointanalysis 是在需求分析阶段基于系统功能的一种规模估算方法 是基于应用软件的外部 内部特性以及软件性能的一种间接的规模测量 功能点可以用于 需求文档 设计文档 源代码 测试用例 度量 根据具体方法和编程语言的不同 功能点可以转换为代码行 功能点分析法的步骤 功能点分析法 FP 总计数值 0 65 0 01 Fi 其中 总计数值 是所有功能点条目的总和 Fi i 1到14 是基于对图4 6中问题的回答而得到的 复杂度调整值 0到5 等式中的常数和信息域值的加权因子是根据经验确定的 Fi 1 系统需要可靠的备份和复原吗 2 需要数据通信吗 3 有分布处理功能吗 4

13、性能很关键吗 5 系统是否在一个已有的 很实用的操作环境中运行 6 系统需要联机数据项吗 7 联机数据项是否需要在多屏幕或多操作之间切换以完成输入 8 需要联机更新主文件吗 9 输入 输出 文件或查询很复杂吗 10 内部处理复杂吗 11 代码需要被设计成是可复用的吗 12 设计中需要包括转换及安装吗 13 系统的设计支持不同组织的多次安装吗 14 应用的设计方便用户修改和使用吗 总计数值 估算14个复杂度加权因子 Fi 根据问题对项目的影响取值范围是0 5 表3给出了因子值 FP 总计数值 0 65 0 01 Fi 366 工作量估算 工作量估算 工作量估算 用java2完成上述项目 366功

14、能点 时 将大约需要下列SLOC数 L 366 46 16836行 16 836KLOCE 5 2 L0 91 5 2 16 3860 91 66人 月DOC 49 L1 01 49 16 3861 01 826页 成本估算 项目的成本估算包括许多因素 人力成本 办公费用 管理费用 设备和软件等的购置费用 场地租金 旅差费等等 对项目成本的估算取决于公司所采用的成本核算方法 有的公司某些费用并没有计入项目成本中 而是按管理费用等分摊 有的从历史数据求出生产率度量和每行成本 即行 PM 人月 和元 行 则LOC的值与元 行相乘得到成本 用LOC的值与行 PM相除得到工作量 具体可按公司的具体情况

15、选择 成本估算 E 5 2 L0 91 L是源代码行数 以KLOC计 E是工作量 以PM计 D 4 1 L0 36 D是项目持续时间 以月计 S 0 54 E0 6 S是人员需要量 以人计 DOC 49 L1 01 DOC是文档数量 以页计 制定计划 对软件项目进行估算的第三步是根据工作量制定项目计划 目的是用文件的形式 把对于在开发过程中人员安排 工作量分解 开始和完成时间 开发进度 所需经费预算 所需软 硬件条件等问题作出的安排记载下来 以便根据本计划开展和检查本项目的开发工作 可以根据自己的历史数据或行业模型决定所需的资源并落实到项目计划 可以采用上述的IBM模型或McConnell给出

16、的方法粗略地给出项目持续时间 以IBM模型为例 项目需要的人员S 0 54 E0 6 0 54 660 6 7人项目持续时间D 4 1 L0 36 4 1 16 3860 36 11月 成本 效益分析的方法 成本 效益分析的第一步是估计开发成本 运行费用和新系统将带来的经济效益 应该比较新系统的开发成本和经济效益 以便从经济角度判断这个系统是否值得投资 投资是现在进行的 效益是将来获得的 不能简单地比较成本和效益 应该考虑货币的时间价值 贷币的时间价值 假设年利率为i 如果现在存入P元 则n年以后可以得到的钱数为 F P 1 i n就是P元钱在n年后的价值 反之 如果n年后能收入F元线 那么这些钱的现在价值是 P F 1 i n修改一个已有库存清单系统 使它能在每天送给采购员一份定货报表 修改已有的库存清单程序并且编写产生报表的程序 估计共需5000元 系统修改后能及时定货将消除零件短缺问题 估计因此每年可以节省2500元 五年共可省12500元 但是 不能简单地把5000元和12500元相比较 因为前者是现在投资的钱 后者是若干年以后节省的钱 假定年利率为12 利用上面计算货币现在价

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

当前位置:首页 > 行业资料 > 其它行业文档

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