软件工程复习提纲[2017年0615]
软件工程复习纲要
第一章软件工程复习纲要
第二章、概述
1、软件危机的概念及主要原因
(1)软件危机是指在计算机软件开发和维护时所遇到的一系列问题。
(2)软件危机产生的原因:软件规模、方法、技术、软件开发人员;客观:规模,环境,需求变化;主观:开发技术,管理。
软件产品规模庞大,开发和维护带来客观困难
软件使用同期相对较长,期间可能出现开发没料到的问题,需要及时维护
软件开发技术落后,生产方式和开发工具落后
软件开发人员忽视软件需求分析的重要性,轻视软件维护
2、软件、软件工程、软件工程学的概念
(1)软件是指计算机程序及其有关的数据和文档。
(2)软件工程(softwareengineering)是计算机软件开发、运行、维护和隐退的系统方法;是指导计算机软件开发和维护的工程学科;软件工程的目标是在规定的时间、开发费用内,开发满足用户需求的高质量的软件。
(3)软件工程学的主要内容是软件开发技术(包含软件工程方法学、软件工具和软件开发环境)和软件工程管理(包含软件工程经济学和软件管理学)。更多内容请见P.4;
3、软件生命周期及生命周期各阶段的任务
(1)软件生命周期指从设计软件产品开始到产品不能使用为止的时间周期。包括:定义,开发,使用,维护,淘汰。
(2)软件生命周期各阶段的任务
软件计划、软件开发和软件运行维护三个时期。
软件计划时期:问题定义、可行性研究、需求分析
软件开发时期:软件概要设计、软件详细设计、软件实现、综合测试等阶段。
软件运行维护时期:需要不断地进行维护,使软件持久满足用户需要
4、软件开发模型的几种模型及各模型的特征
“软件工程”课程复习大纲.
北京工业大学
“软件工程”课程复习大纲
英文名称:Software Engineering
课程类型:选修
学时:32 学分:2
适用对象:硕士生
先修课程:数据结构、高级程序设计语言
使用教材及参考书:《软件工程技术与实践》,刘志峰编著,电子工业出版社《实用软件工程》,郑人杰编著,清华大学出版社
(一教学基本要求
1、要求掌握基本知识:软件工程、可行性分析、需求分析、系统设计、测试与维护、项目管理、质量管理、CMM等。
2、要求掌握的基本理论和方法:软件工程的基本理论,项目管理方法、质量管理方法、CMM基本理论等。
3、要求掌握的基本技能:MICROSOFT PROJECT2002使用,计算机软件国家标准文档编写等。
(二课程教学内容及要求
第一章''软件工程基本观念''
基本内容:
●软件工程的目标
●软件工程的基本模型
●软件开发的基本策略
●开发者中一些不正确的观念、一些有争议的观念。
●软件的生命周期主要阶段
●中国软件业概况
重点、难点:
●软件开发的基本策略(复用、分而治之、优化--- 折衷●软件工程的基本模型
●软件的生命周期主要阶段
第二章''软件开发相关知识''
基本内容:
●项目生命周期阶段
●项目属性与目标
●项目管理方法
●项目管理软件
●CMM简介及体系结构
●CMM与ISO的对比
●印度软件开发概况,包括组织结构、
重点、难点:
●项目的生命周期阶段
●项目管理方法
●项目属性与目标
●CMM体系结构。
第三章''项目计划与项目工具''
基本内容:
●软件项目规模估算方法
●项目进度计划方法
●CPM关键路线法
重点、难点:
●软件项目规模估算方法
软件工程复习提纲
软件工程复习提纲
第一篇:软件工程复习提纲
《软件工程》课程要点
λ每章教学课件中的“本章小结”列出了需要掌握的内容λ教学过程中的例题和习题也是课程重点
一、软件工程与软件过程概述
1.概念:
(1)软件的概念(组成成分、作用);
(2)软件危机的含义、表现、产生原因(客观、主观)(3)软件工程学科包括的内容、解决的主要问题
(4)软件生命周期的含义、组成阶段及各阶段主要任务2.需理解的问题:
(1)软件与程序的区别和联系?
(2)开发一个软件项目包括哪些基本的步骤?每一步骤完成哪些工作?
(3)主要的软件过程模型(生命周期模型)有哪些?各自有什么特点?
二、结构化分析-面向数据流的分析方法
1.什么是软件需求?需求分析过程(步骤)?
2.需求分析模型:
(1)功能模型(数据流图DFD)的含义、描述符号、画法步骤及规则(2)数据模型(E-R图)的作用
(3)行为模型(状态转换图)的作用(4)数据字典的作用
三、结构化设计
1.软件设计的任务?结构化设计与结构化分析的区别和联系?2.软件设计遵循的基本原理及规则:
(1)模块化的含义、如何划分模块(降低成本、提高独立性)?(2)抽象与逐步求精的含义、二者间关系如何?(3)信息隐藏的含义
(4)如何完善软件结构(深度、宽度、扇入、扇出、作用域、控
制域)? 3.模块独立性:
(1)模块独立性含义?
(2)模块独立性的度量标准:耦合的分类、含义及应用;内聚的分类、含义及应用。4.概要设计(面向数据流的设计方法)(1)概要设计的任务?
(2)数据流图的类型及特征(变换型、事务型)(3)变换分析设计方法的应用(步骤)(4)事务分析设计方法的应用(步骤)4.详细设计(过程设计)
软件工程复习纲要
软件工程复习提纲
第一部分:
1.软件工程定义、软件工程三要素及目的、软件的定义及组成(P2)
答: 软件工程是开发、运行、维护和修复软件的系统方法。
软件工程三要素:方法、工具和过程
①方法是完成软件工程项目的技术手段;
②工具支持软件的开发、管理、文档生成;
③过程支持软件开发的各个环节的控制、管理。
软件工程目的:根据需求分析确定可行性后,在给定的时间内开发具有可修改性、有效性、可靠性、可维护性、可重用性、可适应性、可移植性、开销合宜并满足用户需要的软件产品。
软件的定义:计算机程序、方法、规则、相关的文件资料以及在计事机上运行时所必需的数据。
软件的组成:程序、文档、数据
2.软件过程的定义(P11)、软件过程模型及模型特点(P25)、软件体系结构(P104)答:软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件过程模型:也称软件生命周期模型,是为了解决产业环境中的实际问题而提出的开发策略,是反映整个软件生命周期中,系统开发、运行、维护的等实施活动的一种结构框架。它包括瀑布模型、增量模型、螺旋模型、协同开发模型、统一过程模型、组件集成模型、面向方面的软件开发。各特点如下:
○1瀑布模型:顺序性和依赖性;推迟实现;质量保证的观点;是一种线性模型,文档驱动的模型。
○2增量模型是一种非整体开发的模型。该模型具有很大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。
○3螺旋模型结合瀑布模型和快速原型,是一种风险驱动的开发模型
○4协同开发模型是一种时间驱动的活动网络模型。
软件工程复习提纲
一、选择
1.软件需求规格说明书的内容不应包括(D)
A.主要功能B软件的性能
C.用户界面及运行环境
D.算法的详细描述
2.数据字典……基本功能是(B)
A数据库设计B数据定义
C数据通信D数据维护
3、面向对象的分析方法主要是建立三类模型即(C)
A.系统模型、ER模型、应用模型
B.对象模型、动态模型、应用模型
C.对象模型、动态模型、功能模型
D.ER模型、对象模型、功能模型
4.软件概要设计(架构设计)结束后得到(C)。
A.初始化的软件结构图
B.模块的接口图和详细算法
C.优化后的软件结构图
D.程序编码
5.软件测试的目标是(B)
A.证明软件是正确的
B.发现错误,降低错误带来的风险
C.删除软件中所有的错误
D.与软件调试相同
6.系统因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为(D)
A.系统软件
B.操作系统
C.测试软件
D.容错软件
7.详细设计的基本任务是确定每个模块的(A)设计
A.算法B调用关系C输入输出数据D.功能
8.面向数据流的设计方法把(B)映射成软件结构
A.系统结构
B.数据流
C.控制结构
D.信息
9.下面几种白箱测试技术,哪种是最强覆盖准则(D)
A.语句覆盖
B.条件覆盖
C.判定覆盖
D.条件组合覆盖
10.提高测试的有效性非常重要,成功的测试是指(A)
A.发现了至今为止尚未发现的错误。
B.说明了被测试程序符合相应的要求。
C.证明了被测试的程序正确无误。
D.未发现被测试程序的错误。
11.瀑布模型的存在问题是(B)
A.用户容易参与开发
B.缺乏灵活性
C.用户与开发者易沟通
D.适用可变需求
自己 软件工程复习提纲
软件工程复习提纲(年糕整理,不一定全)
目录
第一章概述 (1)
第二章可行性研究 (4)
第三章需求分析 (6)
第五章总体设计 (8)
第六章详细设计 (11)
第七章实现 (13)
第八章维护 (17)
第十三章软件项目管理 (19)
第一章概述
概念
软件危机:在计算机软件的开发和维护过程中遇到的一系列严重的问题。包含如何开发软件,如何维护已有软件。
软件:计算机程序、方法、规则、相关文档资料以及在计算机上运行时必需的数据。
软件工程:①把系统的、规范的、可度量的途径应用到软件开发、运行和维护过程;②研究①中提到的途径。
软件工程方法学(范型):软件生命周期全过程中使用的一套技术方法的集合。最广泛的有传统方法学、面向对象方法学。
传统方法学(生命周期方法学、结构化范型):采用结构化计数来完成软件开发的各项任务,使用适当的软件工具据或软件工程环境来支持结构化技术运用。
软件生命周期:从提出软件产品(项目)开始,直到该软件被淘汰的全过程。软件过程:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件生命周期模型:跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。
简答
软件危机的7个典型表现?
1. 成本进度估计不足。
2. 客户需求经常变更或无法满足。
3. 软件质量无法保证或不可靠。
4. 软件维护无法进行或不可维护。
5. 软件文档缺少或不合要求。
6. 软件成本在总成本中占比逐年提升。
7. 开发生产率的提高速度比计算机应用普及深入速度慢。
软件危机出现的原因?
(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、
软件工程 期末复习提纲完美版
《软件工程》复习提纲
1 软件与软件工程
1.1软件的基本概念(例如,软件的定义、文档、软件的特点等)
简单地说,软件由程序和文档两部分组成,一是机器可以执行的程序及有关的数据,二是机器不能执行的文档,
软件的两种普遍定义:
①软件是与计算机系统操作有关的程序,规程、规则及任何与之相关的文档和数据。
②软件是程序以及开发,使用和维护程序所需要的文档,包括机器运行所需要的各种程序及有关资料。程序:为了解决某一问题而按事先设计的功能和性能要求执行的指令系列,或者说,用程序设计语言描述的适合于计算机处理的语句序列。
数据:使程序能正常操纵信息的数据结构。
文档:描述程序、数据和系统开发以及使用的各种图文资料。它具有永久性并能供人或机器阅读。
软件的基本特点:
·①计算机软件产品是一种逻辑产品部件而不是物理产品部件。
·②软件产品的生产主要是研制,是通过人们的智力活动,把知识与技术转化成信息的一种产品。
·③软件具有“复杂性”,其开发和运行常受到计算机系统的限制。而且,软件投入使用后,仍需要进行维护,这就带来软件维护复杂性的问题。
·④软件不存在磨损,物理上不会老化,但存在软件退化问题。
·⑤软件成本昂贵,其开发方式目前尚未完全摆脱手工生产方式。
1.2软件危机的概念
软件危机是指在软件开发和维护过程中所遇到的一系列严重问题。
【由于软件的规模越来越大,复杂度不断增加,软件需求量增大。而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要。致使大量质量低劣的软件涌向市场,有的花费大量人力财力,而在开发过程中就夭折。】
软件工程复习提纲(附答案)
软件工程
第一章软件工程介绍
1、软件的特性:P4
软件是设计开发的,而不是传统意义上的生产制造;
软件不会磨损;
大多数软件仍是根据实际的客户需求制定的。
2、计算机软件的七大分类:P5
系统软件、应用软件、工程/科学软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。
3、遗留系统发生系统演化的原因:P6
软件需要修改其适应性,从而可以满足新的计算环境或技术的需求
软件必须根据新的业务需求进行升级
软件必须扩展以具有与更多现代系统和数据库的协作能力
软件架构必须进行改建以适应多样化的网络环境
4、软件神话:管理者,用户,从业者P10
5、软件的定义:P4
软件是
指令的集合,通过执行这些指令可以满足预期的特征,功能和性能需求;
数据结构,它使得程序可以充分利用信息;
描述程序操作和使用的文档。
第二章过程综述
1、软件工程的三个要素:工具,过程,方法P17
过程:软件过程将各个技术层次结合在一起,并实施合理地,及时地开发计算机软件
方法:为建造软件提供技术上的解决方法。
工具:为过程和方法提供自动化或半自动化的支持。
2、通用软件过程框架:沟通,策划,建模,构建,部署P8
沟通:这个框架活动包含了与客户之间大量的交流和协作,还包括需求获取以及其他相关活动
策划:指为后续的软件工程工作制定计划。
建模:它包括创建模型和设计两方面。创建模型有助于客户和开发人员更好得理解软件需求;设计可以实现它。
构建:它包括编码和测试。
部署:软件交付到用户,用户对其进行评测并给出意见
3、能力成熟度模型:P22
第0级:不完全级;
第1级:已执行级;
2017-软件需求工程复习提纲
• 跟踪方向 • 跟踪记录
Software Requirement Engineering
-13-
复习提纲
• 基本概念 • 基本方法和技术 • 基本能力
Software Requirement Engineering
– 基本需求管理活动理解 – 基本需求管理活动作用
Software Requirement Engineering
-20-
案例分析-1
• 投资经理Jeannine对一个新的投资跟踪系统具有强烈的需求。 她需要做出快速决策来考虑可能进行的投资和撤销投资,耽误 一个小时就可能给公司造成几千美元的损失。
-18-
基本能力
• 需求规范说明
– SRS文档 – UML中定义需求规范说明相关的模型 – 采用实体关系图定义数据模型(简单情形) – 采用状态转换图定义行为(简单情形) – 采用代数方式形式地定义需求(简单情形)
Software Requirement Engineering
-19-
基本能力
• 需求管理
Software Requirement Engineering
-11-
主要内容
1. 目标精化 2. 目标精化的类型 3. 正确读懂目标精化图(包括高层目标、AND
软件工程复习大纲
考试题型
名词解释、填空、简答题、应用题(分析、设计、测试等)
重点内容
第1章软件与软件工程的概念
1.了解与软件相关的基本概念,包括软件、程序、数据、文档。
2. 了解软件危机的表现及发生的原因。
3. 掌握软件工程的概念。
4.软件生命周期由哪三个时期组成,每个时期又可划分为哪些阶段?每个阶段
的主要任务是什么?
5.掌握软件工程方法学的三个基本要素及其作用。
6.了解传统方法及面向对象方法各自的特点。
第2章软件生存期模型
1.典型的生存期模型(即软件过程模型)有哪几种,每种模型有哪些优缺点。
第3章结构化分析与设计方法
1. 掌握结构化分析模型的结构,主要由哪些模型组成?
2. 掌握数据流图、分层数据流图的画法。
3. 掌握数据字典的定义方法。
4. 掌握使用判定表和判定树描述加工规格说明。
第4章结构化设计方法
1. 了解结构化设计的概念、原则、任务。
2. 掌握结构化设计的图形工具。
3.掌握面向数据流的设计方法和设计过程,能够区分两种典型的数据流,并掌握相应的变换分析方法及事务分析方法。
4. 软件模块结构的改进(启发式规则)。
提高模块独立性、深度和宽度、扇出和扇入应适当、作用范围和控制范围原则等。
5.人机交互设计的准则。
6. 掌握常用的详细设计(过程设计)的描述工具。
第5章面向对象方法与UML
1. 了解UML中的事物及其分类。
2. 了解UML中的关系,包括依赖关系、关联关系、泛化关系和实现关系等。
3. 掌握UML中5种类型的图,包括用例图、类图、顺序图、状态图、活动图。第6章面向对象分析
1.了解面向对象分析中的三个模型和五个层次。
软件工程复习知识要点
1 软件和软件工程概念
软件的组成部分之一;在软件开发中,编程只是软件开发过程的一个阶段。
2.在结构化程序设计时代,程序最小的单位是函数及子程序,程序和数据是分别的。程序的最小单位是类。
3.软件的特性:形态特性、智能特性、开发特性、质量特性、生产特性、管理特性、环境特性、维护特性、废弃特性、应用特性。
4.软件的分类:系统软件;应用软件;支撑软件;可复用软件。
5.什么是软件工程?(课后题)
软件工程是指导计算机软件开发和维护的工程学科。接受工程的概念、原理、技术和方法来开发和维护软件,
把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软
件并有效地维护它。
6.可以用功能性、牢靠性、易用性、效率、可维护性和可移植性六个特性衡量软件的质量。
功能性是指软件所实现的功能达到它的设计规范和满意用户需求的程度。
可移植性是指软件从某一环境转移到另一环境时所作努力得程度。
7.软件生存期由软件定义、软件开发和运行维护三个时期组成。
开发时期通常由概要设计、详细设计、编码和测试四个阶段组成。
开发过程中的典型文档包括:项目支配、软件测试支配、软件设计说明书、用户手册。
8.需求分析的基本任务?
(1)建立分析模型,了解系统的各种需求微小环节。
(2)基于分析结果,编写出软件需求规格说明或系统功能规格说明,确认测试支配和初步的系统用户手册,并提
交管理机构进行分析评审。
2 软件工程方法和工具
1.面对对象方法的动身点和基本原则,是尽量模拟人类习惯的思维方式,使开发软件的方法和过程尽可能接近
软件工程复习资料(提纲+答案)
软件工程复习资料(提纲+答案)
第一章软件工程的实质
1、什么是软件?由什么组成?
软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档组成的完整集合。
可以写作为:软件=程序+数据+文档。
2、什么是软件危机?为什么会产生?(原因)
软件危机:指的是在计算机软件的开发和维护过程中所遇到的一系列严重的问题。
原因:用户需求不明确、缺乏正确的理论指导、软件规模越来越大、软件复杂度越来越高
3、为什么要进行软件开发?
4、软件工程的三段论?
三段论:软件项目管理论、软件项目开发论、软件过程改进论
5、软件工程生存期模型概念、类型、每种类型的特点?
答:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。
常见的软件生存周期模型有瀑布模型、V模型、原型模型、增量式模型、螺旋式模型。
6、了解复用的原则
第二章软件项目的需求分析
1、需求分析的主要任务?(基本任务)
答:需求分析阶段的基本任务是要准确的定义新系统的目标,满足用户需要,回答系统必须“做什么”的问题。本阶段要主要有以下几方面工作:
(1)问题识别,双方确定对问题的综合需求,包括:功能需求、性
能需求、用户界面需求,以及可靠性、安全性、可维护性等方面的需求。
(2)建立模型,对获取的需求,进行分析细化,划分系统功能,确定系统构成,并建立系统的逻辑模型。
(3)编写文档,也就是完成“需求规格说明书”的编写工作。
软考-软件工程复习提纲
的藏书列表,其主要的成员方法 是新增、修改、查询(按关键字 查询)、统计(按特定时限统计 册数与金额)。 借阅时间。 统计的需要中,可得知“定价”也是一个关键的成员变量。
借阅记录类:借阅人(朋友)、 借阅记录列表类:主要职责就是
添加记录(借出)、删除记录 (归还)以及打印借阅记录
顺序图示例-POS机
11
泛化关系
当多个用例共同拥有一种类似的结构和行 为的时候 我们可以将它们的共性抽象成为 父用例,其他的用例 作为泛化关系中的子 用例。
包含关系
包含是指基本用例(base use case)会用到包含 用例(inclusion),具体地讲,就是将包含用例的 事件流插入到基础用例的事件流中。包含用例是 可重用的用例──多个用例的公共用例
扩展关系
将扩展用例的事件流在一定的条件下按照 相应的扩展点插入到基础用例中。(该用 例在特定条件下操作)
案例
《图书管理系统》的需求描述如下: 1.新书入库:当图书馆新进一批新书时,图书管理员需要 登记入库信息,并为每一本新书制作一个图书卡(书目条)。 2.借阅者信息维护:包括两个方面的工作:一是新读者的 办证操作,二是读者基本信息的维护工作。 3.预约借书:当读者想借阅书不在时,可以通过预约的方 式预定不在库的书籍。 4.借书:根据借阅者提供的书目编号,办理借书手续。 5.还书:根据借阅者归还书籍的书目编号,办理归还手续 。 6.图书查询:读者在借书前,通过书目目录去查询所需书 籍的书目编号。
软件工程复习提纲
软件工程复习提纲
1、什么就是软件?
就是一系列按照特定顺序组织的计算机数据与指令的集合,包括程序、数据与文档。
附:软件的特征:成本高、风险大、维护困难
2、什么就是软件危机,其内容主要就是指什么?
原因:1、与软件本身的特点有关;2、与软件开发人员有关;
定义: 在计算机软件开发与维护过程中所遇到的一系列严重的问题。
1)对软件开发成本与进度的估计常常不准确。
2)用户对“已完成”系统不满意的现象经常发生。
3)软件产品的质量不可靠。
4)软件的可维护程度非常之低。
5)软件通常没有适当的文档资料。
6)软件的成本不断提高。
7)软件开发生产率无法满足人们对软件的生产要求,软件开发生产率的提高落后于硬件的发展。
3、什么就是软件工程?
开发、运行与维护软件的系统方法
软件工程主要研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术与工具,指导与支持软件系统的生产活动,以期达到降低软件生产成本、改进软件产品质量、提高软件生产率水平的目标。
4、软件工程的目标( PP、41 )及其组成部分。方法、工具与过程。
软件工程的目标就是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性与满足用户需求的软件产品。
方法: 就是指产生某些结果的形式化过程,
工具: 就是用更好的方式完成某件事情的设备或自动化系统,如各种集成开发环境、编译工具、测试工具等。
过程: 生产特定产品的工具与技术的结合
软件工程方法学包含3个要素:方法、工具与过程。
软件工程复习提纲
一、选择题(20小题,每题1分)
软件定义:软件是程序、数据和相关文档的完整结合,计算机系统中的程序及其文档。
瀑布模型:从可行性与计划入手,依次进行需求分析、设计、编码、测试,直到经用户确认得到最终的软件产品,并由此进入运行维护过程。(17)
可行性分析:包括技术可行性、操作可行性、经济可行性和法律可行性。(14)
逻辑覆盖:是指对程序设计中的逻辑判断条件所进行的测试。(141)
软件维护:指软件系统交付使用后,为了纠正系统错误或者满足用户需求变更而修改软件的过程。(254)
DFD(数据流图):结构建模中最流行的功能建模工具,描述了数据输入,数据转换到数据输出的全过程。分层的DFD更进一步刻画了系
统的功能分解。(44)
ER图:包括数据对象(实体)、属性、关系和基数。(42)
面向对象特征:1.抽象 2.封装 3.继承 4.多态性
结构化设计:可分为面向数据流的设计方法和面向数据的设计方法,用于确定软件的结构(90)
白盒测试:又称为结构测试、逻辑驱动测试或者程序的测试,是指用于测试代码是否按照设计正确运行的验证技术,它需要详细设计文档作为测
试配置。(140)
黑盒测试:又称为功能测试或者行为测试,主要根据设计说明中的功能设计来测试程序是否按预期实现。(目的:尽量发现系统功能中的错误。)
(148)
软件测试的目的:发现错误,错误的定位和处理需要通过调试过程完成。(167)
面向数据流的设计方法:基于数据流图自顶向下、逐层分解的过程,他将各级
数据流图映射为软件结构图中对应的各层次模块,体
现了结构化设计与结构化分析的相互衔接,也体现了
软件工程复习资料全
软件工程复习材料
一、考试复习围:
1、软件工程基本概念、基本原理
2、需求分析,结构化分析、面向对象分析,结构化分析建模、面向对象分析建模
3、软件设计,结构化程序设计,概要设计、详细设计
4、软件测试
二、考试题型:单项选择题、简答题、综合应用题(要求会画:数据流图、软件结构图、用例图、类图、N-S盒图、PAD图)
三、复习容:
1、什么是软件危机?
人们把软件开发和维护中的各种问题称为“软件危机”。
2、软件危机主要包含哪两方面的问题?
①如何开发软件以满足软件日益增长的需求。
②如何维护数量不断增长的已有软件。
3、软件危机的表现有哪些?
①对软件开发成本和进度的估算很不准确。
②用户对完成的软件很不满意。
③软件产品的质量很不可靠。
④没有完整的文档。
⑤软件成本比重上升。
⑥软件开发生产效率低下,软件开发技术进步落后与需求的增长,造成“供不应求”的局面。
4、什么是软件工程?
软件工程的定义:采用工程的概念、原理和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。
5、.软件工程包括3个要素有哪些?
方法、工具和过程。
6、软件生命周期各阶段有哪些?
软件生命周期包括:软件定义、软件开发、软件维护三个时期。其中:软件定义包括:问题定义、可行性研究、需求分析阶段;软件开发包括:总体设计、详细设计、编码、软件测试阶段。
7、需求分析的任务有哪些?
需求分析的任务主要有两个方面:
①通过对问题及环境的理解、分析和综合,建立分析模型。
②在完全弄清用户对软件系统的确切要求的基础上,用“软件需求规格说明书”把用户的需求表达出来。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程复习提纲
Chapter1
1.开发文档都有哪些?用图来表示它们之间的关系。
2.说明软件工程研究的内容。
3.软件工程的7条基本原理有何现实意义。
4.怎样理解ISO9000的文档体系?质量手册、程序文件、质量记录三者有何联系和区别?
5.怎样理解CMMI,如何用CMMI去管理软件企业?
6.是否存在这一种现象:搞系统软件的公司不需要采用CMMI和ISO9000模式?CMMI和ISO9000模
式只适用于搞应用软件的企业?如果是,为什么,如果不是,又为什么?
7.软件工程与信息系统工程有何异同?
8.怎样理解元数据?
Chapter2
1.为什么要选择软件开发模型?软件开发模型与软件生存周期有什么关系?
2.简述瀑布模型、增量模型、迭代模型、原型模型的优缺点。
3.软件公司的ISO9000或CMM管理体系与软件开发模型有关吗,为什么?
4.你对“生存周期模型裁剪指南”有什么看法?
5.“图书馆信息系统”的开发选用什么开发模型合适?
Chapter3
1.立项的具体表现形式是什么?
2.立项建议书的编制者为什么主要是软件公司的市场销售人员,而不是开发人员?
3.什么叫风险分析,技能风险与技术风险有何区别?
3.合同、任务书、立项建议书三者有何异同?有何关系?
4.对软件项目和产品的“功能、性能、接口”三项指标如何理解?
Chapter4
1.需求分析的目的是什么,需求分析的难点在哪里?
2.需求分析的理论基础有哪几条?
3.为什么说需求分析是面向流程的?
4.解释术语:元数据、实体、中间数据。
5.用户需求报告与需求规格书有何差异?
6.需求描述有哪几种工具?你喜欢哪一种,为什么?
1.简述软件策划的步骤。
2.简述软件策划的方法。
3.简述对软件工作产品规模进行量化估计的方法。
4.软件工作产品和软件产品有何异同?
5.名称解释:直接人工、直接费用、间接成本、制造费用、管理费用、不可预见费用。
6.怎样理解软件中的度量,它有何作用?
Chapter6
1.概要设计说明书和详细设计说明书有何区别?
2.怎么理解“软件概要设计是系统总体结构设计或系统架构设计”?
3.模块实现设计包括哪些内容?
4.为什么软件设计要遵守“抽象、分解与模块化、低耦合高内聚、封装、接口和实现分离”的设
计原理?
Chapter7
1.简述UML的优缺点。
2.信息系统的业务模型、功能模型、数据模型各是什么?
3.请说明“三个模型”的定义以及三者之间的关系。
Chapter8
1.软件实现要做的工作包括哪几项?
2.界面设计应遵从哪些原则?
3.软件实现管理哪些内容?
Chapter9
9.1 软件测试的目的和目标是什么?
9.4 试阐述软件测试V模型的思想及不足之处和改进办法。
9.6 试说出黑盒测试和白盒的区别和联系。
9.9 软件测试工作中要验证哪些文档?试举例。
Chapter10
10.3 软件项目与软件产品有什么不同?
10.4 软件产品发布的方式有哪几种?
10.5 三类软件产品的发布策略有何差异?
11.6 传统软件维护分哪几大类?
11.8 什么叫结构化维护和非结构化维护?
11.10 软件维护的副作用表现在哪4个方面?
11.13 两层结构和三层结构的软件维护方法有什么不同?
11.15 软件维护与软件产品版本升级有什么关系?
Chapter12
12.1 怎样理解“软件组织、工作产品、软件过程、软件过程源、软件过程财富”的概念?
12.4 SW-CMM的5个级别各有哪些特征?
12.5 CMMI的实施步骤是什么?
Chapter13
13.1 人们为什么越来越重视软件配置管理?
13.4 软件配置管理的目的是什么?
13.6 什么是配置项?什么是配置管理?
13.9 基线、里程碑与检查点各是什么含义?它们之间有什么关系?
13.13 软件配置管理员的职责有哪些?
Chapter14
14.2 针对软件质量保证问题,最有效的办法是什么?
14.5 对软件质量进行“全面综合治理”有哪5种方法,哪一种方法最好,为什么?Chapter15
15.2 为什么说“规范是对过程的约束,标准是对产品的约束,制度是对行为的约束”?
15.3 培训与企业文化有什么关系?
15.4 培训文档与培训管理文档有什么差别?
Chapter16
16.6 “项目管理提供给人们一种解决问题的思路和方法”。请论述其中的思路和方法。16.16 请说明软件企业的工作流。
第一部分软件工程内容与方法、生存周期及开发模型、立项与合同
(参见补充资料)
本章学习目标:
1.对软件的定义及其特点有比较全面、客观的认识。
2.认真分析计算机软件发展的三个时期的演进过程,提高对软件工程化的认识。
3.简述软件危机产生的原因。
4.阐释软件生存期的六个步骤。
5.针对软件生存期的瀑布模型、演化模型、螺旋模型、喷泉模型、智能模型、线性顺序模型、原型模型、RAD
模型、增量模型的改进过程,指出各个模型的特点与不足,并预测软件工程开发模型的发展趋势。
6.用自己的语言叙述“螺旋模型”、“RAD模型”的实施过程。
7.比较“软件工程”的各种不同的定义,简述软件工程观念的变化。
8.论述软件工程项目的基本目标及其相互之间的关系。
9.阐释组成“基于计算机系统(Computer-based Systems)”的系统各元素及其相互之间的关系,能用这种
组成原则来分析具体问题。
10.理解“计算机系统工程”的实质,认真分析其“分配方案”的评价准则,试在更广泛的学科范围应用
这些准则。
11.比较用“事件流”方式描述的硬件工程过程与软件工程过程的异同,用自己的语言描述出这种异同。
12.人作为“基于计算机系统”的组成元素,其自己的构成涉及到哪些成分?通过人类工程过程的描述,
加深对“用户友好性”的认识。
13.可行性研究需要考虑的范围有哪些(即可行性研究的方法及可行性研究报告的主要内容),详细论述这
些范围所涉及的情况。
14.用自己的语言综合论述“系统分析”的任务、步骤和方法。
15.通用软件产品开发和定制软件开发之间有什么不同?这在实际应用中对通用软件产品用户
意味着什么?
16.解释为什么软件工程的基本思想适用于所有的软件系统?
一、基本概念
软件,软件的特点,软件生存期,软件生存期模型,瀑布模型,增量模型,迭代模型,原型模型,软件工程的基本目标,基于计算机的系统的基本内容,可行性研究,软件立项,软件策划,
二、简答和练习题
⒈回答下列问题
⑴什么是软件危机?为什么会产生软件危机?怎样消除软件危机?
⑵软件开发与写程序有什么不同?为什么应该有所不同?
⑶软件生存周期为什么要划分成阶段?应该怎样来划分阶段?
2. 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果是存款,
系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算机利息并印出利息清单给储户。请写出问题定义并分析此系统的可行性。
3. 为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、
身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞的前一天凭取票通知和帐单交款取票,系统校对无误即印出机票给旅客。
请写出问题定义并分析此系统的可行性。