文档库 最新最全的文档下载
当前位置:文档库 › 软件工程考试重点内容

软件工程考试重点内容

软件工程考试重点内容
软件工程考试重点内容

一、基础知识点:

1.软件工程的基本原理。(p7)

软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。

软件工程的基本原理有7条:

(1)用分阶段的生命周期计划严格管理

(2)坚持进行阶段评审

(3)实行严格的产品控制

(4)采用现代程序设计技术

(5)结果应能清楚地审查

(6)开发小组的人员应该少而精

(7)承认不断改进软件工程实践的必要性

2.软件生命周期包括几个时期,各时期的主要任务及阶段划分。(p11)软件定义时期:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资料和成本,并且制定工程进度表;又划分成三个阶段,即问题定义、可行性研究和需求分析。

软件开发时期:具体设计和实现在前一个时期定义的软件,由四个阶段组成:总体设计、详细设计、编码和单元测试、综合测试(或由三个阶段组成:软件设计、编码、软件测试)

软件维护时期:主要任务是使软件持久地满足用户的需要。通常对维护时期不再进一步划分阶段。

3.需求分析的任务。(p56)

答:(1)确定对系统的综合要求.主要包括:

1)功能需求

2)性能需求

3)可靠性和可用性需求

4)出错处理需求

5)接口需求

6)约束

7)逆向需求

8)将来可能提出的要求

(2)分析系统的数据要求

(3)导出系统的逻辑模型

(4)修正系统开发计划

4.改进软件设计的启发式规则(p100)

(1)改进软件结构提高模块独立性

(2)模块规模应该适中

(3)深度、宽度、扇出和扇入都应适当;

(4)模块的作用域应该在控制域之内。

(5)力争降低模块接口的复杂程序

(6)设计单入口单出口的模块

(7)模块功能应该可以预测

5.软件维护的类型(p189-190)

(1)改正性维护

诊断和改正错误的过程称为改正性维护。

(2)适应性维护

为使软件系统适应不断变化的运行环境而修改软件的过程。

(3)完善性维护

在软件的使用过程中,用户往往提出增加新性能或修改已有功能等要求。为了满足这些要求需要进行完善性维护。

(4)预防性维护

为提高软件未来的可维护性、可靠性等,为以后进一步改进软件打下良好基础而修改软件的过程。

6.决定软件可维护性的主要因素。(p194)

软件可维护性是指维护人员理解、改正、改动或改进这个软件的难易程度。

决定软件可维护性的因素主要有下述5个:

(1)可理解性

(2)可测试性

(3)可修改性

(4)可移植性

(5)可重用性

7.面向对象设计的准则和启发式规则。(p260-p261)

设计准则:

(1)模块化(2)抽象

(3)信息隐蔽(4)弱耦合

(5)强内聚(6)可重用。

启发规则:

(1)设计结果应该清晰易懂

(2)一般-特殊结构的深度应适当

(3)设计简单的类

(4)使用简单的协议

(5)使用简单的服务

(6)把设计变动减至最小

二、关键知识点:

1.软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及相关文档的集合。(p4)

2.软件工程方法学包括3个要素:方法、工具和过程。(p9)

目前使用最广泛的软件工程方法学,分别是传统方法学和面向对象方法学。

3.传统软件工程方法学的软件过程,基本上可以用瀑布模型来描述。(p15)3.数据流图和数据字典共同构成系统的逻辑模型。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。(p47)4.E-R图主要包括三个元素,即实体、联系和属性。(p64)

5.总体设计又称为概要设计或初步设计,其主要任务是建立软件的总体结构。(p92)

6.模块的独立性是软件模块化设计的关键之一,一般用内聚和耦合两个定性标准来度量模块的独立性。(p97)

7.测试过程包括5个步骤,即模块测试、子系统测试、系统测试、验收测试、平行运行。(p151)

8.用面向对象方法开发软件,需要建立3种模型:对象模型、动态模型、功

能模型。在任何情况下,对象模型始终是最重要,最基本、最核心的。(p216)9.类与类之间通常有关联、泛化(继承)、依赖和细化等4种关系。(p218)10.各个类的状态图通过共享事件合并起来,构成了系统的动态模型。(p224)11.大型系统的对象模型通常由5个层次组成:主题层、类与对象层、结构层、属性层和服务层。(p232)

12.软件重用可分为3个层次:知识重用、方法和标准的重用和软件成分的重用。(p263)

13.在制订和管理进度时,应该同时使用Gantt图和工程网络这两种工具,使它们互相补充取长补短。(p319)

14.软件项目组的组织方式中比较典型的有:民主制程序员组、主程序员组和现代程序员组。(p320)

15.CMM把软件过程从无序到有序的进化过程分成5个等级从低到高:初

始级,可重复级,已定义级,已管理级,优化级。(P332)

三、章节综合知识

1.软件的特点(p3)。

(1).软件是无形的,缺乏“可见性”

(2).软件不存在磨损和消耗

(3).软件开发成本高

(4).没有明显的制作过程

2.软件生命周期模型(p32)

(1) 瀑布模型(2) 快速原型模型(3) 增量模型

(4) 螺旋模型(5)喷泉模型(6)RUP过程模型

(7) 敏捷过程模型(8)微软过程模型

3.可行性研究(p36)

(1).技术可行性(2)经济可行性(3).操作可行性(1).法律可行性研究开发所需要的成本和资源是属于可行性研究中的经济可行性研究的一方面4.编码时应该遵循的规则中,不正确的是(p147-149)

(1).所有的输入数据都进行检验

(2).程序应包括适当的注释

(3).程序代码应效率第一,清晰第二

(4).源程序的效率由算法的效率决定,但写程序之前应先简化算术的和逻辑的表达式

5.可以提高软件测试效率的是(p175)

(1)..随意选取测试的数据

(2).选取边界数据作为测试用例

(3).制定测试计划

(4)..取尽可能多的数据进行测试

四、活学活用

1.设计一个程序,要求具有如下功能:输入一组数A(N),在这组数中找出最小数。

请画出其求解过程的N-S图和PAD图

N-S图如下:

PAD图如下:

