软件工程复习资料完整版

合集下载

软件工程复习资料精选全文完整版

软件工程复习资料精选全文完整版

可编辑修改精选全文完整版一、单选题(共20题,40分)1、使用数据流图,并不断细化的需求获取方法是()。

(2.0)A、简易的应用规格说明B、面向数据流自顶向下逐步求精C、访谈D、快速原型法正确答案: B2、Z语言是以()为基础的形式化规格说明语言。

(2.0)A、微积分B、概率C、图形D、一阶谓词演算正确答案: D3、HIPO是指(2.0)A、层次输入处理输出图或表B、层次功能结构图C、功能结构图D、输入处理输出图或表正确答案: A4、高铁调用系统最适宜采用()方法。

(2.0)A、有穷状态机B、 Petri网C、 Z语言D、一阶线性时态逻辑正确答案: B5、假设学生年龄的成绩输入范围为18-25,则根据等价类划分技术,下列划分正确的是()。

(2.0)A、可划分为2个有效等价类,2个无效等价类B、可划分为1个有效等价类,2个无效等价类C、可划分为2个有效等价类,1个无效等价类D、可划分为1个有效等价类,1个无效等价类正确答案: B6、用于并发系统,解决定时问题的形式化方法是()。

(2.0)A、 VDMB、 Z语言C、 Petri网D、一阶线性时态逻辑正确答案: C7、软件生命周期中所花费费用最多的阶段是(2.0)A、需求分析B、软件总体设计C、软件维护D、软件实现正确答案: C8、软件质量保证措施SQA不包括:(2.0)A、复审或评审B、软件测试C、程序正确性证明D、软件代码编写正确答案: D9、希望确定软件实现的功能是否与需求规格说明书一致,需进行()。

(2.0)A、单元测试B、有效性测试C、确认测试D、集成测试正确答案: C10、总体设计不包括:(2.0)A、体系结构设计B、数据库设计C、模块内算法设计D、逻辑数据结构设计正确答案: C11、关于类和对象的说法,正确的是(2.0)A、一个类只能有一个角色B、类的命名必须用动词C、类的所有对象都具有相同的属性和操作D、类是对象的实例,对象是类的抽象正确答案: C12、数据字典的基本功能是(2.0)A、数据库设计B、数据通信C、数据定义D、数据维护正确答案: C13、软件需求规格说明的内容不应该包括(2.0)A、主要功能B、算法的描述C、用户界面及其运行环境D、软件性能正确答案: B14、增量模型在添加新的模块时,有一个要求是()(2.0)A、需要更多的测试B、有足够的开发人员C、软件体系结构开放D、各个模块都要进行评审正确答案: C15、在软件详细设计过程中不采用的工具是(2.0)A、判定表B、PDLC、程序流程图D、DFD正确答案: D16、软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试(2.0)A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑正确答案: B17、耦合是模块之间的相对独立性的度量。

软件工程自考复习资料-全

软件工程自考复习资料-全

软件工程自考复习资料-全第一章绪论一、软件的基本概念1.软件是计算机系统中的程序及其文档。

3.文档一般主要面向管理人员、开发人员、用户、使用维护人员。

4.文档在软件工程中的作用:(1)提高软件开发过程的能见度。

(2)提高开发效率。

(3)某程序设计时代:生产方式是个体手工劳动,使用工具是机器、汇编语言,主要通过汇编来实现,不注重程序设计方法。

某程序系统时代:生产方式是作坊式小集团合作生产,生产工具是高级语言,开始提出结构化方法。

某软件工程时代:生产方式是工程化生产,使用数据库、网络、先进的开发技术和方法。

6.软件既是知识性(逻辑性)工业产品,具有一些独特的特性是:某软件是逻辑产品,具无形性,通过计算机的执行才能体现它的功能和作用。

某软件只会退化,不存在磨损和消耗问题。

某成本主要体现在软件的开发和研制上,可进行大量的复制。

某主要靠脑力劳动生产,开发和维护成本高。

7.软件的主要结构和功能是在分析设计阶段决定的。

8.软件的复杂性主要体现在程序的复杂性,即模块内程序的复杂性。

直接关联到软件的简单和可理解性、开发费用多少、开发周期长短和软件潜伏错误的多少。

二、软件危机1.软件危机是指在软件开发和维护时遇到的一系列难以控制的问题导致的供需矛盾。

出现在软件发展的第二阶段末期,随着第三代计算机的诞生之际。

2.软件危机主要体现在:某软件发展速度跟不上硬件的发展和用户需求。

某软件成本和开发进度不能预先预算,用户不满意。

某软件产品质量差,成本高,可靠性没有保证。

某软件可维护性差,产品没有配套文档。

3.软件危机产生原因:(1)软件规模变大,结构更加复杂。

(2)软件开发管理困难。

(3)软件开发技术和工具落后。

(4)软件开发费用增加。

(5)采用落后的个体手工生产方式开发。

4.解决途径:(1)纠正对软件开发的错误观念。

(2)提高软件工程管理水平,重视文档重要性。

(3)使用好的软件开发工具,研究软件开发技术,规范软件开发流程,提高开发效率。

软件工程复习资料

软件工程复习资料

1、 软件产品的概念、特征P1-3软件就是一个信息转换器,它的功能不外是产生、管理、获取、修改、显示或转换信息。

它是开发和运行产品的载体,是计算机控制(操作系统)、信息通信(网络)的基础,也是创建和控制其他软件(软件工具和开发环境)的基础。

软件产品的特征:(1) 软件是一种逻辑实体,具有抽象性。

(2) 软件的生产与硬件不同。

