《软件计划new》PPT课件.ppt_第1页
《软件计划new》PPT课件.ppt_第2页
《软件计划new》PPT课件.ppt_第3页
《软件计划new》PPT课件.ppt_第4页
《软件计划new》PPT课件.ppt_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章 软件计划,武汉大学 计算机学院软件课程组,软件工程Software Engineering,思考?,接到一个软件项目,首先应该做什么?,软件生存期,维护,软件计划,需求分析,第3章软件计划,由谁编写软件计划?软件计划的作用? 软件计划阶段主要任务? 从哪些方面分析项目的可行性? 如何进行成本和工作量的估算? 如何安排项目进度?,一、任务,弄清欲开发项目的性质、目标、规模, 成本、风险、可行性分析,制定开发计划等 编写文档(项目任务说明书可行性分析项目计划书报告),具体任务:,项目定义 可行性分析 软件计划,二、项目定义(Definition),“是什么?” 弄清项目的性质、工程目标、软

2、件规模、范围 编写项目任务说明书(问题定义报告),项目概述 项目的目标 业务范围 项目的规模 项目的影响因素 对项目的初步设想 其它,调研,制定调研计划 产生调研报告,项目的范围和目标 调研的部门及部门的主要职责 调研时间安排表 设计访谈问题和调研表格 培训计划 产生调研报告,部门的名称、人员数量和结构 部门发展或变化情况介绍 部门的任务 业务处理流程 工作需要的审批流程 主要算法描述 哪些业务需要实时处理? 哪些业务需要交互操作? 部门各岗位的职责,数据需要备份吗? 业务处理有高峰期吗?什么时候?业务量是多少? 对产品的运行环境的要求? 界面风格和操作方式要求? 安全要求? 部门接受哪些信息

3、?产生哪些信息?流向哪儿?信息的格式要求? 输入输出设备是什么?输入输出方式有要求吗? 用户有能力进行系统维护吗? 需要培训吗 需要联机帮助吗?等等,调研表格: 部门基本情况表 部门业务流程表 输入输出信息项描述表 输入输出格式说明表 部门建议表 质量属性要求表 可能的限制/假设表 部门提供原始资料一览表。等等,调研报告,项目范围和内容 旧系统的工作描述 处理流程 数据说明 输入输出格式 现有设备情况 现有软件系统 用户对旧系统的意见 用户对新系统的建议 用户提出的性能要求,信息获取的其它技术:,调研 通过阅读与行业相关的标准或规则、文档,获取需求。 通过市场调查和用户问卷调查,了解目前市场上

4、用户对同类产品的意见和建议。 收集同类产品的用户手册、操作说明、演示版本等,然后对它们进行比较,汲取精华,去其糟粕。,三、可行性研究,经济可行性 技术可行性 法律可行性 开发方案的选择 不要花过多精力,占开发总成本的 5 10 %,1. 经济可行性,没钱赚的事我们不干;有钱赚但投不起钱的事不干;有钱赚也投得起钱但没有可靠的人选,这样的事也不干。 联想集团主席柳传志,资金有无落实 成本 效益分析,成本效益分析,计算机系统的成本 购置并安装软硬件及有关设备的费用 系统开发费用 系统安装、运行和维护费用 人员培训费用 估算成本 实际成本 经济效益 社会效益,货币的时间价值,现存入P元,年利率是i 则

5、n年后: F = P(1+i)n 即:n年后的F元在现在的价值: P = F/(1+i)n,效益估计(Benefit Estimation),例1:假设某软件生命周期为5年。现在投资20万元,平均年利率3%。从第一年起,每年年底收入4.2万元,问该项目是否值得投资?,到第5年底结算时: 投资额 = 200000(1+3%)5 231855(元) 收入 = 42000 (1+3%)4+ (1+3%)3+ (1+3%)2+ (1+3%)+1 222984(元),不合算!,衡量工程价值的经济指标,纯收入 = 折合现价的总收入 - 当前投资额 第6年底可回收42000元,折合现价 投资回收期5 + 0

