文档库 最新最全的文档下载
当前位置:文档库 › 软件工程期末复习要点归纳总结

软件工程期末复习要点归纳总结

软件工程期末复习要点归纳总结
软件工程期末复习要点归纳总结

软件工程期末考试及答案

软件工程期末考试及答 案 Company number【1089WT-1898YT-1W8CB-9UUT-92108】

2. 3. 就程序设计语言的工程特性而 言,对程序编码有哪些要求? 4. 模块的内聚性包括哪些类型? 四、理论应用题(每小题15分,共30分) 1. 请使用PAD图和PDL语言描述 在数组A(1)~A(10)中找最大 数的算法。 2.根据下列条件使用等价类划分 法设计测试用例。某一8位微机, 其八进制常数定义为:以零开头的 数是八进制整数,其值的范围是- 177~177,如05,0127,-065。 五、实践应用题(每小题15分,共15分) 1.某电器集团公司下属的厂包括 技术科、生产科等基层单位。现在 想建立一个计算机辅助企业管理系 统,其中: 生产科的任务是: (1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。 (2)根据车间实际生产日报表、周报表调整月生产计划 (3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。 (4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间 技术科的任务是: (1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。 (2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。试写出以上系统中生产科和技术科处理的软件结构图。

软件工程期末答案 一、名词解释题(每题3分,共15分)。 1.是描述软件开发过程中各种活动如何执行的模型。 2.数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。 3.内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。4.JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。5.指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。或(不同的对象,收到同一消息可以产生不同的结果。)二、填空题(每空2分,共20分)。 1.软件配置管理 2.容错功能 3.11 4.可移植性 5.输出结果 6.歧义性 7.模块 8.实例化 9.形式语言 10.F/(1+(n*i)) 三、简答题(每小题5分,共20分)。 1.结构冗余:包括静态冗余、动态冗余和混合冗余。

《软件工程》期末复习题1

考试时间: 16周周一5,6节 考试地点: 二教419 406 408 考试题型: 选择题:20分 简答题:30分 应用题:50分 各章内容及题型总结: 第1,2章本章的主要题型是选择题和简答题。 1. 软件危机的主要表现是什么?答:“已完成”的软件不满足用户的需求;开发进度不能保障;软件开发成本难以准确估算;软件产品的质量没有保证。 2. 软件工程的定义?答:软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理方法和先进软件开发技术结合起来,运用到软件开发和维护过程中,来解决软件危机。 IEEE的定义:软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。 3. 软件工程研究的主要内容是什么?答:软件开发技术和软件开发管理两个方面。软件开发技术方面主要研究软件开发方法、软件开发过程、软件开发工具和环境。软件开发管理方面主要研究软件工程管理学、软件工程经济学、软件工程心理学。 4. 软件工程的7条基本原理是什么?答:①用分阶段的生命周期计划严格管理②坚持进行阶段评审③实行严格的产品控制④采用现代程序设计技术⑤结果应能清楚地审查⑥开发小组的人员应该少而精⑦承认不断改进软件工程实践的必要性。 5. 什么是软件生命周期?答:指一个软件从提出开发要求开始到该软件报废为止的整个时期。通常将软件的生命周期划分为可行性研究、需求分析、设计、编码、测试、集成、维护阶段。 6. 软件过程的定义?答:软件开发过程、活动和任务的结构框架。它能够清晰、直观地表达软件开发全过程,明确规定要完成的主要活动和任务。 7. 你能举出几个典型的软件过程模型吗?答:主要有瀑布模型、演化模型、喷泉模型、螺旋模型、智能模型。模型的选择是基于软件的特点和应用领域。 8. 目前,主流的软件开发方法有哪些?答:结构化方法和面向对象方法。 9. 软件工程师职业道德规范的8组关键词是什么?1999年由ACM/IEEE-CS软件工程师道德规范和职业实践(SEEPP)联合工作组制订了《软件工程师职业道德规范》,规范含有8组由关键词命名的准则:公众、客户和雇主、产品、判断、管理、专业、同行、自身。 10. 职业化软件工程师要注意的十大问题是什么?答:①高质量地完成任务②遵守行业标准,不能肆意按照自己的想象来发挥③积极帮助他人④版权意识敏感⑤严格遵守计划⑥公私分明⑦注意知识更新⑧善于沟通⑨遵守职业规则⑩诚实和正直。 第3章本章的题型主要是选择题。 1. 可行性研究的目的是什么?答:用最小的代价在尽可能短的时间内确定问题是否能够解决。 2. 可行性研究的四大要素是:经济上可行,技术可行,法律允许、社会环境可行。 3. 可行性研究的实质:是要进行一次简化了的系统分析和设计过程。首先要分析和澄清问题定义,导出系统的逻辑模型,探索若可供选择的方案,对每种方案仔细研究它的可行性。推荐一个较好的解决方案和一个初步的计划。 第4,5章本章的题型有选择题。 2. 什么是需求工程?需求工程是指应用有效的技术和方法进行需求分析,确定客户需求,帮助分析人员理解问题,定义目标系统的外部特征的一门学科。需求工程中的主要活动有:需求获取、需求分析、需求规格说明、需求验证和需求变更管理。

软件工程期末试题(含答案)解析

一、填空题(每空1分,共25分) 1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行 和维护。 2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。 3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方 案可行性等方面研究。 4.系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子 形式描绘系统里面的每个部件 5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文 件。 6.结构化分析方法是面向_数据流_进行需求分析的方法。结构化分析方法使用_数据流图DFD_与_ 数据字典_来描述。 7.继承性是自动地共享类、子类和对象中的方法和数据的机制。 8.软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。 9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___ 测试_。 10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。 二、单项选择题(每小题2分,共20分) 1.软件设计中划分模块的一个准则是(C )。 A、低内聚低耦合 B.低内聚高耦合C.高内聚低耦合 D.高内聚高耦合 2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。 A、对象 B.数据流 C.数据结构 D.控制结构 3.试判断下列叙述中,哪个(些)是正确的( C )。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B、b C、c D、b和c 4.( A )是用户和设计交换最频繁的方法。 A、原型化方法 B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型 5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证 是( C )。 A、硬件环境 B、软件开发的环境 C.软件开发工具和软件开发的环境 D、开发人员的素质 6.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言 ( D )。 A、PASCAL B、 VISUAL BASIC C. C++ D、汇编语言 7.软件测试的目的是?( D ) A、证明软件的正确性 B.找出软件系统中存在的所有错误 C.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误 8.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。 A、程序的内部逻辑 B、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 9.软件维护工作的最主要部分是( C )。 A、校正性维护 B、适应性维护 C.完善性维护 D、预防性维护

软件工程期末考试资料

软件工程 第一章: 1.软件的组成不仅是程序、数据和文档,而且还有完成一定功能和性能所蕴含 的知识和经验。 2.领域知识是基于计算机的系统的设计、软件需求获取和系统测试不可或缺的。 3.软件发展的历史给我们的启发是社会需求和硬件进步是软件技术发展的基 础。 4.软件的进步和成就促进了信息社会和知识经济的发展。 5.按照应用领域、基本属性和特点研究软件有助于对软件的理解,提高了软件 开发、使用和维护的针对性。 6.软件工程学科具有鲜明的工程特性。 第二章: 1.面向对象方法是现代软件工程技术体系的基石,它以分类、继承、聚合、封装、多态和消息传递等贴近人类思维习惯的概念。 2.因面向对象与生俱来的自然性、直观性,以及支持软件复用、改善软件结构等许多优势,面向对象方法后来居上,迅速取代结构化方法而成为当前主流的软件开发方法学。 3.UML通过图形化的表示机制从多个侧面表示软件系统的分析和设计模型。 4.UML定义了5类图形机制:用例视图,包括用例描述和用例图;结构视图,包括视图,包括包图、类图和对象图;行为视图,包括交互图、状态图与活动图;构件视图和部署视图。 5.RUP将软件生存周期(即软件制品的进化状态)划分为初始、细化、构造、移交、生产5个阶段。 6.RUP将软件开发过程分解为业务建模、需求、设计、实现、V&V、部署、配置和变更管理、项目管理、环境9个工作流。 7.软件项目团队可利用5个阶段、9个工作流组织管理软件项目的开发活动。RUP 过程中生成的各类制品通常以UML表示。 8.软件开发过程是基于面向对象方法学的,包括需求获取、需求分析、体系结构设计、人机交互设计、详细设计、实现、测试、维护与进化等重要的软件开发阶段。 第三章: 1.软件需求是指利益相关方对目标软件系统在功能、性能和质量等方面的期望,以及对目标软件系统在运行环境、资源消耗等方面的约束。 2.软件需求可划分为功能需求、质量需求和约束性需求3种类型,其中质量需求和约束性需求统称为非功能需求。 3.软件需求的质量要素包括正确性、完全性和可行性。 4.需求调查包括:访谈和会议、调查问卷、业务文档分析、现场观摩。 5.需求建模包括:抽象、分解和多视点分析。 6.需求模型包括:策划、需求获取、需求分析、需求规范化、需求验证和总结等活动。 7.对大中型软件项目以及初期初期需求不明朗的软件项目,需求工程过程采用迭 代方式。

软件工程知识点总结

软件工程(简要知识点) 一、. 软件过程五个模型对比(瀑布模型、快速原型、增量、螺旋、喷泉模型) 二、可行性研究: 1、任务:用最小的代价在尽可能短的时间内确定问题是否能够解决。 2、四个方面:技术、经济、操作可行性、法律 3、数据流图四种成分:1、源点/终点2、处理3、数据存储 4、数据流 三、需求分析: 1、任务:确定系统必须完成哪些工作,对目标系统提出完整、清晰、具体的要求。 2、结构化方法就是面向数据流自顶向下逐步求精进行需求分析的方法。 3、实体联系图:1、数据对象2、属性3、联系(1:1、1:N、M:N) 四、总体设计: 1.任务:回答“概括的说,系统应该如何实现”,用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成系统的每个程序结构。 2.系统设计阶段(确定系统具体实施方案)、结构设计阶段(确定软件结构) 3.模块独立:内聚和耦合 4. 耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统

5. 内聚(Cohesion): 一个模块内各元素结合的紧密程度 6.面向数据流的设计方法:变换流和事务流 五、详细设计: 1.任务:确定应该怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 2.过程设计的工具(程序流程图、盒图、PAD图、判定表、判定树) 七、测试: 1、单元测试:又称模块测试。每个程序模块完成一个相对独立的子功能,所以可以对该模块进行单独的测试。由于每个模块都有清晰定义的功能,所以通常比较容易设计相应的测试方案,以检验每个模块的正确性。 2、集成测试: 在单元测试完成后,要考虑将模块集成为系统的过程中可能出现的问题,例如,模块之间的通信和协调问题,所以在单元测试结束之后还要进行集成测试。这个步骤着重测试模块间的接口,子功能的组合是否达到了预期要求的功能,全程数据结构是否有问题等。 3、白盒测试技术(逻辑覆盖、基本路经测试)

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

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

《软件工程》期末考试及答案

《软件工程》 期末考试试卷 考生注意:1.本试卷共有五道大题,满分100分。 2.考试时间90分钟。 3.卷面整洁,字迹工整。 4.填写内容不得超出密封线。 一、名词解释题(每小题3分,共15分) 1.软件生存周期模型 2.数据字典DD

3.内聚性 4.JSP方法 5.多态性 二、填空题(每空2分,共20分) 1.在软件开发过程中要产生大量的信息,要进行大量的修改,能协调软件开发,并使混乱减到最低程度。

2.规定功能的软件,在一定程度上对自身错误的作用具有屏蔽能力,则称此软件具有的软件。 3.McCall提出的软件质量模型包括个软件质量特性。 4.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、、可使用性和效率。 5. 为了便于对照检查,测试用例应由输入数据和预期的两部分组成。 6. 程序设计语言的心理特性主要表现在、简洁性、传统性、局部性和顺序性。 7. 软件结构是以为基础而组成的一种控制层次结构。 8. 使用类创建对象的过程实际上是类的过程。 9. 结构化语言是介于自然语言和之间的一种半形式语言。 10.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P= 。 三、简答题(每小题5分,共20分)

2.以G.J.Myers的观点,简述对软件测试的目的。 3.就程序设计语言的工程特性而言,对程序编码有哪些要求? 4.模块的内聚性包括哪些类型?

四、理论应用题(每小题15分,共30分) PDL语言描述在数组A(1)~A(10)中找最大数的算法。 2.根据下列条件使用等价类划分法设计测试用例。某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065。

软件工程期末考试重点

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

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

软件工程复习知识要点

1 软件及软件工程概念 集合,程序只是软件的组成部分之一;在软件开发中,编程只是软件开发过程的一个阶段。 2.在结构化程序设计时代,程序最小的单位是函数及子程序,程序及数据是分离的。程序的最小单位是类。 3.软件的特性:形态特性、智能特性、开发特性、质量特性、生产特性、管理特性、环境特性、维护特性、废弃特性、应用特性。 4.软件的分类:系统软件;应用软件;支撑软件;可复用软件。 5.什么是软件工程?(课后题) 软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来 开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合 起来,以经济地开发出高质量的软件并有效地维护它。 6.可以用功能性、可靠性、易用性、效率、可维护性和可移植性六个特性衡量软件的质量。 功能性是指软件所实现的功能达到它的设计规范和满足用户需求的程度。 可移植性是指软件从某一环境转移到另一环境时所作努力得程度。 7.软件生存期由软件定义、软件开发和运行维护三个时期组成。 开发时期通常由概要设计、详细设计、编码和测试四个阶段组成。 开发过程中的典型文档包括:项目计划、软件测试计划、软件设计说明书、用户手册。 8.需求分析的基本任务? (1)建立分析模型,了解系统的各种需求细节。 (2)基于分析结果,编写出软件需求规格说明或系统功能规格说明,确认测试计划和初步的系统 用户手册,并提交管理机构进行分析评审。 2 软件工程方法及工具 1.面向对象方法的出发点和基本原则,是尽量模拟人类习惯的思维方式,使开发软件的方法和 过程尽可能接近人类认识问题和解决问题的方法及过程,从而使描述问题的问题空间及其解 空间在结构上尽可能一致。 2.形式化方法的主要特点是:(课后题)

软件工程期末复习填空题

软件工程填空题 1、软件危机是指在计算机软件的_开发和维护_过程中所遇到的一系列严重问题。 2、软件危机包含下述两个方面的问题:一是 _如何开发软件,以满足对软件日益增长的需求;二是_如何维护数量不断膨胀的已有软件_。 3、软件不同于硬件,它是计算机系统中的_逻辑部件_而不是物理部件。 4、一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把这个漫长的时期称为__生命周期__。 5、软件配置主要包括 __程序、文档_和_数据_ 等成分。 6、软件工程学的一个重要目标就是提高软件的 _可维护性、减少 _软件维护_ 的代价。 7、软件工程是指导计算机软件 __软件开发_ 和 __维护_ 的一门工程学科。 8、软件工程包括 _技术_ 和 __管理__ 两方面的内容,是技术与管理紧密结合所形成的工程学科。 9、通常把在软件生命周期全过程中使用的一整套技术方法的集合称为 _方法学_ ,也称为范型。 10、软件工程方法学包含_方法、工具和_过程_ 三个要素。 11、目前使用最广泛的软件工程方法学,分别是 _传统方法学和面向对象方法学 __ 。 12、概括地说,软件生命周期由 _软件定义_ 、 __软件开发_ 和 __运行维护(软件维护)__ 3个时期组成,每个时期又进一步划分为若干个阶段。 13、软件定义时期通常进一步划分为3个阶段,即 _问题定义__ 、 __可行性研究__ 和需求分析。、 14、螺旋模型将 _瀑布、_ 模型和 __快速原型_ 模型结合起来,加入了两种模型均忽略了的风险分析,弥补了这两种模型的不足。 15、瀑布模型 _不能_ 适应需求可变的软件开发,只有到 _开发结束_ 才能见到整个软件系统。 16、可行性研究阶段当从系统逻辑模型出发,探索若干种可供选择的主要解法,对每种解法都应该从 __技术可行性、经济可行性_和 _操作可行性__ 这三个方面研究每种解法的可行性。

软件工程期末试题(部分答案)

选择题 . 开发软件的高成本和产品的低质量之间有着尖锐的矛盾,这称作()。.软件投机.软件危机.软件工程.软件产生 . 软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是()。 .引入新技术提高空间利用率.用较少的投资获得高质量的软件.缩短研制周期扩大软件功能.硬软件结合使系统面向应用 . 瀑布模型把软件生存周期划分为软件定义、软件开发和()三个阶段,而每一阶段又可细分为若干个更小的阶段。 .详细设计.可行性分析.运行及维护.测试与排错 . 一个软件项目是否进行开发的结论是在()文档中作出的。 .软件计划.可行性报告.测试报告.需求分析说明书 . 常用的成本估计技术不包括()。 .任务分解.自动估计成本.代码行.投资回收估算 . 需求分析说明书不能作为()。 .可行性研究的依据.用户和开发人员之间的合同.系统概要设计的依据.软件验收测试的依据 . 需求分析需要确定的系统基本需求不包括()。 .开发语言.功能.性能.接口 . 状态图中定义的状态不包括()。 .初态.终态.中间状态.事件 . 验证软件正确性不包括()。 .一致性.易操作性.完整性.有效性 . 软件的()设计主要任务是建立软件系统的总体结构。 .总体.抽象.逻辑.规划 . 下面()不是模块化设计的目的。 .可采用结构化设计方法.降低复杂度 .有利于信息隐蔽.描述系统的功能与性能 . 模块内部的算法设计在结构化方法的()阶段进行。 .系统分析.概要设计.详细设计.可行性分析 . ()先于任何技术活动之前开始,贯穿于软件的整个生命周期中。 .项目计划.风险评估.软件测试.软件项目管理 . 实现包括编码和()两个阶段。 .选择开发工具.测试.数据库设计.程序复杂度计算

软件工程知识点汇总

软件工程知识点汇总 1 软件工程、软件工程方法学:三要素 1.1 软件工程:○1应用系统化的、规范化的、可度量的方法来开发、运行和维护软件,即将工 程应用到软件;○2对○1的各种方法的研究 1.2 软件工程是一门研究用工程化方法构建和维护有效的实用的和高质量的软件的学科 1.3 软件工程三要素是:方法、工具、过程 软件工程的方法:是指完成软件开发各项任务的技术方法 软件工具:是指为软件工程方法的运用提供自动半自动的软件支撑环境 软件工程过程:是指将软件工程方法和工具综合起来以达到合理、及时地进行计算机软件开发这一目的 2 软件工程的原则包括:模块化原则、信息隐蔽原则、抽象化原则、模块独立原则(内聚、耦合)、 依赖倒转原则、开闭原则等 2.1 模块化原则:指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。模 块是程序中相对独立的成分,一个独立的编程单位,应有良好的编程接口,模块的大小要 适中,模块过大会使模块内部的复杂性增加不利于模块的理解和修改,模块过小会导致整 个系统表示过于复杂,不利于控制系统的复杂性。 2.2 信息隐蔽原则:采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 2.3 抽象化原则:抽取事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向 下,逐层细化的办法控制软件开发过程的复杂性。 2.4 模块独立原则:是指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少 且接口简单。要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块间由松 散的偶合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。(即:高内聚低 耦合) 2.5 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。 2.6 开闭原则:软件实体应该是可扩展的,但是不可以修改。即对于扩展是开放的,对于更改 是封闭的。 3 软件开发模型:瀑布模型;快速原型;喷泉模型;各种模型的工作原理、阶段、每阶段任务、 特点、示意图; 软件开发模型(也称为软件过程模型):是从软件项目需求定义开始直至软件经使用后废弃为止,跨 越整个生命周期的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架 3.1 瀑布模型(又称线性模型): 3.1.1工作原理:规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 前一阶段的工作成果是后一阶段工作开始的基础.所以,每个阶段都必须交出合格的文档,必须对前阶段的工作进行评审,前一阶段的工作完成后才可以开始后一阶段的工作 3.1.2 阶段: 计划时期:问题定义、可行性研究 开发时期:需求分析、设计、编码、测试 运行时期:运行和维护 3.1.3 各阶段任务: 1.需求分析和定义 在软件项目进行过程中,需求分析是从软件定义到软件开发的关键步骤,是今后软件,开发的基本依据,同时也是用户对软件产品进行验收的基本依据。需求分析和定义是以用

辽师软件工程期末复习题

说明: 以下试题虽然经过多次整理,但由于时间有限,存在错误或不足之处在所难免。同学们在阅读和使用过程中如发现问题,请你在课程评价的“建议”中指出,具体方法是: 写明大小题号:问题所在;正确内容。 在此谢谢你提供的方便和指正。 一、概念题 1、软工程:是1)将系统性的、规范化的、可定量的方法应用于软件的开发、 运行和维护,即将工程化应用到软件上;2)对1)中所述方法的研究。 2、软件:是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。 3、软件危机:是指在计算机软件的开发和维护过程中遇到的一系列严重问题。 4、软件过程:是软件工程人员为了获得软件产品而在软件工具的支持下实施的 一系列软件工程活动。 5、基线:是已经通过了正式复审的规格说明或中间产品,它可以作为进一步开 发的基础,并且只有通过正式的变化控制过程才能改变。 6、软件配置项:是为配置管理而作为单独实体处理的一个工作产品或软件。 7、对象:是系统中用来描述客观事物的一个实体,它是构成系统给的一个基本 单位,有一组属性和对这组属性进行操作的一组服务组成。 8、软件过程模型:是描述软件过程的整体框架,它是软件过程的一种抽象表示。 9、类:是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提 供了统一的抽象描述,其内部包括属性和服务两个主要部分。 10、实体类:用于描述必须存储的信息及其相关行为,它是对系统核心信息的建 模,通常这些信息需要长久地保存。 11、版本:是确定在明确定义的时间点上某个配置项的状态。

12、耦合度:是表示两个子系统之间的关联程度。当一个子系统发生变化时对另 一个子系统的影响很小,则称它们是松散耦合的;反之,如果变化的影响很大时,则称它们是紧密耦合的。 13、软件需求:1)用户解决问题或达到目标所需要的条件或能力。2)系统或系 统部件要满足合同、标准、规范或其他正式规定文档所需要具有的条件或能力。3)一种反映上面1)或2)所描述的条件或能力的文档说明。 14、软件实现:是软件产品由概念到实体的一个关键过程,它将详细设计的结果 翻译成用某种程序设计语言编写的并且最终可以运行的程序代码。 15、内聚性:是子系统内部的相关程度。当子系统中彼此相关的多个对象执行类 似的任务时,则认为该子系统是高内聚的;反之,当子系统内的多个对象彼此不相关时,则认为是低内聚的。 16、软件验证:是指试图证明在软件生存期各个阶段,软件产品或中间产品是否 能够满足客户需求,包括逻辑协调性、完备性和正确性。 17、软件测试:广义上讲,测试是指软件产品生存周期内所有的检查、评审和确 认活动。狭义上讲,测试是对软件产品质量的检查和评价,它一方面检查软件产品中存在的质量问题,同时对产品质量进行客观的评价。 18、软件再工程:是以系统理解为基础,结合逆向工程、重构和正向工程等方法, 将现有系统重新构造成为新的形式。 19、软件确认:是一系列的活动和过程,其目的是保证软件产品能够符合其描述 要求。 20、软件维护:是指在软件运行或维护阶段对软件产品所进行的修改,做这些修 改时可能改正软件中的错误,也可能是增加新的功能以适应新的需求,但是