(3) 软件产品不会“磨损” 2、 软件危机的原因、解决的途经P5-7软件危机的原因:1)它的生产过程和产品都具有明显的“不可视”特征,这就导致在完成编码并且上机运行之前,对于软件开发过程的进展情况较难衡量;2)归于在计算机系统发展的早期,软件开发的“个体化”特点解决的途经:从管理层面上考虑,应当注意推广和使用在实践中总结出来的开发软件的成功的技术和方法,并且探索更好的、更有效的技术和方法,注意积累软件开发过程中的经验数据财富,逐步消除在计算机系统早期发展阶段形成的一些错误概念和做法。

3、 软件工程的定义、要素、基本原则P8-9 软件工程是指导软件开发和维护的工程学科。

将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程。

即将工程化方法应用于软件开发与维护过程中。

软件工程应当包括三个要素:方法、工具和过程。

基本原则:(1) 用分阶段的生命周期计划严格管理软件工程过程。

(2) 坚持在软件工程过程中进行阶段评审。

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

(4) 采用现代的开发技术进行软件的设计与开发。

(5) 工作结果应当是能够清楚地审查的。

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

(7) 承认不断改进软件工程实践的必要性4、 软件工程过程的层次划分、软件工程的四种基本活动P10-11软件工程过程的层次划分: 软件工程的四种基本活动:(1) 软件规格说明(2) 软件开发(3) 软件确认(4) 软件演进5、 软件工程过程模型的概念及几种常见的软件过程模型P12-18软件工程过程模型的概念:用以覆盖软件开发过程中的基本活动,确定所涉及的过程、方法、工具的策略称为软件工程过程模型。

软件工程 复习资料

软件工程 复习资料

软件工程复习大纲考试主要章节:第一章软件与软件工程第二章软件项目管理第三章计算机系统工程第3.2节第五章面向数据流的分析方法第八章软件设计基础第十四章软件测试其他:上课讲义题型一、选择题(单选或多选)1、软件的主要特性是()A、无形性B、高成本C、包括程序和文档D、可独立构成计算机系统(●软件是一种逻辑产品,具有无形性;●软件产品的生产主要是研制;●软件不存在磨损和老化问题,但存在退化问题;●软件产品的生产主要是脑力劳动;●软件产品的成本非常昂贵,其开发方式目前尚未完全摆脱手工生产方式;● 软件具有“复杂性”,其开发和运行常受到计算机系统的限制。

)2、软件工程三要素()A、技术、方法和工具B、方法、工具和过程C、方法、对象和类D、过程、模型和方法3、包含风险分析的软件工程模型是()A、螺旋模型B、瀑布模型C、增量模型D、喷泉模型4、软件危机的主要表现是()A、软件成本太高B、软件产品的质量低劣C、软件开发人员明显不足D、软件生产率低下5、软件工程的目标()A、易于维护B、低的开发成本C、高性能D、短的开发周期(注意:缩短开发周期是他的目标,但短的开发周期就不是了)6、需求分析的主要目的是(BC)。

A) 系统开发的具体方案B) 进一步确定用户的需求C) 解决系统是“做什么的问题”D) 解决系统是“如何做的问题”7、SA法的主要描述手段有(B)。

A) 系统流程图和模块图B) DFD图、数据词典、加工说明C) 软件结构图、加工说明D) 功能结构图、加工说明8、画分层DFD图的基本原则有(ACD)。

A) 数据守恒原则B) 分解的可靠性原则C) 子、父图平衡的原则D) 数据流封闭的原则9、在E-R模型中,包含以下基本成分(C)。

A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、联系10、画DFD图的主要目的是(A D)。

A) 作为需求分析阶段用户与开发者之间交流信息的工具B) 对系统的数据结构进行描述C) 对目标系统的层次结构进行描述D) 作为分析和设计的工具11、数据字典是数据流图中所有元素的定义的集合,一般由以下四类条目组成(C)。

软件工程复习资料

软件工程复习资料

软件工程复习资料第一篇:软件工程复习资料软件工程复习资料一、熟悉和理解(一)软件工程概述1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动,关键不足在于不能适应需求的动态变更。

2.软件不只是用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,编写程序代码只是软件开发的一个部分。

3.快速原型模型可以有效地适应用户需求的动态变化。

4.生产高质量的软件产品是软件工程的首要目标。

5.软件开发人员对用户需求的理解有偏差,这将导致软件产品与用户的需求不一致,是产生软件危机的一个原因。

6.开发一个软件项目总存在某些不确定性,即存在风险.有些风险如果控制得不好,可能导致灾难性的后果。

7.缺乏处理大型软件项目的经验.是产生软件危机的一个原因。

8.瀑布模型本质上是一种线性顺序模型,增量模型本质上是一种快速原型模型。

9.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出可行或不可行的回答。

10.软件生存周期模型包括瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型等。

11.软件是一种逻辑产品。

12.“软件危机”是指软件开发和维护中出现的一系列问题,成本高、生产率低、质量得不到保证、需求不能充分理解都是是软件危机的表现形式。

13.原型化方法是用户和设计者之间执行的一种交互过程,适用于需求不确定性高的系统。

14.软件工程中的各种方法是完成软件工程项目的技术手段,它们支持软件工程的各个阶段.15.研究开发所需要的成本和资源是属于可行性研究中的经济可行性研究的一方面。

16.快速原型模型的主要特点之一是及早提供工作软件。

17.软件工程由方法,工具和过程三部分组成,称软件工程的三要素.18.基于计算机系统的软件要素中的软部件由程序,数据和文档组成.19.瀑布模型是以文档为驱动、适合于软件需求明确的软件项目的模型。

20.螺旋模型是风险驱动的,而瀑布模型是文档驱动的。

软件工程复习资料-完整版

软件工程复习资料-完整版

