计算机科学概论第8章 软件工程课件.ppt
《计算机科学概论第8章 软件工程课件.ppt》由会员分享,可在线阅读,更多相关《计算机科学概论第8章 软件工程课件.ppt(47页珍藏版)》请在三一办公上搜索。
1、计算机科学概论,第8章 软件工程,2,软件工程,Outline:软件工程学科发展软件开发模型软件开发方法软件开发工具软件行业道德与法律,软件工程学科发展,软件危机开始阶段60年代中期,大容量、高速度计算机的出现,使计算机的应用范围迅速扩大、随着软件开发规模的增大、复杂性以及功能的增强,高质量的软件开发变的越来越困难。表现难以在规定的时间内完成开发任务软件产品的质量得不到保证开发人员开发的软件不能完全满足用户的需求等典型案例IBM公司的OS/360项目Therac-25事件,3,软件工程学科发展,软件工程的诞生诞生阶段北大西洋公约组织(NATO)在1968年举办了首次软件工程学术会议,并于会中提
2、出“软件工程”来界定软件开发所需相关知识。发展软件工程已经成为一门独立学科软件工程是指应用计算机科学与技术、数学、管理学的原理,运用工程科学的理论、方法和技术,研究和指导软件开发与演化的一门交叉学科是用工程化的方法开发软件,4,软件工程学科发展,软件工程的内容和意义软件工程知识体系依据2014年发布的软件工程知识体系指南软件需求(software requirements)软件设计(software design)软件构建(software construction)软件测试(software testing)软件维护(software maintenance)软件配置管理(software
3、configuration management)软件工程管理(software engineering management)软件工程过程(software engineering process),5,软件工程学科发展,软件工程的内容和意义软件工程知识体系软件工程模型和方法(software engineering models and methods)软件质量(software quality)软件工程职业实践(software engineering professional practice)软件工程经济学(software engineering economics)计算基础(co
4、mputing foundations)数学基础(mathematical foundations)工程基础(engineering foundations),6,软件工程学科发展,软件工程的内容和意义意义软件工程为软件开发提出了形式化的方法,用工程化的理念来指导软件的开发过程,在高效的软件生产和科学的项目管理的基础上得到高质量的产品,7,软件工程学科发展,软件生命周期典型的软件工程生命周期可行性研究解决的是软件能不能开发的问题需求分析目标系统需要做什么的问题软件设计目标系统该怎么开发的问题软件实现进行实际的编码工作软件测试软件测试的目的是发现软件产品中存在的缺陷软件维护,8,9,软件工程,O
5、utline:软件工程学科发展软件开发模型软件开发方法软件开发工具软件行业道德与法律,软件开发模型,软件开发模型定义软件开发模型描述了主要的开发阶段,定义了每个阶段需要完成的任务和活动,规范了每个阶段的输入和输出,并且为开发过程定义了一个框架,将必要的活动都映射到框架中意义软件开发模型是软件工程思想的具体化,反映了软件在其生命周期中各个阶段的衔接和过渡关系,是人们在软件开发过程中总结出来的方法和步骤,10,软件开发模型,瀑布模型提出:由W.W.Royce在1970年首次提出的软体开发模型阶段:计划、需求分析,设计,编码,测试,集成,运行和维护前一阶段的输入就是后一阶段的输出特点:瀑布模型是一种
6、线性开发模型,回溯性比较差瀑布模型是一种里程碑式的开发过程适用:适用于需求变化不大,开发人员有相关的经验并且风险较低的项目,11,软件开发模型,瀑布模型,12,软件开发模型,喷泉模型定义:一种过程模型,也同时支持面向对象开发阶段:分析,设计,编码特点:面向对象方法的迭代和无间隙性各个阶段需要多次重复各个阶段之间没有明显的界限,常常进行相互交叉,13,软件开发模型,原型模型定义:在初步获取需求之后,开发人员会快速地开发出一个原型系统,通过对原型系统的进行模拟操作,开发人员可以更直观地了解到用户的需求,并且可以挖掘一部分的隐含的需求分类探索型原型实验型原型渐增型原型,14,软件开发模型,增量模型定
7、义:将软件开发模块化,将每一个模块都作为一个组件,分别进行分析、设计、编码、测试等步骤:先开发核心组件,创建一个具备基本功能的组件再对其进行完善优点:开发组件化、提交批次化、开发顺序灵活、风险比较低缺点:要求被开发的软件系统要能够模块化,15,软件开发模型,增量模型,16,软件开发模型,螺旋模型提出:是由美国软件工程师巴里勃姆于1988年5月在他的文章一种螺旋式的软件开发与强化模型提出的一种模型。阶段:决定方案对软件开发目标进行规划评估方案从风险的角度对当前的开发计划进行处理,进行评估开发实施具体的实施阶段下一阶段计划迭代地对下一阶段的开发进行合理的计划,17,软件开发模型,螺旋模型优点:通过
8、原型开发,使每个迭代明确自己最初的方向;通过将风险分摊到每个迭代过程的方式,降低整体的风险在每个阶段都有自己的支出计划,使整体的支出容易得到统计缺点:过分依赖风险的分析经验和技术会增加整体的成本,18,软件开发模型,统一软件开发模型提出:称为RUP,是Rational软件公司创建的软件开发方法是一种重量级过程,特别适用于大型软件团队开发大型项目在RUP的开发过程中,在开发之外配套的管理过程、文档等都是非常复杂的,19,软件开发模型,统一软件开发模型阶段初始细化构造交付适用适用于规模比较大、团队成员比较多的项目对风险控制和进度管理都有质量保证都有很好地效果,20,软件开发模型,敏捷模型定义快捷、
9、小文档、轻量级的开发过程强调人与人之间沟通的重要性以及开发过程的简洁性特点更加强调发挥团队成员的个性思维强调软件开发过程中团队成员之间的交流、过程的简洁性、用户反馈、对决定的信心和人性化的特征实践极限编程自适应软件开发方法动态系统开发方法,21,22,软件工程,Outline:软件工程学科发展软件开发模型软件开发方法软件开发工具软件行业道德与法律,软件开发方法,软件开发方法定义形式上定义了软件如何被开发的问题说明了软件开发的具体方法和采用的方式结构化方法定义:一种传统的软件开发方法,它由结构化分析、结构化设计、结构化程序设计三个部分组成基本思想:把一个复杂问题的求解过程分阶段进行,而这种分解是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机科学概论第8章 软件工程课件 计算机科学 概论 软件工程 课件
链接地址:https://www.31ppt.com/p-2138351.html