软件工程期末试题及答案

软件工程期末试题及答案 选择题 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.测试的关键问题是()。 A)如何组织软件评审B)如何选择测试用例 C)如何验证程序的正确性D)如何采用综合策略 7.软件测试用例主要由输入数据和()两部分组成。 A)测试计划B)测试规则C)预期输出结果D)以往测试记录分析 8.成功的测试是指运行测试用例后()。 A)未发现程序错误B)发现了程序错误C)证明程序正确性D)改正了程序错误9.下列几种逻辑覆盖标准中,查错能力最强的是()。 A)语句覆盖B)判定覆盖C)条件覆盖D)条件组合覆盖 10.在黑盒测试中,着重检查输入条件组合的方法是()。 A)等价类划分法B)边界值分析法C)错误推测法D)因果图法 11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是()。A)系统功能B)局部数据结构C)重要的执行路径D)错误处理 12.软件测试过程中的集成测试主要是为了发现()阶段的错误。 A)需求分析B)概要设计C)详细设计D)编码

软件工程导论期末考试简答题

简答题 1、什么是软件工程?它目标和内容是什么? 软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程内容:包括开发技术和开发管理两个方面。 2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发? 软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。 其中喷泉模型、统一软件过程适用于面向对象的软件开发。 3、什么是结构分析方法?该方法使用什么描述工具? 结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。 4、什么是软件概要设计?该阶段的基本任务是什么? 把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。 基本任务:⑴设计软件系统结构⑵进行数据结构及数据库的设计⑶编写概要设计的文档⑷评审 5、软件维护有哪些内容? (1)校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。 (2)适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。 (3)完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。 (4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。 6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系? 软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。 单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。 集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。 确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。 系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。 7、什么是软件生存周期?它有哪几个活动? 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。 包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。 8、衡量模块独立性的两个标准是什么?各表示什么含义? 内聚和耦合。内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。 耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。 9、什么是结构分析方法?结构化分析方法通过哪些步骤来实现? 结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。实现的步骤:⑴了解当前系统的工作流程,获得当前系统的物理模型。⑵抽象出当前系统的逻辑模型。⑶建立目标系统的逻辑模型。⑷作进一步补充和优化。

软件工程导论复习知识点

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

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

河北工业大学软件工程期末复习

软件工程期末复习总结 第一讲概述(选择U填空U简答) 1.1 软件工程的研究内容 软件工程要考虑专业软件开发所需要的理论、方法和工具----工程技术问题 软件工程要考虑如何有效的在软件开发中利用有限的成本资源----工程管理的问题 1.2 什么是软件? 软件包括:---软件的内涵 ①能够提供客户所需功能与性能的计算机程序; ②使程序能够适当的操作信息的数据结构; ③用以描述程序开发过程及使用的文档。 软件产品可以为一个特定的用户设计开发,也可以为某一类通用的市场设计开发。 软件产品可以分成: 一个新的软件并不一定是全新开发,可以由现有软件或可复用软件成分配置形成。 1.3 什么是软件工程? 软件工程是涉及软件生产各个方面的一门工程学科 软件工程涉及软件生命周期的各个方面,从软件需求的确定到软件退役。 软件工程:(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件;(2)研究(1)中的方法. ——IEEE[IEE93] 1.4 什么是成功的软件项目 一个成功软件项目的三个要素包括: 按时交付不超预算满足用户要求。 1.5 软件过程与软件生命周期的相关概念 软件过程是指开发或制作软件产品的一系列活动及其成果. 所有的软件过程中都包括四个基本活动:(填空) 1. 描述( Specification)- 系统应该提供的功能及其开发约束; 2. 开发( Development)- 软件产品的生产过程; 3. 有效性验证(Validation )- 检验软件产品是否满足了客户的需要; 4. 进化( Evolution )- 按照用户的变更要求不断的改进软件。 软件生命周期是软件过程的另一种形象描述,通常包括需求定义、分析与描述、软件设计、实现、测试、维护与退役等活动。 1.6什么是优良软件的属性? P8 (填空U选择) 优良的软件应能交付相应的功能与性能,而且应具有良好的可维护性、可依赖性、有效性和可用性:(选择题,考法内涵匹配) 可维护性(Maintainability) Software must evolve to meet changing needs; 可依赖性(Dependability) Software must be trustworthy;

软件工程期末试卷答案全解

软件工程试题一 一.单项选择题 1. 以下不是软件危机的典型表现的是:( D ) 。 A. 对软件开发成本和进度的估计常常很不准确 B. 用户对“已完成的”软件系统不满意的现象经常发生 C. 软件产品的质量往往靠不住 D. 采用面向对象方法开发软件 3. 下列哪个不是软件工程方法学中的要素( C )。 A. 方法 B. 工具 C. 程序 D. 过程 4. 下列模块的独立性的耦合方式中,最好的是( C ) A.公共耦合 B. 控制耦合 C. 数据耦合 D. 内容耦合 5.概要设计中,开发人员要解决的最重要的问题是( D ) 。 A. 要让软件做什么 B. 要给该软件提供哪些信息 C. 要求软件工作效率怎样 D. 要让该软件模块具有何种结构 6. 为了提高模块的独立性,模块内部最好是( C ) 。 A. 逻辑内聚 B. 时间内聚 C. 功能内聚 D. 通信内聚 7. 程序的三种基本控制结构的共同特点是( C ) 。 A. 不能嵌套使用 B. 只能用来写简单程序 C. 只能一个入口和一个出口 D. 已经用硬件实现 8. 以下说法错误的是( ) 。 A A. 面向对象分析与面向对象设计的定义没有明显区别 B. 从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程 C. 在实际的软件开发过程中,面向对象分析与面向对象设计的界限是模糊的 D. 面向对象分析和面向对象设计活动是一个多次反复迭代的过程 9. 软件测试过程中的确认测试主要是为了发现( A ) 阶段的错误。 A. 需求分析 B. 概要设计 C. 详细设计 D. 编码 10. 在面向对象的高层设计体系结构中,( C ) 是用来描述用户一般使用软件习惯的部分 A. 人机交互界面 B. 问题论域 C. 系统交互界面 D. 数据管理 11. 为适应软硬件环境变化而修改软件的过程是( B ) 。 A. 校正性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护 12. 在UML的各类图中,( A )图是描述软件功能的。 A 用例图 B 类图 C 活动图 D 顺序图 13.( D )不属于OO三要素。 A.对象 B. 继承 C.封装 D.多态 14.(C )在ATM机系统中,下列哪个不能在面向对象设计中被定义为类。C A 中央计算机 B 柜台事务 C 拨号 D 营业厅15.在黑盒测试中,作为相关黑盒测试有效补充的测试方法是( B ) 。 A. 等价类划分法 B. 边界值分析法 C. 错误推测法 D. 因果图法二.判断题(本大题共__15__题,每题___1___分,共___15_____分。 1.软件简单的说就是程序和相关的数据及文档。T

软件工程知识点总结

软件工程知识点总结 软件工程专业是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。接下来是为大家收集的软件工程知识点总结,以供大家学习! 知识点一软件工程的基本概念 1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。 1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。 2)数据是使程序能够正常操作信息的数据结构。 3)文档是与程序开发、维护和使用有关的图文资料。 国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。 2、软件特点: 1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题; 5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素

3、软件的分类: 按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件) 1)应用软件是为解决特定领域的应用而开发的软件。 2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。 3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。 4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要体现在以下几个方面: ①软件开发的实际成本和进度估计不准确 ②开发出来的软件常常不能使用户满意 ③软件产品的质量不高,存在漏洞,需要经常打补丁 ④大量已有的软件难以维护 ⑤软件缺少有关的文档资料 ⑥开发和维护成本不断提高,直接威胁计算机应用的扩大 ⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长 5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。

相关文档
相关文档 最新文档