软件工程复习提纲

合集下载

软件工程重要考点复习提纲

软件工程重要考点复习提纲

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

2、软件危机体现在哪几方面?主要表现在软件的开发和维护两方面3、软件工程概念软件工程是知道计算机软件开发和维护的一门工程学科。

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

4、软件工程7条基本原理(1)用分阶段的生命周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用线代程序设计技术;(5)结果应能清楚地审查;(6)开发小组的人员应该少而精;(7)承认不断进取软件工程实践的必要性。

5、软件工程方法学包含的3个基本要素方法、工具和过程6、软件生命周期划分哪些阶段软件定义、软件开发和运行维护。

7、各阶段的基本任务软件定义:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。

软件开发:具体设计和实现定义的软件。

运行维护:使软件持久地满足用户的需要。

8、软件过程概念软件过程描述为了开发出客户需要的软件,什么人、什么时候、做什么事以及怎样做这些事以实现某一个特定的具体目标。

9、软件过程模型有哪些瀑布模型、快速圆形、增量模型、螺旋模型、喷泉模型10、瀑布模型有哪些特点(1)可强迫开发人员采用规范的方法;(2)严格地规定每个阶段必须提交的文档;(3)要去每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。

11、在软件生产中为什么强调管理CH21、可行性研究的目的用最小的代价在尽可能短的时间内确定问题是否能够解决。

2、从那些方面进行可行性研究技术可行性、经济可行性、操作可行性、社会可行性。

3、系统流程图的作用4、数据流图的作用利用它作为交流信息的工具,作为分析和设计的工具。

软件工程复习提纲

软件工程复习提纲

1 软件开发模型,瀑布模型、原型、螺旋等。

说明它的构成和特点。

2 可行性研究内容(经济可行性、技术可行性、法律可行性)3 系统工程、软件开发、软件管理的概念和关系4 软件危机原因和现象(原因:缺乏有效的工程化方法的指导,现象:P2)5 CMM的几个级别构成,每级的主要特点(初始级→可重复级→已定义级→已管理级→优化级)6 基于面向对象、结构化的软件分析设计的基本步骤、制品(P153、P155)7 给出问题陈述,可以画出UC 、架构设计和类图8 用例图、时序图、活动图、类的定义和作用9 软件测试与调试概念(软件测试:P263、调试概念:P298)10 软件测试的基本任务;白盒测试、黑盒测试、α测试、β测试(白盒测试:逻辑覆盖测试、逻辑表达式错误敏感的测试、基本路径测试、数据流测试、循环测试;黑盒测试:等价类划分、边界值分析、比较测试、错误猜测、因果图)11 条件覆盖法、等价分类法、边界值分析法、错误推测法12 集成测试、自顶向下、自底向上步骤13 条件覆盖法设计测试用例14 给出一段程序(1)画出该程序的控制流图,并计算其环路复杂性。

(2)用基本路径覆盖法给出测试路径。

(3)为各测试路径设计测试用例。

15 软件项目管理的关注点概念16 软件质量17 一些,少人还是多人一组?(量化)18 程序复杂性19 计算FP(FP = CT *(0.65 + 0.01 * F))20 构建DFD元素;需要注意问题(数据流、数据源、数据存储、对数据的加工)21 数据字典,元素,概念和作用22 软件界面设计的黄金三原则(让用户拥有控制权、减少用户的记忆负担、保持界面一致)23 Macall、CoCoMo、Putnam、Macabe24 内聚、耦合,所有名称、每个含义。

软件工程复习提纲