软件工程复习资料-完整版一、概述软件工程是一门关于开发、维护和管理软件的综合学科。

它涵盖了软件开发的各个阶段,包括需求分析、设计、编码、测试和维护。

软件工程的目标是提供高质量的软件,满足用户的需求,同时将开发过程控制在预定的时间和预算范围内。

二、软件生命周期1. 需求分析阶段在需求分析阶段,开发团队与用户沟通,了解用户的需求和期望。

通过需求分析,确定软件的功能和性能要求,制定详细的需求规格说明。

2. 设计阶段在设计阶段,团队根据需求规格说明,设计软件的整体架构和模块。

设计阶段包括概要设计和详细设计,概要设计主要确定软件的整体结构,详细设计则更加具体,包括模块的功能和接口设计。

3. 编码阶段在编码阶段,根据详细设计,实现软件的各个模块。

编码时应遵循编程规范,确保代码的可读性和可维护性。

同时,要进行单元测试,确保每个模块的功能正确。

4. 测试阶段在测试阶段,对软件进行不同层次的测试,包括单元测试、集成测试和系统测试。

单元测试测试各个模块的功能,集成测试测试模块之间的接口,系统测试测试整个系统的功能和性能。

5. 部署和维护阶段在软件开发完成后,需要将软件部署到目标环境中,并进行用户培训。

同时,还需要对软件进行维护和升级,以解决出现的问题和满足用户的需求变化。

三、软件工程的原则1. 模块化将软件划分为多个模块,每个模块负责特定的功能。

模块化能够提高软件的可维护性和复用性,同时有利于团队的协作开发。

2. 可伸缩性软件应该具备可伸缩性,能够满足不同规模和需求的用户。

在设计和实现软件时,需要考虑未来的扩展和升级,保证软件的灵活性。

3. 可测试性软件应该具备可测试性,方便进行各个阶段的测试。

在设计和编码时,需要考虑如何进行自动化测试,提高测试的效率和覆盖率。

4. 可维护性软件应该具备可维护性,方便对软件进行改进、修复和升级。

在设计和编码时,需要遵循良好的编程规范,提高代码的可读性和可维护性。

5. 文档化软件开发过程需要进行详细的文档记录,包括需求文档、设计文档、测试文档等。

软件工程复习资料

软件工程复习资料

1.什么是软件工程他的基本原理是什么1)软件工程是指导计算机软件开发和维护的工程学科。

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

2)用分阶段的生命周期计划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设计技术、结果应能清楚的审查、开发小组的人员应该少而精、承认不断改进软件工程实践的必要性。

2. 是什么导致了软件工程主要是软件危机的出现导致了软件工程3. 通常我们所见的软件工程模型有哪些瀑布模型、快速原型模型、增量模型(渐增模型)、螺旋模型、喷泉模型。

21.软件危机的现象:1)经费超出预算,项目一再拖延。

2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。

3)没有规范的软件工程方法,软件可维护性差,软件质量差,可靠性差。

3)开发工具落后,手工方式,开发效率低。

22.软件工程的三要素1)“过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质量开发出软件。

2)“方法”为软件开发提供“如何做”的技术。

它涵盖了项目计划、需求分析、系统程序()实现、测试与维护灯一系列活动的做法。

3)“工具”可为过程和方法提供自动的或半自动的支持。

这些工具既包括软件,也包括硬件,软件工具包括编程、建模、管理等开发工具。

通过网络环境把这些软件工具集成起来搭建一个能够支持团队开发的平台,称为计算机辅助软件工程,即CASE。

CASE集成了软件、硬件和()存放开发过程信息的软件工程数据库,形成了一个软件工程环境。

23.简述软件工程的目标,过程和原则1)目标、过程和原则是一切工程的三维框架,,这里是以工程的观点来看待软件开发。

软件工程的目标:降低成本,及时交付高质量的软件产品。

实现目标的过程即完成产品加工的过程:包括:基本过程、支持过程和组织过程进行过程应遵守的原则:原则就是过程中的轨道约束,包括:选取适宜的开发范型、适合的设计方法、提供高质量的工程支持、重视开发过程的管理。

软件工程知识点复习资料

软件工程知识点复习资料

软件工程知识点复习资料一、软件工程概述软件工程是一门研究如何以系统性的、规范化的、可度量的方法进行软件开发、运行、维护和管理的学科。

它涵盖了软件开发生命周期的各个阶段,包括需求分析、系统设计、编码实现、测试和维护等。

二、软件生命周期与开发模型1. 软件生命周期包括需求分析、系统设计、编码实现、测试和维护等阶段。

不同的项目可以采用不同的开发模型,常见的有瀑布模型、迭代模型和敏捷模型。

2. 瀑布模型是一种线性顺序开发模型,各个阶段严格按序进行,适用于需求较为稳定的项目。

3. 迭代模型将软件开发过程划分为多个迭代阶段,每个迭代阶段都包含需求分析、设计、编码和测试等活动,适用于需求较为不确定或需要持续改进的项目。

4. 敏捷模型强调快速响应需求变化和灵活合作,通过迭代、增量的方式进行开发,适用于需求频繁变更的项目。

三、需求工程1. 需求分析是软件开发的第一步,包括需求获取、需求分析、需求建模等过程,目的是明确系统的功能和性能需求,并与客户达成一致。

2. 需求获取可以通过面谈、问卷调查、观察等方式进行,需求分析则要对已收集到的需求进行分析、整理和归纳。

3. 需求建模使用UML(统一建模语言)等工具,将需求表示为用例图、活动图、时序图等形式,便于后续的系统设计和编码实现。

四、设计与架构1. 系统设计是软件开发的关键阶段,包括软件架构设计和详细设计等过程,目的是指导后续的编码和测试工作。

