软件工程基础知识点总结(共14页).doc
《软件工程基础知识点总结(共14页).doc》由会员分享,可在线阅读,更多相关《软件工程基础知识点总结(共14页).doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上软件工程基础部分知识点总结知识点一 软件工程的基本概念1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。2)数据是使程序能够正常操作信息的数据结构。3)文档是与程序开发、维护和使用有关的图文资料。国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。2、软件特点:1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分;2)软件的生产与硬件不同,它没有明显的制作过
2、程;3)软件在运行、使用期间不存在磨损、老化问题;4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;5)软件复杂性高,成本昂贵;6)软件开发涉及诸多的社会因素3、软件的分类:按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件)1)应用软件是为解决特定领域的应用而开发的软件。2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重 问题。 软件危机主要体现在以下几个方面: 软件开发的实际成本和
3、进度估计不准确 开发出来的软件常常不能使用户满意 软件产品的质量不高,存在漏洞,需要经常打补丁 大量已有的软件难以维护 软件缺少有关的文档资料 开发和维护成本不断提高,直接威胁计算机应用的扩大 软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。1)研究软件工程的主要目的就是在规定的时间、规定的开发费用内开发出满足用户需求的高质量的软件系统(高质量是指错误率低、好用、易用、可移植、易维护等)。2)软件工程的三个要素:方法、工具和过程。方法:完成软件工程项目的技术
4、手段;工具:支持软件的开发、管理、文档生成;过程:支持软件开发的各个环节的控制、管理。3)软件工程的核心思想:把软件产品看作是一个工程产品来处理。知识点二 软件的生命周期1、软件生命周期概念:将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。2、软件生命周期一般划分为定义、开发和维护3个阶段:1)定义阶段:可行性研究、需求分析2个阶段;软件定义阶段:包括制定计划和需求分析。制定计划:确定总目标;可行性研究;探讨解决方案;制定开发计划。需求分析:对待开发软件提出的需求进行分析并给出详细的定义。方法:1)结构化需求分析方法;2)面向对象的分析方法。任务:导出目标系统的逻辑模型,
5、解决“做什么”的问题。步骤:需求分析一般分为需求获取、需求分析、编写需求规格说明书和需求评审四个步骤进行。2)开发阶段:概要设计、详细设计、编码实现和测试4个阶段;软件设计:分为概要设计和详细设计两个部分。软件实现:把软件设计转换成计算机可以接受的程序代码。软件测试:在设计测试用例的基础上检验软件的各个组成部分。3)维护阶段:使用、维护、退役阶段。软件运行维护阶段:软件投入运行,并在使用中不断地维护,进行必要的扩充和删改。软件生命周期中所花费最多的阶段是软件运维护阶段。4)软件工程原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。5)软件工具就是帮助开发软件的软件。它们对
6、提高软件生产率,促进软件生产的自动化都有重要的作用。 6)软件开发环境(或称软件工程环境)是全面支持软件开发全过程的软件工具的集合,这些软件工具按照一定的方法和模式组合起来,共同支持软件生命周期内的各个阶段和各项任务的完成。 知识点三 软件设计基本概念1、软件工程过程:问题定义可行性研究需求分析软件设计软件编码软件测试软件维护2、软件设计分为总体设计和详细设计 1)总体设计 目的:要解决的问题是“怎样实现目标系统” 任务:确定软件的总体结构,进行模块划分,确定每个模块的功能、接口及模块之间的调用关系,并对全局数据结构进行设计,同时产生概要设计说明书 2)详细设计 目的:要解决的问题是“应该怎样
7、具体实现目标系统” 任务:在概要设计的基础上,设计每个模块实现的细节及对局部数据进行设计(包括模块的数据结构和所需的算法),同时产生详细设计说明书3、软件编码目的:产生能在计算机上执行的程序任务:根据系统的要求和开发环境,选用合适的程序设计语言,把详细设计的结果翻译成用该程序设计语言编写的程序代码(源程序)4、软件测试是为了发现程序中的错误而执行程序的过程目的和任务:通过在计算机上执行程序来尽可能多地发现软件产品中的错误和缺陷,并改正程序中的错误,以保证程序的可靠运行 5、软件维护阶段是长期的过程,因为,经过测试的软件还可能有错,用户的要求还会发生变化,软件运行的环境也可能变化等等。因此,交付
8、使用的软件仍然需要继续排错、修改和扩充,这就是软件维护。软件维护的目的是满足用户对已开发产品的性能与运行环境不断提高的需要,进而达到延长软件的寿命 软件维护就是在软件交付使用之后,为了改正错误或满足新的需要而修改软件的过程。软件维护的类型有如下几种:1)改正性维护:诊断和改进错误的过程。2)适应性维护:为与变化的环境适当配合而进行的修改软件的活动。3)完善性维护:为了满足用户提出的增加新功能或修改已有功能的建议而进行维护。4)预防性维护:为了改进未来的可维护性和可靠性。软件开发时期要完成设计和实现两大任务,其中设计任务用需求分析和软件设计两个阶段完成,实现任务用编码和测试两个阶段完成。开发任务
9、完成的好与坏,关系到软件产品的质量,完成开发任务的关键是选择好的软件开发方法。目前,软件开发方法主要有结构化开发方法和面向对象开发方法知识点4软件设计的基本原理软件设计的基本原理包括:抽象、模块化、信息隐蔽和模块独立性。1、模块化:指解决问题时自顶向下的方法逐层把软件系统划分成若干个模块的过程2、抽象:认识复杂过程中使用的思维工具,即抽出事务的本质的共同的特性而暂不考虑它的细节和其他因素。3、信息隐蔽:旨在设计和确定模块式的时候,是的一个模块内包含的信息,对于不需要这些信息的其他模块来说不可访问4、模块独立性:指每个模块只完成系统要求的独立的功能,并且与其他模块联系最少且接口简单模块的耦合性和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 基础 知识点 总结 14
限制150内