软件工程复习提纲
喷泉模型 什么是喷泉模型? 系统开发的某个阶段常常重复工作多次,相关的功能在每次迭代过程中加入进去 特征: 无缝; 迭代; 优点: 科学的表达了软件求解的过程,体现了软件创建所固有的迭代性和无间隙性。 适用范围:支持面向对象的软件开发过程,面向对象:在表达、分析、实现中用了“对象”的表示方式。 增量模型 什么是增量模型? 在设计明确了软件系统的整体结构之后,首先完整的开发出了系统的一个子集,然后根据这个子集开发出一个精细的版本,并重复这个过程。 特征:在完整设计了软件系统体系结构之后进行开发。 特点:提供了一种在精化软件产品过程中体现用户精神的途径,也体现了一种周期可对软件进行维护的途径,每次增量容易开发和测试。 适用范围:计算机工业
软件质量的度量分类 成本-效应分析
第七章
掌握:
第11章
掌握: 软件质量保证的概念 软件质量保证的主要任务 软件配置管理的概念
1
2
演化模型 什么是演化模型? 首先针对一个不能完整定义需求的软件开发一个核心系统,然后用户使用该系统,提出精化系统郑家系统能力的需求,再根据用户反馈,实施开发的迭代过程。 特征: 多次迭代,每次迭代过程,需求分析→设计→编码→测试→集成。 优缺点:减少了软件需求不明确而该开发带来的风险性,但费时费力。 适用范围:适合于需求不能完整定义的某些项目。 螺旋模型 什么是螺旋模型? 将瀑布模型和演化模型结合起来,在此基础引入增加了风险分析。 特征:加入了风险分析。 优缺点:减少了软件开发的风险,但成本高,过程复杂。 适用范围:适合于大型软件的开发。
商务风商业计划书
CLICK HERE TO ADD A TITLECຫໍສະໝຸດ NTENTS目录壹


第五章
掌握: 结构化程序设计的思想 程序设计语言的选择因素 第六章

软件工程复习提纲总结3篇

软件工程复习提纲总结3篇

软件工程复习提纲总结3篇七、软件维护1.软件维护的含义及类型?2.软件维护过程?3.◆需要把握的内容:4.1、面对对象分析(OOA)的任务?5.面对对象分析(OOA)过程中包括哪些活动?6.2、三种面对对象模型各自表示的内容?7.3、对象模型的表示工具?动态模型的表示工具?功能模型的表示工具?8.4、结合软件开发实例,理解三种面对对象模型之间的关系9.以及面对对象分析环节完成的主要工作。

10.11.---------------? 课堂练习题目一、填空题1.软件主要包括程序、和三部分内容。

2.软件可行性讨论的任务是从技术、和三个方面分析软件项目的可行性。

3.软件测试的目的是;通常把软件测试方法分为和两大类。

4.结构化分析方法中,功能模型用描述;数据模型用描述。

5.在类的继承结构中,不同层次的类共享同一个行为名称,但各个类可以根据自己的需要为同名行为设计不同的算法,此性质称为类的__。

二、选择题1.产生软件危机的主要缘由有(C)。

①软件本身的特点②用户使用不当③硬件牢靠性差④程序员水平⑤缺乏好的开发方法和管理手段A.③④B.①②④C.①⑤D.①③2.需求分析阶段,开发人员需从用户那里获得的最重要信息是(C)。

A.用户能接受的开发费用B.用户能接受的开发周期C.用户要让软件做什么D.软件应具有何种结构3.数据流图中的每个处理至少有(B)。

A.一个输入流或一个输出流B.一个输入流和一个输出流C.一个输入流D.一个输出流4.在面对数据流的设计方法中,一般把数据流图划分为(C)两种类型。

A.数据流和事务流B.变换流和数据流C.变换流和事务流D.掌握流和事务流5.数据流图所描述的是实际系统的(A)。

A.规律模型B.物理模型C.程序流程D.数据结构6.由变换型数据流图转换成模块结构图,其中包括变换模块,则(B)。

A.变换模块就是主模块B.变换模块的功能是将规律输入变换为规律输出C.变换模块没有下层模块D.变换模块只能有一个输入量、一个输出量7.为了提高软件测试的效率,应当(C)。

《软件工程》复习提纲

《软件工程》复习提纲

《软件工程》复习提纲一一、、 授授课课的的主主要要内内容容11.. 基基本本概概念念((11)) 有有关关““软软件件工工程程””的的基基本本概概念念11))软软件件工工程程的的诞诞生生那是1968……22))软软件件危危机机计计算算机机软软件件开开发发和和软软件件维维护护过过程程中中所所遇遇到到的的一一系系列列严严重重问问题题统统称称为为““软软件件危危机机””。

概括地说,软件危机包含两方面的问题:一是如何开发软件,怎样满足人们对软件日益增长的需求?二是如何维护软件,使它们持久地满足人们的要求。

