软件项目管理授课教师:_第1页
软件项目管理授课教师:_第2页
软件项目管理授课教师:_第3页
软件项目管理授课教师:_第4页
软件项目管理授课教师:_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、2022-2-27整理ppt1软件项目管理2022-2-27整理ppt2软件工程概述软件工程概述软件工程模型软件工程模型第一第一节节. .软件工程知识回顾软件工程知识回顾软件工程框架软件工程框架问题问题2022-2-27整理ppt3美国与我国的软件产业的发展美国与我国的软件产业的发展软件危机软件危机软件工程定义软件工程定义软件工程的七条基本原理软件工程的七条基本原理2022-2-27整理ppt4美国软件产业发展三个阶段美国软件产业三个不同的发展阶段。美国软件产业三个不同的发展阶段。以以等等2022-2-27整理ppt5 美国1999年软件项目的统计2022-2-27整理ppt6我国软件产业的发

2、展阶段及必由之路积累了一些经验,也有不少教训。积累了一些经验,也有不少教训。软件产业必软件产业必须走软件工业化生产的道路须走软件工业化生产的道路,2022-2-27整理ppt7美国与我国的软件产业的发展美国与我国的软件产业的发展软件危机软件危机软件工程定义软件工程定义软件工程的七条基本原理软件工程的七条基本原理2022-2-27整理ppt8软件危机软件危机 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 2022-2-27整理ppt9软件危机产生个体化软件环境个体化软件环境l 早期,程序通常针对又为一个特定硬件和目的而编早期,程序通常针对又为一个特定硬件和目的而编制制,软件

3、的通用性很有限的。多数软件的通用性很有限的。多数使用该软件的个人或机使用该软件的个人或机构研制,规模小构研制,规模小。l 个体化的软件环境,使得软件开发没有什么系统的个体化的软件环境,使得软件开发没有什么系统的方法可以遵循,软件设计是在某个人的头脑中完成的一方法可以遵循,软件设计是在某个人的头脑中完成的一个隐藏的过程。除了源代码往往没有软件说明书等文档。个隐藏的过程。除了源代码往往没有软件说明书等文档。l(案例,我国早期小软件公司的核心人员的决定案例,我国早期小软件公司的核心人员的决定公司的命运公司的命运-中国龙)中国龙)软件作坊软件作坊l 60年代中期到年代中期到70年代中期,出现了年代中期

4、,出现了“软件作坊软件作坊”专职专职应别人的需求写软件。应别人的需求写软件。2022-2-27整理ppt10软件危机产生急剧膨胀急剧膨胀l 随着计算机应用的日益普及,软件的随着计算机应用的日益普及,软件的用户有了用户有了时,通常需要时,通常需要。上述种种维护工作以令人吃惊的比例。上述种种维护工作以令人吃惊的比例更严重的是许多程序的个体化特性使得他们更严重的是许多程序的个体化特性使得他们。软件的规模越来越庞大复杂度越来越高交付时间相对短 开发成本令人吃惊地高开发成本令人吃惊地高失败的软件开发项目却屡见不鲜。失败的软件开发项目却屡见不鲜。“软件危机软件危机”开始了!开始了!2022-2-27整理p

5、pt11 美国IBM公司在1963年至1966年开发的IBM360机的操作系统。这一.据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。. 这个项目的负责人F. D. Brooks事后总结了他在组织开发过程中的沉痛教训时说:“.软件危机典型案例软件危机典型案例2022-2-27整理ppt12软件危机表现软件成本日益增长 开发进度难以控制 软件质量差 软件维护困难2022-2-27整理ppt13软件危机表现-软件成本日益增长软件成本日益增长20世纪50年代,软件成本在整个计算机系统成本中所占的比例为10%-20%。到20世纪60年代中期,软件成本在计算机系统

6、中所占的比例已经增长到50%左右。 而且,该数字还在不断的递增,下面是一组来自美国空军计算机系统的数据:1955年,软件费用约占总费用的18%,1970年达到60%,1975年达到72%,1980年达到80%,1985年达到85%左右2022-2-27整理ppt14软件危机表现开发进度难以控制在软件开发过程中,用户需求变化等各种意想不到的情况层出不穷,令软件开发过程很难保证按预定的计划实现,给项目计划和论证工作带来了很大的困难。盲目增加软件开发人员并不能成比例的提高软件开发能力。相反,随着人员数量的增加,人员的组织、协调、通信、培训和管理等方面的问题将更为严重。2022-2-27整理ppt15