2. 软件架构设计确定系统的整体结构、模块划分和模块间的关系,常见的架构风格包括层次结构、客户-服务器、面向对象等。

3. 详细设计是对系统模块的具体设计,包括数据结构设计、算法设计和接口设计等,常用的设计方法有结构化设计和面向对象设计。

五、编码实现与调试1. 编码实现是将设计阶段得到的设计方案转化为计算机可执行的代码,采用合适的编程语言和开发工具进行。

2. 编码时要注重代码的可读性、可维护性和可重用性,采用良好的编程风格和命名规范。

软件工程复习资料-完整版

软件工程复习资料-完整版

一、选择题:1、用例图中,用来表示用例的符号为( B ) 。

2、协作图中包含的元素包括(A ) 。

A. 对象 B. 链 C. 激活 D. 消息3、在类图中,哪种关系表达整体与部分的关系( D ) 。

A .泛化 B. 实现 C. 依赖 D. 聚合4、下列各种图形符号中,用来表示组成关系的符号为 (B )。

A. B. C. D.5 、(A )工具在软件的详细设计中不能使用。

A . DFD B. N-S 图 C. 流程图 D. PDL6 、 “软件危机”是指 (C )。

A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统7 、 快速原型是利用原型辅助软件开发的一种新思想,它是在研究 (A )的方法和技术中产生 的。

A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段8、从严格意义上讲,下列 4 个选项中属于顺序图的元素是(ABCD ) 。

A.对象B. 参与者C. 消息D. 激活9、下列 UML 图形中, (ABCD )属于 UML 的动态视图。

A. 协作图B. 状态图C. 活动图D. 顺序图10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是( D ) 。

A. 数据库设计B. 数据通信C. 数据关系描述D. 数据定义11、详细设计与概要设计衔接的图形工具是 (D )。

A. DFD 图B. 程序图C. PAD 图D. SC 图12 、UML 中,大多数建模者把节点分为(AC )A . 设备 B. 构件 C. 处理器 D. 显示器13 、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。

A .时间图 B. 流程图 C. 活动图 D. 状态图14 、(A )描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。

A. 状态图B. 序列图C. 协作图D. 活动图15、下列特点属于描述用例的特点的是( D ) 。

软件工程 期末复习提纲完美版

软件工程 期末复习提纲完美版

《软件工程》复习提纲1 软件与软件工程1.1软件的基本概念(例如,软件的定义、文档、软件的特点等)简单地说,软件由程序和文档两部分组成,一是机器可以执行的程序及有关的数据,二是机器不能执行的文档,软件的两种普遍定义:①软件是与计算机系统操作有关的程序,规程、规则及任何与之相关的文档和数据。

②软件是程序以及开发,使用和维护程序所需要的文档,包括机器运行所需要的各种程序及有关资料。

程序:为了解决某一问题而按事先设计的功能和性能要求执行的指令系列,或者说,用程序设计语言描述的适合于计算机处理的语句序列。

数据:使程序能正常操纵信息的数据结构。

文档:描述程序、数据和系统开发以及使用的各种图文资料。

它具有永久性并能供人或机器阅读。

软件的基本特点:·①计算机软件产品是一种逻辑产品部件而不是物理产品部件。

·②软件产品的生产主要是研制,是通过人们的智力活动,把知识与技术转化成信息的一种产品。

·③软件具有“复杂性”,其开发和运行常受到计算机系统的限制。

而且,软件投入使用后,仍需要进行维护,这就带来软件维护复杂性的问题。

·④软件不存在磨损,物理上不会老化,但存在软件退化问题。

·⑤软件成本昂贵,其开发方式目前尚未完全摆脱手工生产方式。

1.2软件危机的概念软件危机是指在软件开发和维护过程中所遇到的一系列严重问题。

【由于软件的规模越来越大,复杂度不断增加,软件需求量增大。

而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要。

致使大量质量低劣的软件涌向市场,有的花费大量人力财力,而在开发过程中就夭折。

】“软件危机”主要表现在两个方面:(1)软件产品质量低劣,甚至开发过程就夭折;(2)软件生产率低,不能满足需要。

1.3软件工程学的概念(定义)、研究的内容(三要素)1993年IEEE定义:(1)把系统化的、规范化的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;(2)研究(1)中提到的途径。

软件工程复习提纲(附答案)

软件工程复习提纲(附答案)

软件工程第一章软件工程介绍1、软件的特性:P4软件是设计开发的,而不是传统意义上的生产制造;软件不会磨损;大多数软件仍是根据实际的客户需求制定的。

2、计算机软件的七大分类:P5系统软件、应用软件、工程/科学软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。

3、遗留系统发生系统演化的原因:P6软件需要修改其适应性,从而可以满足新的计算环境或技术的需求软件必须根据新的业务需求进行升级软件必须扩展以具有与更多现代系统和数据库的协作能力软件架构必须进行改建以适应多样化的网络环境4、软件神话:管理者,用户,从业者P105、软件的定义:P4软件是指令的集合,通过执行这些指令可以满足预期的特征,功能和性能需求;数据结构,它使得程序可以充分利用信息;描述程序操作和使用的文档。

第二章过程综述1、软件工程的三个要素:工具,过程,方法P17过程:软件过程将各个技术层次结合在一起,并实施合理地,及时地开发计算机软件方法:为建造软件提供技术上的解决方法。

工具:为过程和方法提供自动化或半自动化的支持。

2、通用软件过程框架:沟通,策划,建模,构建,部署P8沟通:这个框架活动包含了与客户之间大量的交流和协作,还包括需求获取以及其他相关活动策划:指为后续的软件工程工作制定计划。

