文档详情

7-计算机科学导论-软件工程讲义.ppt

发布:2017-02-08约1.78万字共98页下载文档
文本预览下载声明
5. 软件项目管理 本章小结 软件工程是计算机学科中的一个分支,致力于寻找指导大型复杂的软件系统的开发原则。软件工程为提高软件质量和开发效率的科学方法,它包括对软件本质的分析、对开发过程的研究,并提供一系列具体方法。 软件从表现形式上看是能够完成预定功能和性能的一组计算机指令(计算机程序);描述程序的设计和使用的文档三部分组成。在本质上,软件是控制计算机硬件运行,解决实际问题的逻辑方法。软件是伴随着计算机硬件的产生而出现,并随着其发展而逐步发展。随着计算机科学的发展,软件的地位不断发展上升。 在计算机系统中,软件是逻辑部件,而硬件是物理部件。软件相对硬件而言有许多不同特点。软件是一种逻辑实体,具有很强的抽象性。软件可以记录在介质上,或在系统上运行。)软件是一个逻辑上复杂而规模上庞大的系统,涉及技术、管理等多方面的问题。 本章小结 软件是智力产品,其价值体现在解决问题的知识和能力,而并不体现在软件载体本身。软件在运行和使用期间,没有硬件的磨损、老化问题。但软件维护比硬件维护要复杂得多。 在软件发展的过程,由于起初人们对软件特性认识不足,使用传统开发硬件的方式进行开发,导致了软件危机的发生,进而引发人们对软件工程的研究。 软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。软件工程是从管理和技术两方面研究如何更好地开发和维护计算机软件。软件工程也是系统工程学方法在软件开发领域的具体运用,是帮助人们更好地开发和管理软件的科学方法,其具体方法和理论需要我们在实践中不断理解。 软件工程的目标是在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。 本章小结 软件工程研究的内容包括与软件开发相关的理论,结构,过程,方法,工具,环境,管理,规范等。 软件作为一种工业化产品,也有其生存周期。软件生命周期是软件过程模型的基础。 对软件开发过程分析,定义了软件生命周期,并总结出瀑布模型、原型模型、螺旋模型等软件过程模型。 软件开发过程的第一步是需求分析,需求分析的质量直接决定的软件的成败。在软件的开发过程中,需求是变化的,应该对变更进行有效地控制。 软件工程方法包括结构化方法和面向对象的方法。 软件产品的质量是软件工程关注的焦点。影响软件质量的因素是多方面的,评价软件质量的指标包括正确性、键壮性、可用性等多个方面 软件项目的管理是决定软件项目成败的重要因素。项目管理主要包括项目的组织计划和资源管理。文档管理是软件项目管理的重要手段。 关联的表示方法和实例 3. 软件工程方法 泛化关系(继承性)的表示方法和示例 3. 软件工程方法 (2)面向对象的设计 面向对象的设计(Object Oriented Design,OOD)是针对系统的一个具体的实现运用面向对象方法。包括两方面的工作,一是把面向对象的分析模型直接搬到面向对象的设计,不经过转换,仅作某些必要的修改和调整;二是针对具体实现中的人机界面、数据存储、任务管理等因素补充一些与实现有关的部分。这些部分与面向对象的分析采用相同的表示法和模型结构。 面向对象的分析与设计采用一致的表示法是面向对象方法优于传统软件工程方法的重要因素之一。 面向对象的分析与设计一般包括:高层设计、类的设计和系统的实现三部分内容。 3. 软件工程方法 高层设计 高层设计开发系统的结构,用来构造系统的总体模型,并把任务分配给系统的各个子系统。 1、高层设计的规则 : 最小化各构件间的通信 隐藏复杂性 逻辑功能分组 高层设计标识在计算机环境中解决问题所需要的概念, 并增加了一批需要的类。 3. 软件工程方法 2、高层设计构造的体系结构 高层设计阶段搭建软件的体系结构,构造软件的总体模型。如下图所示为一个典型的例子。 OOD设计导出的体系结构 3. 软件工程方法 类的设计 1.通过复用设计类 类的设计可通过复用来完成,可以利用现存类来设计 类。常用的有4种方式:选择、分解、配置和演变。 2.类设计的目标和方针 3.类设计的方法和过程 3. 软件工程方法 系统的实现 1、类的实现 原样复用 进化性复用 “废弃性”开发 断言 错误处理 多重实现 2、系统的实现 应用系统的实现是在所有的类被实现之后完成的。实际上实现一个系统是一个简单、简短的过程。 3. 软件工程方法 (3)面向对象的编程 面向对象的编程(Obje
显示全部
相似文档