《软件工程——理论、方法与实践》课件第1章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《软件工程——理论、方法与实践》课件第1章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程理论、方法与实践 软件工程 理论 方法 实践 课件
- 资源描述:
-
1、1 1第1章 导 论第1章 导 论1.1 软件1.2 软件工程概述1.3 软件工程方法1.4 CASE工具与集成化的软件开发环境1.5 软件工程知识体系本章小结习题2 2第1章 导 论1.1 软 件软件不是物理产品而是逻辑产品,在开发、维护方面与硬件产品相比有着完全不同的特性:(1)软件是设计开发的,而非传统意义上生产制造的。软件和硬件均可通过设计获得好的产品品质,但硬件制造阶段的质量问题是易于控制和纠正的,而软件生产阶段的质量控制要困难得多。相比硬件的生产,软件开发过度依赖于开发人员的素质、能力及协作,软件项目管理过程不能像硬件制造那样进行。3 3第1章 导 论(2)软件不会磨损。随着时间的
2、推移,灰尘、振动、不当使用、温度等因素的影响,硬件的失效率会增大,这称之为磨损。而软件则不会受上述环境的影响。硬件和软件的失效率曲线如图1.1所示。4 4第1章 导 论图1.1 硬件和软件失效率曲线对比5 5第1章 导 论(3)大多数软件是根据客户的要求定制的。硬件通常是依据一定规范标准来制造的,软件则多数是根据客户的要求定制的。虽然目前商业化软件的组件技术发展很快,但完全使用现成的组件实现软件系统仍不现实,基于组件的软件开发模式仍然需要根据软件需求来开发系统。6 6第1章 导 论1.1.1 软件的发展1942年,伴随着第一台计算机的诞生,计算机程序开始出现。通常,软件发展至今可被划分为四个阶
3、段。7 7第1章 导 论1.1.2 软件的类型软件从功能角度分为系统软件和应用软件,从服务对象的角度分为通用软件和定制软件。8 8第1章 导 论1.1.3 软件质量特性质量特性是“产品、过程或体系与需求有关的固有特性”。软件质量特性反映了软件的本质。9 9第1章 导 论软件质量的定义有多种,美国国家标准学会(ANSI)在其ANSI/ASQCA3/1978标准中将软件质量定义为:“软件质量是软件产品或服务的特性和特征的整体,它取决于软件满足给定需求的能力”。具体来说,软件质量就是软件符合明确描述的功能和性能需求、文档中明确描述的开发标准,以及所有专业开发的软件都应具备的隐含特征的程度。1010第
4、1章 导 论软件质量通常采用质量模型来建立用户视角和开发者视角的软件质量特性间的关系,如Bohem的质量模型、McCall的质量模型以及ISO的质量模型。图1.2为McCall的质量模型。1111第1章 导 论图1.2 McCall的软件质量模型1212第1章 导 论McCall的模型中给出了11个质量要素,如表1.1所示。11个质量要素分为三类,对应软件的运行特性、修改特性和转换特性。软件的运行特性包括正确性、可靠性、有效性、完整性和可用性;修改特性是指软件承受修改的能力,包括可维护性、灵活性和可测试性;软件的转换特性包括可移植性、可复用性和互操作性。1313第1章 导 论1414第1章 导
5、 论McCall的模型中给出了一组较易度量的软件质量评价准则,共20种。评价准则能够比较完整、准确地描述质量,且比较容易量化和度量。表1.2列出了对它们的描述。1515第1章 导 论1616第1章 导 论软件质量要素Fj的评价可用下列公式计算:j=1,2,11其中,Mk是软件质量要素Fj对第k种评价标准的测量值,Cjk是相应的加权系数。lkkjkjMCF11717第1章 导 论由于McCall定义的评价准则多数没有客观的度量方法,因此只能凭主观印象为评价准则定值。McCall将评价准则分为010级,0级最低,10级最高。加权系数Cjk满足其中Cjk0,当质量要素Fj与k项评价准则无关时,Cjk
6、=0,l表示评价准则的项数,对于McCall的评价准则,l=20。lkjkC11,1818第1章 导 论1.2 软件工程概述1.2.1 软件危机软件危机主要表现在以下几方面:(1)软件开发无计划性。(2)软件需求不充分。(3)软件开发过程无规范。(4)软件产品无评测手段。1919第1章 导 论1.2.2 软件工程IEEE关于软件工程的定义为:软件工程是:将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护,即将工程化应用到软件上;对中所述方法的研究。软件工程具有三要素:方法(Methods)、工具(Tools)和过程(Procedures)。2020第1章 导 论软件工程方法可提供如
7、何构造软件的技术。软件工程方法覆盖面很广,包括需求分析、设计建模、编程、测试和其他的支持。软件工程方法依赖于一组基本原则,如Demarco(1978)和Jacobson(1983)提出的结构化的方法,Booch(1994)和Rumbaugh(1991)建议的面向对象的方法。软件方法包括一组对需求和设计、算法过程、编码、测试和维护的定义元素等。软件工程方法贯穿于软件开发过程,起着核心的作用。表1.3列出了一些软件工程方法元素。2121第1章 导 论2222第1章 导 论软件工程工具提供自动化或半自动化的支持,包括模型建立、代码生成、程序静态分析、软件测试、过程管理等。软件工程过程是用合适的方法、
8、语言和工具由软件工程师进行软件活动的集合。软件工程过程定义了一个框架,是软件项目管理控制的基础。软件工程过程建立了一个环境以便于技术方法的采用、可交付产品(文档、报告以及格式等)的产生,并帮助确保质量和变更的控制,使软件管理人员能对它们的进展进行评价。2323第1章 导 论软件工程遵循一些通用的原则,这些原则主要包括:(1)抽象即抽取事物的本质特性和行为,是软件工程的本质方法原则之一,贯穿于软件过程。在需求定义阶段对业务流、数据流的建模。设计阶段体系结构、类继承关系的建模均为抽象。(2)模块化原则要求软件系统逻辑上应分解成具有独立性的模块,模块应具有功能内聚和弱耦合的特点,模块之间通过某种交互
9、和控制关系构成系统结构。模块大小应适中,过大会导致模块内部逻辑过于复杂,太小则使系统的整个结构趋于复杂。模块化思想有利于降低软件问题的复杂度,也有助于软件的理解和维护。2424第1章 导 论(3)信息隐蔽是指软件模块的封装应使模块的内部细节尽量不暴露在外,与其他模块的联系仅限于模块的接口,如类封装了属性和方法,方法的调用和属性的访问都通过类接口。信息隐蔽原则使模块之间弱耦合,有利于软件维护和修改。(4)一致性是指在整个软件过程中,软件制品包括文档和程序均使用一致的概念、符号、术语,有着一致的软硬件接口,并且系统的定义和实现行为也应保持一致。如系统中对Undo命令项的定义是撤消前一步的行为结果,
10、系统响应该项的行为就是回到该动作前的系统状态,且任何时候只能做出该行为。2525第1章 导 论(5)完整性是指系统不丢失任何所需要的部分,实现系统所需功能的程度。(6)可验证性是指系统的设计与实现应遵循易被测试、验证的原则,以保证交付和系统的正确性检查。如要求系统的查询响应时间小于5秒,就是一种可验证的系统指标。对于有些安全和可靠性要求极高的系统,必要时其模型的构建也应该是可验证的,这时往往采用形式化的模型描述和形式证明来保证系统的正确性。2626第1章 导 论1.2.3 软件过程每个软件过程都有活动框架,软件过程框架定义了活动的时间、人员、工作内容和达到预期目标的途径,如图1.3所示。272
11、7第1章 导 论图1.3 软件过程框架2828第1章 导 论不同的机构和组织、不同的软件产品可能会有过程活动的差异,通用的过程框架可适用于绝大多数的软件项目,一般包含以下框架活动:(1)软件定义(Software Specification):与客户间大量的交流与协作,获取需求、定义软件的功能和限制,构建需求分析模型,形成正式的需求规格说明。(2)软件设计和实现(Software Design and Implementation):设计如何实现需求,产生设计规格说明,并编码实现满足定义的软件。2929第1章 导 论(3)软件验证(Software Validation):评审、测试软件产品,
展开阅读全文