建模:它包括创建模型和设计两方面。

创建模型有助于客户和开发人员更好得理解软件需求;设计可以实现它。

构建:它包括编码和测试。

部署:软件交付到用户,用户对其进行评测并给出意见3、能力成熟度模型:P22第0级:不完全级;第1级:已执行级;第2级:已管理级;第3级:已定义级;第4级:已定量管理级;第5级:优化级;第三章过程模型1、简述惯例框架包含的主要活动:P23沟通、策划、建模、构建、部署2、简述瀑布模型所包含的主要框架活动:P24沟通、策划、建模、构建、部署3、简述瀑布模型在实际运用中所面临的问题(缺点):P24实际的项目很少遵守瀑布模型提出的顺序客户通常难以清楚地描述所有的需求客户必须有耐心,因为只有在项目的后期,他们才能看到可执行的程序。

软件工程基础期末复习资料完整版

软件工程基础期末复习资料完整版

2.文档有何作用?程序代码属不属于文档?答:文档指的是在软件开发和维护过程中形成的文字记录。

从软件计划、分析、设计、实现(编码和测试)、维护等开发活动中形成的各种文件。

文档属于软件的一部分,是软件维护和升级的重要依据,并且文档内容要与代码同步更新。

没有文档的软件维护不但不能延长反而会缩短软件寿命。

文档包括需求规格说明书、设计说明书、用户使用说明书、在线帮助等,当然程序代码是必不可少的一种软件文档。

3.什么是软件危机?什么原因产生了软件危机?答:软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题。

产生的原因是主客观不相适应。

见书图1-2。

●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等;●主观上:传统的个体化开发观念和方法,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。

5.软件工程三要素是什么?答:软件工程三要素是从计算机科学观点看软件工程,即从软件开发的技术层面应该有过程、方法和工具。

见图1-4。

(2)“过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质量和及时地开发出软件。

过程定义的活动集合及其序列见第2章。

(3)“方法”为软件开发提供“如何做”的技术,它涵盖了项目计划、需求分析、系统设计、程序实现、测试与维护等一系列活动的做法。

如经常说的面向结构、面向对象、面向组件等开发方法,项目管理中估算、度量、计划等管理方法。

软件工程以介绍方法为主,本书从第3章开始逐步介绍开发过程所用到的方法。

(4)“工具”为过程和方法提供自动的或半自动的支持。

这些工具既包括软件也有硬件。

软件工具包括编程、建模、管理等开发工具。

通过网络环境把这些软件工具集成起来搭建一个支持团队开发的平台,称之为计算机辅助软件工程 (Computer Aided Software Engineering,CASE)。

CASE集成了软件、硬件和一个存放开发过程信息的软件工程数据库,形成了一个软件工程环境。

软件工程复习资料(提纲+答案)

软件工程复习资料(提纲+答案)

软件工程复习资料(提纲+答案)第一章软件工程的实质1、什么是软件?由什么组成?软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档组成的完整集合。

可以写作为:软件=程序+数据+文档。

2、什么是软件危机?为什么会产生?(原因)软件危机:指的是在计算机软件的开发和维护过程中所遇到的一系列严重的问题。

原因:用户需求不明确、缺乏正确的理论指导、软件规模越来越大、软件复杂度越来越高3、为什么要进行软件开发?4、软件工程的三段论?三段论:软件项目管理论、软件项目开发论、软件过程改进论5、软件工程生存期模型概念、类型、每种类型的特点?答:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。

软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。

常见的软件生存周期模型有瀑布模型、V模型、原型模型、增量式模型、螺旋式模型。

6、了解复用的原则第二章软件项目的需求分析1、需求分析的主要任务?(基本任务)答:需求分析阶段的基本任务是要准确的定义新系统的目标,满足用户需要,回答系统必须“做什么”的问题。

本阶段要主要有以下几方面工作:(1)问题识别,双方确定对问题的综合需求,包括:功能需求、性能需求、用户界面需求,以及可靠性、安全性、可维护性等方面的需求。

(2)建立模型,对获取的需求,进行分析细化,划分系统功能,确定系统构成,并建立系统的逻辑模型。

(3)编写文档,也就是完成“需求规格说明书”的编写工作。

2、需求分析分两大块(功能与非功能)功能需求描述系统所预期提供的功能或服务。

非功能需求是对系统提供的服务或功能给出的约束。

包括时间约束、开发过程的约束、标准等。

3、(P27)需求建模的基本方法?答:关联模型、行为模型(数据流模型和状态机模型)、数据模型、面向对象模型、结构化模型(技术:数据流图(DFD)、数据字典(DD)、系统流程图)以及其他方法(如原型法、功能列表等)4、结构化方法的代表?(P29)7状态图活动图8、理解好数据流图为什么要分层?9、UML中常用的9种图?(P32 把包图去掉)静态图:类图、对象图、构件图、实施图和包图。

《软件工程》复习材料(有答案)

《软件工程》复习材料(有答案)