6、.22 = 5.22(年) life cycle,成本效益分析,例2:开发计算机辅助设计(CAD)系统取代当前的手工设计过程。系统分析员为当前的手工设计系统和CAD目标系统定义对应的可测试特征: T:绘一幅图的平均时间 d:每小时绘图的平均成本 n:每年绘图的数目 r:用CAD系统绘图减少的绘图时间比例 p:用CAD系统绘图的百分比 利用CAD系统绘图每年可节省的经费 B rTndp,4小时/幅 20元/小时 8000幅/年 60% 96000元/年,CAD系统成本效益分析,合算!,2. 技术可行性,风险分析 资源分析 技术分析,技术可行性分析是指对要开发的项目的功能、性能、限制条件进行分析,

7、确定在现有的资源条件下,风险有多大,项目是否能实现。,(1)风险分析,成本估算的准确度(人力、设备、资金周转率) 进度估算的风险 所选的系统配置是最可能有效益的解决方案吗? 能否成功地占领市场?(产品的定位) 技术风险 管理风险 资源风险,软件开发中的资源,人力资源 技术水平、人员数量、专业配置 各阶段对各种人员的需要 硬件资源 宿主机:软件开发阶段使用的计算机和有关外部设备 目标机:运行所开发软件的计算机和有关外部设备 其它硬件设备 软件资源 支持软件:如OS、编译程序、数据库和图形包等 实用软件:促进软件复用,提高开发效率 其它资源,(2)资源分析,资源分析,为开发项目的所有硬、软件资源是

8、否具备?能否按期得到? 生产工具与设备是否有效? 开发人员和管理人员的素质和经验如何? 开发人员是否得到培训? 用户单位的行政管理、工作制度和人员素质能否满足要求 ? 完成系统所花的时间是否能够满足用户的要求?,(3)技术分析,是否具备技术资源? 是否具备开发所有系统元素的技术实力? 现有的技术是否成熟?能否确保功能和性能得到满足? 未成熟技术在系统所要求的时间和设备限制下是否可实现? 能否对这种系统配置进行充分的维护? 与技术相关的风险有哪些?,3. 法律可行性,配置是否会引入违法的责任风险? 责任问题是否明确? 是否存在潜在的破坏问题? 项目是否会侵犯他人、集体或国家的利益?,4. 方案选

9、择,系统分解和实现的方案不唯一 成本分配方案不同 对成本、时间、人员、技术、设备等都有一定的要求 功能和性能方面会有很大差异 折衷手段权衡多种因素,做出决策,越性;采用所建议带来的影响;技术可行性的评价 。 5.所建议系统的经济可行性分析 说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期等。 6.社会因素可行性分析 说明法律因素,对合同责任、侵犯专利权/版权等问题的分析。 7.其他可供选择方案 扼要说明曾考虑过的每一种可选择的系统方案,包括需开发的和可从国内国外直接购买的,并说明它未被选中的理由。 8. 结论意见 在进行可行性研究报告的编制时,必须有一个研究的结论。,可行性研究报告

10、,1. 引言 说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考文献 。 2.可行性研究前提 说明项目的功能、性能和基本用户要求;达到的目标;各种限制条件;进行可行性研究的方法和可行性研究评价的尺度。 3.对现有系统的分析 说明先有系统的处理流程和数据流程;工作负荷;各项费用支出;所需各类专业技术人员和数量;所需各种设备;存在问题或局限性,并且要说明,为什么对现有系统的改进性维护已经不能解决问题。 4.所建议系统的技术可行性分析 所建议系统的简要说明;处理流程和数据流程;与现有系统比较的优,四、软件计划,成本估算 & 工作量估算 工程进度安排,1. 成本 & 工作量估算,参照已

