计算机科学导论第8章软件工程.ppt

上传人:牧羊曲112 文档编号:6342630 上传时间:2023-10-18 格式:PPT 页数:25 大小:361.32KB
返回 下载 相关 举报
计算机科学导论第8章软件工程.ppt_第1页
第1页 / 共25页
计算机科学导论第8章软件工程.ppt_第2页
第2页 / 共25页
计算机科学导论第8章软件工程.ppt_第3页
第3页 / 共25页
计算机科学导论第8章软件工程.ppt_第4页
第4页 / 共25页
计算机科学导论第8章软件工程.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《计算机科学导论第8章软件工程.ppt》由会员分享,可在线阅读,更多相关《计算机科学导论第8章软件工程.ppt(25页珍藏版)》请在三一办公上搜索。

1、第8章 软件工程,本章要点:,了解软件危机、软件工程的概念、软件的生命周期 掌握软件开发模型和软件开发方法 了解软件质量评价和保证体系 了解软件项目管理 了解软件评审 了解软件可靠性了解软件容错了解软件环境,8.1 软件工程概述,1.软件危机 概念:大型软件开发和维护过程中遇到的一系列严重问题。表现形式:质量难以保证、开发成本和开发进度难以控制、维护非常困难、用户不满意。产生的原因:规模、管理、费用、开发技术、生产方式、开发工具。,8.1 软件工程概述,2.基本概念 软件工程:研究大规模程序设计的方法、工具和管理的一门工程科学,也就是运用系统的、规范的和可定量的方法来开发、运行和维护软件的系统

2、工程。,8.1 软件工程概述,3.软件生命周期 一个软件从提出开发要求开始直到该软件报废为止的整个时期。(包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等活动)。,8.2 软件开发模型,1.瀑布模型,8.2 软件开发模型,2.快速原型法模型,8.2 软件开发模型,3.螺旋模型,8.2 软件开发模型,4.喷泉模型,8.3 软件开发方法,1.模块化方法 将待开发软件划分为一些功能相对独立的模块,模块与模块之间定义相应的接口,各个模块是可以分别单独开发、调试、运行测试的,最后,再将多个模块组合起来,进行软件的整体测试,从而完成整个软件的开发。注意模块划分原则:低耦合、大

3、小适宜、接口明确、高复用率、调用层次少。,8.3 软件开发方法,2.结构化方法 又称面向数据流的软件开发方法,使用了一组符号和一系列的准则和工具来完成软件开发各阶段的工作。原则:用户参与需求分析,先分析、再设计、后实现,自顶向下,文档化管理。,8.3 软件开发方法,3.面向数据结构方法 通过分析信息结构,并使用专门的图形描述工具数据结构图进行系统分析,从而得到软件结构。4.面向对象方法 从分析组成系统的对象开始,以数据抽象的类为基础、自底向上的开发方法。,8.3 软件开发方法,5.统一建模语言(UML)是一种面向对象的建模语言。它只是给出一套用于建模的元素及表示符号,并定义了它们的语义,而并不

4、涉及如何进行系统建模。,8.3 软件开发方法,软件复用和构件技术 利用人们长期进行软件开发而积累的知识、经验、设计方法、需求分析、设计、编码、测试、文档等,来进行新的软件开发。复用对象可以包括整个软件开发过程及其成果。构件(Component)是在软件系统设计中可以明确辨识的构成成分。而可复用构件(Reusable Component)是指具有相对独立的功能和可复用价值的构件。,8.4 软件质量评价和保证,1.软件质量的定义(1)与所确定的功能和性能需求的一致性。(2)与所成文的开发标准的一致性。(3)与所有专业开发的软件所期望的隐含特性的一致性。2.影响软件质量的因素:(1)可以直接度量的因

5、素:如单位时间内千行代码(KLOC)中所产生的错误数。(2)只能间接度量的因素:如可用性或可维护性。,8.4 软件质量评价和保证,3.软件质量保证的含义:质量保证就是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。,8.6 软件的复杂性,1.基本概念 软件复杂性度量的参数:(1)规模:即总共的指令数,或源程序行数。(2)难度:通常由程序中出现的操作数的数目所决定的量来表示。(3)结构:通常用与程序结构有关的度量来表示。(4)智能度:即算法的难易程度。,8.7 软件项目管理,1.软件项目计

6、划 目标是为项目负责人提供一个框架,使之能合理地估算软件项目开发所需的资源、经费和开发进度,并控制软件项目开发过程按此计划进行。2.软件项目计划内容 范围:给出该软件项目的综合描述,定义所要做的工作以及性能限制。资源:所需人员配置、软件、硬件及其他资源。进度安排:给出实施进度、资源使用表、成本估算、培训计划等。,8.8 软件可靠性,1.软件可靠性定义 一个程序按照用户的要求和设计的目标,执行其功能的正确程度。一个可靠的程序应要求是正确的、完整的、一致的和健壮的。2.软件可靠性指标 平均失效等待时间MTTF平均失效间隔时间MTBF,8.9 软件评审,在软件开发的各个阶段都要采用评审的方法,以发现

7、软件中的缺陷,然后加以改正。主要包括:(1)设计的规格说明书要符合用户的要求。(2)程序要按照设计规格说明书所规定的情况正确执行。,8.11 软件工程环境,1.软件开发环境概述(1)软件开发环境:在计算机的基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统。(2)对软件开发环境的要求:一体化、通用性、适应性和灵活性、易使用、经济高效。,8.11 软件工程环境,2.软件开发环境的分类(1)按解决的问题分类:程序设计环境、系统合成环境、项目管理环境。(2)按软件开发环境的演变趋向分类:以语言为中心的环境、工具箱环境、基于方法的环境。(3)按集成化程度分类:第一代、第二代、第三代。,8.1

8、1 软件工程环境,3.软件工具的基本概念 软件工具:指为支持计算机软件的开发、维护、模拟、移植或管理而研制的程序系统。(软件工具通常由工具、工具接口和工具用户接口3部分构成),8.11 软件工程环境,4.计算机辅助软件工程 CASE定义:CASE是一组工具和方法的集合,可以辅助软件生存周期各阶段进行软件开发。从学术研究角度讲,CASE是多年来在软件开发管理、软件开发方法、软件开发环境和软件工具等方面研究和发展的产物。,软件工程的发展方向,“敏捷开发”(Agile Development)被认为是软件工程的一个重要的发展。它强调软件开发应当是能够对未来可能出现的变化和不确定性作出全面反应的。敏捷开发被认为是一种“轻量级”的方法。在轻量级方法中最负盛名的应该是“极限编程”(Extreme Programming,简称为XP)。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号