一、写出下列缩写英文的中文涵义[30T]CFD DFD OOASA SD SP CMM CMMI UMLCASE XPC/S B/SA TAM PDL SQA MVC CRC MBSCBSD GUISQLMTTR MTTF MTBF FTR PERT SCM CPMRMMP【参考答案】计算流体动力学(CFD)Computational Fluid Dynamics数据流图(DFD)Data FlowDiagram面向对象分析方法(OOA)Object—Oriented Analysis结构化分析方法(SA) Structured Analysis结构化设计(SD)Structureddevise结构化编程(SP)Structured Programming成熟度模型(CMM)CapabilityMaturity Model能力成熟度模型集成(CMMI) Capability Maturity Model Integration统一建模语言(UML)Unified Modeling Language计算机辅助软件工程(CASE) Computer Aided Software Engineering极限编程(XP)ExtremeProgramming客户机/服务器网(C/S) Client/Server浏览器和服务器结构(B/S)Browser/Server构架权衡分析方法(ATAM)Architecture Tradeoff AnalysisMethod页描述语言(PDL)Program DesignLanguage软件质量保证(SQA)SoftwareQualityAssurance模型—视图-控制器(MVC)ModelView Controller循环冗余码校验(CRC)Cyclical RedundancyCheck相互广播系统(MBS)Mutual BroadcastingSystem基于构件的软件开发(CBSD)Component—Based SoftwareDevelopment图形用户界面(GUI)Graphical User Interface结构化查询语言(SQL)Structured Query Language平均恢复前时间(MTTR)Mean TimeTo Restoration平均失效前时间(MTTF)MeanTimeTo Failure平均无故障时间(MTBF)Mean Time Between Failure正式技术复审(FTR)Formal Technical Review计划评审技术(PERT) Program EvaluationAnd Review Technique软件配置管理(SCM)Software Configuration Management关键路径方法(CPM)Critical Path Method二、概念[34][1]在《计算机科学技术百科全书中》,对计算机软件作出如下定义:计算机软件指计算机系统中的程序和文档,前者是计算任务的处理对象和处理规则的描述;后者是为了便于了解程序所需的阐述性资料。

软件工程复习资料

软件工程复习资料

软件工程复习资料第一章:软件工程概述1. 计算机软件定义:计算机软件指计算机系统中的程序及文档。

程序是计算任务的处理对象和处理规则描述软件的发展:第一台计算机→高级语言→软件工程软件的特点:逻辑实体、被开发、无磨损和老化、硬件依赖、未自动化、成本昂贵、涉及社会因素现代软件 = 程序 + 软件工程现代软件企业 = 软件 + 商业模式软件构建管理、源代码管理、软件设计、测试、项目管理等是软件工程的核心,用户体验与用户界面是优化程序(算法,数据结构等)是基本功软件工程决定了软件的质量商业模式决定企业成2. 软件工程现代计算机软件的特殊性①非连续性人类通常容易理解连续事件,但软件系统不具备该特性②易变性修改软件代码相对容易,但代码的更改会带来意想不到的问题,如何正确地修改软件是一件很困难的事情③服从性软件不独立存在,需服从系统中其它组成部分的要求现代计算机软件的特殊性(对软件工程师而言)①许多不同的程序设计语言,软件工具和开发平台②许多不同的软件开发流程③软件团队中存在许多不同的角色软件工程定义:1968年NATO(北大西洋公约组织)会议上首次提出定义IEEE:软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中;②对在①中所述方法的研究《计算机科学技术百科全书》中定义:应用计算机科学、数学及管理科学等原理,开发软件的工程软件工程框架软件工程:创造“足够好”的软件目标:生产具有正确性、可用性、开销合宜的产品过程:如何生产满足需求且达到目标的软件产品原则:适宜的开发模型、合适的设计方法、工程支撑、软件工程管理生命周期(6个阶段):系统工程、需求分析、设计、编码、测试、运行和维护3. 软件过程及其模型能力成熟度模型CMM/CMMI卡内基梅隆软件工程研究所(SEI)瀑布模型(P16)优点结构简单明了;历史较长(70年代W. Royce提出)、应用面广泛、为广大软件工作者所熟悉;已有与之配套的一组十分成熟的开发方法和丰富的支撑工具缺点缺乏灵活性,难以适应需求不明确或需求经常变化的软件开发开发早期存在的问题往往要到交付使用时才发现,维护代价大原型模型(P18)设计者为了及早发现系统难点,或从用户处取得反馈意见,而构造的一个工作演示。

软件工程复习资料全

软件工程复习资料全

软件工程复习材料一、考试复习围:1、软件工程基本概念、基本原理2、需求分析,结构化分析、面向对象分析,结构化分析建模、面向对象分析建模3、软件设计,结构化程序设计,概要设计、详细设计4、软件测试二、考试题型:单项选择题、简答题、综合应用题(要求会画:数据流图、软件结构图、用例图、类图、N-S盒图、PAD图)三、复习容:1、什么是软件危机?人们把软件开发和维护中的各种问题称为“软件危机”。

2、软件危机主要包含哪两方面的问题?①如何开发软件以满足软件日益增长的需求。

②如何维护数量不断增长的已有软件。

3、软件危机的表现有哪些?①对软件开发成本和进度的估算很不准确。

②用户对完成的软件很不满意。

③软件产品的质量很不可靠。

④没有完整的文档。

⑤软件成本比重上升。

⑥软件开发生产效率低下,软件开发技术进步落后与需求的增长,造成“供不应求”的局面。

4、什么是软件工程?软件工程的定义:采用工程的概念、原理和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。

5、.软件工程包括3个要素有哪些?方法、工具和过程。

6、软件生命周期各阶段有哪些?软件生命周期包括:软件定义、软件开发、软件维护三个时期。

其中:软件定义包括:问题定义、可行性研究、需求分析阶段;软件开发包括:总体设计、详细设计、编码、软件测试阶段。

7、需求分析的任务有哪些?需求分析的任务主要有两个方面:①通过对问题及环境的理解、分析和综合,建立分析模型。

②在完全弄清用户对软件系统的确切要求的基础上,用“软件需求规格说明书”把用户的需求表达出来。

8、软件系统需求分类是哪些?软件系统需求可以分为功能需求、非功能需求和领域需求:1)功能需求描述系统所预期提供的功能或服务。

即定义系统应该做什么,系统要求输入什么信息,输出什么信息,以及如何将输入变换为输出。