33))软软件件包含与数据处理系统操作有关的程序、规程、规则以及相关文档的智力创作称为软件(计算机)。

文档是描述程序开发过程的,是智力创作的真实记录,是创作活动的历史档案和结晶。

软软件件由由计计算算机机程程序序,,数数据据结结构构和和文文档档组组成成。

计算机程序执行特定的功能;数据结构是程序运行所需的数据;文档是描述程序开发、使用和维护的资料。

44)) 软软件件工工程程的的概概念念采采用用工工程程学学的的原原理理来来管管理理和和从从事事软软件件的的开开发发和和软软件件维维护护,,称称为为软软件件工工程程。

(工程学:系统化、规范化、数量化)55))软软件件质质量量的的基基本本概概念念(a )软件质量的定义与软件产品满足规定的和隐含的需求能力有关的特征和特性的全体。

具体来说:1)软件产品中能满足给定需求的性质和特性的总体;2)软件具有所期望的各种属性的组合程度。

(b )软件质量特性(1)功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含要求的功能的能力。

(2)可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力。

(3)易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。

(4)效 率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。

(5)维护性:软件产品可被修改的能力。

软件工程复习提纲

软件工程复习提纲

1.可行性分析,需求分析,概要设计,详细设计阶段的参与人员有哪些?需求分析用户、管理人员、分析人员、软件开发小组成员2.在软件详细设计过程中采用的工具有哪些?程序流程图、N-S图、PAD图(问题分析图)、判定表&判定树、PDL等、Jackson方法3.白盒技术测试技术有哪些?(5.3-5.4)a)单元测试b)逻辑覆盖i.语句覆盖ii.判定覆盖(分支覆盖)iii.条件覆盖iv.判定/条件覆盖v.条件组合覆盖c)控制结构测试i.基本路径测试ii.条件测试iii.数据流测试iv.循环测试4.黑盒技术测试方法有哪些?(5.5-5.6)a)等价划分b)边界值分析c)错误推测d)验收测试e)集成测试5.软件生存周期的活动中,哪个阶段要进行软件结构设计?(概要设计阶段)软件生命周期由软件定义、软件开发、和运行维护3个时期组成的软件定义:问题定义、可行性分析、务求分析软件开发:系统设计(概要设计、详细设计)、编码、测试6.什么是瀑布模型?瀑布模型是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈。

如果有信息未被覆盖或者发现了问题,可以“返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,7.什么是ER模型?实体联系模型,是概念数据模型的高层描述所使用的数据模型或模式图,它为表述这种实体联系模式图形式的数据模型提供了图形符号。

8.什么是螺旋模型?螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。

螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。

同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。

螺旋模型更适合大型的昂贵的系统级的软件应用。

9. 什么是喷泉模型?喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于采用对象技术的软件开发项目。

软件工程复习提纲

软件工程复习提纲

软件工程复习点一、判断题1.在分析用户需求时同时考虑维护问题。

(正确)2.测试完程序后,删去程序中的注解以缩短源程序长度。

(不正确)3.在软件开发过程中尽量保证各阶段文档的正确性。

(正确)4.编码时尽量多用全局变量。

(不正确)5.选用时间效率和空间效率尽可能高的算法。

(不正确)6.尽可能利用硬件特点以提高程序效率。

(不正确)7.尽可能使用高级语言编写程序。

(正确)8.进行总体设计时加强模块间的联系。

(不正确)9.尽量减少程序模块的规模。

(不正确)10.用数据库系统代替文件系统来存储需要长期保存的信息。

(正确)11.用CASE环境或程序自动生成工具来自动生成一部分程序。

(正确)12.尽量用可重用的软件构件来组装程序。

(正确)13.使用先进的软件开发技术。

(正确)14.采用防错程序设计技术,在程序中引入自检能力。

(正确)15.把与硬件及操作系统有关的代码放到某些特定的程序模块中。

(正确)二、简答题1.北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。

请定义上述的电话号码。

