《软件工程》复习提纲答案
软件工程复习提纲
软件质量的度量分类 成本-效应分析
第七章
掌握:
第11章
掌握: 软件质量保证的概念 软件质量保证的主要任务 软件配置管理的概念
1
2
演化模型 什么是演化模型? 首先针对一个不能完整定义需求的软件开发一个核心系统,然后用户使用该系统,提出精化系统郑家系统能力的需求,再根据用户反馈,实施开发的迭代过程。 特征: 多次迭代,每次迭代过程,需求分析→设计→编码→测试→集成。 优缺点:减少了软件需求不明确而该开发带来的风险性,但费时费力。 适用范围:适合于需求不能完整定义的某些项目。 螺旋模型 什么是螺旋模型? 将瀑布模型和演化模型结合起来,在此基础引入增加了风险分析。 特征:加入了风险分析。 优缺点:减少了软件开发的风险,但成本高,过程复杂。 适用范围:适合于大型软件的开发。
商务风商业计划书
CLICK HERE TO ADD A TITLECຫໍສະໝຸດ NTENTS目录壹
贰
叁
第五章
掌握: 结构化程序设计的思想 程序设计语言的选择因素 第六章
软件工程-张海藩 编著 复习提纲1-6章
第一章软件工程学概述第一节软件危机1.为了消除软件危机,20世纪60年代后期形成了新学科:计算机软件工程学。
2.软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
(这些问题不是不能运行的软件才仅仅具有的,几乎所有的软件都不同程度存在这些问题。
)3.软件危机包含两个方面的问题:1.如何开发软件,以满足对软件日益增长的需求。
2.如何维护数量不断膨胀的已有软件。
4.产生软件危机的原因(page4—图1.1)1.一方面与软件本身的特点有关2.另一方面也和软件开发与维护的方法不正确有关。
5.软件不同于一般程序,它的一个显著特点是:“规模庞大”。
6.软件开发流程:1. 问题定义:(确定要求解决的问题是什么)2. 可行性研究:(决定该问题是否存在一个可行的解决办法)3. 需求分析:(深入具体的了解用户需求)进入开发时期:对软件设计概要设计详细设计编写程序(全部工作量10%—20%)测试交付使用7.软件产品的配置:包括:程序、文档、数据8.软件危机的一些典型表现:1.对软件开发成本和进度的估计常常不准确2.用户对“已完成的”软件系统不满意的现象经常发生3.软件产品的质量往往靠不住4.软件常常是不可维护的5.软件通常没有适当的文档资料。
6.软件成本在计算机系统总成本中所占的比例逐年上升。
7.软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
第二节软件工程1.软件工程定义软件工程是:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;2. 软件工程方法学包含3个要素:方法、工具和过程。
3. 软件工程方法学: 1. 传统方法学2. 面向对象方法学4. 面向对象方法学的4个特点:(1)把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。
(2)把所有的对象都划分成类(class)。
(3)按照父类(基类)与子类(派生类)的关系,把若干个相关类组成一个层次结构的系统(也成为类的等级)。
软件工程复习提纲
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、软件的特性: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实际的项目很少遵守瀑布模型提出的顺序客户通常难以清楚地描述所有的需求客户必须有耐心,因为只有在项目的后期,他们才能看到可执行的程序。
软件工程复习提纲答案连同实验答案
软件工程复习提纲第1章概述1、什么是软件危机?产生软件危机的主要原因?P3软件危机是指计算机软件的开发和维护过程中所遇见的一系列严重问题出现软件危机的主要原因是人们在开发软件时使用了错误的方法2、软件工程的定义?P5软件工程是指导计算机软件开发与维护的工程学料,它采用工程的概念,原理、技术和方法来开发与维护软件3、软件生命周期定义,八个阶段,及基本任务是什么?P10软件生命周期是指一个软件从定义、开发、使用和维护,直到最终被废弃,经历了一个漫长的时期。
八个阶段为问题定义(关键问题是:“要解决的问题是什么?”);可行性研究(用最小的代价在尽可能短的时间内确定问题是否解决);需求分析(仍然不是具体地解决客户的问题,而是准确地回答“目标系统必须做什么”这个问题);概要设计(概括地回答“怎么实现目标系统?”这个问题);详细设计(还不是编写程序,而是设计出程序的详细规格说明);编码和单元测试(写出正确的容易理解、容易维护的程序模块);综合测试(通过各种类型的测试(及相应的调试)使软件达到预定的要求);软件维护(通过各种必要的维护活动使系统持久地满足用户的需求)4、螺旋模型:综合了瀑布模型和快速原型的优点,并增加了风险分析5、5种模型的特点。
瀑布模型具有三个特点:1阶段间具有顺序性和依赖性2推迟实现的观点3质量保证的重点快速原型模型是不带反馈环的,软件产品的开发基本上是线性顺序进行的增量模型也称为渐增模型,使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。
每一个构件由多个相互作用的模块构成,并且能够完成特定的功能螺旋模型综合了瀑布模型和快速原型的优点,并增加了风险分析喷泉模型第2章结构化分析1、可行性分析主要是进行哪三个方面的分析?P23技术可行性、经济可行性和操作可行性2、结构化分析主要建立什么模型?P32主要建立功能模型(数据流图)、数据模型(ER图)和行为模型(状态图)3、E-R关系图包含什么信息?P40包含着实体(客观世界中存在的且可相互区分的事物)、联系(客观世界中的事物彼此间往往是有联系的)和属性(实体或联系所具有的性质)4、什么是数据流图?P41数据流图(DFD )是一种形象直观的图形,它描绘数据在软件中从输入移动到输出的过程中所经受的变换(即加工处理)5、会画简单的实体联系图、系统流程图、数据流图?P426、什么是数据字典?P47数据字典是描述数据的信息的集合,是对目标系统中使用的所有数据的定义的集合7、结构化分析的策略是自顶向下逐步求精。
软件工程复习提纲
一、选择1.软件需求规格说明书的内容不应包括(D)A.主要功能B软件的性能C.用户界面及运行环境D.算法的详细描述2.数据字典……基本功能是(B)A数据库设计B数据定义C数据通信D数据维护3、面向对象的分析方法主要是建立三类模型即(C)A.系统模型、ER模型、应用模型B.对象模型、动态模型、应用模型C.对象模型、动态模型、功能模型D.ER模型、对象模型、功能模型4.软件概要设计(架构设计)结束后得到(C)。
A.初始化的软件结构图B.模块的接口图和详细算法C.优化后的软件结构图D.程序编码5.软件测试的目标是(B)A.证明软件是正确的B.发现错误,降低错误带来的风险C.删除软件中所有的错误D.与软件调试相同6.系统因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为(D)A.系统软件B.操作系统C.测试软件D.容错软件7.详细设计的基本任务是确定每个模块的(A)设计A.算法B调用关系C输入输出数据D.功能8.面向数据流的设计方法把(B)映射成软件结构A.系统结构B.数据流C.控制结构D.信息9.下面几种白箱测试技术,哪种是最强覆盖准则(D)A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖10.提高测试的有效性非常重要,成功的测试是指(A)A.发现了至今为止尚未发现的错误。
B.说明了被测试程序符合相应的要求。
C.证明了被测试的程序正确无误。
D.未发现被测试程序的错误。
11.瀑布模型的存在问题是(B)A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求12.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫(D)A.生存期B.面向对象设计C.面向对象程序设计D.面向对象分析13.软件测试方法中的静态测试方法之一为(A)A计算机辅助静态分析B黑盒法C路径覆盖D边界值分析14.在E-R模型中,包含以下基本成分(C)A.数据、对象、实体B控制、联系、对象C.实体、联系、属性D.实体、属性、操作15.在软件测试中,白盒测试方法通过分析程序的(C)来设计测试用例的方法。
软件工程复习提纲
软件工程复习提纲第一章软件与软件工程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 把包图去掉)静态图:类图、对象图、构件图、实施图和包图。
08《软件工程》复习提纲.doc
1.填空(每题1分,10题,10分)(1)计算机软件是指计算机系统中的程序及其文档。
pagel(2)在软件发展的第二阶段,由于软件规模的日益增大,设计与编制程序的工作方式逐步从个体方式转向合作方式。
page2(3)需求分析主要解决开发软件要“做什么”的问题。
page8(4)软件设计主要解决待开发软件“怎么做”的问题。
page8(5)1990年我国颁布了《中华人民共和国著作权法》,其中将计算机软件作为著作权法的保护对象。
page44(6)模块独立性比较强的模块应是高内聚低耦合的模块。
page70(7)在结构化分析与设计方法中,模块的内聚度和耦合度是判断结构好坏的主要标准。
page75(8)数据流图用于软件系统的功能建模,描述系统的输入数据流如何经过一系列的加工,逐步变成系统的输出数据流,这些对数据流的加工实际上反映了系统的某种功能或子功能。
page87(9)一个模块的员出是指该模块直接调用的模块数目。
pagell7(10)一个模块的虜△是指能直接调用该模块的模块数目。
pagell7(11)模块的影响范围是指受该模块中决策(如判定条件)影响的所有其他模块。
pagellS(12)模块的控制殖围是指该模块自身以及它可直接或间接调用的所有模块。
pagellS(13)人机界面设计的好坏已成为人们衡量软件可用性的标准之一。
page231(14)系统响应时间是指从用户执行某个控制动作(如按回车键或单击鼠标)到软件做出响应(期望的输出或动作)的时间。
page242(15)一个测试用例由测试输入数据和预期结果组成。
page263(16)等价类是指输入域的某个子集,该子集中的每个输入数据对接露软件中的错误都是等效的。
page277(17)a测试是由一个用户在开发者的场所进行的,软件在开发者对用户的指导下进行测试。
page293(18)经a测试后的软件成为B版软件。
page293(19)B测试是软件的最终用户在一个或多个用户场所进行的,开发者通过不在测试现场。
软件工程复习提纲
1.什么是软件?是一系列按照特定顺序组织的计算机数据和指令的集合,包括程序、数据和文档。
附:软件的特征:成本高、风险大、维护困难2.什么是软件危机,其内容主要是指什么?原因:1、与软件本身的特点有关;2、与软件开发人员有关;定义:在计算机软件开发和维护过程中所遇到的一系列严重的问题。
1)对软件开发成本和进度的估计常常不准确。
2)用户对“已完成”系统不满意的现象经常发生。
3)软件产品的质量不可靠。
4)软件的可维护程度非常之低。
5)软件通常没有适当的文档资料。
6)软件的成本不断提高。
7)软件开发生产率无法满足人们对软件的生产要求,软件开发生产率的提高落后于硬件的发展。
3.什么是软件工程?开发、运行和维护软件的系统方法•软件工程主要研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本、改进软件产品质量、提高软件生产率水平的目标。
4.软件工程的目标(PP.41 )及其组成部分。
方法、工具和过程。
•软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。
方法: 是指产生某些结果的形式化过程,•工具: 是用更好的方式完成某件事情的设备或自动化系统,如各种集成开发环境、编译工具、测试工具等。
•过程: 生产特定产品的工具和技术的结合•软件工程方法学包含3个要素:方法、工具和过程。
5.软件开发方法的定义。
通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学。
比如SASD方法、面向对象的软件开发方法。
6.好的软件的一些主要衡量指标。
例如McCall 的质量模型。
(1)质量,它的衡量:产品的质量、过程的质量、商业环境背景下产品的质量。
McCall 的质量模型:附:开发团队的成员•需求分析员: 与客户合作,确定并文档化客户需求•设计人员: 生成系统描述:系统要做什么•程序员: 编写事先指定需求的代码•测试人员: 发现错误•培训人员: 向用户说明如何使用这个系统•维护小组: 修复系统验收之后出现的错误•资料管理员: 准备和存储软件需求文档等•配置管理团队: 保持各工件之间的通信第二章1.什么是软件生命周期?主要分为哪些阶段?各个阶段的主要任务及产生的主要制品?定义:当过程是在开发软件产品时,把这种软件开发过程称为软件生命周期。
软件工程复习提纲答案连同实验答案
软件工程复习提纲第1章概述1、什么是软件危机?产生软件危机的主要原因?P3软件危机是指计算机软件的开发和维护过程中所遇见的一系列严重问题出现软件危机的主要原因是人们在开发软件时使用了错误的方法2、软件工程的定义?P5软件工程是指导计算机软件开发与维护的工程学料,它采用工程的概念,原理、技术和方法来开发与维护软件3、软件生命周期定义,八个阶段,及基本任务是什么?P10软件生命周期是指一个软件从定义、开发、使用和维护,直到最终被废弃,经历了一个漫长的时期。
八个阶段为问题定义(关键问题是:“要解决的问题是什么?”);可行性研究(用最小的代价在尽可能短的时间确定问题是否解决);需求分析(仍然不是具体地解决客户的问题,而是准确地回答“目标系统必须做什么”这个问题);概要设计(概括地回答“怎么实现目标系统?”这个问题);详细设计(还不是编写程序,而是设计出程序的详细规格说明);编码和单元测试(写出正确的容易理解、容易维护的程序模块);综合测试(通过各种类型的测试(及相应的调试)使软件达到预定的要求);软件维护(通过各种必要的维护活动使系统持久地满足用户的需求)4、螺旋模型:综合了瀑布模型和快速原型的优点,并增加了风险分析5、5种模型的特点。
瀑布模型具有三个特点:1阶段间具有顺序性和依赖性2推迟实现的观点3质量保证的重点快速原型模型是不带反馈环的,软件产品的开发基本上是线性顺序进行的增量模型也称为渐增模型,使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。
每一个构件由多个相互作用的模块构成,并且能够完成特定的功能螺旋模型综合了瀑布模型和快速原型的优点,并增加了风险分析喷泉模型第2章结构化分析1、可行性分析主要是进行哪三个方面的分析?P23技术可行性、经济可行性和操作可行性2、结构化分析主要建立什么模型?P32主要建立功能模型(数据流图)、数据模型(ER图)和行为模型(状态图)3、E-R关系图包含什么信息?P40包含着实体(客观世界中存在的且可相互区分的事物)、联系(客观世界中的事物彼此间往往是有联系的)和属性(实体或联系所具有的性质)4、什么是数据流图?P41数据流图(DFD)是一种形象直观的图形,它描绘数据在软件中从输入移动到输出的过程中所经受的变换(即加工处理)5、会画简单的实体联系图、系统流程图、数据流图?P426、什么是数据字典?P47数据字典是描述数据的信息的集合,是对目标系统中使用的所有数据的定义的集合7、结构化分析的策略是自顶向下逐步求精。
《软件工程》复习提纲
《软件工程》复习提纲第一篇:《软件工程》复习提纲《软件工程》课程要点λ每章教学课件中的“本章小结”列出了需要掌握的内容λ教学过程中的例题和习题也是课程重点一、软件工程与软件过程概述1.概念:(1)软件的概念(组成成分、作用);答:计算机软件是程序、数据和相关文档的集合;用于实现计算机系统所需要的逻辑方法和控制过程(2)软件危机的含义、表现、产生原因(客观、主观)答:计算机软件开发和维护过程中遇到的一系列严重问题。
软件危机的表现:①对软件开发成本和进度的估计很不准确②已完成的软件不能满足用户需求③软件质量差④软件不可维护⑤软件没有开发文档⑥软件成本在计算机系统总成本中所占的比例逐年上升⑦软件生产率跟不上硬件的发展和计算机迅速普及的趋势与软件的特点有关(客观原因):①软件是计算机系统中的逻辑部件,缺乏“可见性”,管理和控制软件开发过程相当困难②软件在使用期间不存在机械磨损和老化问题,一旦发现错误,通常意味着修改原来的设计,因此软件难维护③软件规模庞大,程序复杂性增加,需多人分工合作(不能保证每个人完成的工作合在一起构成一个高质量的大型软件系统)与软件开发和维护的方法不正确有关(主观原因):① 开发无计划② 忽视软件需求分析的重要性③ 轻视软件维护④ 无过硬评测手段⑤ 缺乏有力的开发方法和工具⑥ 不重视开发文档等软件配置(3)软件工程学科包括的内容(三要素)、解决的主要问题答:(1)软件工程定义:1)软件工程是指导计算机软件开发和维护的工程学科2)采用工程化的概念、原理、技术和方法来开发和维护软件3)将经过时间考验而证明正确的管理技术和开发技术结合起来,以较经济的手段开发出高质量的软件并有效维护它2)软件工程方法学的三要素:①方法:完成软件开发各项任务的技术方法1 ②工具:为方法的高效运用,而提供的自动或半自动的软件支撑环境③过程:为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤(4)软件生命周期的含义、组成阶段及各阶段主要任务答:软件生命周期:一个软件从定义、开发、运行维护,直到最终被废弃要经历一个漫长的时期,这个时期称为软件生命周期。
软件工程---课后习题答案教学提纲
软件⼯程---课后习题答案教学提纲软件⼯程---课后习题答案第⼀章1.1什么是计算机软件?软件的特点是什么?计算机软件是指计算机系统中的程序及其⽂档软件的特点:●软件是⼀种逻辑实体,⽽不是有形的系统元件,其开发成本和进度难以准确地估算。
●软件是被开发的或被设计的,没有明显的制造过程,⼀旦开发成功,只需复制即可,但其维护的⼯作量⼤。
●软件的使⽤没有硬件那样的机械磨损和⽼化问题。
1.2简述软件的分类,并举例说明1.系统软件系统软件居于计算机系统中最接近硬件的⼀层,其他软件⼀般都通过系统软件发挥作⽤。
例如:编译软件、操作系统。
2.⽀撑软件⽀撑软件是⽀撑软件的开发和维护的软件。
例如:数据库管理系统、⽹络软件、软件⼯具、软件开发环境。
3.应⽤软件应⽤软件是特定应⽤领域专⽤的软件。
例如:⼯程/科学计算机软件、嵌⼊式软件、产品线软件、Web应⽤软件、⼈⼯智能软件。
1.3简述软件语⾔的分类,并举例说明。
1.需求定义语⾔是⽤于书写软件需求定义的语⾔。
例如:PSL/PSA。
2.功能性语⾔是⽤于书写软件功能规约的语⾔,通常⼜称为功能规约语⾔。
例如:⼴谱语⾔、Z 语⾔。
3.设计性语⾔是⽤于书写软件设计规约的语⾔。
例如:PDL。
4.实现性语⾔也称为程序设计语⾔,是⽤于书写计算机程序的语⾔。
例如:C、java、PROLOG、FORTRAN、COBOL、Modula。
5.⽂档语⾔是⽤于书写软件⽂档的语⾔。
通常⽤⾃然语⾔或半形式化语⾔书写。
1.4什么是软件⼯程?软件⼯程是应⽤计算机科学、数学及管理科学等原理,开发软件的⼯程。
软件⼯程借鉴传统⼯程的原则、⽅法,以提⾼质量、降低成本为⽬的。
1.5简述软件⼯程的基本原则。
软件⼯程原则包括围绕⼯程设计、⼯程⽀持和⼯程管理所提出的以下4条基本原则。
1.选取适宜的开发模型必须认识需求定义的易变性,采⽤适宜的开发模型,保证软件产品满⾜⽤户的要求。
2.采⽤合适的设计⽅法合适的设计⽅法有助于这些特征的实现,以达到软件⼯程的⽬标。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.选择正确答案:
(1)在软件生存周期中, A 阶段所占的工作量最大;
(2)结构化分析方法产生的软件需求说明书由一套分层的 B 、数据字典和补充说明材料组成;
(3)软件的 C 一般可用平均无故障时间和故障平均修复时间来度量;
(4)采用 D 编写程序可提高程序的可移植性;
(5)仅根据规格说明书描述的程序功能来设计测试用例的方法称为 E 。
A ①分析②设计③编码④测试⑤维护
B ①因果图②数据流图③ PAD图④流程图
C ①易维护性②可靠性③效率④易理解性
D ①机器语言②宏指令③汇编语言④高级语言
E ①白盒方法②静态分析法③黑盒方法④人工分析法
2.需求分析的主要任务是建立新系统的 A ;总体设计的主要任务是设计出新系统的
B ;详细设计的主要任务是完成模块的
C ;编码的主要任务是写出各模块的
D 。
A:①系统结构②逻辑模型③软件结构④系统流程
B:①软件结构②模块结构③逻辑模型④数据流程
C:①输入输出设计②逻辑功能设计③过程设计④结构设计
D:①PAD ②PDL ③源程序④过程性描述
3.软件设计将涉及到软件的结构、过程和模块的设计,其中软件过程设计是指描述。
①模块间的关系②模块的操作细节
③软件层次结构④软件开发过程
4.模块独立是软件模块化所提出的要求,衡量模块独立的度量标准是模块的。
①抽象和信息隐蔽②局部化和封装
③高内聚和低耦合④激活机制和控制方法
5.在结构化分析和设计技术(SADT)中,数据流图是用于描述系统的 A 的主要工具,数据字典
是定义 B 中关于数据的描述工具。
A ①详细设计②需求分析③总体设计④逻辑模型
B ①数据流图②系统流程图③程序流程图④软件结构图
6.人们在使用高级语言编码时,首先可通过编译程序发现源程序中的全部 A 和部分语法错
误,然后可采用 B 来发现程序中的运行错误并采用纠错来确定错误的性质,设计错误是泛指用户在验收中发现的结果与需求不符的错误。
A的选项:
①符号错误②逻辑错误③通路错误④语义错误
B的选项:
①诊断②测试③检验
④排错⑤纠错⑥试探
7.用面向对象方法开发软件时,人们通常从三个侧面建立三种不同的模型:一是描述系统静态结构的
A对象模型;二是描述系统控制结构的B动态模型;三是描述系统计算结构的C功能模型。
其中对象模型是最基本、最核心、最重要的。
在整个开发过程中,这三种模型一直都在发展和完善,在面向对象分析中,构造出完全独立于实现的应用域模型;在面向对象设计中,把求解域的结构逐渐加入到模型中;在实现阶段,把应用域和求解域的结构都编写成 D 并进行严格的测试。
目前 E 是基于面向对象技术的建模语言,已成为事实上的工业标准。
ABC的选项:
①逻辑模型②动态模型③功能模型④对象模型⑤系统模型
D的选项:
①类图② PDL ③源代码④用例图⑤状态图
E的选项:
① C++ ② PDL ③ UML④ ISO
8. A 在实现阶段进行,它所依据的模块功能描述和内部细节以及测试方案应在
B 阶段完成,目的是发现编码错误。
C 所依据的模块说明书和测试方案应在
D 阶段完成,它能发现设计错误。
E 测试计划应在软件需求分析阶段完成。
供选择的答案:
A.①用户界面测试②输入/输出测试③综合测试④单元测试
B.①需求分析②详细设计③总体设计④结构设计
C.①可靠性测试②综合测试③性能测试④强度测试
D.①编码②总体设计③维护④详细设计
E.①过程测试②函数测试③逻辑测试④确认测试。