它由开发的软件类型、软件未来的用户以及开发的系统类型决定。

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

、选择题:、用例图中,用来表示用例的符号为()、协作图中包含的元素包括()、在类图中,哪种关系表达整体与部分的关系() 。

•泛化•实现•依赖•聚合 F 列各种图形符号中,用来表示组成关系的符号为()。

、()工具在软件的详细设计中不能使用。

、从严格意义上讲,下列个选项中属于顺序图的元素是()。

•对象•参与者•消息•激活、下列图形中,()属于的动态视图。

•协作图•状态图•活动图•顺序图、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是() •数据库设计 •数据通信 •数据关系描述•数据定义、详细设计与概要设计衔接的图形工具是()。

•图•程序图•图•图、中,大多数建模者把节点分为()A •设备•构件 •处理器 •显示器、()是一种特殊形式的状态机,用于对计算流程和工作流程建模。

•时间图•流程图•活动图•状态图、()描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。

•状态图 •序列图 •协作图 •活动图下列特点属于描述用例的特点的是()。

相对独立:不需要与其他用例交互,即功能是完备的 用例的执行结果是可观测有意义的•用例由参与者发起(不能自启动,或者由其他用例启动)• 一个用例是一个单元(需求单元、分析单元、设计单元、开发单元、测试单元、部署单元)、在图书管理系统中,读者与书籍之间的“借阅”关系的多重性是()、我希望能够支持跨行业务; 我插入卡片输入密码后可以让我选择是取钱还是存钱; 为了方便,可以设置一些默认的存取金额按钮;我可以修改密码,可以挂失;我希望可以缴纳电话费、水费、电费等;为安全起见,应该有警示小心骗子的提示条,有摄像头;如果输入三次 密码错误,卡片应当可以自动吞没;下列那些是有效的用例(){Constrain}对象 •链激活 •消息“软件危机”是指()。

计算机病毒的出现 ••流程图利用计算机进行经济犯罪活动软件开发和维护中出现的一系列问题人们过分迷恋计算机系统、快速原型是利用原型辅助软件开发的一种新思想,它是在研究()的方法和技术中产生的。

需求阶段 设计阶段测试阶段 •软件开发的各个阶段Use Case、软件生命周期中所花费用最多的阶段是() 。

.详细设计.软件编码.软件测试.软件维护、需求分析阶段的任务是确定() 。

.软件开发方法 .软件开发工具 .软件开发费.软件系统的功能、汽车有一个发动机。

汽车和发动机之间的关系是()关系。

.一般具体.整体部分.分类关系.主从关系 、()模型的缺点是缺少灵活性,特别是无法解决软件需求不明确或不准确的问题。

.瀑布模型. 原型模型. 增量模型. 螺旋模型、在的需求分析建模中 , ()模型图必须与用户反复交流并加以确认。

. 配置. 用例. 包. 动态、下列关于状态图的说法中 , 正确的是() 。

. 状态图是中对系统的静态方面进行建模的五种图之一 . 状态图是活动图的一个特例,状态图中的多数状态是活动状态. 状态图是对一个对象的生命周期进行建模 , 描述对象随时间变化的行为. 状态图强调对有几个对象参与的活动过程建模, 而活动图更强调对单个反应型对象建 模、在面向对象分析过程中,用概念模型来详细叙述系统的问题域,用类图来表示概念模型, 用()来描述对象行为。

. 顺序图和协作图 . 用例图和活动图 . 状态图和活动图 . 用例图和构件图二.填空题. 软件工程由( 过程 )、方法、工具三部分组成,称为软件工程的三要素。

. 顺序图由类角色,生命线,激活期和( 消息 )组成。

. ( 组件图 )和( 部署图 )用于对面向对象系统的物理方面建模进行描述的两种图形。

. 软件需求包括三个不同的层次: ( 功能需求 )、(业务需求 )和( 用户需求 )。

.面向对象分析模型包括( 用例)模型和( 概念 )模型。

. 软件的定义可以概括的描述为:软件( 程序 )(数据 )文档. 软件开发过程的特点是: (用例驱动 )以体系结构为中心,迭代和增量开发。

.对象图的模型元素有对象和链。

对象是(类型)的实例 , 对象之间的链是类之间的 (关联) 的实例。

. 需求工程包括( 需求管理 )和( 需求开发 )。

三.简答题1、 简述什么是状态图,状态图的组成元素有哪些? 答:状态图描述的是对象发生状态转移的序列、使对象达到这些状态的事件和条件,以及达 到这些状态时所发生的活动。

状态图由状态、事件和转换三个主要元素构成。

2、 的四个主要阶段是什么? 答:1) 初始阶段:完成商业需求并确定项目的边界; 2) 细化阶段:完成领域问题分析和软件的设计;3) 构造阶段:产品的制造过程,以系统实现和测试为主,重点放在管理资源及控制运 作以优化成本、进度和质量;. 支持跨行业务 . 取钱 、快速原型法适用于()系统的开发。

.需求不确定的 .需求确定的 、面向对象的三个要素不包括以下哪个存钱 选择服务.管理信息 ()。

.实时封装 . 继承 . 多态 接口4)交付阶段:确保软件对最终用户是可用的。

3、类之间的关系有几种?哪种关系最一般?答:类的外部关系可以归纳为:关联、泛化和依赖三种,其中关联包括一般关联关系和组合关系,组合又包括强组合和弱组合关系。

一般关联关系最一般。

4、的静态模型和动态模型分别包括哪几种图?答:静态模型包括:用例图、类图、包图、对象图、构件图、配置图;动态模型包括:顺序图、协作图、活动图、状态图。

5、简述顺序图与协作图的异同。