11、经完成的类似项目(代码行估计法) 总成本 = 子项目成本(工作量) 总成本 = 阶段成本 利用经验估算公式(模型) 规模 工作量 IBM模型 COCOMO模型 Putnam,代码行估算(规模),LOC 乐观值a 一般值m 悲观值b,LOC的期望值,(1)行成本估算法,工作量估算,成本估算,成本 = LOC 行平均成本,举例,估算计算机辅助设计(CAD)软件项目 用户界面和控制 二维几何分析 三维几何分析 数据库管理 计算机图形显示 外设控制 设计分析,行成本估算,lc,行平均 成本 ($/loc),平均 生产率 (loc/PM),总成本 = 子项目成本,(2)阶段成本估算法,工作量估算,成本估

12、算,阶段成本 = 阶段工作量 阶段平均成本 总成本 = 阶段成本,总工作量 = 阶段工作量,阶段成本估算,阶段平均成本($/PM),(PM),多种估算方法结果,行成本估算法 工作量:144.5 PM 总成本:$ 656 680 阶段成本估算法 工作量:152.5 PM5% 总成本:$ 708 0757%,2. 软件项目进度安排,两种途径 项目、资源 制定计划、交付日期 从后往前安排 最后期限 妥善处理3个问题 任务、人员、时间分配与进度相协调 工作量分布 任务分解与并行化,(1)任务、人员、时间分配与进度协调,Rayligh曲线分配模式,(2)工作量分布,40-20-40分布原则,软件开发阶段

13、工作量分布状况,(3)任务分解与并行化,充分利用并行处理方式,缩短进度 重视关键任务,合理利用机动时间,15名工人,甘特图(Gantt Chart ),历史悠久、应用广泛的进度计划工具,例如:,15名工人,【做法1 】串行作业,串行 = 12+18+6 = 36 (小时),5人干活,10人空闲! 最低效!,B,A,【做法2 】流水作业,流水 = A + ABCD + D = 2 + 18 + 2 = 22(小时),D,15人干活,无人空闲! 高效!,A,C,一个错误,同一面墙: 刮漆 上漆 清理 对B墙: B B 完成B (B墙刮漆)的时间点 = 2 + 4 = 6 完成A (A墙上漆)的时间

14、点 = 2 + 3 = 5,B,A,A,B,并行 = 23 (小时),优点:简单,容易绘制,能动态地反映开发进展,缺点: 不能显式地描绘各项作业彼此之间的依赖关系。 关键部分不明确。 有潜力部分和潜力的大小不明确。,甘特图的特点,进度安排的任务网络图,显式地反映了任务间的顺序、并行依赖关系,1-2第一面墙刮漆;2-3第二面墙刮漆;2-4第一面墙刷漆;3-5第三面墙刮漆; 4-6第二面墙刷漆;4-7第一面墙清理;5-8第四面墙刮漆;6-8第三面墙刷漆; 7-9第二面墙清理;8-10第四面墙刷漆;9-10第三面墙清理;10-11第四面墙清理;,工程进度安排,重视关键任务,合理利用机动时间,所有前导

15、任务最早完成时间,最迟必须完成此任务的时间,最早启动EST,最迟启动LST,最早完成,最迟完成,机动时间,持续时间LT:完成子任务所需时间,假设进度要求最后期限是23小时 对于任务A (清理A墙): 早启EST = A + A = 2+3 = 5 迟启LST = 23 - ABCD = 23 - 6 = 17 (假设对墙面的处理按照ABCD顺序) 机动时间ST = LST EST = 17 5 = 12 对于任务D (清理D墙): EST = LST = 23 2 = 21 ST = LST EST = 0,机动时间(Slack Time), 关键任务!,21,23,合理利用机动时间,并行 = 23 (小时) 10人干活! 只需甲、乙两个小组! 节省资源,又不影响竣工时间!,1.引言 说明编写本文档的目的;项目背景;本文档用到的专门术语和参考文献。 2.项目概述 说明项目的各项主要工作;说明软件的功能、性能;为完成项目应具备的条件;主要参加人员;应交付的程序名称,所使用的语言及存储形式;应交付的文档;验收标准;完成期限及其他限制条件 3. 实施计划 说明任务的划分,人员划分;说明项目开发进度安排,按阶段应完成的任务,

温馨提示

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

评论

0/150

提交评论