软件工程基础部分知识点总结
知识点一  软件工程的基本概念
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)软件开发环境(或称软件工程环境)是全面支持软件开发全过程的软件工具的集合,这些软件工具按照一定的方法和模式组合起来,共同支持软件生命周期内的各个阶段和各项任务的完成。