电话号码=[校内电话号码|校外电话号码]校内电话号码=非零数字+3位数字校外电话号码=[本市号码|外地号码]本市号码=数字零+8位数字外地号码=数字零+3位数字+8位数字非零数字=[1|2|3|4|5|6|7|8|9]数字零=03位数字=3{数字}38位数字=非零数字+7位数字7位数字=7{数字}7数字=[0|1|2|3|4|5|6|7|8|9]2.从供选择的答案中选出在下列叙述中括弧内字母应该代表的正确内容,把答案写在答案栏内。

(1)一组语句在程序的多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚度是(A)的。

(2)将几个逻辑上相似的成分放在一个模块中,该模块的内聚度是(B)的。

软件工程复习提纲

软件工程复习提纲

1 软件危机产生的原因和方法(1)原因:一方面与软件本身的抽象性和复杂性有关,这是客观原因;另一方面则与软件开发和维护过程中使用的技术和方法有关,这是主观原因.(2)方法:既要有技术措施(包括方法和工具),又要有组织管理措施2 软件生命周期阶段(1)可行性研究(2)需求分析(3)软件设计(4)编码(5)软件测试(6)软件维护3 常见软件开发模型(1)瀑布模型(2)原型模型(3)增量模型(4)螺旋模型(5)统一软件开发过程4 软件需求分析目标和任务(1)目标:研究用户需求,得到目标系统的需求定义(2)任务:1确定目标系统的具体要求2建立目标系统的逻辑模型5 需求分析步骤(1)获取需求,识别问题(2)分析和描述系统的逻辑模型(3)需求分析的复审6数据流图有四种基本符号:(1).正方形或立方体表示数据的源点或终点;(2).圆角矩形或圆形代表数据处理;(3).开口矩形或两条平行横线代表数据存储;(4).箭头表示数据流,即数据流动得方向.7 实体-联系图(E-R图)的三个基本组成部分:(1).实体。

用矩形框表示实体;(2).关系。

用菱形框表示实体之间的关系;(3).属性。

用椭圆形或圆角矩形表示实体(或关系)之间的属性。

8 软件设计基本原则(1)抽象与分解(2)模块化和信息隐藏(3)模块独立性9 耦合和类聚的分类:(1)耦合:1数据耦合,2控制耦合,3特征耦合,4公共环境耦合,5内容耦合(2)内聚:1偶然内聚,2逻辑内聚,3时间内聚,4过程内聚,5通信内聚,6顺序内聚,7功能内聚10数据流图中数据流的分类: 变换型数据流和事务型数据流11 如何高质量的完成详细设计的目标和任务?(1)目标:设计目标系统,得出新系统软件的详细规格,同时要求设计出规格简明易懂,便于下一阶段用某种程序语言在计算机上的实现(2)任务:①算法过程的设计,②数据结构的设计,③数据库物理设计,④信息编码设计,⑤测试用例的设计,⑥其他设计,⑦编写详细设计说明书12结构化程序设计通常采用自顶向下, 逐步求精的设计方法13 软件测试的分类(1)根据程序是否运行分为:静态分析,动态分析(2)测试数据的设计依据分为:黑盒测试,白盒测试14 黑盒测试含义及分类(1)含义:又称功能测试,,是以用户的观点,从输入数据与输出数据的对应关系出发测试的,不涉及程序的内部结构(2)分类:等价类划分法,边界值分析法,决策表法,因果图法15 白盒测试含义及分类(1)含义:按照程序内部逻辑结构测试程序,检验是否程序能够按照规定正常运行(2)分类:覆盖测试,功能性测试,结构性测试(3)16 软件测试步骤(1)单元测试(2)集成测试(3)确认测试(4)系统测试17 软件维护的种类(1).改正性维护(2)适应性维护(3)完善性维护(4)预防性维护18 软件维护的策略(1) 改正性维护(2)适应性维护(3)完善性维护19 软件维护的过程(1)建立维护机构(2)用户提出维护申请并提交维护申请报告(3)维护人员确认维护类型并实施相应的维护工作(4) 整理维护记录并对维护工作进行评审(5)对维护工作进行评价20 决定软件可维护性的因素(1)可理解性(2)可测试性(3)可修改性21 统一建模语言UML是用一组专用符号描述软件规模的语言,这些符号统一、直观、规范,可以用于任何软件开发过程22. UML分为结构图和行为图,其中共有六种结构图和七种行为图。

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

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