2.使用UML的图形化符号来表示对象类,设计以下各类,它们的属性和操作(根据自己的经验决定应该与这些对象有关的属性和操作),并标明类与类之间的关系。

3.程序功能说明书指出,某程序的输入条件为:每个学生可以选修1至3门课程,试用黑盒法设计测试用例:

(1)按等价分类法设计测试用例(要求列出设计过程);(p172)

合理的等价类

选修1门

选修2门

选修3门

不合理的等价类:

没选课

选3门以上

测试用例:

选修=2

选修=0

选修>3

(2)按边界值分析法设计测试用例。(p175)

边界值法:

0,1,3,4,

4.图`1是用UML语言描述的对象类,它示范了一个employee对象的模式,图2 是一个泛化继承关系的类图

图1 An employee object 图 2 A generalisation hierarchy

.

回答下列问题:

(1)在Employee类中有多少个属性和操作?还能够增加更多的属性吗?

答:属性:(attribute) 有10个

操作:(operation) 有4个

Employee类中还可以增加其他的属性,如性别(sex),家庭住址(address)等。

(2) 在UML图中,泛化关系是用什么表示的?如果实现的?

答:在UML中泛化是用一个指向父类的箭头表示。是通过继承来实现的

(3) 列出Manager类的所有子类

在图2中Manager类的所有子类有:Project Manager类

Dept Manager类

Strategic Manager类

(4) 通过Project Manager类可直接或间接访问多少个成员属性

答:通过class Project Manager类可以直接或间接访问的属性有13个

(5) 如果一个成员jobDuty将被增加到Manager类中,同时一个操作doJob被增加到Project Manager类中,请重新画出UML示图2

答:

5.图书借阅系统包括三种用户:读者、图书管理员和系统管理员。对系统,读者可查询自己的借阅情况、查询图书和在规定期限内续借以及找图书管理员进行借书和还书;对图书管理员,主要对图书进行借书、还书和续借操作,以及管理图书信息和维护读者的信息;而系统管理员,主要是对系统的日志进行维护、用户维护和后台数据库的维护等操作。请根据上述描述画出系统的用例图。

后台数据维护

五、综合能力考查

假设自己被指派作为一个大型软件产品公司的项目负责人,工作负责公司已被广泛应用的文字处理软件的新版本开发及管理。由于市场竞争激烈,公司规定了严格的完成期限,结合你所学习的软件工程的原理、方法和技术阐述你该如何开展工作。(从计划、软件过程、项目组织、进度计划及质量管理、产品维护等方面考虑)

作为一个大型软件产品公司的项目负责人,我认为软件项目始于项目计划,而第一项计划活动就是估算,要预测软件规模、估算完成该项目所需的工作量。

在完成开发任务时,必须进行一些开发活动,即软件过程。根据所承担项目的特点来划分阶段,明确需求分析。对这个项目的一个重要要求是公司规定了严格的完成期限,因此,选择生命周期模型应该着重考虑哪种模型有助于加快产品开发的进度。使用增量模型开发软件时,可以并行完成开发工作,因此能够加快开发进度。这个项目是开发该公司已被广泛使用的字处理软件的新版本,从上述事实可以得出三点结论:第一,旧版本相当于一个原型,通过搜集用户对旧版本的反应,较容易确定对新版本的需求,没必要再专门建立一个原型系统来分析用户的需求。第二,该公司的软件工程师对字处理软件很熟悉,有开发的丰富经验,具有采用增量模型开发新版字处理软件所需要的技术水平。第三,该软件受到广大用户的喜爱,今后很可能还要开发更新的版本。因此,应该把该软件的体系结构设计成开放式的,以便于今后的改进和补充。

在项目组织方面,该项目软件的规模很大,单个开发人员无法在规定期限完成开发工作,因此应选择现代程序员项目组结构,因为小组成员都能对发现程序错误持积极主动的态度,能更好的适应竞争。高素质的开发人员和合理的项目组组织结构是软件项目取得成功的关键。

同时,在进度计划方面,可联合使用Gantt图和工程网络来制定进度计划并监督项目进展情况。首先制定一个宏观的进度安排表,表示出主要的软件工程活动和其影响到的产品功能,随着项目的进展,再把每个条目精化成一个详细进度表,并安排好实现这些任务的进度。

另外,应明确影响软件质量的主要因素,保证软件质量。可通过正式技术复审、走查、审查、程序正确性证明等方式确保软件产品的质量。

最后要做到的就是软件产品维护,通过各种必要的维护活动使系统持久的满

足用户的需求。像改正性维护、适应性维护、完善性维护、预防性维护等。每一项维护活动都应该经过报告问题、分析维护要求、提出维护方案、审批确定维护计划修改软件设计程序,测试、复查验收等。

软件工程期末考试重点

软件工程期末考试重点 《软件工程》期末复习重点 第一章软件工程 1. 什么是软件工程。 A.把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;b.研究a中提到的途径。2. 软件工程的三要素:方法、工具和过程。 第二章软件过程 1. 软件生命周期分为哪几个阶段?每个阶段的基本任务是什么? a.软件定义:确定软件开发工程必须完成的总目标问题定义:要解决的问题是什么 可行性研究:上阶段所确定的问题是否有可行的解决办法?需求分析:目标系统必须做什么 b.软件开发:具体设计和实现在前一个时期定义的软件。概要设计:怎样宏观地解决问题 详细设计:应如何具体地实现这个系统 编码和单元测试:写出正确的、易理解、易维护的程序综合测试:通过各类型测试使达到预定要求。 c.运行维护:修正错误,使软件持久地满足用户需要。改正性维护:诊断和改正使用中的错误适应性维护:修改

以适应环境变化 完善性维护:根据用户的要求改进和扩充以完善预防性维护:修改以为将来的维护作准备 2. 常用的过程模型有哪些?各自的特点及不足。如:瀑布模型的不足是不能适应需求的动 态变更。 A.瀑布模型 特点: 可强迫开发人员采用规范化的方法。严格地规定了每个阶段必须提交的文档。要求每个阶段交出的所有产品都必须是经过验证的。 缺点:太理想化,于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。如果需求规格与用户需求之间有差异,就会发生这种情况。只适用于项目开始时需求已确定的情况。 B.快速原型模型 特点:快速 软件产品开发基本上是线性顺序进行。降低了规格说明文档变化的可能性。减少了后续阶段错误的可能性。 c.增量模型 1 优点: 人员分配灵活,刚开始不用投入大量人力资源。

软件工程重点整理

软件工程重点 (吐血整理——林新发) 红色的是重点中的重点 前面数字是课本页码 第一章概论 1 什么是计算机软件 计算机软件指计算机系统中的程序及其文档 3软件的特点 (1)软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算 (2)软件是被开发的或被设计的,它没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大 (3)软件的使用没有硬件那样的机械磨损和老化问题 4软件的分类 (1)系统软件(如操作系统、编译程序等)、 (2)支持软件(如数据库管理系统、网络软件、软件开发环境等)、 (3)应用软件(如实时软件、嵌入式软件、科学和工程计算软件、事务处理软件、人工智能软件等) 6软件工程定义 软件工程是应用计算机科学、数学及管理科学等原理,以工程化的原则和方法制作软件的工程 7生存周期 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期 软件生存周期大体可分为如下几个活动:计算机系统工程、需求分析、设计、编码、测试、运行和维护 12能力成熟度模型CMM(了解一下) 初始级、可重复级、已定义级、已管理级、优化级 18瀑布模型(重) 系统工程、需求分析与规约、设计与规约、编码与单元测试、集成测试系统测试、运行与维护 第二章系统工程 41系统工程的任务 (1)识别用户的要求,确定待开发软件的总体要求和范围,

(2)系统建模和模拟 (3)进行成本估算,做出进度安排 (4)进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中作出选择。 (5)生成系统规格说明书 42可行性分析 (1)经济可行性(成本、效益、货币的时间价值、投资回收期、纯收入) (2)技术可行性(风险分析、资源分析、技术分析) (3)法律可行性 第三章需求工程 48软件需求 指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。 包括:功能需求、性能需求、用户或人的需求、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密要求、可靠性需求、软件成本消耗与开发进度需求、其他非功能需求 50需求获取方法与策略(重) 建立顺畅的通信途径、访谈与调查、观察用户操作流程、组成联合小组、用况 51 图3.2 53 创建用况模型的主要步骤 (1)确定谁会直接使用该系统,即参与者(Actor) (2)选取其中一个参与者 (3)定义该参与者希望系统做什么,参与者希望系统作的每件事将成为一个用况 (4)对每件事来说,何时参与者会使用系统,通常会发生什么,这就是用况的基本过程 (5)描述该用况的基本过程 54需求分析原则(重) 1.必须能够表示和理解问题的信息域 2.必须能够定义软件将完成的功能 3.必须能够表示软件的行为(作为外部事件的结果) 4.必须划分描述数据、功能和行为的模型,从而可以分层次地揭示细节

软件工程期末复习知识点整理

复习整理 、绪论 1. 软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 是指导计算机软件开发和维护的一门工程学科;采用工程化的原理与方法对软件进行计划、开发和维护;把证明正 确的管理技术和最好技术综合运用到软件开发中;研究经济地开发岀高质量的软件方法和技术;研究有效维护软件 的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。 ⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构 +算法;着眼于程序的过程和基本控制结构,粒度最小 (2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对 象,粒度比较大 (3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合 整个领域的类对象,粒度最大 二、软件生存周期与软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动 定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期 目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段, 给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。 主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护( P19) 2、软件生命周期划分为哪几个阶段 软件生命周期分为三个时期八个阶段: 软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护

软件工程导论复习知识点

一、软件: 软件定义: 软件=程序+文档+数据 软件特点: 1、具有抽象性 2、没有明显的制造过程 3、软件的维护比硬件的维护要复杂得多 4、对计算机系统有着不同程度的依赖性 5、尚未完全摆脱手工艺的开发方式 6、软件本身是复杂的 7、软件成本相当昂贵 8、相当多的软件工作涉及到社会因素软件的发展: 程序设计、程序系统、软件工程 软件危机: 软件危机指的是软件开发和维护过程中遇到的一系列严重问题。 软件危机的问题: 如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的已有软件。 软件危机表现: 1.开发成本难以控制,进度不可预计; 2.软件系统的质量和可靠性很差,难以满意; 3.软件文档相当缺乏,软件系统不可维护; 4.软件开发生产率很低,软件产品供不应求。 5.软件产品成本十分昂贵。

软件危机产生原因: 1、软件本身的特点 2、对软件开发与维护存在许多错误认识和做法 3、软件开发与维护的方法不正确 解决软件危机途径: 1、将软件开发看成是一种组织严密、管理严格、各类人员协同配合共同完成的工程项目。 2、研究和推广成功的软件开发技术和方法。 3、开发和使用好的软件工具。 软件生命周期: 软件所经历的定义、开发、使用和维护直到废弃所经历的时期。 程序设计环境: 源程序编辑,编译或解释,链接,调试和运行工具的集合 软件工程环境: 软件定义,设计和实现,测试和维护等各个阶段所使用的软件工具的集合 二、软件工程: 软件工程定义: 研究如何应用一些科学理论和工程上的技术来指导软件的开发,用较少的投资获得高质量的软件的一门学科。 软件工程性质: 涉及计算机科学、工程科学、管理科学、数学等领域,着重于如何建造一个软件系统。用工程科学中的观点来进行费用估算、制定进度、制定计划和方案。用管

软件需求工程复习题

需求工程练习题 一、单选题(每空1分,共20分,请在备选答案中选择唯一一个正确的选项) 1、产品特性可以称为质量属性,在众多质量属性中,对于开发人员来说重要的属性有哪些 (B ) A 有效性、效率、灵活性、互操作性 B 可维护性、可移植性、可重用性、可测试性 C 完整性、可靠性、健壮性、可用性 D 容错性、易用性、简洁性、正确性 2、需求包括11个方面的内容,其中网络和操作系统的要求属于(B),如何隔离用户之间的数据属于(C),执行速度、相应时间及吞吐量属于(D),规定系统平均出错时间属于(A )。 A 质量保证 B环境需求 C安全保密需求 D 性能需求 3、需求分析过程应该建立3种模型,它们分别是数据模型、功能模型、行为模型。以下几种图形中,(B)属于功能模型,(A)属于数据模型,(C)属于行为模型。 A 实体-联系图(ERD) B 数据流图(DFD) C 状态转换图(STD) D鱼骨图 4、常用的需求分析方法有:面向数据流的结构化分析方法(SA),面向对象的分析方法(OOA),下列(D)不是结构化分析方法的图形工具。 A决策树 B数据流图 C数据字典 D快速原型 5、软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。其中,(B)和(C)用完就可以丢弃,而(A)围绕原型修改、增加。 A 进化型 B 探索型 C实验型 D 以上都是 6、(D)用于描述数据的处理过程。 A 数据字典 B决策树 C决策表 D 数据流图 7、DFD的基本符号不包括下列哪种(A) A 数据字典 B 加工 C 外部实体 D 数据流 E 数据存储文件 8、DD的主要字典条目包括以下哪种(E) A数据流 B文件 C 数据项 D加工 E以上都是 9、常用的动态分析方法不包括以下哪种(B) A 状态迁移图 B 层次方框图 C时序图 D Petri网 10、需求分析阶段的文档包括以下哪些(E) A 软件需求规格说明书 B数据要求说明书 C初步的用户手册 D修改、完善与确定软件开发实施计划 E以上都是 11、需求验证应该从下述几个方面进行验证:(C) A 可靠性、可用性、易用性、重用性B可维护性、可移植性、可重用性、可测试性 C一致性、现实性、完整性、有效性 D 功能性、非功能性 12、风险管理的要素包括哪项(D) A风险评价 B风险避免 C风险控制 D以上都是 13、下列描述中错误的是(D) A每一个集成的需求变更必须能跟踪到一个经核准的变更请求。 B变更过程应该做成文档,尽可能简单,当然首要的是有效性。 C所有需求变更必须遵循过程,按照此过程,如果一个变更需求未被采纳,则其后过程不再予以考虑。 D可以从数据库中删除或修改变更请求的原始文档

软件工程(清华钱乐秋版)期末复习重点

1、什么是软件工程 在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。 2、软件生存周期分哪几个阶段分别简述各个阶段的任务。 答:软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。 A 计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机 系统元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。 B 需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面 等要求,生成软件需求规约。 C 软件设计只要解决待开发软件“怎么做”的问题。软件设计通常可分为系统设计和详细设 计。系统设计的任务是设计软件系统的体系结构,包括软件系统的组成成分、各成分的功能和接口、成分间的连接和通信,同时设计全局数据结构。详细设计的任务是设计各个组成成分的实现细节,包括局部数据结构和算法等。 D 编码阶段的任务是用某种程序设计语言,将设计的结果转换为可执行的程序代码。 E测试阶段的任务是发现并纠正软件中的错误和缺陷。测试主要包括单元测试、集成测试、确认测试和系统测试。 F软件完成各种测试后就可交付使用,在软件运行期间,需对投入运行的软件进行维护,即可发现了软件中潜藏的错误或需要增加新的功能或使软件适应外界环境的变化等情况出现时,对软件进行修改。 3、简述各类软件过程模型的特点。 答:典型的软件过程模型有:瀑布模型、演化模型(增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。 A瀑布模型中,上一阶段的活动完成并经过评审后才能开始下一阶段的活动,其特征是: 接受上一阶段活动的结果作为本阶段活动的输入; 依据上一阶段活动的结果实施本阶段应完成的活动; 对本阶段的活动进行评审; 将本阶段活动的结果作为输出。 B 增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软 件的一个可发布的增量版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。 C 原型方法从软件工程师与客户的交流开始,其目的是定义软件的总体目标,标识需求。 然后快速制定原型开发的计划,确定原型的目标和范围,采用快速设计的方式对其建模,并构建模型。被开发的原型应交付给客户使用,并收集客户的反馈意见,这些反馈意见可在下

软件工程期末考试参考试题

软件工程期末考试参考试题 一、填空题 1、软件生存周期一般可分为问题定义、可行性研究、需求分析、设计编码、测试、运 行与维护阶段。 2、按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。 3、可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。 4、用户界面的可使用性是用户界面设计最重要的也是最基本的目标。 5、常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的结构化设计 方(SD),以数据结构为基础构造模块的Jackson方法,以对象、类、继承和通信为基础的面向对象设计方法(OOD)。 6、数据流图和数据字典共同构成系统的逻辑模型。 7、软件测试的方法有分析方法和非分析方法(即黑盒法)。 8、单元测试一般以白盒测试为主,黑盒测试为辅。 9、成本估计方法主要有自底向上估计、自顶向下估计和算法模型估计三种类型。 10. 文档(document)—一种数据媒体和其上所记录的(数据)。 11 机器语言、汇编语言:依赖于机器,面向(机器) 12. 软件有效性(efficiency),指软件系统的时间和(空间)效率。 13. 软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 14. 软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。 15. 为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。 16. 一个软件的深度是指其控制的(层数)。 17. 以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并 最终可运行的代码的过程叫(编码)过程。 18. 软件维护是软件生命周期的(最后)一个阶段 19. 软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。 20. 基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。 21. 数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分 别表示数据流、转换、(数据源)以及外部实体。 22. 被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生 类子类。 23. 流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和(循环)三个基 本控制构件。 24. 机器语言和汇编语言,也称为(低级)语言。 25. 软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。 26. 软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的(难易)程度。 27. 软件可理解性,指系统具有清晰的结构,能直接反映问题的(需求)。 28 在实体-关系图简称E-R图中,数据对象实体用长方形、关系用(菱形)、属性用椭 圆表示。 29. 建立数据流模型要遵循的原则包括:每个加工至少应有一个输入数据流以反映被处 理数据的来源和一个(输出)数据流来反映加工的结果 30. 从工程管理的角度软件设计可分为概要设计和(详细)设计两大步骤。

需求工程期末复习

第一章:需求工程导论 1.需求工程定义: 是所有需求处理活动的和,它收集信息、分析问题、整合观点、记录需求并验证其正确性,最终反映软件被应用后与其环境互动形成的期望效应。 2.需求工程的基本活动: 1)需求开发:需求获取,需求分析,需求规格说明,需求验证 2)需求管理 3.各个活动的目的: 1)需求获取的目的是从项目的战略规划开始建立最初的原始需求; 2)需求分析的目的是保证需求的完整性和一致性; 3)需求规格说明的目的是将完整、一致的需求与能够满足需求的软件行为以文档的方式明确地固定下来; 4)需求验证的首要目的是保证需求及其文档的正确性,即需求正确的反映了用户的真实意图;另一个目标是通过检查和修正,保证需求及其文档的完整性和一致性; 5)需求管理的主要工作是跟踪后继阶段中的需求实现与需求变更情况,确定需求得到了正确的理解并被正确的是想到了软件产品中。 4.软件需求规格说明定义: 软件需求开发用来确定系统需求中应该由软件满足的部分,将其映射为软件行为,产生软件需求规格说明。 第二章:需求基础 5.软件系统能够与问题域进行交互和相互影响的原因在于,软件系统中的某些部分对问题域中的某些部分具有模拟特性。 6.需求分类: 1)功能需求:业务需求,用户需求,系统需求 2)性能需求 3)质量属性 4)对外接口 5)约束 第三章:(不考) 第四章:需求获取概述 7.需求工程需要获取的内容主要有三种: 1)需求 2)问题域描述 3)环境与约束 8.需求获取信息的主要来源: 1)涉众 2)硬数据 3)相关产品 4)重要文档 5)相关技术标准和法规 9.获取信息的方法: 1)传统方法:问卷调查,面谈,文档分析,文档检查,需求剥离 2)集体获取方法:头脑风暴,专题讨论会,JAD,JRP 3)原型

山东大学-软件工程复习重点整理

第一章 1.1软件工程(SE)的定义、向、作用: SE:在将有关软件开发与应用的概念科学体系化的基础上,研究如有计划、有效率、经济的开发和利用能在就算机上正确运行的软件的理论和技术的工程法学,一些开发和维护软件的法、过程、原则。是一个系统工程,既有对技术问题的分析与综合,也有对开发过程和参与者的管理。 SE的向:面向对象模式,结构化模式,基于过程的模式等 SE的作用:付出较低的开发成本,达到要求的软件功能,取得较好的软件性能,开发的软件易于移植,需要较低的维护费用,能按时完成开发工作,及时交付使用。 1.2开发模式:软件开发的全部过程,活动和任务的结构框架,它能直观的表达的表达软件开发全过程,明确要完成的主要活动,任务和开发策略。 1.3说明错误、故障和失效的含义及联系(并举例): 错误:是在软件生产过程中人为产生的错误(需求说明中的错误,代码中的错误) 故障:是在功能实现过程中产生的问题;是错误导致的结果,是在软件中一个错误的表现(一个错误可能产生多个缺陷,静态存在的) 失效:是相对于系统指定行为的偏离,系统违背了它应有的行为(动态存在的) 联系:当一个开发者编写程序时,会在代码中出现错误。当这个程序被编译或集成到一个系统中时,系统就存在故障。当你运行这个系统时,可能会导致失效,即人们产生错误,故障是错误的结果(部观角:从开发者的角度看待问题),当故障执行时出现失效(外部视角:从用户角度看到的问题)。并不是所有的错误会导致故障,并非每个缺陷都对应相应的失败。1.4软件质量应从哪几个面衡量,论述之: (1产品的质量)(2过程的质量)(3商业环境背景下的质量) (1)产品的质量:用户从失败的数目和类型等外部特征进行评价,如果软件具有足够的功能并且易于学习和使用,用户就断定软件是高质量的;开发者从缺陷的数目和类型等部特征来作为产品质量的依据。 (2)过程的质量:有很多过程都会影响到最终的产品质量,只要有活动出了差错,产品的质量就会受到影响;开发和维护过程的质量与产品的质量是同等重要的。 (3)商业环境背景下的软件质量:将技术价值和商业价值统一起来。 1.5软件系统的系统组成(系统的要素有哪些):对象(实体)+ 活动+ 关系+ 系统边界活动:活动是发生在系统中的某些事情,通常描述为由某个触发器引发的事件,活动通过改变属性把一个事物变成另一个事物。 对象:活动中涉及的元素称为对象。 关系:是指活动与对象之间的关系。 系统边界:即系统包含的功能与系统不包含的功能之间的界限。 1.6现代软件工程大致包含几个阶段及各个阶段的文档: (1)需求分析:主要包括问题定义、可行性分析、需求分析《需求规格说明书》

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

软件工程导论重点 第一章重点: 软件的概念:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。 软件危机概念:软件危机暴发于上个世纪六十年代末。 主要表现为:软件的发展速度远远滞后于硬件的发展速度,不能满足社会日益增长的软件需求。软件开发周期长、成本高、质量差、维护困难。 软件工程概念: 概括地说,软件工程是指导计算机软件开发和维护的工程学科。 采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 软件工程的目标: 软件工程的目标是运用先进的软件开发技术和管理方法来提高软件的质量和生产率,也就是要以较短的周期、较低的成本生产出高质量的软件产品,并最终实现软件的工业化生产。 基本目标: 付出较低的开发成本 达到要求的软件功能 取得较好的软件性能 开发的软件易于移植 需要较低的维护费用 能按时完成开发工作,及时交付使用 软件生存期概念和包含内容: 软件也有一个孕育、诞生、成长、成熟和衰亡的生存过程,我们称这个过程为软件生命周期或软件生存期。 软件生存期分为三个时期 软件定义 软件开发 运行维护

软件工程的方法: 软件工程包含技术和管理两方面的内容,是技术和管理紧密结合所形成的工程学科。 通常将软件开发全过程中使用的一整套技术方法的集合称为方法学(methedology),也称为范型(paradigm)。 目前使用最广泛的软件工程方法学:传统方法学(结构化方法学),面向对象方法学。 软件工程三要素: 三要素:方法、工具和过程。 第二章重点: 生存期模型有哪些: ?瀑布模型 ?快速原型模型 ?增量模型 ?螺旋模型 ?喷泉模型 ?统一过程 ?基于构件的开发模型 ?敏捷过程 前四种面向过程后四种面向对象 给一个模型,判断出是哪一模型的 第三章重点: 结构化分析方法的概念: 传统的分析建模方法称为结构化分析(structured analysis,SA)方法。 三大建模:(未完待续!!!) 功能建模: 功能建模的思想就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。功能模型

软件需求工程选择题

选择题 1.软件生命周期包括哪些阶段A A. 需求、设计、编码、单元测试、接收测试和维护阶段。 B. 设计、编码、单元测试、接收测试和维护阶段。 C. 需求、设计、编码、单元测试和接收测试阶段。 D. 需求、设计和编码阶段。 2. 好的软件需求具有哪些特性A A. 一致性和全面性。 B. 易读性和充分性。 C.充分性。 D.易读性。 3.RUP的十大要素是:开发一个前景、达成计划、标识和减小风险、分配和跟踪任务、检 查商业理由、设计组件构架、对产品进行增量式的构建和测试、验证和评价结果、_________和_________。A A. 管理和控制变化及提供用户支持。 B. 迭代的开发和提供用户支持。 C. 迭代的开发和管理和控制变化。 D. 建立模版和迭代的开发。 4.下列哪个不是RUP的核心工作流C A. 业务建模 B. 分析和设计 C. 用户需求了解。 D. 需求 5.RAD的缺点不包括___D______。 A. 如果用户不能持续地参与整个生命周期中,最终产品会受到负面影响。 B. 要求系统能适当模块化,如果没有可重用的组件,它的效率就会下降。 C. 盲目应用时,会缺乏成本概念和项目完成的时间限制。项目有永远不能完结的风险。 D. 工作重点从文档转为构建,所见即所得。 6.螺旋模型的优点不包括____C______。 A. 能够及时找到项目存在的风险,避免因为克服不了的困难而造成大的损失。 B. 使用户能够尽早将信息经常反馈给开发人员,保证了产品的正确性和高质量。 C. 大量的中间阶段会产生额外的内外部文档。 D. 可以方便地评估和验证每次迭代的成果;实现从开发到维护的无缝连接。 7.迭代方法中的常见问题不包括___B________。 A. 过分详细的规划 B. 项目收敛 C. 回避棘手问题 D. 不同的小组按自己的进度进行工作 8.用户故事的书写遵循一定的原则,其中不包括___C_____。 A. 作为(系统的一个涉众) B. 我想要(做一件事) C. 是什么(用户的需求是什么) D. 从而(达到一个商业价值)

软件工程导论(第6版)知识点总结、复习课_图文.

复习课 --------酷爱YC 第一章 1、什么是软件危机,什么是软件工程 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:(1如何开发软件,以满足对软件日益增长的需求;(2如何维护数量不断膨胀的已有软件。 软件工程:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件,并有效地维护它。 2、完整的软件配置由哪些内容组成 软件配置主要包括程序,文档和数据等成分。 3、软件生命周期分为哪3个时期和8个阶段,每个阶段的任务(工作分别是什么,重要性如何

概括地说,软件生命周期由软件定义、软件开发和运行维护3个时期组成 1、软件定义(系统分析。 软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。这个时期的工作通常又称为系统分析,由系统分析员负责完成。软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。 (1 问题定义,确定系统要解决的问题是什么。成果:关于问题性质、工程目标和工程规模的报告。 (2 可行性研究,确定问题是否有可用的、能行得通的解(包括:技术、经济、操作、社会等方面的可行性。这个阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。成果:可行性研究报告。 (3 需求分析,确定软件系统的必须实现的功能、必须达到的性能、必须满足的运行环境要求。系统分析员在需求分析阶段必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。通常用数据流图、数据字典和简要的算法表示系统的逻辑模型。在需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,因此必须准确完整地体现用户的要求。成果:软件需求规格说明书(SRS,内容包括:系统的逻辑模型;系统(子系统的名称、功能描述、接口、基本数据结构、性能、设计需求、开发标准、验收原则等。 2、软件开发。 开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。 (1 总体设计(概要设计,回答“怎样实现目标系统”。

《软件工程》期末考试题及答案++精华版!!

《软件工程》期末考试样题 一、填空题 1.软件开发模型有(瀑布模型)(螺旋模型)第四代技术模型(原型模型)构件组装模型、混合模型。 2.可行性研究一般可以从(经济)可行性、(技术)可行性、运行可行性、法律可行性和开发可行性等方面来研究。 3.现在向银行存款,年利率为i,若希望在n年后从银行得到F元,现在应该存入的钱数为(F/(1+i)n)。 4.数据流图的基本符号包括(数据输入的源点和数据输出的汇点)、(加工)、(数据流)、(数据存储文件)。 5.Jackson图除了可以表达程序结构外,还可以表达(数据结构),它首先要分析(数据结构),并用适当的工具来描述。 6.详细设计的工具有图形工具)、表格工具和(语言工具)。 7.IPO图由(输入)、处理和(输出)三个框组成。这个图的特点是能够直观的显示三者之间的关系。 8.面向对象技术是一整套关于如何看待(软件系统)和(现实世界)的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用(对象)、(类)、(继承)、(封装)、聚集、消息传送、多态性等概念来构造系统的软件开发方法。 二、单项选择题 1.下列( A )属于系统软件。 A.WINDOWS 2000 B.Word C.Flash D.3D MAX 2.下列哪个图是N-S图的构件( C )。 A. B. C. D. 3.对于螺旋模型,下列( D )不是利用笛卡尔坐 标表达的活动。 A. 制定计划 B. 实施工程 C. 风险分析 D. 程序编码 三、多项选择题 1.软件危机可以表现为(ABXD )。 A.产品不符合用户的需要 B.软件产品的质量差 C.软件的可维护性差 D.软件的价格昂贵 2.Jackson图中一般可能包括(ABCD )。 A.表头 B.表体 C.表名 D.字段名 3.关于内容耦合的描述正确的是(AD )。 A、内容耦合是最高程度的耦合 B、应该尽量使用内容耦合 C、高级语言一般设计成允许内容耦合的形式 D、如果一个模块有多个入口,可能发生内容耦合 4.下列属于不标准的书写格式(BCD )。 A、书写时适当使用空格分隔 B、一行写入多条语句 C、嵌套结构不使用分层缩进的写法 D、程序中不加注释 四、判断题(正确的在括号内打上“√”,错误的打上“×”) 1.软件生存周期是从软件开始开发到开发结束的整个时 期。() 2.系统流程图是一个典型的描述逻辑系统的传统工具。 () 3.数据流图和数据字典共同构成系统的逻辑模型。 (1) 4.扇出是一个模块直接调用的模块数目,一般推荐的扇出 为3或4。( 1 ) 5.耦合用于衡量一个模块内部的各个元素彼此结合的紧 密程度。()

软件需求期末考试资料整理

软件需求工程期末考试复习资料 第一讲 1.什么是需求分层?为什么要进行需求分层?【P6~P9】 一些基本术语和概念,需求,软件需求工程,需求分析 (1)软件需求包括三个不同的层次—业务需求、用户需求和功能需求,除此之外,每个系统还有各种非功能需求。 业务需求( business requirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们在前景和范围文档中予以说明。 用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例(use case)文档或方案脚本(scenario)说明中予以说明。 功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。 所谓特性(feature)是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求。 (2)需求具有多个视图,从不同的角度定义不同项目涉众所关注的相同问题。软件需求的层次划分可以满足需求的多视图需要。 具体而言,管理人员或市场营销人员负责定义软件的业务需求,以提高公司的运营效率(对信息系统而言)或产品的市场竞争力(对商业软件而言)。 所有的用户需求都必须符合业务需求,需求分析员从用户需求中推导出产品应具备哪些对用户有帮助的功能。 开发人员则根据功能需求和非功能需求设计解决方案,在约束条件的限制范围内实现必需的功能,并达到规定的质量和性能指标。 2.需求开发和需求管理是按照什么来划分的?它们各自包含哪些活动?【P9~P10】 按照需求基线来划分的,即:按照某一时刻,对特定版本中已达成一致的需求内容为界限。 它们各自包含的活动有:【参见课本】 3.好的需求是什么样的?【P15~P16】 单条需求(即需求声明)的特点:【P15】 SRS作为整体应具备的特点:【P16】 4.如何去理解需求签约以及如何认识?【P25】 客户和开发人员之间合作伙伴关系的核心是就产品的需求达成一致,很多组织把在需求文档上签字作为客户认可需求的标志。 “签字”的核心在于建立需求协议的基线,即某一时刻需求的瞬态图。在需求规格说明书上签字表示,同意这份文档所描述的系统能够满足客户的需求,进一步的变更将在此基础上,依照项目定义的变更过程进行。 在实务操作中,“签字”常出现如下问题:一是客户代表把在需求文档上签字当做毫无意义的仪式;二是开发经理把签字当做冻结需求的方法。这些都是需要规避的,即不能把“签字”当做武器,而应该将之视为项目的一个里程碑,对于签字之前应进行哪些活动,以及签字对将来变更的影响,各方应形成明确一致的理解。

软件工程期末考试复习题及答案

(4分) 变换型结构的数据流呈() A. 线性形状 B. 辐射状 C. 椭圆形 D. 阶梯形 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..2. (4分) 可行性研究阶段使用的图形工具是() A. DFD图 B. N-S图 C. PAD图 D. Warnier图 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..3. (4分) 软件的开发模式有() A. 面向过程模式、面向对象模式、混合模式 B. 变换模式、渐增模式、瀑布模式 C. 自顶向下模式、自底向上模式、关系模式 D. 分步模式、渐增模式、非渐增模式 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 B .解析..4. (4分) 模块的初始化工作和模块处理意外故障均属于() A. 时间内聚 B. 顺序内聚 C. 功能内聚 D. 逻辑内聚 得分: 0 知识点: 软件工程作业题,软件工程展开解析 .答案 A .解析..5. (4分) HIPO的含义是()

A. 层次、输入、处理、输出 B. 高速、信息、程序、目标 C. 顶层的IPO图 D. 关于输入、处理、输出的层次 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..6. (4分) 数据字典和数据流图共同构成系统的() A. 物理模型 B. 结构模型 C. 设计说明书 D. 逻辑模型 得分: 0 知识点: 软件工程作业题,软件工程展开解析 .答案D .解析..7. (4分) 好的软件结构它的外观形状一般呈() A. 线性 B. 扇形 C. 椭圆形 D. 层次型 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 C .解析..8. (4分) CMU/SEI推出的()将软件组织的过程能力分为五个成熟度级别,每一个级别定义了一组过程能力目标,并描述了要达到这些目标应该具备的实践活动。 A. CMM B. PSP C. ISO-9000 D. RUP 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..9. (4分) 若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用()

软件工程导论最全复习总结

1、软件危机是指在计算机开发过程中的开发和维护过程中所遇到的一系列的 严重问题。 2、软件是程序、数据及相关文档的完整集合,程序是能够完成预定功能和性能的可执行的 程序序列;数据是是使程序能够适当的处理信息的数据结构;文档是开发、使用和维护程序所需要的图文资料。 3、软件工程学包含3个要素:方法、工具、过程。 4、目前使用最广泛的软件工程方法学是传统方法学和面向对象方法学。 5、软件工程方法学的软件过程基本上可以用瀑布模型来描述。 6、瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型。 7、Rup把软件生命周期划为:初始、精化、构建、移交阶段。 8、可行性研究的三方面:技术可行性、经济可行性、操作可行性。 9、数据流图(DFD是一种图形化技术,他描绘信息流和数据从输入移动到输出的过程中 所经受的变化。 10、数据字典是关于数据信息的集合,也就是对数据流程图中所包含的所有元素的定义 的集合。 11、数据流图和数据字典共同构成系统的逻辑模型,没有数据字典,数据如就不严格, 没有流程图,数据字典也难以发挥作用。

12、需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面形式准 确的描述软件需求。 13、9、结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。 14、ER图中包含了实体、关系和属性,矩形代表实体,菱形表示关系,椭圆或圆角矩 形表示属性,用直线把实体和其属性连接。 15、验证软件需求的正确性:一致性、完整性、现实性、有效性。 总体设计又称 16、总体设计的基本目的是回答“概括地说,系统应该如何实现?”, 为 概要设或初步设计。 17、模块的独立程度可以有两个定性标量度量:内聚和耦合。 18、软件测试的目标:(1测试是为了发现程序中的错误而执行程序的过程;(2好的 测试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3成功的测试是发现可至今为止尚未发现的错误的测试。 19、软件测试步骤:模块测试、子系统测试、系统测试、验收测试、平行运 行。 20、软件可靠性是程序在给定的时间点,按照规格说明书的规定,成功的运行的概率。

软件工程期末复习要点归纳总结精编WORD版

软件工程期末复习要点归纳总结精编W O R D 版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】

第一章软件工程学概论 1、软件危机产生的原因 软件本身的特点:难于维护、逻辑复杂 软件开发与维护的方法不正确:忽略需求分析重要性、轻视软件维护 课本表述: 1、软件不同于硬件,它是计算机中的逻辑部件而不是物理部件 2、软件不同于一般程序,它的一个显着特点是规模庞大,而且程序的复杂性将规模 的增加而呈现指数上升。 3、软件本身特有的特点确实给开发和维护带了一些客观困难 4、软件开发与维护有关的许多错误认识与做法有关(忽略需求分析,轻视软件维 护) 5、对用户要求没有完整准确的认识就匆忙开始着手编写程序 6、在软件不同阶段进行修改需要付出的代价是很不相同的 2、软件危机的表现(什么是软件危机) (1)、成本高: (2)、软件质量得不到保证:软件质量问题导致失败的软件项目非常多 (3)、进度难以控制:

●项目延期比比皆是 ●由于进度问题而取消的软件项目较常见 ●只有一小部分的项目能够按期完成 (4)、维护十分困难: ▼软件维护的多样性 ▼软件维护的复杂性 ▼软件维护的副作用 3、克服软件危机 (1)、管理的角度: 软件开发过程的研究、文档的标准化以及人员的交流方式等 (2)、软件开发方法的研究 结构化软件开发方法, 面向对象的开发 4、软件工程的定义 概括的说,软件工程师指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

软件工程导论复习重点总结很全(第六版)(精)

第1章软件工程学概述 1.1 软件危机 1.1.1 软件危机的介绍 软件危机(软件萧条、软件困扰:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件危机包含下述两方面的问题: 如何开发软件,满足对软件日益增长的需求; 如何维护数量不断膨胀的已有软件。 软件危机的典型表现: (1对软件开发成本和进度的估计常常很不准确; (2用户对“已完成的”软件系统不满意的现象经常发生; (3软件产品的质量往往靠不住; (4软件常常是不可维护的; (5软件通常没有适当的文档资料; (6软件成本在计算机系统总成本中所占的比例逐年上升; (7软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 1.1.2 产生软件危机的原因 (1与软件本身的特点有关 (2与软件开发与维护的方法不正确有关

1.1.3 消除软件危机的途径 对计算机软件有正确的认识。 认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。应该推广使用在实践中总结出来的开发软件的成功技术和方法,并继续研究探索。 应该开发和使用更好的软件工具。 总之,为了解决软件危机,既要有技术措施(方法和工具,又要有必要的组织管理措施。 1.2 1.2.1 软件工程的介绍 软件工程:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。(期中考 软件工程的本质特性: 软件工程关注于大型程序的构造 软件工程的中心课题是控制复杂性 软件经常变化 开发软件的效率非常重要 和谐地合作是开发软件的关键 软件必须有效地支持它的用户

《软件工程》自考02333-重点难点汇集

《软件工程》串讲讲义应考指导 一、课程介绍 1、课程性质 《软件工程》是全国高等教育自学考试计算机及应用(独立本科段)的一门专业课。 软件工程是研究软件开发的一门课程,其主要容包括:软件开发所需要的过程、活动和任务,以及这些活动和任务的组织、实施和管理。 2、指定教材 本课程指定教材为《软件工程》,全国高等教育自学考试指导委员会组编,王立福主编,机械工业出版,2011年版。 新版教材与2000年版相比,无论是容还是容的组织,都有了很大的变化。整个知识体系、章节安排、容选取都不一样,这是考生一定要注意的。新版教材的容组织特点主要体现在:基于对软件开发本质的认识,讲解软件工程的两大技术问题:一是开发逻辑,二是开发途径。 开发逻辑涉及软件生存周期过程、软件生存周期模型(有关过程、活动和任务的组织框架)以及项目软件生存周期的规划与监控。 开发途径涉及结构化方法和面向对象方法,以及支持软件评估所需要的软件测试技术等。 3、章节体系 本课程共有8章: 第1章:回答什么是软件开发的本质 第2章:软件需求与软件需求规约 第3章:结构化方法 第4章:面向对象方法-UML 第5章:面向对象方法-RUP 第6章:软件测试。 第7章:软件生存周期过程及管理 第8章:集成化能力成熟度模型CMMI 二、考情分析 1.历年真题的分布情况

由于教材刚刚经过改版,新教材刚经过2011年10月、2012年01月、2012年10月三次考试。通过对2011年10月、2012年01月这两次真题的分析,各章所占分值的分布情况如下表所示: 25%左右。第1章和第8章的考核知识点相对较少。 2.题型分析 本课程的考试题型分为: (1)单项选择题,共15小题,每小题2分,共30分 (2)填空题,共20个空,每空1分,共20分 (3)简答题,共6小题,每小题5分,共30分 (4)综合应用题,共2题,每题10分,共20分 3.复习方法 (1)以教学大纲为准绳。自学考试的原则是:考试围既不超出大纲又不超出教材围。所以考生一定根据教学大纲规定的考试容和考核要求,认真学习教材,要全面、系统了解教材中的基本概念、基本知识。 (2)有的放矢。在学习的过程中,为了达到“事半功倍”,要学会“舍”。要用有限的时间去抓重点,对重点容要进行深入细致的学习。 (3)注意学习方法,理论联系实际,注重理解

相关文档