第一章 软件工程学概述
1.什么是软件危机(概念)
在计算机软件的开发和维护过程中所遇到的一系列严重问题
2.软件工程学科出现的主要原因 :软件危机的出现 3.什么是软件工程?(概念)
① 把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件; ② 研究①中提到的途径。
4.简述结构化范型和面向对象范型的要点,并分析他们的优缺点 目前使用得最广泛的软件工程方法学(2种):
⑴传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于
不同人员分工协作,从而降低了整个软件开发过程的困难程度。 缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出
的软件往往不成功;而且维护起来仍然很困难。 ⑵面向对象方法学
优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;
1 / 27
促进了软件重用。
5.软件生命周期每个阶段的基本任务
问题定义:准确地回答“要解决的问题是什么” 可行性研究:确定问题是否值得去解决 需求分析 :准确地回答“系统必须做什么” 总体设计:
设计出实现目标系统的几种可能的方案 确定程序由哪些模块组成以与模块间的关系
详细设计:把解法具体化(设计出程序的详细规格说明) 编码和单元测试:写出正确的容易理解、容易维护的程序模块
综合测试:通过各种类型测试(与相应的调试)使软件达到预期的要求 软件维护:通过各种必要的维护活动使系统持久地满足用户的需要 软件生命周期划分成哪些阶段
软件生命周期由软件定义、软件开发和运行维护(也成为软件维护)3个时期组成
软件定义时期:问题定义、可行性研究和需求分析
软件开发时期:总体设计、详细设计、编码和单元测试、综合测试 软件维护时期
6.什么是软件过程?(概念)
为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤
2 / 27
7.常见的软件生存周期模型(了解) 1.瀑布模型——阶段化过程 特点:具有顺序性和依赖性 缺点:
是由文档驱动的。
由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。 2.快速原型模型——线性顺序进行 本质:快速 不带反馈环
原型的用途是获知用户的真正需求,一旦需求确定了,原型可以抛弃,当然也可以在原型的基础上进行开发。 3.增量模型(也称为渐增模型)
4.螺旋模型
螺旋模型将瀑布模型和快速原型模型结合起来,加入了两种模型均忽略了的风险分析,弥补了这两种模型的不足。
4个象限:目标设定、风险估计与弱化、开发与验证、计划 螺旋模型是风险驱动——增加风险分析
3 / 27
软件工程导论 期末复习



