文档介绍:二级公共基础知识归纳
一、软件工程基础
(1)计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据与相关文档的完整集合。软件由两部分组成:一是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。
(2)软件具有以下六个特点:
①软件是一种逻辑实体,而不是物理实体,具有抽象性。
②软件的生产与硬件不同,它没有明显的制作过程。
③软件在运行、使用期间不存在磨损、老化问题。
④软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移值的问题。
⑤软件复杂性高,成本昂贵。
⑥软件的开发涉及诸多社会因素。
(3)软件根据应用目标的不同,是多种多样的。软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件)。
应用软件是为解决特定领域的应用而开发的软件。
系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。
支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具性软件,包括辅助和支持开发和维护应用软件的工具软件,还包括辅助管理人员控制开发进程和项目管理的工具软件。编译程序和汇编程序属于支撑软件,操作系统属于系统软件,而教务管理系统属于应用软件。
(4)软件危机主要表现在以下6个方面:
①软件需求的增长得不到满足;
②软件开发成本和进度无法控制;
③软件质量难以保证;
④软件不可维护或维护程度非常低;
⑤软件的成本不断提高;
⑥软件开发生产率的提高赶不上硬件的发展和应用需求的增长。
(5)软件工程是建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。软件工程主要思想是强调在软件开发过程中需要应用工程化原则。
(6)软件工程的3个要素是工具、过程和方法。
(7)软件工程过程的4种基本活动是:软件规格说明、软件开发、软件确认、软件演进。
(8)软件生命周期是指软件产品从提出、实现、使用、维护到停止使用、退役的过程。
(9)软件的生命周期描述了软件从产生到最终消亡的全过程,生命周期中的活动包括需求分析、软件设计(分为概要设计和详细设计)、软件实现、软件测试和软件维护,不包括市场调研。
(10)软件生命周期分为软件定义、软件开发及软件运行维护三个阶段。其中,定义阶段包括可行性研究与计划制定和需求分析。测试、概要设计、详细设计和实现属于开发阶段。
已交付的软件投入运行后,应在运行使用中不断地维护,根据新提出的需要进行必要而且可能的扩充和删改。
软件设计的基本原则包括抽象、信息隐藏、模块化、局部化、确定性、一致性、完备性和可验证性。
结构化分析方法
(1)在软件开发的过程中,应该尽早的制定测试计划,其中在需求分析阶段制定系统测试计划,在概要设计阶段制定集成测试计划,在详细设计阶段制定单元测试计划。
(2)需求分析阶段的工作可分为4个阶段:
需求获取
需求分析
编写需求规格说明书
需求评审。
软件需求是指用户对目标软件系统在功能、行为、设计约束等方面的期望。
需求分析的任务是发现需求、求精、建模和定义需求的过程。
需求分析的最终结果是生成软件需要规格说明书,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标与确认,又可以作为控制软件开发进程的依据。
(4)在软件开发中,需求分析阶段常使用的工具有数据流图(DFD),数据字典(DD)、判断树和判断表。
(5)在软件开发的各个阶段经常会使用到一些图形工具:如在需求分析阶段使用数据流图(DFD图),在概要设计阶段使用系统结构图,在详细设计阶段使用程序流程图、N-S图或者PAD图等。
注:系统结构图不能作为结构化方法软件需求分析工具。
(6)DFD(数据流图Data-Flow-Diagram)是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统功能建模。数据流图是从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。其中带箭头的线段表示数据流,沿箭头方向传递数据的通道,一般在旁边标注数据流名。数据流图中的主要图形元素有加工(转换)、数据流、存储文件(数据源)、源和潭等。
(7)在软件详细设计的过程阶段,要对每个模块规定的功能以及算法的设计给出适当的算法描述。常见的过程设计工具有:
图形工具:程序流程图,N-S,PAD,HIPO;
表格工具:判定表;
语言工具:PDL(伪码)。
(8)结构化分析就是使用数据流图(DFD)、数据字典(DD)、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化规格说明的目标文档”。结构化分析方法的实质是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据