大连理工大学城市学院软件工程导论期末考试复习重点

  • 格式:docx
  • 大小:120.70 KB
  • 文档页数:6

下载文档原格式

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

软件工程导论重点

第一章重点:

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

软件危机概念:软件危机暴发于上个世纪六十年代末。

主要表现为:软件的发展速度远远滞后于硬件的发展速度,不能满足社会日益增长的软件需求。软件开发周期长、成本高、质量差、维护困难。

软件工程概念:

概括地说,软件工程是指导计算机软件开发和维护的工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

软件工程的目标:

软件工程的目标是运用先进的软件开发技术和管理方法来提高软件的质量和生产率,也就是要以较短的周期、较低的成本生产出高质量的软件产品,并最终实现软件的工业化生产。

基本目标:

付出较低的开发成本

达到要求的软件功能

取得较好的软件性能

开发的软件易于移植

需要较低的维护费用

能按时完成开发工作,及时交付使用

软件生存期概念和包含内容:

软件也有一个孕育、诞生、成长、成熟和衰亡的生存过程,我们称这个过程为软件生命周期或软件生存期。

软件生存期分为三个时期

软件定义

软件开发

运行维护

软件工程的方法:

软件工程包含技术和管理两方面的内容,是技术和管理紧密结合所形成的工程学科。

通常将软件开发全过程中使用的一整套技术方法的集合称为方法学(methedology),也称为范型(paradigm)。

目前使用最广泛的软件工程方法学:传统方法学(结构化方法学),面向对象方法学。

软件工程三要素:

三要素:方法、工具和过程。

第二章重点:

生存期模型有哪些:

•瀑布模型

•快速原型模型

•增量模型

•螺旋模型

•喷泉模型

•统一过程

•基于构件的开发模型

•敏捷过程

前四种面向过程后四种面向对象

给一个模型,判断出是哪一模型的

第三章重点:

结构化分析方法的概念:

传统的分析建模方法称为结构化分析(structured analysis,SA)方法。

三大建模:(未完待续!!!)

功能建模:

功能建模的思想就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。功能模型

用数据流图来描述。

数据建模:

在结构化分析方法中,使用实体—关系建模技术来建立数据模型。

这种技术是在较高的抽象层次(概念层)上对数据库结构进行建模的流行技术。

实体—关系模型表示为可视化的实体—关系图(entity-relationship diagram,ERD),也称为ER图。

ER图中仅包含3种相互关联的元素:数据对象(实体)、描述数据对象的属性及数据对象彼此间相互连接的关系。

行为建模对应的概念,设计和图

状态转换图(简称状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。状态图中使用的主要符号如图所示。

第四章重点:

结构化设计的概念:

如果一个程序的代码块仅仅通过顺序、选择和循环这三种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。

建议从高级语言中取消GOTO语句;嵌套;子模块

自顶向下(Top-Down)、逐步细化(Stepwise Refinement)

第九章重点:

软件工程的观点:

(1)详细设计应能直接地容易地翻译成代码程序。

(2)源程序应具有可移植性。

(3)编译程序应具有较高的效率。

(4)尽可能应用代码生成的自动工具。

(5)可维护性。

程序设计语言的选择:

在选择编程语言时,可以考虑以下因素。

(1)应用领域:目标系统的应用领域不同,需要采取的系统开发范型也不同,

所以要考虑支持相应范型的编程语言。

(2)系统用户的要求。

(3)编程语言自身的功能。

(4)编码和维护成本及开发环境。

(5)编程人员的技能。

(6)软件可移植性。

第十章重点:

软件测试的概念:

软件测试是为了发现错误而执行程序的过程。

或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。

白盒测试:

白盒测试主要是对程序模块进行检查:

对程序模块的所有独立的执行路径至少测试一次;

对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测试一次;

在循环的边界和运行界限内执行循环体;测试内部数据结构的有效性等。黑盒测试:

黑盒测试方法主要是为了发现以下错误:

是否有不正确或遗漏了的功能?

输入能否正确地接收?

能否输出正确的结果?

是否有数据结构错误或外部信息(例如数据文件)访问错误?

性能上是否能够满足要求?

是否有初始化或终止性错误?

调试:(在书上P261)

调试(debug)也称排错或纠错,它是紧跟在测试之后要做的工作。但与测试不同之处在于,测试着重于发现软件中有错,发现异常或软件运行的可疑之处;而调试的任务在于为错误确切地定位,找到出错的根源,并且通过修改程序将其排除。

测试用例:

选择测试用例原则

(1)为每一个等价类规定一个唯一的编号。

(2)设计一个新的测试用例,使其尽可能多地覆盖尚未被

覆盖的有效等价类,重复这一步,直到所有的有效等

价类都被覆盖为止。

(3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖

的无效等价类,重复这一步,直到所有的无效等价类

都被覆盖为止。

软件测试的策略(图):

通常软件测试过程按4个步骤进行,即单元测试、组装测试、确认测试和系统测试。