软件工程课程期末复习指导2009秋
软件工程期末复习答案
软件生存周期一般可以划分为什么?基于软件的功能划分,软件可以划分成哪三种?答:系统软件,支撑软件,应用软件:数据流图的哪些基本四种成分;答::数据源、对数据的加工处理、数据的流向、单表或报表;软件详细设计工具可分为哪些3类?答:图形,表格,语言:1.什么是软件工程?2.3.什么是黑盒测试法?黑盒测试又称功能测试。
在这里,盒子指的是被测试的软件,“黑盒”就是只知道被测试软件的外部情况,主要是界面和接口,被测试软件的内部逻辑结构和数据结构,对测试人员来说是不可见的,主要关注被测试软件的功能实现。
4.耦合性和内聚性有几种类型? 其耦合度、内聚强度的顺序如何?耦合性 7种从低到高依次是非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合内聚性 7种从高到低功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,巧合内聚,根据下面的伪代码程序,完成相应要求。
(3分)STARTIF C1THENWHILE C2 DOfENDDOELSEBLOCKgpENDBLOCKENDIFREPEAT UNTIL C3qrENDREPSTOP1)画出程序流程图和N—S图2)3)a)有下列伪码程序:STARTINPUT (M,N)IF M>=10THEN X=10ELSE X=lENDIFIF N>=20THEN Y=20ELSE Y=2ENDIFPRINT(X,Y)STOP设计该程序的语句覆盖和路径覆盖测试用例。
复习资料答案将在考试以后公布将下面的关系按继承关系、聚集关系或普通关联进行分类。
小汽车---------红旗轿车(继承)小汽车---------驾驶员(普通)班级------------学生(聚集)2、将下列各项分为类或类的实例我的汽车(类的实例)交通工具(类)软件生命期各阶段的任务是什么?软件重用的效益是什么?自顶而下渐增测试与自底而上渐增测试各有何优、缺点?简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。
2009-2010软工期末试题_a卷_附答案
北京邮电大学2009 2010学年第二学期•、判断题(共10题,每题1分,共10分)1. 软件是就是程序,程序就是软件。
(X )2. 螺旋模型最大的特点是加入了对软件成本的控制。
(X )3. 结构化需求分析需要对系统的数据、 功能和行为进行建模。
(V )4. 软件模块划分得越小,总的软件开发成本就越小。
(X )5. 面向对象分析(OOA )和面向对象设计(OOD )分别采用不同的概念 和表示法。
(X )6. 软件测试目的在于发现错误。
(V )7. 白盒测试不能应用穷举法,黑盒测试可以应用。
(X )8. 在项目面临进度延期的情况下,总是可以通过增加人力在后期跟 上进度。
(X ) 9. 领域模型就是用来描述业务领域重要概念及其相互关系的模型, 一般用UML 的类图来表达。
(V )10. 面向对象设计中最关键的活动是找到对象并给对象分配职责(V )•名姓《软件工程》期末考试试题 A 卷:号序内班:号学:级班A. 改正性维护 C. 完善性维护B. 适应性维护 D. 预防性维护、单项选择题(共 10 题,每题 1 分,共 10 分)1、下面关于软件生命周期模型的描述正确的是( C )A •软件生命周期是指从软件需求分析到上线运行的全过程B •原型方法只能用于软件的需求分析阶段C. 按照瀑布模型开发系统时,必须完成需求分析才能开始系统设计D. 增量模型又叫做迭代模型2、 下面哪一个不是数据词典的构成之一( C )。
A. 数据流词条描述B. 数据文件词条描述C. 数据流层次词条描述D. 加工逻辑词条描述3、 为了提高模块的独立性,模块最好是(B )A. 逻辑内聚B. 功能内聚C. 过程内聚D. 信息内聚4、OOA 所要完成的工作不包括(D )A.建立用例模型B.建立领域模型C.建立操作契约D.定义完善的类的属性和操作 位的标准建模语言。
6、 结构化程序设计采用的三种基本控制结构是( D ) A. 顺序、分支、选择 B. 选择、循环、重复 C. 输入、变换、输出 D. 顺序、选择、重复 7、 下面哪一个不属于 UML 中的图( D )。
软件工程期末复习重点
1.软件危机的介绍在计算机软件的开发和维护过程中所遇到的一系列严重问题。
2.产生软件危机的原因与软件本身特点有关:软件开发与维护的方法不正确有关:3.消除软件危机的途径4.软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。
5.软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。
这个时期的工作通常又称为系统分析,由系统分析员负责完成。
软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。
6.开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。
其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。
7.维护时期的主要任务是使软件持久地满足用户的需要。
8.软件生命周期每个阶段的基本任务:问题定义、可行性研究,需求分析,总体设计,详细设计,编码和单元测试,综合测试。
9.常用软件模型区别原理:(1)瀑布模型:按照传统的瀑布模型开发软件,有下述的几个特点。
a)阶段间具有顺序性和依赖性:两重含义:段的输出文档正确,后一阶段的工作才能获得正确的结果。
①必须等前一阶段的工作完成之后,才能开始后一阶段的工作;②前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶b) 推迟实现的观点瀑布模型在编码之前设置了系统分析与系统设计的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现。
c)质量保证的观点:软件工程的基本目标是优质、高产。
为了保证所开发的软件的质量,在瀑布模型的每个阶段都应坚持两个重要做法。
每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。
每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。
软件工程总复习资料
软件工程总复习资料
软件工程概述
- 定义:软件工程是一门研究如何通过系统化、规范化、可度量化的方法开发和维护软件的学科
- 软件工程的目标
- 提高软件开发的质量
- 提高软件开发的效率
- 降低软件开发的成本
- 软件生命周期
- 概念阶段
- 需求分析阶段
- 设计阶段
- 编码实现阶段
- 测试阶段
- 运行和维护阶段
软件生命周期模型
- 瀑布模型
- 原型模型
- 增量模型
- 螺旋模型
软件需求
- 软件需求分类- 功能需求
- 非功能需求
- 软件需求获取- 需求文档
- 需求分析
- 软件需求验证- 合法性验证
- 一致性验证
- 可行性验证
软件设计
- 面向对象设计- 结构化设计
- 数据流图设计- 状态转换图设计
软件测试
- 测试分类
- 静态测试
- 动态测试
- 测试方法
- 黑盒测试
- 白盒测试
- 测试覆盖率- 代码覆盖率- 判定覆盖率- 条件覆盖率- 路径覆盖率
软件质量
- 软件质量模型- ISO 9126模型- McCall模型- 质量保证
- 质量控制
软件项目管理
- 项目计划
- 项目跟踪
- 项目评审
- 质量保证和配置管理
- 风险管理
以上是软件工程的主要知识点总结,希望对大家的复习有所帮助!。
09年试卷含答案
华南农业大学期末考试试卷(A 卷)2009 学年第1 学期考试科目:软件工程考试类型:(闭卷)考试时间:120 分钟1.造成软件危机的主要原因有哪些?1)开发人员不能有效处理大型软件的全部关系和本身的复杂性及漏洞2)软件本身是一种逻辑部件,不像硬件那样容易维护3)缺乏有力的开发方法、技术和工具支持4)与客户的沟通存在困难,需求描述不精确5)开发中的管理不科学2.写出软件生命周期模型的每个步骤。
软件定义时期、软件开发时期、软件运行和维护时期。
3.在项目的问题定义与可行性研究阶段,要做哪几项主要的工作?弄清楚目标系统的用户和边界,根据客户提供的时间和资源进行调查研究,从经济可行性、技术可行性、社会可行性进行研究,评估各种方案,得出结论,完成《可行性研究报告》。
4.解释软件的非功能需求。
非功能需求包括产品必须遵循的标准、规范和合约;外部界面的具体细节;性能要求;质量属性等。
5.软件需求模型应包含哪几个方面的子模型?数据模型、功能模型和行为模型3个层次的子模型。
6.简要阐述软件设计模型包含内容。
数据设计,将系统分析创建的信息域模型变换成软件所需的数据结构体系结构设计,定义软件的主要结构元素接口设计,描述软件内部、软件与协作系统、软件与使用者之间的通信方式过程设计,将软件体系结构的结构性元素变换为软件构件的过程性描述。
7.什么是软件过程设计,软件过程设计有哪些主要的描述工具。
过程设计主要确定每一个构件的内部特征,即模块内部的数据结构和算法细节,主要概述工具有程序流程图、NS盒图、PAD图、判定树和判定表等。
8. 说明信息隐藏的基本原则。
1)模块内部的数据和过程,对于那些不需要这些信息的模块不可访问(隐藏)2)每一个模块中完成一个相对独立的特定功能3)模块之间仅仅交换那些完成系统功能必须交换的信息9. 软件测试的目的是什么?软件测试的目的是以最少的人力、物力和时间投入,尽可能多地发现软件中的各种错误。
10. 软件维护中工作量最大的是哪种维护,并对其概念加以解释。
软件工程期末复习资料(2)
软件工程复习资料一、选择题,请从四个可选项中选择正确答案。
1.软件工程学科出现的主要原因是()。
A.计算机的发展B.其他工程科学的影响C.软件危机的出现D.程序设计方法学的影响2、()是职业软件工程师的必要条件。
A.自律、善于沟通、具有一定的软件技能B.编程速度快C.熟悉众多的软件环境D.语言天赋3.在E-R模型中,包含以下基本成分()。
A.数据、对象、实体B.控制、联系、对象C.实体、属性、联系D.实体、数据、联系4.软件需求分析产生一个重要文档是()。
A.软件维护说明书B.需求规格说明书C.可行性报告D.初步用户手册5.内聚程度较低的是()。
A.通信内聚B.过程内聚C.顺序内聚D.时间内聚6.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()A.把软件划分成模块B确定模块之间的调用关系C.确定各个模块的功能D.设计每个模块的伪代码7、程序流程图与数据流程图的关系()。
A.不确定B.数据流程图可以转换成程序流程图C.数据调用关系D.程序流程图可以转换成数据流程图8.对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。
A.结合B.隐藏C.封装D.抽象9.类有3种类型,即()。
A.边界类、实体类、控制类B.实体类、控制类、界面类C.控制类、实体类、虚类D.界面类、控制类、公共类10.()是一般化类与特殊化类之间的一种关联形式,设计时应该适当使用这种耦合。
A.消息连接B.参数传递C.方法重写D.继承11、软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是(),最上层是工具层。
A.过程层B.方法层C.过程层和方法层D.系统层12、可行性研究的四大要素是()。
A.经济、技术、法律和社会环境B.经济、技术、开发组织能力和领导者水平C.经济、技术、计算机硬件环境和网络带宽D.经济、技术、软件开发工具和人员的稳定性13、针对需求不确定的软件开发,比较好的模型是()。
A.快速原型化模型B.瀑布模型C.软件成熟度模型D.系统化模型14.下面的哪个选项不是软件工程的宗旨()。
软件工程 期末复习提纲完美版
《软件工程》复习提纲1 软件与软件工程1.1软件的基本概念(例如,软件的定义、文档、软件的特点等)简单地说,软件由程序和文档两部分组成,一是机器可以执行的程序及有关的数据,二是机器不能执行的文档,软件的两种普遍定义:①软件是与计算机系统操作有关的程序,规程、规则及任何与之相关的文档和数据。
②软件是程序以及开发,使用和维护程序所需要的文档,包括机器运行所需要的各种程序及有关资料。
程序:为了解决某一问题而按事先设计的功能和性能要求执行的指令系列,或者说,用程序设计语言描述的适合于计算机处理的语句序列。
数据:使程序能正常操纵信息的数据结构。
文档:描述程序、数据和系统开发以及使用的各种图文资料。
它具有永久性并能供人或机器阅读。
软件的基本特点:·①计算机软件产品是一种逻辑产品部件而不是物理产品部件。
·②软件产品的生产主要是研制,是通过人们的智力活动,把知识与技术转化成信息的一种产品。
·③软件具有“复杂性”,其开发和运行常受到计算机系统的限制。
而且,软件投入使用后,仍需要进行维护,这就带来软件维护复杂性的问题。
·④软件不存在磨损,物理上不会老化,但存在软件退化问题。
·⑤软件成本昂贵,其开发方式目前尚未完全摆脱手工生产方式。
1.2软件危机的概念软件危机是指在软件开发和维护过程中所遇到的一系列严重问题。
【由于软件的规模越来越大,复杂度不断增加,软件需求量增大。
而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要。
致使大量质量低劣的软件涌向市场,有的花费大量人力财力,而在开发过程中就夭折。
】“软件危机”主要表现在两个方面:(1)软件产品质量低劣,甚至开发过程就夭折;(2)软件生产率低,不能满足需要。
1.3软件工程学的概念(定义)、研究的内容(三要素)1993年IEEE定义:(1)把系统化的、规范化的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;(2)研究(1)中提到的途径。
软件工程导论 期末复习题及答案
软件工程导论期末复习题及答案正确答案:C.研究软件系统的开发过程和方法软件工程的主要目标是提高软件的质量,包括可靠性、可用性、可维护性和可重用性等。
同时,软件工程也致力于降低软件开发和维护的成本,提高软件的生产率。
因此,以上选项都是正确的。
A.人员B.方法C.工具D.程序正确答案:D.程序软件工程的三个基本要素是人员、方法和工具。
其中,人员是指参与软件开发和维护的人员,包括项目经理、系统分析师、程序员、测试人员等;方法是开发软件所采用的方法,包括面向对象方法、面向过程方法等;工具是指支持软件开发和维护的工具,包括编译器、调试器、测试工具等。
程序是软件开发的结果之一,不属于软件工程的三个基本要素。
D.软件从测试到发布的整个过程正确答案:A.软件从开发到维护的整个过程软件生命周期是指软件从开发到维护的整个过程,包括需求分析、设计、编码、测试、发布、维护和退役等阶段。
因此,选项A是正确的答案。
选项B、C、D都只描述了软件生命周期的部分阶段,不完整。
A.需求分析B.编码C.测试D.维护正确答案:D.维护软件开发过程中的活动包括需求分析、设计、编码、测试等阶段,而维护是软件使用过程中的一个阶段,不属于软件开发过程中的活动。
因此,选项D是正确的答案。
在软件工程中,以下哪个选项最接近于“用户故事”的定义?答案:A.一种用于描述用户需求的文档。
用户故事是软件开发中的一种重要工具,它用于收集、整理和描述用户需求,以便更好地理解和满足用户的需求。
以下哪个选项是面向对象编程(OOP)中的基本概念?答案:B.类。
在面向对象编程中,类是一种抽象数据类型,它定义了一个对象的结构,包括属性(状态)和方法(行为)。
在软件开发中,以下哪个阶段最可能涉及到代码重构?答案:C.编码阶段。
代码重构是在编码阶段进行的一项活动,它通常涉及到修改和优化代码的结构和实现方式,以提高代码的可读性、可维护性和效率。
答案:A. Git。
版本控制是软件开发中的一项重要工具,用于跟踪和管理代码的变更。
软件工程期末复习知识点整理
复习整理一、绪论1.软件的定义软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。
(软件=程序+文档)2.软件工程的定义●是指导计算机软件开发和维护的一门工程学科;●采用工程化的原理与方法对软件进行计划、开发和维护;●把证明正确的管理技术和最好技术综合运用到软件开发中;●研究经济地开发出高质量的软件方法和技术;●研究有效维护软件的方法和技术。
3.软件危机的概念,及出现的原因软件开发技术的进步未能满足发展的要求。
在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。
产生原因:⑴软件规模越来越大,结构越来越复杂⑵软件开发管理困难而复杂。
⑶软件开发费用不断增加。
⑷软件开发技术落后。
⑸生产方式落后,仍采用手工方式。
⑹开发工具落后,生产率提高缓慢。
4.三种编程范型的特点(1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构+算法;着眼于程序的过程和基本控制结构,粒度最小(2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对象,粒度比较大(3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合整个领域的类对象,粒度最大二、软件生存周期与软件过程1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动●定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期●目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。
●主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护(P19)2、软件生命周期划分为哪几个阶段软件生命周期分为三个时期八个阶段:●软件定义:问题定义、可行性研究;●软件开发:需求分析、概要设计、详细设计、编码、测试;●软件运行:软件维护3、瀑布模型的特点和缺陷特点:线性模型,每一阶段必须完成规定的文档(阶段间的顺序性和依赖性)优点:●可强迫开发人员采用规范化的方法。
软件工程导论期末复习提纲(精)
第一章绪论软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。
软件工程:是指导计算机软件开发和维护的工程学科。
它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
主要是两个问题:1. 如何开发软件,怎样满足对软件的日益增长的需求。
2. 如何维护数量不断膨胀的已有软件。
主要表现:1. 对软件开发成本和进度的估计不准确2. 用户不满意3. 软件质量不高、可靠性差4. 软件常常不可维护、错误难以改正5. 缺乏适当的文档资料6. 软件成本占系统总成本的比例逐年上升7. 软件开发速度跟不上计算机发展速度产生软件危机的原因1. 与软件本身的特点有关:软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。
在写出程序代码并在计算机运行之前,软件开发过程的进展情况较难衡量,软件开发的质量也较难评价。
因此,管理和控制软件开发过程相当困难。
2. 软件不易于维护:(1软件维护通常意味着改正或修改原来的设计,客观上使软件较难维护。
(2软件不同于一般程序,它的规模大,不易于维护。
3. 在软件开发过程中,或多或少地采用了错误的方法和技术。
4. 对用户需求没有完整准确的认识,就匆忙着手编写程序。
解决软件危机的途径:⑴研制新一代体系结构的智能计算机,以改变软件的实现方式,降低软件的复杂性。
目前尚未研制成功。
⑵采用工程化、规范化的开发方法来指导软件的开发:这就是产生“软件工程学”的背景,并在70年代形成了结构化分析、设计方法。
⑶在求解方法上采用面向对象的软件设计方法。
即在软件开发中,以客观世界的问题空间入手进行软件设计,以减少求解方法空间与客观世界问题空间存在的“鸿沟”。
“生命周期法”的起源:软件工程采用的“生命周期法”,就是从时间角度对软件开发和维护的复杂问题进行分解,把软件生存的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务,然后再逐步完成每个阶段的任务.生命周期划分的原则:任务的性质尽可能相同,从而降低每个阶段任务的复杂性,简化不同阶段之间的联系,有利于软件开发过程的组织管理。
软件工程期末复习题
软件⼯程期末复习题软件⼯程期末复习试题⼀、填空题1.软件⼯程学的内容可包括(理论)、结构、(⽅法)、(⼯具)、环境、管理、规范等。
2. 软件⽣存周期⼀般可分为问题定义、(可⾏性研究)、(需求分析)、设计、(编码)、测试、运⾏与维护阶段。
3. 系统流程图是(描述物理系统)的传统⼯具。
4. 需求分析的基本任务是准确的回答(系统必须做什么)。
5. 数据字典的内容包括六项:(数据流)、(数据项)、(数据结构)、数据存储、处理逻辑、外部实体。
6. 在需求分析阶段常⽤的图形⼯具有(层次⽅框图)、( warnier图)、( IPO图)。
7. 模块独⽴的概念是(模块化)、(抽象)、(信息隐蔽)和局部化概念的直接结果。
8. HIPO图是由⼀组( IPO )图和⼀张( HC )图组成。
9. UML的定义包括( UML语义)和( UML表⽰法)两个部分。
10. 软件测试的⽅法有(分析⽅法)和(⾮分析⽅法)。
11. 软件=(程序)+(⽂档)。
三、多项选择题1.关于数据字典正确的描述是( ABCD )。
A.数据字典最重要的⽤途是作为分析阶段的⼯具。
B.实现数据字典三种常见的⽅法有全⼈⼯过程、全⾃动过程、混合过程。
C.数据字典应该容易更新和修改。
D.可以采⽤卡⽚形式书写数据字典。
2.( ABCD )可以作为模块。
A.过程B.⼦程序C.函数D.宏3.耦合的强弱取决于( ABC )。
A.模块间接⼝的复杂程度。
B.调⽤模块的⽅式。
C.通过接⼝的信息。
D.模块内部各个元素彼此之间的紧密结合程度。
4.编码风格包括( ABCD )。
A.源程序⽂档化B.数据说明⽅法C.语句结构D.输⼊/输出⽅法5.6.7.软件测试主要包括( ABC )⽅⾯的差错和纠错。
A.软件计划B.软件设计C.软件编码D.软件价格⼀、填空题1.软件是计算机系统中与硬件相互依存的另⼀部分,它是包括(程序)、(数据)及其(相关⽂档)完整集合。
其中,(程序)是按事先设汁的功能和性能要求执⾏的指令序列,(数据)是使程序能够正确操纵信息的数据结构,(相关⽂档)是与程序开发、维护和使⽤有关的图⽂资料.2.软件危机是指计算机软件的(开发)和(维护)过程中所遇到的⼀系列严重问题。
2009级软件工程复习大纲
2009级软件工程学期末考试复习大纲一、第一章软件工程介绍(1)何为软件?(2)软件和硬件不同的特性:①软件是设计开发的,而不是传统意义上生产制造的。
②软件不会“磨损”,但存在退化,硬件失效曲线与软件失效曲线对比③整体向着基于构建的模式发展,但多数仍是按客户需求定制的。
(3)何为软件工程?(IEEE1993的定义):软件工程是:(1)将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。
(2)在(1)中所述方法的研究。
二、第二章过程综述(2)软件工程是一种层次化技术,其包括质量关注点、过程、方法和工具。
(3)过程框架定义了若干小的框架活动,为完整的软件开发过程建立了基础。
①通用过程框架活动包括沟通、策划、建模、构建和部署五种。
②过程框架还包含一些适用于各个软件过程的普适性活动。
这样活动主要有软件项目跟踪和控制、风险管理、软件质量保证、正式的技术复审、测量、软件配置管理、可复用管理和工作产品的准备和产生。
三、第三章过程模型(1)软件过程模型是软件开发全部过程、活动和任务的结构框架,也称软件开发模型或软件生存周期模型。
①惯例过程模型(又称传统过程模型、严格过程模型),强调对过程活动和任务的详细定义、识别和应用。
它力求实现结构化和有序。
②敏捷过程模型提倡弱化软件过程中过于正式的要求,并将自我组织、协作、沟通和可适应性作为主要原则。
③软件过程模型主要有瀑布模型、增量过程模型、演化过程模型和统一过程模型等类型。
(2)瀑布模型①瀑布模型又被称为经典生命周期,它提出了一个系统的、顺序的软件开发方法。
它从用户需求规格说明开始,通过策划、建模、构建和部署的过程,最终提供一个完整的软件并提供持续的技术支持。
②瀑布模型存在的问题:●缺乏灵活性,难以适应需求不明确或需求经常变化的软件开发,实际的项目很少遵守瀑布模型提出的顺序。
●客户必须要有耐心,因为只有在项日接近尾声的时候,他们才能得到可执行的程序。
软件工程期末复习提纲
第一章什么是软件,软件与传统产品的区别。
什么是软件工程。
瀑布模型。
增量模型。
第二章结构化程序设计的含义。
ER图:陈氏标记法、鸦足标记法(鸭足标记法)类与类的实例。
类图。
类之间的关联:泛化(继承)、聚合、一般关联。
关联的多重性。
用例图,用例之间的关系include、extend、generalization。
序列图。
第六章什么是工件。
第八章用例文档。
补充规格说明。
概念类建模。
第九章体系结构设计的含义。
层、包的概念。
方法依赖性。
继承依赖性。
接口。
类与接口之间的依赖性。
利用接口消除循环依赖。
相识。
委托。
事件处理。
MVC体系结构框架。
PCMEF+体系结构框架。
第十章ER图向关系模式的转换。
(结合PPT)引用完整性。
SQL语言:create table,简单的select语句。
Java语言(结合PPT)能读懂简单的Java程序。
跨平台的含义。
重写与多态性。
重载。
构造函数。
访问权限:public、protected、private。
static的含义。
测试(结合PPT)软件测试的目标。
测试与调试。
白盒测试。
黑盒测试。
等价划分法。
边界值分析法。
各阶段测试的含义:单元测试、集成测试、系统测试、验收测试。
集成测试中的渐增式集成。
其它(结合PPT)subversion的作用。
软件工程简答题答案2
软件工程课程期末复习指导2009秋试题类型及解答举例一、选择题请将正确答案的序号填在横线上。
(共20小题,每题2分,共40分)1.软件与程序的区别是。
A.程序价格便宜、软件价格昂贵。
B.程序是用户自己编写的,而软件是由厂家提供的。
C.程序是用高级语言编写的,而软件是由机器语言编写的。
D.软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序是软件的一部分。
答案:D2.以下属于软件维护阶段文档的是。
A、软件需求说明B、操作手册C、软件问题报告D、测试分析报告答案:C3.提高软件质量和可靠性的技术大致分为两大类,一类是避开错误的技术,另一类是技术。
A.消除错误 B.检测错误C.避开错误 D.容错答案:B二、简答题(共5道小题,每题8分,共40分)1.软件工程的目标是什么?软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:•实现预期的软件功能,达到较好的软件性能,满足用户的需求。
•增强软件过程的可见性和可控性,保证软件的质量。
•提高所开发软件的可维护性,降低维护费用。
•提高软件开发生产率,及时交付使用。
•合理预算开发成本,付出较低的开发费用。
2.画数据流图应注意哪些事项?•数据流程图是描绘信息在系统中的流动和处理,在数据流程图中不能反映控制流,许多人画数据流程图时总是想加入分支判断或循环,这类控制性的流程属于程序流程图描绘的内容,不要放入数据流程图中。
数据流程图上所有图形符号只限于前述四种基本图形元素,并且缺一不可,每个元素都必须有名字和编号。
如果数据流能够反映出信息的含义,为了图面的清晰可以忽略数据流的编号和名称。
加工框的编号表明该加工所处层次及上下层的亲子关系。
数据流程图上的数据流必须封闭在外部实体之间。
每个加工至少有一个输入数据流和一个输出数据流。
一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。
开始画数据流程图时可以忽略琐碎的细节,集中精力于主要数据流,通过不断细化添加必要的细节。
软件工程导论期末复习题
软件工程导论期末复习题第一章1、什么是软件工程?软件工程方法学包括哪三要素?答:概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
软件工程方法学三要素:方法、工具、过程。
目前使用得最广泛的软件工程方法学:传统方法学、面向对象方法学。
2、传统方法学与面向对象方法学定义传统方法学也称为生命周期方法学或结构化范型。
它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。
这种方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。
面向对象方法学:面向对象方法把数据和行为看成是同等重要的,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。
面向对象方法学具有下述4个要点:(1)把对象作为融合了数据及在数据上的操作行为的软件构件。
(2)把所有对象都划分成类。
(3)按照父类(或称为基类)与子类(派生类)的关系,把若干个相关类组成一个层次结构的系统。
(4)对象彼此间只能通过发送消息互相联系。
3、软件生命周期有哪些阶段?软件生命周期由软件定义、软件开发和软件维护3个时期组成,每个时期又进一步划分为若干个阶段。
软件定义时期分3阶段:问题定义、可行性研究、需求分析。
开发时期分4个阶段:总体设计、详细设计、编码和单元测试、综合测试。
其中前两个阶段称为系统设计,后两个称为系统实现。
维护时期的主要任务是使软件持久地满足用户的需要。
第二章1、为什么要进行可行性研究,要从哪几个方面研究?可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
可行性研究至少应从3个方面研究:技术可行性、经济可行性、操作可行性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程课程期末复习指导2009秋试题类型及解答举例一、选择题请将正确答案的序号填在横线上。
(共20小题,每题2分,共40分)1.软件与程序的区别是。
A.程序价格便宜、软件价格昂贵。
B.程序是用户自己编写的,而软件是由厂家提供的。
C.程序是用高级语言编写的,而软件是由机器语言编写的。
D.软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序是软件的一部分。
答案:D2.以下属于软件维护阶段文档的是。
A、软件需求说明B、操作手册C、软件问题报告D、测试分析报告答案:C3.提高软件质量和可靠性的技术大致分为两大类,一类是避开错误的技术,另一类是技术。
A.消除错误 B.检测错误C.避开错误 D.容错答案:B二、简答题(共5道小题,每题8分,共40分)1.软件工程的目标是什么?软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:•实现预期的软件功能,达到较好的软件性能,满足用户的需求。
•增强软件过程的可见性和可控性,保证软件的质量。
•提高所开发软件的可维护性,降低维护费用。
•提高软件开发生产率,及时交付使用。
•合理预算开发成本,付出较低的开发费用。
2.画数据流图应注意哪些事项?•数据流程图是描绘信息在系统中的流动和处理,在数据流程图中不能反映控制流,许多人画数据流程图时总是想加入分支判断或循环,这类控制性的流程属于程序流程图描绘的内容,不要放入数据流程图中。
数据流程图上所有图形符号只限于前述四种基本图形元素,并且缺一不可,每个元素都必须有名字和编号。
如果数据流能够反映出信息的含义,为了图面的清晰可以忽略数据流的编号和名称。
加工框的编号表明该加工所处层次及上下层的亲子关系。
数据流程图上的数据流必须封闭在外部实体之间。
每个加工至少有一个输入数据流和一个输出数据流。
一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。
开始画数据流程图时可以忽略琐碎的细节,集中精力于主要数据流,通过不断细化添加必要的细节。
三、应用题(共2题,每题10分,共20分)1.某旅馆的电话服务如下:可以拨分机号和外线号码。
分机号是从7201至7299。
外线号码先拨9,然后是市话号码或长话号码。
长话号码是以区号和市话号码组成。
区号是从100到300中任意的数字串。
市话号码是以局号和分局号组成。
局号可以是455,466,888,552中任意一个号码。
分局号是任意长度为4的数字串。
写出在数据字典中,电话号码的数据条目的定义(即组成)。
答案:电话号码={分机|外线}分机=[7201——7299]外线=9+{市话号码|长话号码}市话号码=局号+分局号局号={455,466,888,552}分局号=4{0-9}4长话号码=区号+市话号码区号=[100—300]2.新东方学校的学生报名信息管理系统,业务如下:如果是报名的,由负责报名的工作人员查阅课程目录信息,检查该课程是否额满,如果有了空额,则在学生信息、课程信息表中登记相应的信息,并开出报告单交财务部门,学生到财务处交钱,财务人员开出发票给学生。
如果是想注销原来已报名的课程,则由负责报名的工作人员在课程信息、学生信息和帐目信息上做相应的修改,并给学生注销单,财务人员负责退款,索回发票。
要求:1.对以上问题画出数据流程图。
5分参考答案:2.画软件结构图的主图。
5分参考答案:简答题1.什么是软件工程?请分析软件工程的目标是什么?答案:软件工程是:①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,也就是说将工程化应用于软件开发和管理之中;②对①中所选方法的研究”。
软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:a)实现预期的软件功能,达到较好的软件性能,满足用户的需求。
b)增强软件过程的可见性和可控性,保证软件的质量。
c)提高所开发软件的可维护性,降低维护费用。
d)提高软件开发生产率,及时交付使用。
e)合理预算开发成本,付出较低的开发费用。
2.什么是软件危机?软件危机表现在哪几个方面?由于软件特点和长期以来一直没有发明一种高效的开发方法,导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。
这种现象早在20世纪60年代被定义为“软件危机”。
它的具体表现如下:a)“已完成”的软件不满足用户的需求。
b)开发进度不能保障,交付时间一再拖延。
c)软件开发成本难以准确估算,开发过程控制困难造成开发成本超出预算。
d)软件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现。
e)软件通常没有适当的文档资料,或文档与最终交付的软件产品不符,软件的可维护程度非常低。
3.根据相关的法律,对于侵犯软件著作权的行为,根据情节应当给予什么处罚?答案:对于侵犯软件著作权的行为,要根据情况承担停止侵害、消除影响、赔礼道歉、赔偿损失等民事责任;损害社会公共利益的,由著作权行政管理部门责令停止侵权行为,没收违法所得,没收、销毁侵权复制品,并处罚款;情节严重的,著作权行政管理部门可以没收用于制作侵权复制品的材料、工具、设备等;触犯刑律的,依法追究刑事责任。
4.根据你的理解,列举出职业化软件工程师要注意的三个主要问题,请给出理由。
答案:没有唯一答案。
a)不遵守标准和规范:职业化的重要特征是遵守行业标准,不能肆意按照自己的想象来发挥。
自从人们认识到软件危机以来,总结软件开发的失败教训和成功经验,并把它们总结成为最佳实践,进而形成标准,要充分利用这些最佳实践和标准来指导软件过程。
任何闭门造车、想当然的行为都是不被提倡的,注定要走弯路。
b)对待计划不严肃:软件工程强调计划性,计划的内容包括:设备资源、进度安排、人力资源、任务分配等等。
在项目的进行中要跟踪计划执行情况,记录计划执行过程中的偏差,对任何变更都要经过评审和批准才能付诸行动。
c)不主动与人沟通:软件不可见的特性,需要软件工程师进行大量书面的、口头的或面对面的沟通,沟通的目的是为了使相关的人员了解项目的进展、遇到的问题、应用的技术、采用的方法。
5.软件工程为什么要强调规范化和文档化?答案:软件工程强调规范化和文档化。
规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。
文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。
另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。
在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。
6.请简单说明结构化分析的主要步骤。
答案:根据用户的需求画出初始的数据流程图,写出数据字典和初始的加工处理说明(IPO 图),实体关系图。
以初始数据流程图为基础,从数据流程图的输出端开始回溯。
在对数据流程图进行回溯的过程中可能会发现丢失的处理和数据,应将数据流程图补充完善。
对软件性能指标、接口定义、设计和实现的约束条件等逐一进行分析。
系统分析人员与用户一起对需求分析的结果进行复查。
根据细化的需求修订开发计划。
编写需求规格说明书和初始的用户手册,测试人员开始编写功能测试用的测试数据。
7.设计类的属性时必须要定义是哪两项?答案:设计类的属性时必须要定义的内容:1)属性的类型:设计属性时必须要根据开发语言确定每个属性的数据类型,如果数据类型不够,设计人员可以利用已有的数据类型定义新的数据类型。
2)属性的可见性。
在设计属性时要确定公有属性、私有属性、受保护属性。
8.请简单分析顺序图和活动图的区别。
答案:活动图反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程。
活动图特别适合描述工作流和并行处理过程。
具体地说活动图可以描述一个操作过程中需要完成的活动;描述一个对象内部的工作;描述如何执行一组相关的动作,以及这些动作如何影响它们周围的对象;说明一个业务活动中角色、工作流、组织和对象是如何工作的。
顺序图用于描述一组交互对象间的交互方式,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。
9.根据你的理解,为下面的数据流程图加上箭头,并把下列数据流添加到合适的位置:用户名/密码、用户输入预订信息、保存预订信息、查询预订信息、登录确认、图书信息、查询条件、查询结果。
答案:10.请用判定表描述产品出库量的计算方法:当库存量大于等于提货量时,以提货量作为出库量;当库存量小于提货量,但是库存量大于等于提货量的50%时,以实际库存量作为出库量;否则,出库量为0,不能提货。
答案:11.公司为本科以上学历的员工重新安排工作,原则如下:①如果年龄不满23岁,学历是本科,一律考研生;②如果年龄在23岁至50岁之间,学历本科,任项目经理;③如果年龄在50岁以下,学历硕士,任命为中层领导;④如果年龄超过50岁,不做调整,要求画出判定表。
答案:12.请举例说明什么是变换型数据流程图?什么是事务型数据流程图?答案:没有唯一答案。
中心变换变换型数据流程图事务型数据流程图13.下面程序代码,编程人员误把IF ((A=2) OR (X>1)) 条件写成了IF ((A=2) OR (X<1)),用A=2,B=0,X=3和A=2,B=1,X=1这两组测试用例不能发现错误,请你添加足够多的测试用例,以发现程序中的错误。
BEGIN……….If ((A>1) AND (B=0)) THEN DOX:=X/A;IF ((A=2) OR (X>1)) THEN DOX:=X+1;END答案:用A=2,B=0,X=3测试用例可以发现错误,因为按照测试用例的预计的输出X=4,而错误的输出是X=3。
14.面向对象的分析通常要建立三个模型,请问三个模型的作用?答案:a)功能模型:表达系统的详细需求,为软件的进一步分析和设计打下基础。
在面向对象方法中,由用例图和场景描述组成。
b)对象模型:表示静态的、结构化的系统“数据”性质。
描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。
在面向对象方法中,类图是构件对象模型的核心工具。
c)动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。
面向对象方法中,常用状态图、顺序图、合作图、活动图构件系统的动态模型。
15.面向对象的设计活动中,有构架师、用例工程师和构件师参加,他们每个角色的职责是什么?答案:构架设计的目的是要勾画出系统的总体结构,这项工作由经验丰富的构架设计师主持完成。
该活动以用例模型、分析模型为输入,生成物理构架、子系统及其接口、概要的设计类(即设计阶段定义的类)。
根据分析阶段产生的高层类图和交互图,由用例设计师研究已有的类,将它们分配到相应的用例中。