软件工程基础知识点总结

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程基础知识点总结

————————————————————————————————作者:————————————————————————————————日期:

软件工程基础部分知识点总结

知识点一软件工程的基本概念

1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。

1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。

2)数据是使程序能够正常操作信息的数据结构。

3)文档是与程序开发、维护和使用有关的图文资料。

国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。

2、软件特点:

1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分;

2)软件的生产与硬件不同,它没有明显的制作过程;

3)软件在运行、使用期间不存在磨损、老化问题;

4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;

5)软件复杂性高,成本昂贵;

6)软件开发涉及诸多的社会因素

3、软件的分类:

按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件)

1)应用软件是为解决特定领域的应用而开发的软件。

2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。

3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。

4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要体现在以下几个方面:

①软件开发的实际成本和进度估计不准确

②开发出来的软件常常不能使用户满意

③软件产品的质量不高,存在漏洞,需要经常打补丁

④大量已有的软件难以维护

⑤软件缺少有关的文档资料

⑥开发和维护成本不断提高,直接威胁计算机应用的扩大

⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长

5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。

1)研究软件工程的主要目的就是在规定的时间、规定的开发费用内开发出满足用户需求的高质量的软件系统(高质量是指错误率低、好用、易用、可移植、易维护等)。

2)软件工程的三个要素:方法、工具和过程。

①方法:完成软件工程项目的技术手段;

②工具:支持软件的开发、管理、文档生成;

③过程:支持软件开发的各个环节的控制、管理。

3)软件工程的核心思想:把软件产品看作是一个工程产品来处理。

知识点二软件的生命周期

1、软件生命周期概念:将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。

2、软件生命周期一般划分为定义、开发和维护3个阶段:

1)定义阶段:可行性研究、需求分析2个阶段;

软件定义阶段:包括制定计划和需求分析。

①制定计划:确定总目标;可行性研究;探讨解决方案;制定开发计划。

②需求分析:对待开发软件提出的需求进行分析并给出详细的定义。方法:1)结构化需求分析方法;2)面向对象的分析方法。

任务:导出目标系统的逻辑模型,解决“做什么”的问题。

步骤:需求分析一般分为需求获取、需求分析、编写需求规格说明书和需求评审四个步骤进行。

2)开发阶段:概要设计、详细设计、编码实现和测试4个阶段;

①软件设计:分为概要设计和详细设计两个部分。

②软件实现:把软件设计转换成计算机可以接受的程序代码。

③软件测试:在设计测试用例的基础上检验软件的各个组成部分。

3)维护阶段:使用、维护、退役阶段。

软件运行维护阶段:软件投入运行,并在使用中不断地维护,进行必要的扩充和删改。

软件生命周期中所花费最多的阶段是软件运维护阶段。

4)软件工程原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。

5)软件工具就是帮助开发软件的软件。它们对提高软件生产率,促进软件生产的自动化都有重要的作用。

6)软件开发环境(或称软件工程环境)是全面支持软件开发全过程的软件工具的集合,这些软件工具按照一定的方法和模式组合起来,共同支持软件生命周期内的各个阶段和各项任务的完成。

知识点三软件设计基本概念

1、软件工程过程:问题定义——可行性研究——需求分析——

软件设计——软件编码——软件测试——软件维护

2、软件设计分为总体设计和详细设计

1)总体设计

目的:要解决的问题是“怎样实现目标系统”

任务:确定软件的总体结构,进行模块划分,确定每个模块的功能、接口及模块之间的调用关系,并对全局数据结构进行设计,同时产生

概要设计说明书

2)详细设计

目的:要解决的问题是“应该怎样具体实现目标系统”

任务:在概要设计的基础上,设计每个模块实现的细节及对局部数据进行设计(包括模块的数据结构和所需的算法),同时产生详细设计说明书

3、软件编码

目的:产生能在计算机上执行的程序

任务:根据系统的要求和开发环境,选用合适的程序设计语言,把详细设计的结果翻译成用该程序设计语言编写的程序代码(源程序) 4、软件测试是为了发现程序中的错误而执行程序的过程

目的和任务:通过在计算机上执行程序来尽可能多地发现软件产品中的错误和缺陷,并改正程序中的错误,以保证程序的可靠运行

5、软件维护阶段是长期的过程,因为,经过测试的软件还可能有错,用户的要求还会发生变化,软件运行的环境也可能变化等等。因此,交付使用的软件仍然需要继续排错、修改和扩充,这就是软件维护。软件维护的目的是满足用户对已开发产品的性能与运行环境不断提高的需要,进而达到延长软件的寿命

软件维护就是在软件交付使用之后,为了改正错误或满足新的需要而修改软件的过程。

软件维护的类型有如下几种:

1)改正性维护:诊断和改进错误的过程。

相关文档
最新文档