1、软件工程软件工程软件工程刘迎春刘迎春软件工程2022-10-11第二章第二章 项目计划项目计划问题定义问题定义可行性研究可行性研究可行否?可行否?否否是是终止项目终止项目.计划计划时期时期开发开发时期时期主要内容主要内容2.1 问题定义问题定义2.2 可行性研究可行性研究2.3 系统流程图系统流程图2022-10-122.1 问题定义问题定义【目的】【目的】明确用户要计算机解决的问题明确用户要计算机解决的问题是什么是什么。【任务】【任务】确定确定问题的背景问题的背景、待开发系统的目标待开发系统的目标和和范围范围。【方式】【方式】口头形式了解用户的要求;口头形式了解用户的要求;阅读用户提供的相关
2、资料;阅读用户提供的相关资料;形成调查提纲,要求用户填写。形成调查提纲,要求用户填写。【成果】【成果】软件开发任务书软件开发任务书系统分析员系统分析员要抓住问题的本质要抓住问题的本质2022-10-132.1 问题定义问题定义软件开发任务书软件开发任务书内容:内容:项目名称项目名称开发背景开发背景项目目标项目目标用户对新系统的主要目标;用户对新系统的主要目标;项目范围项目范围功能、性能、输入功能、性能、输入/输出;输出;与本系统相连的其他系统;与本系统相连的其他系统;费用,时间费用,时间初步想法初步想法在用户提出的需求的基础上,分析人员考虑可以实在用户提出的需求的基础上,分析人员考虑可以实现的
3、其他功能现的其他功能提出可行性研究的计划提出可行性研究的计划人力与设备费用的减少;人力与设备费用的减少;处理速度的提高;处理速度的提高;控制精度或生产能力的提高;控制精度或生产能力的提高;管理信息服务的改进;管理信息服务的改进;自动决策系统的改进;自动决策系统的改进;人员利用率的改进。人员利用率的改进。2022-10-142.1 问题定义问题定义【例【例1】教材科开发一个教材销售系统。】教材科开发一个教材销售系统。项目名称:项目名称:教材销售系统教材销售系统开发背景:开发背景:人工发售教材手续繁琐,且易出错。人工发售教材手续繁琐,且易出错。项目目标:项目目标:建立一个高效率、无差错的微机教材销
4、售系统。建立一个高效率、无差错的微机教材销售系统。项目范围项目范围利用现有利用现有PC软件开发费用不超过软件开发费用不超过.,完成时间,完成时间初步想法:初步想法:建议在系统中增加建议在系统中增加采购功能采购功能、对缺书的统计对缺书的统计提出可行性研究的计划提出可行性研究的计划建议进行大约建议进行大约2天的可行性研究天的可行性研究是否需要购置服务器?是否需要购置服务器?单机?单机?C/S?B/S?2022-10-152.1 问题定义问题定义【例【例2】开发一个传送带分类系统的软件开发一个传送带分类系统的软件(CLSS)问题描述:问题描述:16ID121ID110ID111ID1002345传送
5、带移动方向传送带移动方向(2米米/秒秒)条形码条形码分类站分类站分流器分流器2022-10-162.1 问题定义问题定义【例【例2】开发一个传送带分类系统的软件开发一个传送带分类系统的软件(CLSS)项目范围项目范围软件功能软件功能读取条形码输入读取条形码输入CLSS软件软件以和传送带以和传送带速度一致的时间间隔接受速度一致的时间间隔接受来来自条形码阅读器的自条形码阅读器的信息信息。解码零件数据解码零件数据条形码数据被解码成盒子的标识格式。条形码数据被解码成盒子的标识格式。检索数据库检索数据库软件可在软件可在最多可容纳最多可容纳1000个条目的零件号数据库个条目的零件号数据库中中进行检索,以确
6、定当前在分类站位置的盒子应该放进行检索,以确定当前在分类站位置的盒子应该放到哪个箱子中。到哪个箱子中。2022-10-172.1 问题定义问题定义【例【例2】开发一个传送带分类系统的软件开发一个传送带分类系统的软件(CLSS)项目范围项目范围软件功能软件功能读取条形码输入读取条形码输入解码零件数据解码零件数据检索数据库检索数据库确定合适的箱子确定合适的箱子箱子的信息被送到分流器,以把盒子放进合适的箱箱子的信息被送到分流器,以把盒子放进合适的箱子中。子中。维护盒子目的地的记录维护盒子目的地的记录每一个盒子所放进的箱子的记录均被保存起来一供每一个盒子所放进的箱子的记录均被保存起来一供以后提取及报告
7、。以后提取及报告。2022-10-182.1 问题定义问题定义【例【例2】开发一个传送带分类系统的软件开发一个传送带分类系统的软件(CLSS)项目范围项目范围软件性能软件性能每个盒子的处理必须在下一个盒子到达条形码阅读每个盒子的处理必须在下一个盒子到达条形码阅读器之前完成。前提:器之前完成。前提:传送带的传送带的速度速度=2m/s,且,且盒子等间距盒子等间距连接零件号数据库的网络必须畅通连接零件号数据库的网络必须畅通项目范围项目范围外部接口外部接口运行软件的运行软件的设备设备、由软件控制的、由软件控制的设备设备PC、条形码阅读器、分流器、条形码阅读器、分流器已存在、且必须与新软件连接的已存在、
8、且必须与新软件连接的软件软件销售软件销售软件和和分类软件分类软件配合,制作已经发货的列表配合,制作已经发货的列表通过键盘或其他通过键盘或其他I/O设备使用软件的设备使用软件的人人2022-10-192.2 可行性研究可行性研究一个项目并非一定可行一个项目并非一定可行足够了,别再研足够了,别再研究了,开始吧!究了,开始吧!失败!?失败!?几年后几年后.2022-10-1102.2 可行性研究可行性研究遇到挑战遇到挑战(完成了,但超时或超支)完成了,但超时或超支)成功成功 失败失败基于基于23,000多个项目统计多个项目统计一个项目并非一定可行一个项目并非一定可行2022-10-1112.2 可行
9、性研究可行性研究【目的】【目的】在最短的时间内,花费最小的代价,确定定义的在最短的时间内,花费最小的代价,确定定义的项目是不是项目是不是可能实现可能实现和和值得开发值得开发。【任务】【任务】经济可行性经济可行性技术可行性技术可行性运行可行性运行可行性法律可行性法律可行性可能实现可能实现值得开发值得开发2022-10-1122.2 可行性研究可行性研究经济可行性经济可行性【任务】【任务】市场需求;市场需求;市场盈利模式,多长时间可以回收成本?市场盈利模式,多长时间可以回收成本?评估项目的开发成本;评估项目的开发成本;项目成功后,用户能得到什么好处?项目成功后,用户能得到什么好处?【方法】【方法】
10、费用估计费用估计效益估计效益估计成本效益分析成本效益分析产品软件产品软件项目软件项目软件2022-10-1132.2 可行性研究可行性研究经济可行性经济可行性【费用估计】费用估计】设备设备计算机硬件、空调、电源、机房及其它设施;计算机硬件、空调、电源、机房及其它设施;系统软件,系统软件,DBMS,各种应用软件,各种应用软件(包括软件包包括软件包)的的估算;估算;人力人力管理人员、研制人员、数据录人员、维护人员的工管理人员、研制人员、数据录人员、维护人员的工资、奖金以及他们的培训费用;资、奖金以及他们的培训费用;差旅费用。差旅费用。日常开销日常开销水、电、打印纸等易耗物品及设备的维修费用。水、电
11、、打印纸等易耗物品及设备的维修费用。评审费用评审费用2022-10-1142.2 可行性研究可行性研究经济可行性经济可行性【费用估计】费用估计】软件开发价格软件开发价格 开发工作量开发工作量 开发费用人开发费用人月月 开发工作量开发工作量 A 估算工作量经验值估算工作量经验值A人人月月 风险系数风险系数:1-1.5 软件企业对项目的业务领域不熟悉或不太熟悉软件企业对项目的业务领域不熟悉或不太熟悉用户又无法或不能完整明白地表达他们真实的需求,从而用户又无法或不能完整明白地表达他们真实的需求,从而造成软件企业需要不断地完善需求获取,修改设计等各项造成软件企业需要不断地完善需求获取,修改设计等各项工
12、作工作 复用系数复用系数:0.25-1软件企业建立起能够复用的构件库(核心资产库);软件企业建立起能够复用的构件库(核心资产库);已有一些软件产品,仅作二次开发;已有一些软件产品,仅作二次开发;从而使软件开发工作量减少;从而使软件开发工作量减少;2022-10-1152.2 可行性研究可行性研究经济可行性经济可行性【费用估计】费用估计】软件开发价格软件开发价格 开发工作量开发工作量 开发费用人开发费用人月月 开发费用人开发费用人月月(PQR)S TP(人头费)(人头费)员工工资、奖金和国家规定的各项按人计算的费用员工工资、奖金和国家规定的各项按人计算的费用国家规定的公积金国家规定的公积金 7%
13、,医疗保险金,医疗保险金12%,养老金,养老金22%,失业金,失业金 2%工伤保证金工伤保证金0.5%,生育保证金,生育保证金0.5%,残疾基金,残疾基金1.6%,工会基金工会基金2%P B 1.476B:平均工资平均工资2022-10-1162.2 可行性研究可行性研究经济可行性经济可行性【费用估计】费用估计】软件开发价格软件开发价格 开发工作量开发工作量 开发费用人开发费用人月月 B:平均工资平均工资开发费用人开发费用人月月(PQR)S TQ(办公费)(办公费)办公房屋租赁费和物业管理费、通信费、办公消耗办公房屋租赁费和物业管理费、通信费、办公消耗品、水电空调费、设备折旧、差旅费;品、水电
14、空调费、设备折旧、差旅费;企业对员工的在职培训所支付的费用企业对员工的在职培训所支付的费用 Q B3R(国家税收和企业利润)(国家税收和企业利润)国家实施发展软件产业的优惠政策国家实施发展软件产业的优惠政策R B3 2022-10-1172.2 可行性研究可行性研究经济可行性经济可行性【费用估计】费用估计】软件开发价格软件开发价格 开发工作量开发工作量 开发费用人开发费用人月月 B:平均工资平均工资发费用人发费用人月月(PQR)S TS(管理系数)(管理系数)按每十个软件人员配备两个管理人员即管理成本按每十个软件人员配备两个管理人员即管理成本 1 S 1.2T(优质系数)(优质系数)提高软件质
15、量,必然有所开支,即质量成本提高软件质量,必然有所开支,即质量成本 ISO9000质量体系认证、质量体系认证、CMMI的认证来确定的认证来确定取值取值1.05、1.1、1.15、1.2 http:/ 可行性研究可行性研究经济可行性经济可行性【效益估计】效益估计】新软件新软件提供哪些以前不能做或难以做到的工作提供哪些以前不能做或难以做到的工作;提供信息的提供信息的速度速度、精度精度、质量质量有什么有什么提高提高;使用新系统使用新系统增加的收入增加的收入、节省的运行费节省的运行费。如:如:本系统可以高速、准确地处理和提供管理工作所需的各类统计报表和分析报告,避免工作过程中可能出现的文件丢失、计算失
16、误、文件流程多、审阅慢、报表报告格式不规整、存档管理复杂等情况.可以减轻基层工作人员大量繁琐的书写、计算工作,节约管理成本,提供有关工程的准确全面细致的决策信息,促使管理人员决策科学化,管理水平上新台阶.估计每年可以节省管理费用万元.2022-10-1192.2 可行性研究可行性研究经济可行性经济可行性【成本成本效益分析】效益分析】资金的时间价值计算公式:资金的时间价值计算公式:FP(1i)N其中:其中:F:投资的将来值;:投资的将来值;P:投资的现在值;:投资的现在值;i:利率;:利率;N:年数;:年数;把把5000元存入银行元存入银行3年年(利率利率0.12),3年后的价值为年后的价值为F
17、=5000(1+0.12)3=7024.64要在要在3年底获得年底获得5000元的收入,现在要投资为元的收入,现在要投资为P=F/(1+i)N=5000/(1+0.12)3=3558.902022-10-1202.2 可行性研究可行性研究经济可行性经济可行性【成本成本效益分析】效益分析】【例【例3】某系统投入使用后,某系统投入使用后,5年内每年节约人民年内每年节约人民币币1000元,其投资元,其投资3000元,试计算其效益。元,试计算其效益。年利年利率率12%年年效益效益利率利率当前值当前值累计当前值累计当前值110001.12892.86892.86210001.25800.001692.8
18、6310001.40 714.292407.15410001.57636.943044.09510001.76568.183612.27投资回收率投资回收率=(3612.27-3000)/3000=20%2022-10-1212.2 可行性研究可行性研究技术可行性技术可行性【任务】【任务】根据客户提出的系统根据客户提出的系统功能功能、性能性能及实现系统的及实现系统的各约束条件各约束条件,从从技术角度研究实现系统的可行性技术角度研究实现系统的可行性。【方法】【方法】资源分析资源分析管理人员和各类专业技术人员;管理人员和各类专业技术人员;是否具备必需的是否具备必需的软件软件、硬件资源硬件资源和和工
19、作环境工作环境等。等。开发人员是否对开发人员是否对术语术语、缩写缩写、开发模式开发模式有有一致的理解一致的理解;人员是否进行了人员是否进行了必要的培训必要的培训;技术分析技术分析现有的技术能否实现这一新系统?现有的技术能否实现这一新系统?有哪些有哪些技术难点技术难点?建议采用的建议采用的技术先进程度技术先进程度怎样?怎样?2022-10-1222.2 可行性研究可行性研究运行可行性运行可行性新系统的运行方式用户可以接受吗?新系统的运行方式用户可以接受吗?体制的改变;体制的改变;人员的变动;人员的变动;.2022-10-1232.2 可行性研究可行性研究法律可行性法律可行性确定由于开发软件项目确
20、定由于开发软件项目是否会侵犯他人、集体或是否会侵犯他人、集体或国家的利益国家的利益,是否会违反国家的法律是否会违反国家的法律。法律方面的问题类型多样:法律方面的问题类型多样:1、操作系统、开发工具、操作系统、开发工具侵犯版权侵犯版权2、软件所使用的技术、软件所使用的技术侵犯技术专利侵犯技术专利3、造成生产安全问题造成生产安全问题典型软件:典型软件:灰鸽子、熊猫烧香;灰鸽子、熊猫烧香;ATM软件造成银行客户损失;软件造成银行客户损失;0808年年4 4月月4 4日,美国圣地亚哥地区法院陪审团做出一项裁日,美国圣地亚哥地区法院陪审团做出一项裁决,命令微软因侵犯两项技术专利向阿尔卡特决,命令微软因侵
21、犯两项技术专利向阿尔卡特-朗讯支朗讯支付付3.6743.674亿美元损失费。微软表示要对这个裁决提出上亿美元损失费。微软表示要对这个裁决提出上诉。诉。1 1、微软平板电脑操作系统中的手写识别技术侵犯了阿、微软平板电脑操作系统中的手写识别技术侵犯了阿尔卡特尔卡特-朗讯的朗讯的字体识别技术专利字体识别技术专利;2 2、微软的、微软的OutlookOutlook电子邮件程序和电子邮件程序和WindowsMobileWindowsMobile操作操作系统软件等一些软件在用户从系统软件等一些软件在用户从菜单中选择日历日期菜单中选择日历日期方面方面也侵犯了阿尔卡特也侵犯了阿尔卡特-朗讯的技术专利。朗讯的技
22、术专利。2022-10-1242.2 可行性研究可行性研究【目的】【目的】在最短的时间内,花费最小的代价,确定定义的在最短的时间内,花费最小的代价,确定定义的项目是不是项目是不是可能实现可能实现和和值得开发值得开发。【任务】【任务】经济可行性经济可行性技术可行性技术可行性运行可行性运行可行性法律可行性法律可行性【名词解释】【名词解释】当前系统当前系统用户正在使用的系统;用户正在使用的系统;目标系统目标系统最终实现的系统;最终实现的系统;【工具】【工具】系统流程图系统流程图2022-10-1252.2 可行性研究可行性研究【步骤】【步骤】复查问题定义复查问题定义建立当前系统的系统流程图建立当前系
23、统的系统流程图设想目标系统的系统流程图设想目标系统的系统流程图问题问题定义定义导出几种方案,进行可行性论证导出几种方案,进行可行性论证解决方案解决方案1.解决方案解决方案n可行性研究报告可行性研究报告项目计划项目计划经济可行性经济可行性技术可行性技术可行性运行可行性运行可行性法律可行性法律可行性2022-10-1262.3 系统流程图系统流程图处理处理连接线连接线文档文档磁盘磁盘人工输入人工输入人工操作人工操作磁带磁带终端、终端、PC判断判断2022-10-1272.3 系统流程图系统流程图【作用】【作用】描述系统物理模型描述系统物理模型【基本思想】【基本思想】图形符号以图形符号以黑盒子黑盒子
24、的形式描绘系统里面的的形式描绘系统里面的每个部每个部件件2022-10-1282.3 系统流程图系统流程图【例【例4】教材销售系统。】教材销售系统。售书过程:售书过程:学生学生找系办公室的找系办公室的张秘书张秘书开一个开一个购书单购书单;凭购书单找教材科的凭购书单找教材科的王会计王会计开开购书发票购书发票;向向李出纳员李出纳员交书费开交书费开领书单领书单;学生拿着领书单到书库找学生拿着领书单到书库找赵保管员赵保管员领领书书。2022-10-1292.3 系统流程图系统流程图【作用】【作用】表达表达信息信息在系统各在系统各部件部件之间的之间的流动情况流动情况。【基本思想】【基本思想】图形符号以图
25、形符号以黑盒子黑盒子的形式描绘系统里面的的形式描绘系统里面的每个部每个部件件如:如:钱钱、书书、成绩单成绩单、发票发票.收款收款、发放教材发放教材(人工处理人工处理)程序程序、数据库数据库【注意】【注意】系统流程图系统流程图不是对信息进行加工处理的不是对信息进行加工处理的控制过程控制过程。2022-10-1302.3 系统流程图系统流程图【例【例4】教材销售系统。】教材销售系统。售书过程:售书过程:学生学生找系办公室的找系办公室的张秘书张秘书开一个开一个购书单购书单;凭购书单找教材科的凭购书单找教材科的王会计王会计开开购书发票购书发票;向向李出纳员李出纳员交书费开交书费开领书单领书单;学生拿着
26、领书单到书库找学生拿着领书单到书库找赵保管员赵保管员领领书书。开购书开购书证明证明购书单购书单开购书开购书发票发票发票发票收书费收书费领书单领书单发书发书当前系统流程图当前系统流程图书书2022-10-1312.3 系统流程图系统流程图【例【例4】教材销售系统。】教材销售系统。目标系统流程图目标系统流程图购书单购书单输入输入购书单购书单审查审查并开发票并开发票各班学生用书表各班学生用书表教材存量表教材存量表发票发票收书费收书费领书单领书单开领书单开领书单售出登记售出登记发票收讫发票收讫2022-10-1322.3 系统流程图系统流程图【小结】【小结】1、每个符号用、每个符号用黑盒子黑盒子的形式
27、定义了组成系统的每的形式定义了组成系统的每一个部件。一个部件。没有指明每个部件的具体工作过程没有指明每个部件的具体工作过程。2、系统流程图表达的是、系统流程图表达的是信息信息在系统各部件之间的在系统各部件之间的流动情况流动情况,不是对信息进行加工处理的控制过程。不是对信息进行加工处理的控制过程。2022-10-1332.4 可行性论证报告的主要方面可行性论证报告的主要方面一、系统概述一、系统概述对当前系统及其问题的简单描述对当前系统及其问题的简单描述新的目标系统和它的各个子系统的功能和性能新的目标系统和它的各个子系统的功能和性能新系统与当前系统的比较新系统与当前系统的比较二、可行性分析二、可行
28、性分析1、可选择的系统方案、可选择的系统方案1 1经济可行性经济可行性技术可行性技术可行性运行可行性运行可行性法律可行性法律可行性2、可选择的系统方案、可选择的系统方案2 2三、综合意见三、综合意见新系统是否可行新系统是否可行四、项目计划四、项目计划2022-10-134回顾:软件生命周期回顾:软件生命周期客户客户订购订购问题定义问题定义可行性研究可行性研究1.问题定义问题定义确定要开发软件系统的总目标确定要开发软件系统的总目标给出功能、性能、可靠性以及接口等方面的要求给出功能、性能、可靠性以及接口等方面的要求2.可行性研究可行性研究估计可利用的资源估计可利用的资源(计算机硬件,软件,人力等计
29、算机硬件,软件,人力等)、成本、成本、效益、开发进度,编制效益、开发进度,编制可行性研究报告可行性研究报告制定完成开发任务的制定完成开发任务的解决方案解决方案和和实施计划实施计划可行性研究可行性研究报告报告项目计划项目计划2022-10-135项目计划项目计划制定计划的过程就是一个制定计划的过程就是一个逐渐了逐渐了解掌握项目解掌握项目的过程的过程制定计划的过程,也是在制定计划的过程,也是在进度进度、资源资源、质量、范围质量、范围之间之间寻求一种寻求一种平衡平衡的过程。的过程。制定计划的精髓不在于写出一份制定计划的精髓不在于写出一份好看的文档,而在于运用智慧去好看的文档,而在于运用智慧去应对各种
30、问题和面临风险应对各种问题和面临风险并尽可并尽可能能做出前瞻性的思考做出前瞻性的思考计划被负责任地完成,帮助在项计划被负责任地完成,帮助在项目过程中目过程中防范各种问题的出现防范各种问题的出现,帮助保证项目按时完成帮助保证项目按时完成。项项目目计计划划项目范围项目范围风险对策计划风险对策计划进度计划进度计划质量计划质量计划资源计划资源计划沟通计划沟通计划采购计划采购计划变更控制变更控制配置管理计划配置管理计划2022-10-136第二章第二章 项目计划项目计划【小结】【小结】问题定义的任务。问题定义的任务。可行性研究的目的、任务和步骤。可行性研究的目的、任务和步骤。系统流程图的作用、绘制方法。系统流程图的作用、绘制方法。2022-10-137