7、软件危机表现软件质量差 由于缺乏工程化思想的指导,程序员几乎总是习惯性的以自己的想法去代替用户对软件的需求,软件设计带有随意性,很多功能只是程序员的一厢情愿而已,这是造成软件令人不满意的重要因素。2022-2-27整理ppt16软件危机表现软件维护困难由于在软件设计和开发过程中,没有严格遵循软件开发标准,各种随意性很大,没有完整的真实反映系统状况的记录文档,给软件维护造成了巨大的困难。特别是在软件使用过程中,原来的开发人员可能因各种原因已经离开原来的开发组织,使得软件几乎不可维护。有资料表明,工业界为维护软件支付的费用占全部硬件和软件费用的40-75%2022-2-27整理ppt17软件生产存

8、在的常见问题软件生产存在的常见问题有:软件生产存在的常见问题有:软件需求就会不断变更软件需求就会不断变更2022-2-27整理ppt18以上的这以上的这些问题能些问题能够解决吗够解决吗?问题讨论如何克服危机?2022-2-27整理ppt19美国与我国的软件产业的发展美国与我国的软件产业的发展软件危机软件危机软件工程定义软件工程定义软件工程的七条基本原理软件工程的七条基本原理2022-2-27整理ppt20 “软件工程软件工程”一词是来自于一词是来自于1968年北大西年北大西洋公约组织(洋公约组织(NATO)在联邦德国召开的一次会在联邦德国召开的一次会议上首次提出来的。议上首次提出来的。 它的主

9、要思想是它的主要思想是 “把软件当成一种产品。并把软件当成一种产品。并要求采用要求采用对软件进行计划、对软件进行计划、开发和维护。开发和维护。 软件工程的目标是实现生产高质量的软件产品软件工程的目标是实现生产高质量的软件产品 软件工程定义2022-2-27整理ppt21软件工程的七条基本原理 自从自从1968 年提出年提出“软件工程软件工程”这一术这一术语以来,研究软件工程的专家学者们陆续提语以来,研究软件工程的专家学者们陆续提出了出了100 多条关于软件工程的准则和信条。多条关于软件工程的准则和信条。美国著名的软件工程专家美国著名的软件工程专家 Boehm 综合这些综合这些专家的意见,并总结

10、了专家的意见,并总结了TRW 公司多年的软公司多年的软件开发经验,于件开发经验,于1983 年提出了软件工程的年提出了软件工程的七条基本原理。七条基本原理。 2022-2-27整理ppt22 这条原理意味着,应该把软件生命周期分成若干阶段,这条原理意味着,应该把软件生命周期分成若干阶段,并相应制定出切实可行的计划,然后严格按照计划对软件并相应制定出切实可行的计划,然后严格按照计划对软件的开发和维护进行管理。的开发和维护进行管理。Boehm Boehm 认为,在整个软件生命周认为,在整个软件生命周期中应指定并期中应指定并:项目概要计划项目概要计划里程碑计划里程碑计划项目控制计划项目控制计划产品控

11、制计划产品控制计划验证计划验证计划运行维护计划运行维护计划软件工程的七条基本原理2022-2-27整理ppt23软件工程的七条基本原理2 .坚持进行阶段评审坚持进行阶段评审 ;错误发现的越晚,改正它的代价就;错误发现的越晚,改正它的代价就越大越大。3 .实行严格的产品控制实行严格的产品控制 。这就要求采用变更控制,又叫基准配置管理。当需这就要求采用变更控制,又叫基准配置管理。当需求变动时,其它各个阶段的文档或代码随之相应改求变动时,其它各个阶段的文档或代码随之相应改变,以保证软件的一致性变,以保证软件的一致性。2022-2-27整理ppt24软件工程的七条基本原理4 .采纳现代程序设计技术采纳

12、现代程序设计技术 采用先进的软件开发方法、采用先进的软件开发方法、即即可以提高软件开发的效率,又可以减少软件维护的可以提高软件开发的效率,又可以减少软件维护的成本。成本。 应根据软件开发的总目标及完成期限,应根据软件开发的总目标及完成期限,使所得到的标,使所得到的标准能清楚地审查准能清楚地审查。 2022-2-27整理ppt25软件工程的七条基本原理 开发人员的开发人员的是影响软件质量和开发是影响软件质量和开发效率的重要因素,应该少而精。这一条基于两点原效率的重要因素,应该少而精。这一条基于两点原因:因: 高素质开发人员的效率比低素质开发人员的效高素质开发人员的效率比低素质开发人员的效率要高几

13、倍到几十倍,开发工作中犯的错误也要少率要高几倍到几十倍,开发工作中犯的错误也要少的多;的多; 当开发小组为当开发小组为N N 人时,最大的交流通道数为人时,最大的交流通道数为N(N-1)/2,N(N-1)/2,可见随着人数可见随着人数N N 的增大,交流通道数将急的增大,交流通道数将急剧增大。剧增大。2022-2-27整理ppt26软件工程的七条基本原理 遵从上述六条基本原理,并不能保证赶上技术遵从上述六条基本原理,并不能保证赶上技术不断前进发展的步伐。不断前进发展的步伐。 因此,因此,Boehm Boehm 提出应把承认不断改进软件工程提出应把承认不断改进软件工程实践的必要性作为软件工程的第

14、七条原理。实践的必要性作为软件工程的第七条原理。 根据这条原理,根据这条原理,。这些。这些历史数据既可以用来评估新的软件技术的效果,也历史数据既可以用来评估新的软件技术的效果,也可以用来指明必须着重注意的问题和应该优先进行可以用来指明必须着重注意的问题和应该优先进行研究的工具和技术。研究的工具和技术。2022-2-27整理ppt27软件工程知识体系(SWEBOK)了解SoftWare Engineering Body of Knowledge 2022-2-27整理ppt282022-2-27整理ppt29 实现生产高实现生产高质量的软件质量的软件产品产品2022-2-27整理ppt30软件工

15、程活动(1)问题定义问题定义 主要是系统分析员和用户参与明确要解决的问题主要是系统分析员和用户参与明确要解决的问题, 形成经双方充分讨论通过的确认文档。形成经双方充分讨论通过的确认文档。问题问题 定义定义 可行性可行性研究研究需求需求分析分析设计设计和实现和实现支持支持确认确认(2)可行性研究可行性研究 研究问题定义阶段的问题是否有解决办法研究问题定义阶段的问题是否有解决办法,但不具体的但不具体的解决问题解决问题;并进行成本和效益分析并进行成本和效益分析 。 结果是工程是否继续进行的重要依据结果是工程是否继续进行的重要依据。2022-2-27整理ppt31软件工程活动(3)需求分析需求分析 分

16、析为了要解决问题分析为了要解决问题,目标系统必需具备的功能。目标系统必需具备的功能。 系统分析员和用户充分交流讨论后形成用户确认的系统系统分析员和用户充分交流讨论后形成用户确认的系统逻辑模型(数据流图,数据字典算法等)。逻辑模型(数据流图,数据字典算法等)。 注意教材:注意教材:p3第一段关于程序员和用户在需求分析中阶第一段关于程序员和用户在需求分析中阶段确认的重要性。段确认的重要性。问题问题 定义定义 可行性可行性研究研究需求需求分析分析设计设计和实现和实现支持支持确认确认2022-2-27整理ppt32软件工程活动问题问题 定义定义 可行性可行性研究研究需求需求分析分析设计设计和实现和实现

17、支持支持确认确认(4)设计设计 总体设计:总体设计: 从概括的层面探讨如何解决问题,抽象概括的提出目从概括的层面探讨如何解决问题,抽象概括的提出目标系统的解决方案标系统的解决方案。 详细设计:详细设计: 把解决方案具体化,设计出详细需求规格说明书。把解决方案具体化,设计出详细需求规格说明书。 (5)实现实现 根据需求规格说明书编写程序解决具体的问题。根据需求规格说明书编写程序解决具体的问题。 2022-2-27整理ppt33软件工程活动问题问题 定义定义 可行性可行性研究研究需求需求分析分析设计设计和实现和实现支持支持确认确认(6)确认确认 测试目标系统是否达到预定的要求。测试目标系统是否达到

18、预定的要求。 单元测试单元测试 集成测试集成测试 验收测试验收测试 (7)支持支持 软件的维护。软件的维护。 改正性维护;适应性维护;完善性维护;预防性维护。改正性维护;适应性维护;完善性维护;预防性维护。 2022-2-27整理ppt34软件工程原则2022-2-27整理ppt35软件工程模型软件工程模型 软件工程的演化过程软件工程的演化过程 对软件工程活动中的各个活动都必需进对软件工程活动中的各个活动都必需进行管理,软件项目管理贯穿于软件工程的演行管理,软件项目管理贯穿于软件工程的演化过程。化过程。2022-2-27整理ppt36软件工程模型软件工程模型线性模型(瀑布模型)线性模型(瀑布模

19、型)2022-2-27整理ppt37软件工程模型软件工程模型软件工程的螺旋模型软件工程的螺旋模型 连接的线性模型连接的线性模型2022-2-27整理ppt38软件工程模型软件工程模型 软件工程的渐增式模型软件工程的渐增式模型 分段的线形模型,每个阶段都有个可运行的系统。分段的线形模型,每个阶段都有个可运行的系统。 首先构建系统的基本轮循模块,写出每个功能的空首先构建系统的基本轮循模块,写出每个功能的空子函数,保证运行。子函数,保证运行。 接着多次多阶段的逐个精华或重写模块接着多次多阶段的逐个精华或重写模块-增量增量开发系统;开发系统;) 2022-2-27整理ppt39软件工程模型软件工程模型2022-2-27整理ppt40GB8

温馨提示

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

评论

0/150

提交评论