软件工程第一章软件工程介绍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实际的项目很少遵守瀑布模型提出的顺序客户通常难以清楚地描述所有的需求客户必须有耐心,因为只有在项目的后期,他们才能看到可执行的程序。

软件工程复习提纲

软件工程复习提纲

软件工程复习提纲第一章软件与软件工程1. 什么是软件工程?构成软件工程的要素是什么?2. 什么是软件危机?软件危机有那些表现?3.软件开发的三种最主要方法是什么?4.软件工程实践中的五个面向理论的含义是什么?5.用图表方式说明软件的生存周期6.结合软件生存周期理论,阐述几个重要的软件开发模型的特点及适用条件(如瀑布模型、快速原型模型、增量模型、迭代模型等)第四章需求分析基础1.什么是软件需求?软件需求的属性是什么?2.需求分析阶段的一般工作流程是什么?3.什么是需求分析?需求分析的任务、目的是什么?4.什么是需求定义?5.简述软件需求分析的任务与步骤,并以图书管理系统为例说明6.需求的分析的方法与切入点?(过程分析、对象分析;功能分析、对象分析、数据分析?)7.需求分析的描述工具?8.什么是业务流程图?业务流程图的主要绘图元素有哪几种?9.什么是数据流图?数据流图的绘图元素有哪几种?10.分别画出图书管理系统的业务流程图和数据流图11.画出图书管理系统的用例图12.画出一个网上招聘系统(招聘网站)的用例图第五章面向数据流的分析方法1. 阐述数据流图、数据字典和E-R图的构成2. 阐述基于数据流图进行需求分析的大致过程。

3. 归纳总结CASE工具的核心思想。

4. 如何判断数据流图的一致性和完全性?可否用CASE工具自动或半自动地完成这两类检查?如果可以,请给出相应的软件设施途径。

5. 设计一个简单图书信息系统上网E-R模型第六章面向对象的需求分析1. 基本概念:对象、类、消息、继承、聚集2. 简述利用UML尽心需求分析的主要步骤。

3. 简述面向对象的消息传递机制在程序设计语言中的实现过程。

4. 绘制表示“书籍”的UML类图,“书籍”可以描述为:一本书由许多部分组成,每一部分又由许多章组成,每一张由许多节组成。

部分、章和节都具有标题和序号属性。

第八章软件设计基础1.什么是软件设计?软件设计过程的输入和输出是什么?2.理解软件设计的原理3.什么是软件架构?理解软件的三层架构的内容及特点4软件设计有两大类方法是什么?5.面向过程设计的主要任务和内容和方法是什么?6.面向对象设计的内容和步骤是什么?第九章面向数据流的设计方法1. 简述SD方法将数据流图转换为软件结构的过程与步骤。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软件工程复习纲要

软件工程复习纲要

软件工程复习纲要第一章、概述1、软件危机的概念与主要原因(1)软件危机是指在计算机软件开发与维护时所遇到的一系列问题。

(2)软件危机产生的原因:软件规模、方法、技术、软件开发人员;客观:规模,环境,需求变化;主观:开发技术,管理。

✓软件产品规模庞大,开发与维护带来客观困难✓软件使用同期相对较长,期间可能出现开发没料到的问题,需要与时维护✓软件开发技术落后,生产方式与开发工具落后✓软件开发人员忽视软件需求分析的重要性,轻视软件维护2、软件、软件工程、软件工程学的概念(1)软件是指计算机程序与其有关的数据与文档。

(2)软件工程(software engineering)是计算机软件开发、运行、维护与隐退的系统方法;是指导计算机软件开发与维护的工程学科;软件工程的目标是在规定的时间、开发费用内,开发满足用户需求的高质量的软件。

(3)软件工程学的主要内容是软件开发技术(包含软件工程方法学、软件工具与软件开发环境)与软件工程管理(包含软件工程经济学与软件管理学)。

更多内容请见P.4;3、软件生命周期与生命周期各阶段的任务(1)软件生命周期指从设计软件产品开始到产品不能使用为止的时间周期。