答:顺序图与协作图都是表现对象之间的交互和协作的,但侧重点不同:顺序图着重在交互的时间顺序上;协作图则没有时间维度,着重在交互对象的空间链接上;顺序图中有对象生命线和控制焦点,协作图中没有;协作图中有路径,并且协作图中的消息必须要有消息顺序号,但顺序图中没有路径,也可以没有消息顺序号。

6、软件测试要经过哪些步骤?答:单元测试:针对软件设计的最小单位程序模块进行正确性检验的测试工作;集成测试:在单元测试的基础上,再将单元按照概要设计规格说明的要求组装成更大的模块、子系统或系统;功能测试:在集成测试之后,给予需求规格说明书,从用户角度进行的测试;系统测试:是软件配置在现场真实运行环境下进行的运行测试。

7、软件生存周期各阶段的主要任务是什么?答:计划时期:初始阶段,主要任务是获取软件开发项目;开发时期:第二阶段,主要任务是构建高质量的软件;运行时期:最后阶段,主要任务是延长软件的寿命。

8、需求分析的目的和工作目标是什么?答:需求分析的目的是:弄清用户对系统的细节要求,完整、准确、清晰、具体地回答目标系统“做什么” 。

需求分析的工作目标是:对用户提出的软件功能、性能等应用问题及其环境进行分析与理解,采用一系列的分析方法和技术,把系统可行性分析阶段产生的系统规格说明和项目规划逐步精确化、完全花、一致化,借助于当前系统的逻辑模型导出目标系统逻辑模型,最终形成需求规格说明文档的过程。

、一个复杂系统的采用什么方法进行细化?答:数据流图采用分层绘制,贯彻自顶向下、逐层分解、层层细化的分析理念。

顶层数据流图(系统级抽象层);零层数据流图(功能模块级抽象成);各子层数据流图(子功能模块抽象层);、什么是黑盒测试和白盒测试?答:白盒测试:按照程序内部的结构测试程序,通过测试来检验产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按照预定要求正常进行。

黑盒测试:把程序看成一个黑盒子,无须了解模块里面的结构,仅通过其外在功能描述来进行测试,只检查程序是否达到需求规格说明书规定的功能。

、与面向对象系统分析与设计之间的关系?在面向对象分析和设计过程中应如何使用?答:是一种面向对象技术的标准建模语言,可以被用来进行面向对象系统分析与设计。

基于统一方法进行面向对象分析步骤:问题域分析;发现和定义对象与类;识别对象的外部联系;建立系统的静态结构模型;建立系统的动态结构模型。

、什么是类型“封装”?答:对属性和操作进行包装。

、可行性研究包括?答:技术可行性研究、经济可行性研究、法律可行性研究。

、详细设计与概要设计是什么关系,有什么不同?详细设计的作用是什么,内容有哪些?答:)区别:概要设计是解决软件的总体结构问题;详细设计是解决模型内部的逻辑结构和数据结构问题。

)关系:要先进行总体结构划分,然后才能进行模块内部的详细设计。

)详细设计的作用:程序员用于实现的说明书。

)详细设计的内容:详细设计可分为三个具体部分:逻辑设计:对模块内部的过程和数据结构进行设计。

接口设计:人机交互界面的具体设计,与其他外部系统接口设计。

数据设计:用选定的设计数据库的表,建立表的主键外键及关联关系,建立索引,完整性约束等方面。

四.综合题:、根据下列需求的叙述建立用例模型。

假设要建立一个图书管理系统,系统的用户包括读者、图书管理员和系统管理员;读者登录后,可以在网上预定书籍,也可以对预定的书籍进行取消,读者还可以查看自己的基本信息;在图书管理员的帮助下,读者可以进行借书和还书;系统管理员可以对信息进行维护,其中包括书籍管理、书目管理和用户管理;书籍管理包括查询书籍、添加书籍、删除书籍(在删除书籍时,相关的书目会一并删除掉)和修改书籍;书目管理包括查询书目、添加书目、删除书目和修改书目;用户管理包括查询用户、添加用户、删除用户和修改用户。

、根据下列叙述建立类模型。

假设要建立一个车辆维修及管理系统。

已知各种机动车辆均由车身,发动机,传动系统,制动系统,照明系统组成。

客车可能配有空调系统和音响系统, 而货车可以加挂拖车。

车辆的基本信息包括品牌,厂商,购买日期,载重量,乘客数等。

维 修人员可以维修车辆的各个组成部分,维修人员对车辆的维修情况需要记录维修的时间、修理或零件更换情况等信息。

答:预定书藉借书取消预定A还书读者图书管理员查看信息直询书籍书籍管理删除书籍修改电藉音主丄二添加书吕>书目管理删除书目 系统管理员修改书巨 直洵用户用户管理修改用户》(维护信息、根据以上描述绘制判定树。

某厂人事部门职工调配的政策如下所示: ()若年龄不满岁,文化程度是小学,脱产学习;文化程度是中学的充当电工 ;()若年龄满岁,但不满岁,若文化程度是小学或中学,若是男性,则当钳工;若是女性则当 车工; ()若年满岁及以上者,文化程度是小学或中学的,则当材料员答:年龄性别 分配方案——年|^<18岁18 <年龄百40岁——年魏謬40罗电工畀—钳工一车工-------- 材料员技术贾F 图是图书管理系统中“还书”部分的图。

“还书信息”是管理员用光电输入器扫描的图小学()凡大学毕业生,都当技术员。

分配政策中学大学书条形码。

从“借书记录”中读出与读者有关的记录,查阅所借日期,如果超期(个月)作罚款处理。

否则,修改“图书总库”与“借书记录”,提示还书成功信息。

相关文档
最新文档