【文档说明】软件工程导论(2)软件计划课件.ppt,共(59)页,255.484 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-44986.html
以下为本文档部分文字说明:
软件工程导论(2)软件计划第二章软件计划所处阶段:软件定义阶段,也是项目论证、准备阶段解决问题:软件问题的性质,软件开发的目标和工作范围,软件是否值得开发实施,软件开发所需的资源,花费的工作量、费用及工作规模,可实施软件开发方案与进度安排等。完成人员:系统分析员和管理决策层问题定义可行性开发计划本
章小结第二章软件计划2.1问题定义2.2可行性研究2.3软件开发计划2.4本章小结问题定义可行性开发计划本章小结2.1问题定义概述问题定义又称系统定义,它为软件计划、软件需求分析提供功能与性能的依据。问题定义可行性开发计划本章小结2.1问题定义软件定义阶段的数据流
图问题定义可行性开发计划本章小结问题定义用户定义软件计划软件功能需求分析资源、费用、进度技术规格硬件功能2.1问题定义主题:“要解决的问题是什么?”内容包括:软件开发的背景,待开发系统的现状,软件开发的理由与条件,开发系统的总体要求,问题的性质,问题求解的范围与类型,最终目标、功能规模以及实现目
标的可能方案、开发的条件、环境要求等。写出问题定义报告(系统定义报告)供可行性分析使用。问题定义可行性开发计划本章小结2.1问题定义步骤:(1)调查、分析系统开发的背景。(2)加工整理资料,完成问题定义报告。问题定义可行性开发计划本章小结2.
1问题定义实例:“某高校学生选课注册系统”的问题定义报告(1)项目:学生学期选课注册系统。(2)背景:在学分制试行过程中,学生选课进行人工注册效率低,容易冲突,任课教师难以获得及时有效的课程选修学生名单。(3)目标:建立一个基于教学管理计算机网络的学生学期选课注册系统。(4)项目范围:硬件主
要利用现有计算机教学管理网络,增配少量专用设备(如读卡机、扫描仪等),软件开发费用预计××××元。问题定义可行性开发计划本章小结2.1问题定义实例:“某高校学生选课注册系统”的问题定义报告(5)初步设想:为学生提供填写选课卡片和计算机网络终端查询对话两种选课方式,教学
管理科能够对选课冲突学生进行随机确定调整,系统主要输出课程注册数据库、学生课程表、课程成绩记载单。(6)可行性研究:由分析员和教学管理科进行,主要对实施方案和学校学生选课管理规程进行研究,建议时间一周。年月日签字:问题定义可行性开发计划本章小结2.2可行性研究2.2.1系统可行性研究的目的2.2
.2系统可行性研究的内容2.2.3系统可行性研究的步骤问题定义可行性开发计划本章小结2.2.1可行性分析的目的通过客观的分析,确定问题是否值得解决,分析系统实现的可能性、成功的可行性、投入产出的可能性,是否有行得通的解决办法和实施方案
。问题定义可行性开发计划本章小结2.2.2可行性分析的内容以最少的投入在最短的时间内,对开发系统作经济可行性、技术可行性、操作可行性和社会(法律)可行性的分析,确定项目开发实施方案与初步计划。问题定义可行性开发计划本章小结2.2.
2可行性分析的内容经济可行性:进行投资估算,分析人员、软硬件支持所需的费用、软件交付后的运行维护成本及效益(经济效益、管理效益、社会效益)。作回收期估算,分析能否做到以最少投入成本得到最佳经济效益。在上述分析基础上
,作出立即投入或推迟投入或不值得开发的选择结论。如果可行,作出开发进度安排。问题定义可行性开发计划本章小结2.2.2可行性分析的内容技术可行性:分析使用现有的技术是否能实现系统?能否解决系统的技术难点?系统对技术人员有什么要求?硬件能否适应系统要
求?系统开发是否与现行系统运行矛盾?系统开发估计进度是否合理?作出技术上是否有实现与成功可能的结论。问题定义可行性开发计划本章小结2.2.2可行性分析的内容操作可行性:分析系统的运行方式、操作规程是否能在用户组织内有效实施。预期的终端操作人员经过适当培训后是否能胜任
系统的操作。在上述分析基础上,作出操作上是否可行的结论。问题定义可行性开发计划本章小结2.2.2可行性分析的内容社会(法律)可行性:分析开发系统是否符合当前社会生产管理经营体制的要求有无涉及到知识产权纠纷、生产安全、与国家法律相违背等问题在上述分析基础上,作
出法律上社会上是否可行的结论。问题定义可行性开发计划本章小结2.2.3可行性分析的步骤(1)定义系统,导出系统的逻辑模型复审问题定义分析现有系统的物理模型(用系统流程图描述)导出系统的逻辑模型(用系统流程图
或数据流图和数据词典描述)问题定义可行性开发计划本章小结系统流程图问题定义可行性开发计划本章小结符号名称说明处理表示人工或计算机程序对数据的加工处理输入/输出广义的不指明具体设备的输入/输出人工操作人工完成的处理人工输入
人工输入数据的脱机处理连接指出同一页上转移到图的另一部分或由图的另一部分转入换页连接指出转到另一页图上或由另一页图转来数据流表示数据的流动方向穿孔卡片表示用穿孔卡片输入/输出,或穿孔文件系统流程图问题定义可行性开发计划本章小结符号名称说明文档打印输出表格或报告,也可以表示输入报告磁带磁带
输入/输出文件,也用于表示顺序文件联机存储表示广义的联机数据库文件,可以是磁带、磁盘、磁鼓、软盘、海量存储器件等海量外存磁盘磁盘输入/输出,或存储在磁盘上的文件或数据库磁鼓磁鼓输入/输出,或存储在磁鼓上的文件或数据库显示CRT终端或类似的显示部件,可用于输入或输
出,也可既输入又输出辅助操作使用设备进行的脱机操作通信链路通过远程通信线路或链路传送数据系统流程图人工处理流程问题定义可行性开发计划本章小结学生选课单教管科收集登记根据课程表和课程教学资源登记确认确认学生产生学生课程表和成绩记载单重新选课发给学生发给教师教师是否系统流程图计算机
处理流程问题定义可行性开发计划本章小结终端选课选课卡片卡片输入选课数据预处理选课注册数据库学生课程表重新选课通知课程成绩记载单选课确认处理教学文件与开课清单2.2.3可行性分析的步骤(2)作可行性分析,找出可实施方案,推荐系统目标逻辑模型评价
所有可能的方案,推荐行动方案根据可行性研究的肯定性结果推荐行动方案,为项目负责人或用户负责人进行决策提供充分的依据问题定义可行性开发计划本章小结2.2.3可行性分析的步骤(3)草拟开发计划,提交可行性报告写出可行性报告草拟开发计划文档提交复审问题定义
可行性开发计划本章小结可行性研究报告大纲引言可行性研究的前提对现有系统的分析所建议系统技术可行性分析所建议系统经济可行性分析社会因素可行性分析其它可供选择的方案结论意见问题定义可行性开发计划本章小结2.3软件开发计划2.3.1
软件范围2.3.2资源计划2.3.3成本估计及成本效益分析2.3.4软件进度安排2.3.5软件计划说明书2.3.6软件计划复审问题定义可行性开发计划本章小结2.3.1软件范围软件范围主要是说明软件特性和界限,为需求分析及各
种估算提供依据。包括以下内容:软件功能规模软件性能接口可靠性要求的具体规定问题定义可行性开发计划本章小结2.3.2资源计划资源计划是分析软件开发所需的资源,说明资源要求、使用资源日程与持续时间。资源包括:人力资源硬件工具软件工具问题定义可行性开发计划本章小结人力资源人力资源是软件
开发最重要的资源。主要包括:技术要求层次数量开始时间持续时间问题定义可行性开发计划本章小结软件开发各阶段人员配备问题定义可行性开发计划本章小结参与项目程度需求分析总体设计详细设计与实现系统测试分析员程序员管理人员硬件资源硬件资源也是软件开发的资源条
件。主要包括:开发系统:开发阶段使用的计算机与设备目标系统:最终运行开发软件的计算机系统其它系统所需硬件,如检测设备、激光照排等问题定义可行性开发计划本章小结软件资源软件资源是用来开发软件的软件。主要包括:支撑软件,如操作系统、编译程序、
数据库系统、支撑软件开发各个阶段的软件工具、特定领域的软件包等应用软件,如各种标准程序库、图形库、汉字库等问题定义可行性开发计划本章小结软件资源选择指定支持软件的原则:该软件是必须的该软件可以显著提高质量,减少开发工作
量期望得到的软件必须做某些修改才能使用时必须慎重问题定义可行性开发计划本章小结2.3.3成本估计及效益分析(1)成本估计:基于代码行的估计方法任务分解估计方法经验统计估算模型自动成本估计技术问题定义可行性开发计划本章小结基于代码行的估计方法标准
值法:优缺点:估算简单,但不易估算准确。问题定义可行性开发计划本章小结设a—分析员给出的程序最小长度b—分析员给出的程序最大长度m—分析员给出的程序最大可能长度则程序期望长度ss=(a+4m+b)/6标准偏差σ=(b-a)/6成本C=每行成本
(元/行)×ss基于代码行的估计方法专家估计法:根据程序长度估算每位专家填写:模块名:XX日期:XX次估计:Li则m个专家的平均值n次估计的平均值成本C=每行成本×优缺点:速度快,但忽略测试调试工作细节
,易偏低。问题定义可行性开发计划本章小结miiLmmL11niimLnL11kiiL1基于代码行的估计方法专家估计法:根据平均每人每天编写源程序行数折算出工作量后估算工作量(人月)每位专家填写:模块名:XX日期:XX次估计:Ei则m个专家的平均值n次估
计的平均值成本C=每人每月成本×(人月)优缺点:速度快,易偏低。问题定义可行性开发计划本章小结miiEmmE11niimEnE11201000每天源程序行数LEkiiE1任务分解估计方法估计步骤:将总任务按照开发阶段分解估计出每个阶
段所需工作量/人月求每个阶段的成本CiCi=估计阶段工作量/人月×每人每月平均工资将每个阶段成本累加求出总成本C=ΣCi问题定义可行性开发计划本章小结任务分解估计方法各开发阶段人力百分比问题定义可行性开发计划本章小结任务百分比可行性研究5需求分析10软件设计2
5编码及单元测试20综合测试40总计100经验统计估算模型通常采用经验公式来预测软件项目计划所需要的成本、工作量和进度数据。用以支持大多数模型的经验都是从有限的一些项目样本中得到的,因此还没有一种估算模型能适用于所有的软件类型和开发环境,从这些模型中
得到的结构必须慎重使用。问题定义可行性开发计划本章小结自动成本估计技术自动成本估计模型问题定义可行性开发计划本章小结开发机构特性项目特性成本模型资源经验差别大小难度限制开发机构要素项目要素设计编码测试成本输入一致性评价敏感性矩阵进度安排数据2.3.3成本估计及效益分
析(2)成本效益分析:经济效益=使用新系统增加的收入+使用新系统节省的运行费用软件开发成本=投入成本运行费用=操作费用+维护费用问题定义可行性开发计划本章小结2.3.3成本估计及效益分析(2)成本效益分析:纯收入
=累计经济效益(贴现值)-投资额纯收入>0开发无风险,不至于亏本纯收入=0不值得投资纯收入<0亏本,得不偿失问题定义可行性开发计划本章小结2.3.3成本估计及效益分析(2)成本效益分析:经济效益问题定义可
行性开发计划本章小结设货币的当前值为P,即投资货币的年利率为rn年的累计利率为(1+r)n则投资的将来值即效益为F=P(1+r)n反之效益F的贴现值P=F/(1+r)n2.3.3成本估计及效益分析(2)成本效益分析:投资回收期t经济效益的贴现值(或累计当前值)达到投资额P(即达到估计开发总
成本+运行维护费用)所需要的时间。t=ti-1+(P-Si-1)/Pii为累计当前值超过投资额的年Pi为第i年效益当前值Si-1为第i-1年的累计效益当前值问题定义可行性开发计划本章小结2.3.3成本估计及效益分析(2)成本效益分析:投资偿还率(投资回收率)j以投资作存款,作为取得的经济效益
,每年取其一部分,直到偿还期,把投资额取完的年利率。方程的解j即为投资偿还率其中,P为现在的投资额,Fi为第i年年底的效益(i=1,2,…,n),n为系统的使用寿命,即偿还期。问题定义可行性开发计划本章小结nnjFjFjFP)1()1(12212.3.3成本
估计及效益分析(2)成本效益分析:实例某软件投资额为3000元,假定每年的效益均为1000.00元,求五年的效益?按年利率12%求每年的当前值?五年的纯收入?投资回收期?五年的投资回收率?问题定义可行性开发计划本章小结2.3.3成本估计及效益分析(2)成本效益分析:解:列表计算如下(将来收入折算
现在值)问题定义可行性开发计划本章小结年效益F累计利率r当前值P累计当前值S11000.001.12892.86892.8621000.001.25800.001692.8631000.001.40714.292407.1541000.001.57636
.943044.0951000.001.76568.183617.27五年纯收入=3617.27-3000.00=617.27元投资回收期t=3+(3000-2407.15)/636.94=3.93年投资回
收率:求解得j=20%5432)1(1000)1(1000)1(1000)1(1000110003000jjjjj2.3.4软件进度安排软件进度安排方式:确定软件交付日期,在限定时间内安排与分配工作量从最佳利用各种资源来分配工作量,交付日期在各
部分安排分析分配之后确定问题定义可行性开发计划本章小结2.3.4软件进度安排进度的表示与安排方法:计划评审技术PERT(ProgramEvaluationandReviewTechnique)关键路径法CPM(CriticalPathMethod)甘特图(Ga
nttChart)时标网络图(TimeScalarNetwork)问题定义可行性开发计划本章小结2.3.4软件进度安排应考虑的问题:软件开发进度与开发人员数量的关系开发进度与人员配备常用40-20-40
规则,即:编码前40%-编码20%-编码后40%软件进度计划制定问题定义可行性开发计划本章小结2.3.5软件计划说明书软件计划说明书是软件计划工作的结果,它是管理软件开发的指导性文件,其阅读对象是软件开发的主管部门、软件技术人员和用户。问题定义可行性开发计
划本章小结2.3.5软件计划说明书内容:软件开发的目标、范围和资源要求软件开发成本与进度软件开发的参与人员和开发模型软件开发确认的总体要求问题定义可行性开发计划本章小结2.3.5软件计划说明书大纲:引言(目的、背景、定义、参考资料)项目概述(工作内容、主要参加人员、产品
、验收标准、完成项目的最后期限、本计划的批准者和批准时间)实施计划(工作任务的分解和人员分工、接口人员、进度、预算、关键问题)支持条件(计算机系统支持、需要用户承担的工作、需要外单位提供的条件)专题计划要点问题定义可行性开发计划本章小结2.3.6软件计划复审软件计划复审主要针对
预算、成本估计、计划安排、进度安排、参加人员保证和开发资源保证,复审应由软件开发人员和用户合作进行,共同评价软件作用范围和基本要求。问题定义可行性开发计划本章小结2.3.6软件计划复审复审内容(管理方面):计划描述的系统
是否满足用户或市场的需要?计划中对资源的描述是否有效?每个系统单元的开发风险是什么?成本与进度要求是否合理?问题定义可行性开发计划本章小结2.3.6软件计划复审复审内容(技术方面):系统的功能复杂性是否与开发风险、成本、进度一致?系统规格说明是否为
后续的开发提供了足够的依据?规格说明中关于系统性能、可靠性、可维护性要求是否恰当?问题定义可行性开发计划本章小结2.4本章小结问题定义可行性研究软件开发计划问题定义可行性开发计划本章小结谢谢!第二章软件计划问题定义可行性开发计划本章小结