包括:定义,开发,使用,维护,淘汰。

(2)软件生命周期各阶段的任务✧软件计划、软件开发与软件运行维护三个时期。

✧软件计划时期:问题定义、可行性研究、需求分析✧软件开发时期:软件概要设计、软件详细设计、软件实现、综合测试等阶段。

✧软件运行维护时期:需要不断地进行维护,使软件持久满足用户需要4、软件开发模型的几种模型与各模型的特征(1)瀑布模型(Waterfall Model) :(规范的、文档驱动方法。

开发阶段按顺序进行,适合需求分析较明确、开发技术较成熟的情况。

)特点:阶段间具有顺序性与依赖性;推迟实现编码;质量保证。

(2)快速原型模型:(快速原型系统让用户试用并收集用户意见。

获取用户真实需求。

)特点:软件产品的开发基本上是线性顺序进行的;能减少软件的总成本,缩短开发周期。

软件工程复习提纲

软件工程复习提纲

软件工程复习提纲I. 软件工程概述A. 定义与目标B. 发展历程C. 软件工程原则与方法论II. 软件开发过程A. 瀑布模型1. 阶段划分与任务2. 优点与缺点B. 增量模型1. 阶段划分与任务2. 优点与缺点C. 喷泉模型1. 阶段划分与任务2. 优点与缺点III. 需求工程A. 需求获取与分析1. 用户需求调研2. 需求规格化B. 需求验证与确认1. 需求评审2. 需求跟踪与控制IV. 软件设计A. 结构设计1. 模块化设计原则2. 模块间接口设计B. 数据设计1. 数据建模2. 数据库设计C. 用户界面设计1. 人机交互原则2. 界面布局与设计规范V. 软件构建A. 编码规范与标准1. 命名规范2. 代码注释B. 单元测试与集成测试1. 测试用例设计2. 测试工具与技术VI. 软件质量保证与控制A. 质量特性及度量1. 功能性2. 可靠性3. 可维护性4. 可测试性B. 缺陷管理1. 缺陷跟踪与报告2. 缺陷分析与修复VII. 软件项目管理A. 项目规划与组织1. 范围管理2. 人力资源管理B. 项目进度与成本控制1. 进度计划与跟踪2. 成本估算与控制VIII. 软件配置管理A. 版本管理1. 版本控制工具2. 分支与合并策略B. 变更管理1. 变更控制流程2. 变更影响分析IX. 软件工程伦理与职业责任A. 代码所有权与知识产权B. 软件开发道德标准X. 结语以上是软件工程复习提纲的架构,通过对各个主题的概要介绍和论述,有助于理解软件工程的基本概念、方法和流程,并为考试或复习提供了一个清晰的框架。

在准备复习时,可以根据这个提纲,进一步深入学习和了解各个主题中的具体知识点和案例。

软件工程是一门重要的学科,对于软件开发和项目管理都有着重要的指导意义,希望通过这个提纲的复习,能够帮助你更好地掌握软件工程领域的核心知识。

软件工程复习提纲

软件工程复习提纲

一、选择题(20小题,每题1分)软件定义:软件是程序、数据和相关文档的完整结合,计算机系统中的程序及其文档。

瀑布模型:从可行性与计划入手,依次进行需求分析、设计、编码、测试,直到经用户确认得到最终的软件产品,并由此进入运行维护过程。

(17)可行性分析:包括技术可行性、操作可行性、经济可行性和法律可行性。

(14)逻辑覆盖:是指对程序设计中的逻辑判断条件所进行的测试。

(141)软件维护:指软件系统交付使用后,为了纠正系统错误或者满足用户需求变更而修改软件的过程。

(254)DFD(数据流图):结构建模中最流行的功能建模工具,描述了数据输入,数据转换到数据输出的全过程。

分层的DFD更进一步刻画了系统的功能分解。

(44)ER图:包括数据对象(实体)、属性、关系和基数。

(42)面向对象特征:1.抽象 2.封装 3.继承 4.多态性结构化设计:可分为面向数据流的设计方法和面向数据的设计方法,用于确定软件的结构(90)白盒测试:又称为结构测试、逻辑驱动测试或者程序的测试,是指用于测试代码是否按照设计正确运行的验证技术,它需要详细设计文档作为测试配置。

