已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程,第二章,第2讲 可行性研究与软件计划,2.1 问题定义 2.2 方案设计 2.3 可行性研究 2.4 软件计划 2.5 软件项目计划说明书,2.1 问题定义,进入软件开发阶段之前,必须明确2个问题 软件工程要解决的问题是什么? 所关心的问题有可行的解决方案吗? 要明确这2个问题,必须从更高层的角度出发 不能孤立地、单纯地从软件的角度考虑 应该从计算机系统的角度考虑,计算机系统的开发流程 (1)制定系统总体目标 基于生产和市场需要 基于改善劳动条件、提高产品质量、提高经济效益等方面 适应技术进步、提高社会效益等方面 (2)初步可行性论证 条件是否具备 成功的可能性有多大 从技术进步、社会效益、经济效益看是否值得,(3)系统定义和分析 依据系统总目标,定义系统的详细目标、功能、性能、界面、资源 确定系统与环境的界面 确定硬件、软件功能的合理分担 进行多种方案设计 对方案进行可行性论证 制定开发进度计划和投资计划,任何一个系统均可能存在多种解决方案,而每种方案在实现思想,技术路线,造价等方面均有所不同,因此需要对可能的方案进行全面分析。 基本步骤包括: 确定候选方案 分析候选方案 从技术、经济性、时间开销性等角度 比较候选方案,2.2 方案设计,方案: 对未来系统实现的整体设计与考虑,包括: 开发方式 软件配置规划 硬件与网络规划 流程规划 功能规划 实现技术 例如:总公司与分公司之间的信息交换(基于网络实时交换,MQ),确定候选方案,分析候选方案,2.3 可行性研究,2.3.1 可行性研究的目的和内容 可行性研究的目的 用最小的代价,在尽可能短的时间内,确定该软件项目是否能够开发,是否值得开发。 不是开发一个软件,而是研究这个项目是否值得去开发,是否有能力解决它。 可行性研究主要包括四个方面 经济可行性 技术可行性 运行可行性 法律可行性,(1)经济可行性 进行开发成本的估算和可能取得效益的评估,确定待开发的项目是否值得投资开发。 (2)技术可行性 基本任务:进行技术风险评价。从开发者的技术实力、以往工作基础、问题的复杂性等出发,判断系统开发在时间、费用等限制条件下成功的可能性。技术可行性研究包括: 开发的风险 资源的有效性 技术发展的支持,(3)运行可行性 考虑待开发软件的运行方式在用户组织内是否行得通? 现有管理制度、人员素质、操作方式是否可行? 与原有的系统是否有冲突? (4)法律可行性 合同责任 探讨系统开发可能导致的任何侵权、破坏和其它责任。,2.3.2 成本/效益分析 目的:通过估计开发新系统所需的成本和新系统可能产生的效益,以便从经济上衡量项目的开发价值。 系统成本,包括: (1) 开发成本 (2) 运行维护成本 系统效益,包括: (1) 经济效益(有形效益):可按货币的当前值计算 (2) 社会效益(无形效益),货币时间价值 “今天的一元钱比一年后的一元钱更值钱” 设年利率为i,如果现存入P元,则n年后可以得到的钱数为F(效益)=P(1+i)n 。反之,如果n年后能收入F元钱,那么这些钱的现在值是P=F/(1+i)n 。 投资回收分析 例 某计算机系统投入使用后,5年内每年可节约人民币10000元。假设系统的投资额为30000元,系统运行寿命为5年。试计算其效益。 解 表面上看,5年共节约100005=50000元,扣除投资30000元,可产生纯收入20000元,其实不然。因为这50000元要分5年产生,每年年底为10000元,若按年利率12%计算,则折合到当前值可见下表。 纯收入=累计的当前值(5年)-系统投资额 =36172.7-30000=6172.7元,2.3.2.1 效益分析,每年效益折算的当前值,投资回收期收回投资年之前的年数收回投资年当年收回投资额当年的效益(折算成当前值) 3(年)(3000024071.5)6369.4 3.93 年 投资回收率r20%,其中r 可从下列方程中算得: P=F1/(1+r)+F2/(1+r)2 + + Fn/(1+r)n,当前投资额,第n年年底的效益,投资回收率,2.3.2.2 成本估计 软件成本估计的困难 软件度量方面的困难 软件的复杂度 软件生产率估算的困难 各阶段历史数据的收集与统计 软件生产率是一个平均量 软件生产率影响因素给软件估算带来的困难 影响软件生产率的因素是多种多样的,(1)成本估计基础,估算的前提是系统的规模可通过功能点、复杂度或代码行等技术确定; 项目的功能点数是几个测量参数(用户输入数、用户输出数、用户查询数、文件数、外部接口数)的功能点之和。 估算的范围包括软件生命周期的各阶段 如果有类似项目的开发经验(即历史基线完备),则生产率等数据可直接使用这些数据; 如果没有类似项目的开发经验,则生产率等数据可由历史基线的平均值得出,或者用专家问卷的方法(即Delphi法)得到;,(2)软件成本估计基本方法 自顶向下 依据以前的项目总成本-推算本项目的总成本-按比例分配到各任务中去-检验是否满足要求 差别估计 与以前已完成的项目类比,从其开发的各个子任务中区分出类似和不同的2部分,然后对类似的和不同的部分分别进行计算和估算。 自底向上 先把软件进行细分,直到每个子任务都已明确所需要的开发工作量,然后求出总的工作量。,(3)软件成本估计的计量单位 源代码行(LOC、KLOC) 劳动量:表示一个人参加劳动时间的长短。 人月PM(Person Month)、人年PY、人日PD 软件生产率:表示单位劳动量所能完成软件的数量,一般指开发全过程的一个平均值。 LOC/PM 工作量:是对完成一项任务所需劳动量的计量单位。 人月/每个项目 或 人月/每行代码(PM/LOC) 在许多估算模型中用E(人月)表示工作量 成本率:不同地区、不同阶段的工作,其成本率有所不同。通常可用元/LOC、元/KLOC、元/人月等表示。,(4)软件成本估计模型 (一)静态单变量模型,其中资源可以是: 开发工作量(E) Effort 单位:人月 开发时间(T) Time 单位:月 开发人数(P) Person 单位:人 C1 、 C2 :依赖于开发环境和应用领域的2个常数。可从历史数据导出。 估计的软件特征:可以是源程序长度L(千行)、工作量E(人月)等。,例如 C.Walston和C.Felix在1973-1977的3-5年间收集和分析了60个不同性质的软件(4000-467000行,12-11758人月,28种语言),得出一组经验方程: E=5.2L0.91 T=4.1L0.36 T=2.4E0.35 P=0.54E0.6 DOC=49L1.01 其中L (千行)作为估计特征。DOC为文档页长。,其中 L源程序长度(行) T开发时间(年) K软件开发与维护在内的所花费的工作量(人年),对于大型软件而言,K为开发工作量E的2.5倍即E=0.4K C开发环境状况,是1个常数。 典型值:优良12500,好10000,不好6500 一般认为,该模型适用于规模在10万行的软件。,(4)软件成本估计模型 (二)动态多变量模型(Putnam),步骤 首先确定程序类型和相应的标准生产率 程序设计语言;处理方式;程序难易程度;技术人员水平;开发范围 估计程序规模:请有经验的软件人员估计 程序最小规模的平均值a 程序最大规模的平均值b 程序最可能规模的平均值m 程序长度= (a+4m+b)/6,(4)软件成本估计模型 (三)标准值法,使用系数修正法,估算开发工作量 工作量=修正系数程序长度/标准生产率 修正系数反映其他因素对开发工作量的影响,包括4大类(共30项条款): 目标系统情况 项目管理和人员组成情况 用户情况 开发环境情况 确定修正系数 修正系数=1+0.1n,其中n为符合影响条款的数目。,案例: 代码行估算 (1/5),软件描述(CAD软件) CAD图形软件可接受来自用户的二维和三维几何数据,用户通过界面与CAD软件进行交互,并控制它,该软件具有良好的人机界面设计的特征。所有的几何数据及其支持信息存放在数据库中。开发设计分析模块,以产生所需的输出,这些输出将显示在各种不同的图形化设备上。软件在设计中要考虑与外设进行交互并控制它们,包括鼠标、数字化仪、打印机等等。,案例: 代码行估算 (2/5),软件子系统划分 图形用户界面及其控制机制 二维几何分析 三维几何分析 数据库管理 图形显示 外设控制(与打印机、数字化仪、扫描仪的接口) 设计分析子系统,案例: 代码行估算 (3/5),估算出各个子系统的代码行,例如三维几何分析功能的代码行估算范围为: 乐观值:4 600 可能值:6 900 悲观值:8 600 估算值: e = (a + 4m + b)/6 = 6 800,案例: 代码行估算 (4/4),案例: 代码行估算 (5/5),历史数据 平均生产率PM: 620 LOC/PM(620行代码/人月) 每个人月的成本 C = 8000¥ 估算项目成本和工作量 估算工作量 = 总代码行/PM= 33200/620=54人月 估算成本 = 估算工作量 每个人月的成本 = 54人月 8000 = 43 2000¥,(4)软件成本估计模型 (四)COCOMO模型-构造性成本模型,E=C1KLOCaEAF 其中 E为开发工作量 C1为模型系数 a为模型指数 EAF为15项成本调节因子之积:,COCOMO模型的特点 在静态单变量模型的基础上,作了2个方面的改进: (1)按软件的应用领域和复杂程度,分为组织型、半独立型、嵌入型3种类型;每类分别使用一组不同的模型方程。,(2) 模型中增加一个工作量调节因子EAF, 反映各种相关因素对软件开发的影响。,基于COCOMO模型的工具-Costar 6.0,2.3.3 可行性研究报告的基本内容 1 引言 编写目的、背景、专门术语定义、参考资料等。 2 可行性研究的前题 说明对所建议的开发项目进行可行性研究的前题,如要求、目标、假定、限制等;可行性研究的方法;评价尺度等。 3 对现有系统的分析 分析现有系统(指当前实际使用的系统,可能是计算机系统/机械系统/人工系统)的目的,是为了进一步阐明建议中的开发新系统或修改现有系统的必要性。从处理流程、数据流程、工作负荷、费用开支、人员、设备、局限性等方面分析说明。 4 所建议的系统 说明所建议系统的目标和要求将如何被满足。对所建议系统的说明、处理流程和数据流程、改进之处、影响、局限性、技术条件方面的可行性。,可行性研究报告的基本内容(续) 5 可选择的其他系统方案 扼要说明曾考虑过的每一种可选择的系统方案。 6 投资及效益分析 支出、收益、收益/投资比、投资回收周期。 7 社会因素方面的可行性 法律方面的可行性;使用方面的可行性。 8 结论 在进行可行性研究报告的编制时,必须有一个研究的结论。结论可以是: 可以立即开始进行; 需要推迟到某些条件(例如资金、人力、设备等)落实之后才能开始进行; 需要对开发目标进行某些修改之后才能开始进行; 不能进行或不必进行(例如因技术不成熟、经济上不合算等)。,2.4 软件计划,2.4.1 软件计划的目标、任务、结束标志 何时进行软件计划 当弄清楚问题的定义、问题的目标和规模、问题的解决方案及其可行性之后,就可以进行软件计划的描述了。 软件计划的目标 为项目管理人员、开发人员和用户提供一个对资源、成本、进度做出合理估算和安排的框架,以便管理者有效地组织、实施和管理该项目计划,保证软件项目开发成功。 软件计划工作结束的标志 提供一份软件项目计划说明书,2.4.2 软件计划的主要内容 包括: 硬件资源 软件资源 人力资源 更为详细的成本计划 利用前述成本估计方法和模型对各开发阶段任务和功能所需成本进行更为详细的估计 进度计划,制定软件项目计划的基础和依据,定义软件开发过程(及其细化) 要完成的工作 约束和限制条件 人员 资源 进度,指导进度计划的基本原则 活动和任务的划分 相互依赖性 时间分配 为每个被调度的任务分配一定数量的工作单位(若干人天的工作量 )。此外,必须为每个任务指定开始和结束日期。 工作量确认 确保在任意时段中分配给任务的人员数量不会超过项目组中的人员数量。,定义责任 每个被调度的任务都应该指定某个特定的小组成员来负责 定义结果,活动和任务的划分,2.4.4 进度安排的表示甘特图(Gantt Chart) 用水平线段表示任务 线段的起点和终点分别对应着任务的开工时间和完成时间 线段的长度表示完成任务所需要的时间 优点: 标明了各任务的计划进度和当前进度,能动态地反映软件开发进展情况。每个任务还可以进一步细分,形成一个子图。 缺点: 难以反映多个任务之间存在的复杂的逻辑关系。,某系统甘特图示,2.4.4 进度安排-PERT和CPM技术,单代号任务网络图,总体设计,需求确认,需求获取,系统测试,集成测试,编码,详细设计,计划评审,项目规划,1,2,3,6,9,8,7,5,4,双代号任务网络图,2,5,1,1,4,6,15,7,3,关键路径分析法(CPM) 关键路径 找出项目关键路径的意义在于,关键路径上的所有活动在项目中持续时间最长。如果要压缩整个项目的执行时间,那么,就必须首先缩短关键路径上某个活动的持续时间。 关键结点 通过计算每个活动的最早开工时间和最晚开工时间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工作安排与休息制度
- 屋面平改坡施工方案
- 唾液诊断护理查房
- 类风湿关节炎的中医中药调理
- 浅Ⅱ度烧伤的磺胺嘧啶银乳膏
- 2026商洛市辅警招聘考试题库及答案
- 2026三明市护士招聘考试题库及答案
- 2026年江西南昌市高三二模高考语文试卷试题(含答案详解)
- 用户体验改善计划制定准则
- 2026年幼儿园树叶画
- 2021安装工程消耗量第六册自动化控制仪表安装工程
- 2025云南烟草产业市场发展趋势分析投资现状调研规划分析研究报告
- 《建设强大国内市场 加快构建新发展格局》课件
- 车间使用空调管理制度
- 橡胶研发技术面试技巧集
- 酒店防偷拍培训
- 2025年水利工程质量检测员考试题库及答案(云南省)
- 办公室照明灯具安装施工方案
- 钻探施工合同模板及注意事项
- 2021-2025年高考化学真题知识点分类汇编之物质结构与性质(解答大题)(二)
- 2025年兽医实验室理论考试题库带答案详解(能力提升)
评论
0/150
提交评论