软件工程复习提纲
软件工程复习提纲.doc
![软件工程复习提纲.doc](https://img.taocdn.com/s3/m/a064f583482fb4daa58d4bdb.png)
《软件工程》考试复习提纲第一章1、软件工程定义;软件工程是用工程、科学与数学的原则与方法研制、维护计算机软件的有关技术与管理方法。
2、软件危机定义;3、软件工程三要素;方法、工具和过程4、软件生存周期各阶段名称;软件定义、软件开发、软件使川与维护退役5、软件开发各个模型的特点;以软件需求完全确定为前捉的瀑布模型(具有因果关系)只能提供基木需求时采用的渐进式开发模型:原型模型、螺旋模型(风险分析)以形式化开发方法为基础的变换模型基于四代技术的模型(独立于具体的处理机)组合模型可行性研究包括经济可行性、技术可行性、法律可行性、还有开发方案的可行性输入-处理-输出结构是系统建模的基础,它将基于计算机的系统转换成一个信息变换模型第四章需求分析可分为问题分析、需求描述、需求评审三个阶段1、需求分析的任务与原则;任务:1.对问题的识别和理解;2.对需求信息的综合和分析;3.写出软件需求规格说明文档;4.需求分析工作的复审。
2、问题抽象、问题分解与多视点分析;(需要掌握的技术)第五章『—1、数据流图定义,数据流图的画法,基本数据流图的符号;_______ ------ 数据流图就是用来刻曲数据流和转换的信息系统建模技术的。
实体转换数据流数据源顶级1级2级数据对象的属性:命名性属性、描述性属性、引用性属性2、实体关系图的定义与应法:表示数据对彖及其关系的图形语言机制。
数据对象川长方形表示,关系用菱形表示。
数据字典中数据条目包括的内容:名称类型列表简要说明解析性说明补充说明3、基于数据流的分析方法;结构图:用来刻画H标软件系统的结构。
活动图:用來刻画目标软件系统的功能视点。
状态图:用來刻画口标软件系统的行为视点。
第六章1、面向对彖的概念与思想;对彖、类、属性、操作等概念;(1)客观世界屮的应川问题都是市实体及其相互关系构成的。
可以将客观卅:界屮与应川问题有关的实体及其属性抽象为问题空间屮的对象。
(2)对象:是现实世界中个体或事物的抽象表示,是英属性和相关操作的封装。
软件工程复习提纲
![软件工程复习提纲](https://img.taocdn.com/s3/m/2ac31f0002020740be1e9be7.png)
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 内聚、耦合,所有名称、每个含义。
软件工程复习提纲
![软件工程复习提纲](https://img.taocdn.com/s3/m/5a9e97a359f5f61fb7360b4c2e3f5727a5e92489.png)
软件质量的度量分类 成本-效应分析
第七章
掌握:
第11章
掌握: 软件质量保证的概念 软件质量保证的主要任务 软件配置管理的概念
1
2
演化模型 什么是演化模型? 首先针对一个不能完整定义需求的软件开发一个核心系统,然后用户使用该系统,提出精化系统郑家系统能力的需求,再根据用户反馈,实施开发的迭代过程。 特征: 多次迭代,每次迭代过程,需求分析→设计→编码→测试→集成。 优缺点:减少了软件需求不明确而该开发带来的风险性,但费时费力。 适用范围:适合于需求不能完整定义的某些项目。 螺旋模型 什么是螺旋模型? 将瀑布模型和演化模型结合起来,在此基础引入增加了风险分析。 特征:加入了风险分析。 优缺点:减少了软件开发的风险,但成本高,过程复杂。 适用范围:适合于大型软件的开发。
商务风商业计划书
CLICK HERE TO ADD A TITLECຫໍສະໝຸດ NTENTS目录壹
贰
叁
第五章
掌握: 结构化程序设计的思想 程序设计语言的选择因素 第六章
软件工程复习提纲总结3篇
![软件工程复习提纲总结3篇](https://img.taocdn.com/s3/m/4458b4c6f9c75fbfc77da26925c52cc58bd6903c.png)
软件工程复习提纲总结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)。
软件工程复习提纲
![软件工程复习提纲](https://img.taocdn.com/s3/m/9a6b35c0866fb84ae45c8df3.png)
1.什么是软件?是一系列按照特定顺序组织的计算机数据和指令的集合,包括程序、数据和文档。
附:软件的特征:成本高、风险大、维护困难2.什么是软件危机,其内容主要是指什么?原因:1、与软件本身的特点有关;2、与软件开发人员有关;定义:在计算机软件开发和维护过程中所遇到的一系列严重的问题。
1)对软件开发成本和进度的估计常常不准确。
2)用户对“已完成”系统不满意的现象经常发生。
3)软件产品的质量不可靠。
4)软件的可维护程度非常之低。
5)软件通常没有适当的文档资料。
6)软件的成本不断提高。
7)软件开发生产率无法满足人们对软件的生产要求,软件开发生产率的提高落后于硬件的发展。
3.什么是软件工程?开发、运行和维护软件的系统方法软件工程主要研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本、改进软件产品质量、提高软件生产率水平的目标。
4.软件工程的目标(PP.41)及其组成部分。
方法、工具和过程。
•软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。
方法:是指产生某些结果的形式化过程,•工具:是用更好的方式完成某件事情的设备或自动化系统,如各种集成开发环境、编译工具、测试工具等。
•过程:生产特定产品的工具和技术的结合软件工程方法学包含3个要素:方法、工具和过程。
5.软件开发方法的定义。
通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学。
比如SASD方法、面向对象的软件开发方法。
6.好的软件的一些主要衡量指标。
例如McCall的质量模型。
(1)质量,它的衡量:产品的质量、过程的质量、商业环境背景下产品的质量。
McCall的质量模型:附:开发团队的成员第二章1.什么是软件生命周期?主要分为哪些阶段?各个阶段的主要任务及产生的主要制品? 定义:当过程是在开发软件产品时,把这种软件开发过程称为软件生命周期。
《软件工程》复习提纲
![《软件工程》复习提纲](https://img.taocdn.com/s3/m/2722050ea8956bec0875e322.png)
《软件工程》复习提纲一一、、 授授课课的的主主要要内内容容11.. 基基本本概概念念((11)) 有有关关““软软件件工工程程””的的基基本本概概念念11))软软件件工工程程的的诞诞生生那是1968……22))软软件件危危机机计计算算机机软软件件开开发发和和软软件件维维护护过过程程中中所所遇遇到到的的一一系系列列严严重重问问题题统统称称为为““软软件件危危机机””。
概括地说,软件危机包含两方面的问题:一是如何开发软件,怎样满足人们对软件日益增长的需求?二是如何维护软件,使它们持久地满足人们的要求。
33))软软件件包含与数据处理系统操作有关的程序、规程、规则以及相关文档的智力创作称为软件(计算机)。
文档是描述程序开发过程的,是智力创作的真实记录,是创作活动的历史档案和结晶。
软软件件由由计计算算机机程程序序,,数数据据结结构构和和文文档档组组成成。
计算机程序执行特定的功能;数据结构是程序运行所需的数据;文档是描述程序开发、使用和维护的资料。
44)) 软软件件工工程程的的概概念念采采用用工工程程学学的的原原理理来来管管理理和和从从事事软软件件的的开开发发和和软软件件维维护护,,称称为为软软件件工工程程。
(工程学:系统化、规范化、数量化)55))软软件件质质量量的的基基本本概概念念(a )软件质量的定义与软件产品满足规定的和隐含的需求能力有关的特征和特性的全体。
具体来说:1)软件产品中能满足给定需求的性质和特性的总体;2)软件具有所期望的各种属性的组合程度。
(b )软件质量特性(1)功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含要求的功能的能力。
(2)可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力。
(3)易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。
(4)效 率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。
(5)维护性:软件产品可被修改的能力。
软件工程复习提纲
![软件工程复习提纲](https://img.taocdn.com/s3/m/05065429af45b307e8719773.png)
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. 什么是喷泉模型?喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于采用对象技术的软件开发项目。
软件工程复习提纲
![软件工程复习提纲](https://img.taocdn.com/s3/m/58df8caddd3383c4bb4cd2c4.png)
软件工程复习点一、判断题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)的。
软件工程复习提纲
![软件工程复习提纲](https://img.taocdn.com/s3/m/5cebf83731126edb6f1a10ed.png)
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分为结构图和行为图,其中共有六种结构图和七种行为图。
软件工程复习提纲(附答案)
![软件工程复习提纲(附答案)](https://img.taocdn.com/s3/m/0b4b845f8f9951e79b89680203d8ce2f00666530.png)
软件工程复习提纲(附答案)软件工程第一章软件工程介绍1、软件的特性:P3软件是设计开发的,而不是传统意义上的生产制造;软件不会磨损;大多数软件仍是根据实际的客户需求制定的。
2、计算机软件的七大分类:P5系统软件、应用软件、工程/科学软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。
3、遗留系统发生系统演化的原因:P6软件需要修改其适应性,从而可以满足新的计算环境或技术的需求软件必须根据新的业务需求进行升级软件必须扩展以具有与更多现代系统和数据库的协作能力软件架构必须进行改建以适应多样化的网络环境4、软件神话:管理者,用户,从业者P135、软件的定义:P3软件是:指令的集合,通过执行这些指令可以满足预期的特征,功能和性能需求;数据结构,它使得程序可以充分利用信息;描述程序操作和使用的文档。
第二章过程综述1、软件工程的三个要素:工具,过程,方法P8过程:软件过程将各个技术层次结合在一起,并实施合理地,及时地开发计算机软件方法:为建造软件提供技术上的解决方法。
工具:为过程和方法提供自动化或半自动化的支持。
2、通用软件过程框架:沟通,策划,建模,构建,部署P9沟通:这个框架活动包含了与客户之间大量的交流和协作,还包括需求获取以及其他相关活动策划:指为后续的软件工程工作制定计划。
建模:它包括创建模型和设计两方面。
创建模型有助于客户和开发人员更好得理解软件需求;设计可以实现它。
构建:它包括编码和测试。
部署:软件交付到用户,用户对其进行评测并给出意见3、能力成熟度模型:P22第0级:不完全级;第1级:已执行级;第2级:已管理级;第3级:已定义级;第4级:已定量管理级;第5级:优化级;第三章过程模型1、简述惯例框架包含的主要活动:P19沟通、策划、建模、构建、部署2、简述瀑布模型所包含的主要框架活动:P24沟通、策划、建模、构建、部署3、简述瀑布模型在实际运用中所面临的问题(缺点):P24实际的项目很少遵守瀑布模型提出的顺序客户通常难以清楚地描述所有的需求客户必须有耐心,因为只有在项目的后期,他们才能看到可执行的程序。
软件工程复习提纲
![软件工程复习提纲](https://img.taocdn.com/s3/m/62cd9efe49649b6648d74773.png)
软件工程复习提纲第一章软件与软件工程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方法将数据流图转换为软件结构的过程与步骤。
软件工程复习资料(提纲+答案)
![软件工程复习资料(提纲+答案)](https://img.taocdn.com/s3/m/1ca373568f9951e79b89680203d8ce2f006665a1.png)
软件工程复习资料(提纲+答案)第一章软件工程的实质1、什么是软件?由什么组成?软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档组成的完整集合。
可以写作为:软件=程序+数据+文档。
2、什么是软件危机?为什么会产生?(原因)软件危机:指的是在计算机软件的开发和维护过程中所遇到的一系列严重的问题。
原因:用户需求不明确、缺乏正确的理论指导、软件规模越来越大、软件复杂度越来越高3、为什么要进行软件开发?4、软件工程的三段论?三段论:软件项目管理论、软件项目开发论、软件过程改进论5、软件工程生存期模型概念、类型、每种类型的特点?答:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。
软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。
常见的软件生存周期模型有瀑布模型、V模型、原型模型、增量式模型、螺旋式模型。
6、了解复用的原则第二章软件项目的需求分析1、需求分析的主要任务?(基本任务)答:需求分析阶段的基本任务是要准确的定义新系统的目标,满足用户需要,回答系统必须“做什么”的问题。
本阶段要主要有以下几方面工作:(1)问题识别,双方确定对问题的综合需求,包括:功能需求、性能需求、用户界面需求,以及可靠性、安全性、可维护性等方面的需求。
(2)建立模型,对获取的需求,进行分析细化,划分系统功能,确定系统构成,并建立系统的逻辑模型。
(3)编写文档,也就是完成“需求规格说明书”的编写工作。
2、需求分析分两大块(功能与非功能)功能需求描述系统所预期提供的功能或服务。
非功能需求是对系统提供的服务或功能给出的约束。
包括时间约束、开发过程的约束、标准等。
3、(P27)需求建模的基本方法?答:关联模型、行为模型(数据流模型和状态机模型)、数据模型、面向对象模型、结构化模型(技术:数据流图(DFD)、数据字典(DD)、系统流程图)以及其他方法(如原型法、功能列表等)4、结构化方法的代表?(P29)7状态图活动图8、理解好数据流图为什么要分层?9、UML中常用的9种图?(P32 把包图去掉)静态图:类图、对象图、构件图、实施图和包图。
软件工程复习纲要
![软件工程复习纲要](https://img.taocdn.com/s3/m/233a7f154a73f242336c1eb91a37f111f1850dd5.png)
软件工程复习纲要第一章、概述1、软件危机的概念与主要原因(1)软件危机是指在计算机软件开发与维护时所遇到的一系列问题。
(2)软件危机产生的原因:软件规模、方法、技术、软件开发人员;客观:规模,环境,需求变化;主观:开发技术,管理。
✓软件产品规模庞大,开发与维护带来客观困难✓软件使用同期相对较长,期间可能出现开发没料到的问题,需要与时维护✓软件开发技术落后,生产方式与开发工具落后✓软件开发人员忽视软件需求分析的重要性,轻视软件维护2、软件、软件工程、软件工程学的概念(1)软件是指计算机程序与其有关的数据与文档。
(2)软件工程(software engineering)是计算机软件开发、运行、维护与隐退的系统方法;是指导计算机软件开发与维护的工程学科;软件工程的目标是在规定的时间、开发费用内,开发满足用户需求的高质量的软件。
(3)软件工程学的主要内容是软件开发技术(包含软件工程方法学、软件工具与软件开发环境)与软件工程管理(包含软件工程经济学与软件管理学)。
更多内容请见P.4;3、软件生命周期与生命周期各阶段的任务(1)软件生命周期指从设计软件产品开始到产品不能使用为止的时间周期。
包括:定义,开发,使用,维护,淘汰。
(2)软件生命周期各阶段的任务✧软件计划、软件开发与软件运行维护三个时期。
✧软件计划时期:问题定义、可行性研究、需求分析✧软件开发时期:软件概要设计、软件详细设计、软件实现、综合测试等阶段。
✧软件运行维护时期:需要不断地进行维护,使软件持久满足用户需要4、软件开发模型的几种模型与各模型的特征(1)瀑布模型(Waterfall Model) :(规范的、文档驱动方法。
开发阶段按顺序进行,适合需求分析较明确、开发技术较成熟的情况。
)特点:阶段间具有顺序性与依赖性;推迟实现编码;质量保证。
(2)快速原型模型:(快速原型系统让用户试用并收集用户意见。
获取用户真实需求。
)特点:软件产品的开发基本上是线性顺序进行的;能减少软件的总成本,缩短开发周期。
软件工程复习提纲
![软件工程复习提纲](https://img.taocdn.com/s3/m/7500c23e5bcfa1c7aa00b52acfc789eb172d9ec1.png)
软件工程复习提纲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. 结语以上是软件工程复习提纲的架构,通过对各个主题的概要介绍和论述,有助于理解软件工程的基本概念、方法和流程,并为考试或复习提供了一个清晰的框架。
在准备复习时,可以根据这个提纲,进一步深入学习和了解各个主题中的具体知识点和案例。
软件工程是一门重要的学科,对于软件开发和项目管理都有着重要的指导意义,希望通过这个提纲的复习,能够帮助你更好地掌握软件工程领域的核心知识。
软件工程复习提纲
![软件工程复习提纲](https://img.taocdn.com/s3/m/3c8f6209a300a6c30c229ff9.png)
一、选择题(20小题,每题1分)软件定义:软件是程序、数据和相关文档的完整结合,计算机系统中的程序及其文档。
瀑布模型:从可行性与计划入手,依次进行需求分析、设计、编码、测试,直到经用户确认得到最终的软件产品,并由此进入运行维护过程。
(17)可行性分析:包括技术可行性、操作可行性、经济可行性和法律可行性。
(14)逻辑覆盖:是指对程序设计中的逻辑判断条件所进行的测试。
(141)软件维护:指软件系统交付使用后,为了纠正系统错误或者满足用户需求变更而修改软件的过程。
(254)DFD(数据流图):结构建模中最流行的功能建模工具,描述了数据输入,数据转换到数据输出的全过程。
分层的DFD更进一步刻画了系统的功能分解。
(44)ER图:包括数据对象(实体)、属性、关系和基数。
(42)面向对象特征:1.抽象 2.封装 3.继承 4.多态性结构化设计:可分为面向数据流的设计方法和面向数据的设计方法,用于确定软件的结构(90)白盒测试:又称为结构测试、逻辑驱动测试或者程序的测试,是指用于测试代码是否按照设计正确运行的验证技术,它需要详细设计文档作为测试配置。
(140)黑盒测试:又称为功能测试或者行为测试,主要根据设计说明中的功能设计来测试程序是否按预期实现。
(目的:尽量发现系统功能中的错误。
)(148)软件测试的目的:发现错误,错误的定位和处理需要通过调试过程完成。
(167)面向数据流的设计方法:基于数据流图自顶向下、逐层分解的过程,他将各级数据流图映射为软件结构图中对应的各层次模块,体现了结构化设计与结构化分析的相互衔接,也体现了自顶向下的模块化设计思想。
(91)需求分析:准确回答“系统必须做什么”的问题,给出对目标系统完整、准确、一致的描述。
(32)数据字典:建模中定义的概念,术语,属性和逻辑过程进行了详细定义和解释。
(49)软件过程:是有组织或项目使用的,用以计划、管理、执行、监控和改进其软件相关活动的过程或过程的集合. (15)总体设计(概要设计):要完成体系结构设计(确定各子系统模块间的数据传递,调用关系)、界面设计(包括与系统交互的人机界面设计、以及模块间、系统与外部系统的接口关系)和数据设计(包括数据库、数据文件和全局数据结构的定义)。
软件工程与计算复习提纲(新)
![软件工程与计算复习提纲(新)](https://img.taocdn.com/s3/m/159c0c8e85254b35eefdc8d376eeaeaad1f316a0.png)
• 下面面是一一段需求描述,请依据其建立立ATM机系统 的领域类图(即分析类图)。
• A银行行计划在B大大学开设银行行分部,计划使用用ATM 机提供全部服务。 ATM系统将通过显示示屏幕、输 入入键盘(有数字键和特殊符号键)、银行行卡读卡 器、存款插槽、收据打印机等设备与客户交互。 客户可以使用用ATM机进行行存款、取款、余额查询 等操作,它们对帐户的更新将交由账户系统的一一 个接口口来处理。安全系统将为每个客户分配一一个 PIN码和安全级别。每次事务执行行之前都需要验 证该PIN码。在将来,银行行还计划使用用ATM机支支 持一一些常规的操作,例如地址和电话号码修改。
复习提纲
第一一、二二章
• 名词解释
• 软件工工程
• 简答:
• 从1950s~2000s之间的特点
第四章 项⺫目目启动
• 如何管理团队?
• 在实验中采取了哪些办法?有哪些经验? • 团队结构有哪几几种?
• 质量保障有哪些措施?
• 结合实验进行行说明
• 配置管理有哪些活动?
• 实验中是如何进行行配置管理的?
• 示示例:(2010)结合实验,说明一一个项⺫目目的质量保障包括哪些
活动?
第五章
• 名词解释
• 需求
• 区分需求的三个层次
• 给出一一个实例,给出其三个层次的例子子 • 对给定的需求示示例,判定其层次
• 例如课程实验/ATM/图书管理…
• 掌握需求的类型
• 对给定的实例,给出其不同类型的需求例子子 • 对给定的需求示示例,判定其类型
思想是什么?
第九、十十章
• 体系结构的概念 • 体系结构的⻛风格的优缺点 • 体系结构设计的过程? • 包的原则 • 体系结构构建之间接口口的定义(*) • 体系结构开发集成测试用用例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.什么是软件工程?软件工程的目的是什么?
2.什么是软件危机?软件危机的表现有哪些?产生的原因是什么?
3.如果要开发XX系统,能否通过充分的调查做到完全了解用户需求,写出正确的,非常符合用户的需求分析报告,并且在以后的软件开发过程中没有需求改变的事情发生?
4.说明软件开发的生命周期模型,软件开发的几个生命周期,每个周期里的主要任务是什么?
5.什么是瀑布模型?什么是原型模型?请比较一下瀑布模型和原型模型的优缺点?
6.如果要开发一个xx系统,具备哪些条件,你会选择用瀑布模型进行开发?会选择原型模型?
7.可行性研究的任务是什么?主要是解决哪几个方面的问题?
8.需求分析的目的是什么?由那些部分组成,主要任务是什么?你认为做好需求分析需要具备那些素质?
9.为什么需求分析很难做准确?说出你的理由。
10.请举例说明什么是数据字典?数据字典在软件工程开发中的作用是什么?
11.有一个XX系统。
系统叙述……请完成满足需要的数据库设计。
以及画出数据流程图。
12.有图所示的一个数据流程图。
请画出相应的功能模块图。
13.有一个非结构化的程序。
图示……请修改为结构化的程序。
并画出相应的程序流程图。
14.有比较两个二元组的方法如下:
二元组的集合是:
E={(a,b)|0≤a,b≤9 且a,b都是整数}。
其中单个数的大小如下:
1≤2≤3≤4≤5≤6≤7≤8≤9≤0。
对于一个二元组A∈E,
定义1:如果a=b,则称A成对。
定义2:r=(a+b)%10,称为A的点数。
定义3:如果a>b,temp=a,否则temp=b。
temp称为A的大数,记为MA。
对于A(a,b),B(c,d)∈E,比较它们大小的规则如下:
1.如果A和B都成对,则比较a,c。
如果a<c,则A<B。
如果c<a,则B<A。
如果a=c,则A=B。
2.成对的都比不成对的大。
3.如果都不成对,则比较点数。
如果点数不同,则点数大的那个二元组大。
零点最小。
4.如果都不成对,且点数相同。
如果点数都是零。
则A=B。
如果点数不为零。
则比较A和B的大数。
如果MA<MB,则A<B。
如果MB<MA,则B<A。
如果MA=MB,则A=B。
请回答下列问题:
1.画出流程图。
2.用C语言写出一个比较二元组的函数。
如果前一个二元组大于后一个二元组,则返回1,如果相等则返回3,否则返回2。
函数接口如下:
int compare(int a, int b, int c, int d)
{}
3.根据书上的各种黑盒和白盒的测试方法写出你的测试数据。
并且写出期望结果。
15.有一个程序,描述……。
用C语言写出该函数的详细设计代码。
16.请介绍一下发现对象的原则以及一些方法,并将这些方法与结构化程序开发中所使用的相应工具进行比较。
比较一下结构化方法和面向对象方法在需求阶段的相同和不同点。
17.试举例说明继承和多继承的概念。
18.请举例说明多态性的概念。
19.有人说:软件项目估算是一门艺术,而非一门科学。
你如何理解这句话?
20.什么是类?什么是对象?举例说明类之间的关系有哪些?
21.对于分析阶段出现类之间的实例连接关系,在OOD阶段该如何处理?
22.请设计这样的一个XX系统:……
不考虑上述问题中没有提到的其它方面。
如果有不清楚的地方,自己根据常规的情况做出设定。
如果用面向对象的分析方法,请画出类图,标明类的属性和服务。
以及类之间的关系。
23.什么叫整体-部分关系?什么叫一般-特殊关系?图示说明。
24.实例描述。
一个类,……但是我们在编写程序的时候却会将这些东西设计成一个数据库。
请说明在面向对象的设计中,是如何处理该类问题的?
25.请举例说明三条评价人机界面的设计准则。
26.请举例解释一下主动类的概念。
并且在OOD中,是如何实现主动类的?
27..软件质量度量存在哪些质量标准?试说明评价软件质量的五个标准。
28.如果你是软件开发的项目经理,请举出你可以从哪些方面去保证软件质量?至少举出四个方面。
29.什么是主机-仿真终端体系结构?什么是文件共享结构?什么是客户-服务器结构?30.请比较一下通常情况下,B/S模式和C/S模式的优缺点。
31.对象设计必须遵循的步骤。
32.白盒测试的原理是什么?黑盒测试呢?熟悉白盒测试与黑盒测试的具体实例。
33.举例说明白盒测试不能替代黑盒测试。
34.从目的、任务、测试用例的设计思路等方面比较单元测试和集成测试的区别。
35.软件维护分为哪些类别?各自有什么特点?
36.在软件开发过程中,请举例三个例子说明影响软件维护的因素。
37,请问一个合理的软件维护流程应该是怎么样的?
38.如果你要应聘测试经理的职位,你觉得测试经理需要安排技术方面的哪些工作?39.请举三个例子例说明在软件项目管理中,需要注意哪些风险?你会如何预防这些风险?。