(140)黑盒测试:又称为功能测试或者行为测试,主要根据设计说明中的功能设计来测试程序是否按预期实现。

(目的:尽量发现系统功能中的错误。

)(148)软件测试的目的:发现错误,错误的定位和处理需要通过调试过程完成。

(167)面向数据流的设计方法:基于数据流图自顶向下、逐层分解的过程,他将各级数据流图映射为软件结构图中对应的各层次模块,体现了结构化设计与结构化分析的相互衔接,也体现了自顶向下的模块化设计思想。

(91)需求分析:准确回答“系统必须做什么”的问题,给出对目标系统完整、准确、一致的描述。

(32)数据字典:建模中定义的概念,术语,属性和逻辑过程进行了详细定义和解释。

(49)软件过程:是有组织或项目使用的,用以计划、管理、执行、监控和改进其软件相关活动的过程或过程的集合. (15)总体设计(概要设计):要完成体系结构设计(确定各子系统模块间的数据传递,调用关系)、界面设计(包括与系统交互的人机界面设计、以及模块间、系统与外部系统的接口关系)和数据设计(包括数据库、数据文件和全局数据结构的定义)。

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

《软件工程》考试复习提纲
第一章
1、软件工程定义;软件工程是用工程、科学与数学的原则与方法研制、维护计算机软件的
有关技术与管理方法。

2、软件危机定义;
3、软件工程三要素;方法、工具和过程
4、软件生存周期各阶段名称;软件定义、软件开发、软件使用与维护退役
5、软件开发各个模型的特点;以软件需求完全确定为前提的瀑布模型(具有因果关系)
只能提供基本需求时采用的渐进式开发模型:原型模型、螺旋模型(风险分析)
以形式化开发方法为基础的变换模型
基于四代技术的模型(独立于具体的处理机)
组合模型
可行性研究包括经济可行性、技术可行性、法律可行性、还有开发方案的可行性
输入-处理-输出结构是系统建模的基础,它将基于计算机的系统转换成一个信息变换模型
第四章
需求分析可分为问题分析、需求描述、需求评审三个阶段
1、需求分析的任务与原则;
任务:1.对问题的识别和理解;2.对需求信息的综合和分析;3.写出软件需求规格说明文档;4.需求分析工作的复审。

2、问题抽象、问题分解与多视点分析;(需要掌握的技术)
第五章
1、数据流图定义,数据流图的画法,基本数据流图的符号
数据流图就是用来刻画数据流和转换的信息系统建模技术的。

实体转换数据流数据源顶级1级2级
数据对象的属性:命名性属性、描述性属性、引用性属性
2、实体关系图的定义与画法:表示数据对象及其关系的图形语言机制。

数据对象用长方形
表示,关系用菱形表示。

数据字典中数据条目包括的内容:名称类型列表简要说明解析性说明补充说明
3、基于数据流的分析方法;
结构图:用来刻画目标软件系统的结构。

活动图:用来刻画目标软件系统的功能视点。

状态图:用来刻画目标软件系统的行为视点。

第六章
1、面向对象的概念与思想;对象、类、属性、操作等概念;
(1)客观世界中的应用问题都是由实体及其相互关系构成的。

可以将客观世界中与应用问题有关的实体及其属性抽象为问题空间中的对象。

(2)对象:是现实世界中个体或事物的抽象表示,是其属性和相关操作的封装。

(3)类:是某些对象的共同特征(属性和操作)的表示。

(4)属性:表示对象的性质。

(5)操作:对象的操作是指该对象可以展现的外部服务。

2、面向对象的软件开发是一种迭代的渐进式过程,各个阶段名称与特点;
(1)初启:在初启阶段,软件项目的发起人确定项目的主要目标和范围,并进行初步的可行性分析和经济效益分析。

(2)细化:细化阶段的开始标志着项目的正式确立。

