欢迎来到天天文库
浏览记录
ID:62075131
大小:592.00 KB
页数:71页
时间:2021-04-14
《最新SE第1课-软件工程概述课件ppt.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SE第1课-软件工程概述第一章软件工程概述软件技术软件危机软件工程软件工程环境主要内容:2程序与软件程序:一系列指令序列的集合,能被计算机理解和执行软件:是计算机系统中与硬件子系统相互依存的另一个子系统,是一个包含程序及其文档资料的完整集合,提供了用户与硬件子系统之间的接口软件文档:与程序开发、维护和使用有关的图文材料程序:按事先设计的功能和性能需求执行的指令序列数据:是程序能正常操纵信息的数据结构1.1软件技术概述3软件复用的定义在构造新的软件系统的过程中,对已存在的软件产品(设计结构、源代码、文档等)重复使
2、用的技术三个层次:知识复用、方法复用、软件成分复用软件成分复用的三个级别:代码复用(剪贴、包含和继承)设计结果复用(设计模型)分析结果复用(分析模型)组件技术1.1软件技术概述7软件危机的定义计算机软件的开发和维护过程所遇到的一系列严重问题,如:开发周期长、成本增加、可靠性降低等。1979年美国政府项目调查表1.2软件危机8软件危机的表现对软件开发成本和进度的估算很不准确用户很不满意质量很不可靠没有适当的文档,维护困难软件成本比重上升供不应求1.2软件危机9硬件的故障率曲线软件的故障率曲线1.2软件危机软件危机
3、产生的原因客观:软件本身特点逻辑部件规模庞大主观:不正确的开发方法忽视需求分析认为“软件开发=程序编写”,忽视设计和文档轻视软件测试和维护成本昂贵、本质复杂、没有明显的制造过程,运行期间存在退化问题。10解决途径组织管理工程项目管理方法技术措施软件开发技术与方法软件工具1.2软件危机11软件工程的定义是指用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验证明正确的管理技术和当前能够得到的最好的技术方法结合起来,指导计算机软件的开发和维护的工程学科指导计算机软件开发和维护的工程学科工程方法+管理技术+
4、技术方法1.3软件工程121.3软件工程确保软件质量和提高开发效率内容:严格按照计划进行管理坚持进行阶段评审实行严格的产品控制采用现代化的程序设计技术结果应能清楚地审计开发小组的人员应该少而精承认不断进行软件工程实践的必要性B.W.Boehm的七条软件工程原理软件生命周期的定义是一个软件从用户需求开始,经过分析、开发、测试、运行维护的一系列相关活动的全周期。13软件的生命周期过程1.3软件工程141.3软件工程软件工程方法学软件工程是技术与管理的紧密结合,技术是指方法学问题,管理是指通过计划、组织和控制等活动,
5、合理配置和使用各种资源,得到满足质量要求的工作产物(运行系统和支持文档)。方法学的三个要素:方法、工具和过程方法:是完成软件开发各项任务的技术方法,是回答“如何做”的问题;工具:为方法的运用提供自动的或半自动的软件支撑环境;过程:一系列工作步骤。15方法学的分类快速原型方法1.3软件工程结构化方法起源于结构化程序设计思想,注重系统组成要素之间的相互作用关系,强调软件系统结构的合理性;提出一组提高软件结构合理性的准则:结构化分析、结构化设计、结构程序设计和结构化测试采用的过程模型:瀑布模型、原型模型螺旋模型、增量
6、模型面向对象方法采用的过程模型:OO=对象+类+继承+消息通讯喷泉模型:以算法和数据结构为核心161瀑布模型特点阶段的顺序性和依赖性推迟实现的观点文档驱动的质量保证存在问题不适合需求模糊的系统结构化的软件过程模型1.3软件工程172快速原型模型快速原型方法原型:是系统的早期版本,是系统的物理模型,只实现了系统的一些最基本的功能,反映系统的行为特性,但不一定满足全部需求。建立原型的步骤:确定用户的基本需求建立工作原型试用原型修改补充原型特点:容易理解和沟通及早发现需求中的问题检查设计的可行性快速原型法:在软件生命
7、周期的编码阶段之前插入一个建立系统原型的阶段。1.3软件工程183螺旋模型螺旋模型将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。四个象限分别代表了以下活动:(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;(3)实施工程:实施软件开发和验证;(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。1.3软件工程194增量模型也称构件集成模型,整个软件产品被分解成若干个构件,每一个构件都有
8、设计、实现、集成和测试等过程。开发人员逐个构件地交付产品。缺陷:需要软件具备开放式的体系结构:新构件加入系统,必须不破坏已构造好的系统部分。增量模型的灵活性能较好地适应需求的变化,但容易使软件过程的控制失去整体性。1.3软件工程205过程模型之间的比较1.3软件工程21基本思想:模拟人类习惯的思维方式,通过建立问题域的对象模型(不强调算法和数据结构),使得问题空间与解空间在结构上尽可能
此文档下载收益归作者所有