(3)构造:
(4)移交:
3、用例图的画法;P148
类图(继承关联依赖协作图(强调对
象间的动态协助关系)
第八章
1、软件设计过程,分为2大阶段:详细设计与概要设计,每个阶段的成果;
(1)详细设计:将其进一步精化成软件的算法表示和数据结构。

(2)概要设计:根据需求确定软件和数据的总体框架
内聚度:它标志一个模块内部各成分彼此结合的紧密程度
低级内聚:偶然性内聚逻辑性内聚时间性内聚
中级内聚:过程性内聚通信性内聚
高级内聚:顺序性内聚功能性内聚
耦合度:是对软件结构中模块间关联程度的一种度量。

耦合的强弱取决于模块间接口的复杂性、进入或调用模块的位置、通过界面传送数据的多少。

非直接耦合数据耦合特征耦合控制耦合外部耦合公共耦合内容耦合
扇入率:能直接控制该模块的模块数。

扇出率:该模块能直接控制的模块数。

2、软件设计基本概念;抽象与逐步求精、模块化与信息隐藏、软件总体结构设计、数据结构设计、软件过程设计;
3、判定表的画法;P199
第九章
1、变换分析方法:由一系列设计步骤组成,经过这些步骤就能把具有变换流特点的数据流
图按预先确定的模式映射成软件结构。

步骤一:复审基本系统模型;
步骤二:复审和精华软件数据流图;
步骤三:确定DFD的特性,判定它为变换流还是事务流;
步骤四:划定输入流和输出流的边界,孤立变换中心。

步骤五:执行“一级分解”;
步骤六:执行“二级分解”;
步骤七:采用启发式设计策略,精化所得程序结构雏形,改良软件质量对于程序结构的雏形,以“模块独立”为指导思想,对模块或合或拆,旨在追求高内聚、低耦
合、易实现、易测试、易维护的软件结构。

2、事务分析方法:当数据流具有明显的事务特征时,即能找到一个事务(亦称触发数据项)
和一个事务中心,采用事务分析法更为适宜。

步骤一:复审基本系统模型;
步骤二:复审并精化软件数据流图;
步骤三:确定数据流图的特性;
步骤四:指出事务中心,确定由事务中心发出的每一动作路径的数据流特性。

步骤五:把数据流图映射为事务处理型的程序结构;
步骤六:分解并精化事务结构以及每条动作路径所对应的结构;
步骤七:使用启发式设计策略,精化所得程序结构雏形,改良软件质量。

3、设计优化原则;
第十章
1、设计用例实现方案:(1)提取边界类、实体类和控制类;(2)构造交互图;根据交互图
精化类图。

2、面向对象中消息的主要分类和特点;
3、顺序图的画法;P233
4、协作图的画法;P234
5、提取边界类、实体类和控制类;
(1)边界类用于描述目标软件系统与外部环境之间的交互,并负责实现如下功能:界面控制;外部接口;环境隔离。

(2)实体类主要来源于领域概念模型。

(3)一般而言,一个用例通常对应一个控制类。

第十四章
1、软件测试基本概念:
在精心控制的系统环境下,采用相应的技术手段,利用一组事先构造好的测试实例执行程序以发现程序中存在的问题,并确认系统功能、性能符合需求的一个综合过程。

2、白盒测试定义:
是对软件实现的过程性细节做认真的运行检查;也叫结构测试、逻辑驱动测试。

3、黑盒测试定义:
测试是在软件接口上进行;也叫功能测试、输入/输出驱动测试。

4、单元测试、综合测试、确认测试测试策略;
(1)单元测试的对象是软件设计的最小单位——模块。

单元测试的依据是详细设计描述,单元测试应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。

单元测试多采用白盒测试技术,系统内多个模块可以并行地进行测试。

(2)综合测试是组装软件的系统测试技术,按设计要求把通过单元测试的各个模块组装在一起之后,进行综合测试以便发现与接口有关的各种错误。

5、基本路径测试法
主要思想是:根据软件过程性描述(详细设计或代码)中的控制流程确定复杂性度量,然后用此度量定义基本路径集合,由此导出一组测试用例,它们能保证每个语句至少执行一次。

第十五章
1、软件维护定义:
是软件生存周期的最后一个阶段,所有活动都发生在软件交付并投入运行之后。

2、软件维护类型:
纠错性维护,适应性维护,改善性维护,预防性维护。

相关文档
最新文档