湘潭大学软件工程总复习.docx
- 格式:docx
- 大小:66.81 KB
- 文档页数:9
《软件工程》期末总复习题(软件工程作业1第1〜4章)一、选择题:1•开发软件所需高成木和产品的低质量Z间有着尖锐的矛盾,这种现象称做()。
A.软件工程B.软件周期C.软件危机D.软件产生2.瀑布模型本质上是--种()模型。
A.线性顺序B.顺序迭代C.线性迭代D•早期产品3.瀑布模型存在的问题是()oA.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求4.螺旋模型是一种将瀑布模型和()结合起来的软件开发模型。
A.增量模型B.专家系统C.喷泉模型D.变换模型5.原型化方法是用户和设计者之间执行的一种交互构成,适用于()系统。
A.需求不确定性高的B.需求确定的C.管理信息D.实时6.下列有关软件工程的标准,属于国际标准的是()A.GBB.DINC.ISOD.IEEE7.结构化方法是一种基于()的方法。
A.数据结构B.程序结构C.算法D.数据流8.软件可行性研允实质上是要进行一次()需求分析、设计过程。
A、简化、压缩的B、详细的C、彻底的D、深入的9.可行性研究的目的是()A、分析开发系统的必要性B、确定系统建设的方案C、分析系统风险D、确定是否值得开发系统10.设年利率为i,现存入p元,不计复利,n年后可得钱数为()。
A、PX(l+i*n)B、PX (i+1)*nC、pX(l+i)nD、pX(i+n)11.可行性研究是在()之前A、系统开发B、测试C、试运行D、集成测试12.可行性研究需要的时间长短収决于系统的规模,一般來说,可行性研究的成本只是预期总成本的()。
A、1%B、20%C、8%D、50%13.我国正式颁布实施的()对讣算机病毒的定义具有法律性、权威性。
A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》14.效率是一个性能要求,因此应当在以下哪个阶段规定?()A、可行性分析B、需求分析C、概要设计D、详细设计15.需求规格说明书的作用不包括()A、软件验收的依据B、用户与开发人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据16.数据字典是用来定义()中的各个成份的具体含义的。
《软件工程》考试复习提纲第一章1、软件工程定义;软件工程是用工程、科学与数学的原则与方法研制、维护计算机软件的有关技术与管理方法。
2、软件危机定义;3、软件工程三要素;方法、工具和过程4、软件生存周期各阶段名称;软件定义、软件开发、软件使川与维护退役5、软件开发各个模型的特点;以软件需求完全确定为前捉的瀑布模型(具有因果关系)只能提供基木需求时采用的渐进式开发模型:原型模型、螺旋模型(风险分析)以形式化开发方法为基础的变换模型基于四代技术的模型(独立于具体的处理机)组合模型可行性研究包括经济可行性、技术可行性、法律可行性、还有开发方案的可行性输入-处理-输出结构是系统建模的基础,它将基于计算机的系统转换成一个信息变换模型第四章需求分析可分为问题分析、需求描述、需求评审三个阶段1、需求分析的任务与原则;任务:1.对问题的识别和理解;2.对需求信息的综合和分析;3.写出软件需求规格说明文档;4.需求分析工作的复审。
2、问题抽象、问题分解与多视点分析;(需要掌握的技术)第五章『—1、数据流图定义,数据流图的画法,基本数据流图的符号;_______ ------ 数据流图就是用来刻曲数据流和转换的信息系统建模技术的。
实体转换数据流数据源顶级1级2级数据对象的属性:命名性属性、描述性属性、引用性属性2、实体关系图的定义与应法:表示数据对彖及其关系的图形语言机制。
数据对象川长方形表示,关系用菱形表示。
数据字典中数据条目包括的内容:名称类型列表简要说明解析性说明补充说明3、基于数据流的分析方法;结构图:用来刻画H标软件系统的结构。
活动图:用來刻画目标软件系统的功能视点。
状态图:用來刻画口标软件系统的行为视点。
第六章1、面向对彖的概念与思想;对彖、类、属性、操作等概念;(1)客观世界屮的应川问题都是市实体及其相互关系构成的。
可以将客观卅:界屮与应川问题有关的实体及其属性抽象为问题空间屮的对象。
(2)对象:是现实世界中个体或事物的抽象表示,是英属性和相关操作的封装。
软件工程复习资料1.软件危机产生的原因(1)软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。
在写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。
很难检验开发的正确性且软件开发的质量也较难评价。
因此控制软件开发过程相当困难。
此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。
这样维护的费用十分惊人,客观上使得软件较难维护。
(2)软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通和配合十分重要。
但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。
在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。
这是造成软件危机的主要原因。
(3)开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。
对用户的要求没有完整准确的认识就急于编写程序。
这是许多软件开发失败的另一主要原因。
事实上,许多用户在开始时并不能准确具体地叙述他们的需要。
软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。
(4)软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。
首先是文档缺乏一致性和完整性,从而失去管理的依据。
因为程序只是完整软件产品的一个组成部分。
一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。
其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。
(5)在软件的开发和维护关系问题上存在错误的观念。
软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。
所以做好软件的定义工作是降低软件成本,提高软件质量的关键。
如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。
软件工程期末复习要点归纳总结精编W O R D版IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】第一章软件工程学概论1、软件危机产生的原因软件本身的特点:难于维护、逻辑复杂软件开发与维护的方法不正确:忽略需求分析重要性、轻视软件维护课本表述:1、软件不同于硬件,它是计算机中的逻辑部件而不是物理部件2、软件不同于一般程序,它的一个显着特点是规模庞大,而且程序的复杂性将规模的增加而呈现指数上升。
3、软件本身特有的特点确实给开发和维护带了一些客观困难4、软件开发与维护有关的许多错误认识与做法有关(忽略需求分析,轻视软件维护)5、对用户要求没有完整准确的认识就匆忙开始着手编写程序6、在软件不同阶段进行修改需要付出的代价是很不相同的2、软件危机的表现(什么是软件危机)(1)、成本高:(2)、软件质量得不到保证:软件质量问题导致失败的软件项目非常多(3)、进度难以控制:●项目延期比比皆是●由于进度问题而取消的软件项目较常见●只有一小部分的项目能够按期完成(4)、维护十分困难:▼软件维护的多样性▼软件维护的复杂性▼软件维护的副作用3、克服软件危机(1)、管理的角度:软件开发过程的研究、文档的标准化以及人员的交流方式等(2)、软件开发方法的研究结构化软件开发方法, 面向对象的开发4、软件工程的定义概括的说,软件工程师指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
(1)、软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。
(2)、①把系统的、规范的、可度量的方法应用于软件开发、运行和维护的过程,也就是把工程应用于软件.②研究①中提到的途径总之:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。
《软件工程》期末复习第一章软件工程概述一、重点掌握的内容:软件和软件工程的基本概念二、一般掌握内容:传统软件工程和面向对象软件工程的比较以及软件工程的应用三、主要知识点:软件:软件是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,加上描述程序的操作和使用的文档。
可见,软件的定义由三部分组成:(1)在运行中能提供所希望的功能和性能的指令集(即程序);(2)使程序能够正确运行的数据结构;(3)描述程序研制过程、方法所用的文挡。
软件是一种产品,同时又是开发和运行产品的载体。
作为一种产品,它表达了由计算机硬件体现的计算潜能。
作为开发运行产品的载体,软件是计算机工作的基础、信息通信的基础,也是创建和控制其他程序的基础。
软件的特征:(1)软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。
(2)软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被创造出来的。
(3)软件成为产品后,其生产只是简单的拷贝,不同于硬件制造。
(4)在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题,但维护过程比硬件复杂的多,甚至会引发新的错误。
软件危机:指的是软件开发和维护过程中遇到的一系列严重问题。
出现软件危机的原因:(1)软件维护费用急剧上升,直接威胁计算机应用的扩大。
(2)软件生产技术进步缓慢,大大落后于需求的增长,进一步加剧了软件危机。
软件工程:是指导计算机软件开发和维护的工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
程序设计方法的两次飞跃:(1)结构化程序设计的出现,程序设计风格从“追求技巧与效率”;变为“清晰第一、效率第二”;(2)从结构化程序设计到面向对象的程序设计。
面向过程的程序设计思想:程序=数据结构+算法;面向对象的程序设计思想:程序=对象+消息。
第二章软件开发模型一、重点掌握的内容:软件生存周期的有关概念,面向对象的基本概念二、一般掌握的内容:软件开发的各种模型的特征三、主要知识点:软件生存周期:一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。
软件工程总复习2017/12/15Word文档资料1.内容回顾Word文档资料Word文档资料Word文档资料Word文档资料Word文档资料Word文档资料Word文档资料Word文档资料Word文档资料2. 考试题型:1)选择题(20)例1:螺旋模型适用于( )系统。
A.需求模糊的小型软件 B. 需求明确的中、小型软件C.具有不确定性的大型软件 D. 容易分块的大型软件例2: 与涉众协商需求时,应注意()。
A.做到技术上高精尖 B. 使己方利益最大化C.一切以强势涉众的要求为准 D. 尽量实现双赢例3. 关于UML中状态图和活动图的叙述中,()是错误的。
Word文档资料A.状态图和活动图都是对系统的动态方面进行建模的图B.活动图是状态图的一种特殊情况,其中所有或大多数状态是活动状态C.状态图显示从状态到状态的控制流,活动图显示的是从活动到活动的控制流D. 在对一个对象的生存期建模时,只能使用状态图2)判断题(每小题1分,共15分)1,缺少用户的参与是导致软件项目失败的主要原因之一。
()2,软件是数据和算法的集合。
()3,若能缩短PERT图的关键路径上开发活动的时间,便可以让项目提前结束。
()4,程序测试能证明程序里不存在错误。
()。
3)简答题(每题5分,共35分)Word文档资料1. 试画出电话系统的状态图。
2. 面向对象设计中的系统架构设计包含哪些活动?。
D.4)综合体(30)例1:建立一个网上销售系统,要求实现以下功能:顾客可以浏览商品并且选购商品,在选购时顾客可以在订单中加入任意数量的产品;在选购完成后,他可以提交订单以及银行账号信息,系统将在指定的外部银行系统中进行扣款支付。
支付成功,则交易成功;否则交易失败。
对成功的订单,店主将邮寄商品给顾客,并标识订单为已交付。
店主还能够维护商品信息(商品ID,商品名称,商品售价,商品在库数量)。
a)根据以上描述画出系统的用例图。
(6分)b)画出0层DFD图。
软件工程考试题纲题型:单选题(20分),名词解释(20分),简答题(40分),应用题(20分)。
1、可行性分析、需求分析、概要设计、详细设计阶段的参与人员有哪些?(单选)(1)可行性分析:用户、系统分析员;(2)需求分析:用户、系统分析员;(3)概要设计:客户、软件工程师;⑷详细设计:软件工程师。
2、在软件详细设计过程中采用的工具有哪些?主要有图形、表格和语言这三大类。
具体有程序流程图、盒图(N-S图)、PAD图(问题分析图)、判定表、判定树、过程设计语言(PDL、伪码)、Jackson图及方法。
3、白盒技术测试技术有哪些?(5. 3~5, 4)基本路径测试、条件测试、数据流测试、循环测试(简单循环、嵌套循环、串接循环)。
4、黑盒技术测试方法有哪些?(5. 5〜5. 6)等价划分、边界值分析、错误推测。
5、软件生存周期的活动中,哪个阶段要进行软件结构设计?(概要设计)概要设计,概要设计除了进行软件结构设计,还有一项任务就是设计出实现目标系统的几种可能的方案。
6、什么是瀑布模型?(流水线结构,前阶段的输出是后阶段的输入)瀑布模型是一种流水线结构的过程模型,它将软件的生命周期分为收集需求、分析、设计、编码、测试、维护这六个阶段。
它要求整个生命周期以文档来驱动,前一个阶段的输出是后一个阶段的输入。
它除了强调阶段间具有顺序性和依赖性之外,还体现了推迟实现(否定急于编程的做法)、质量保证这两个观点。
7、什么是ER模型?ER模型即实体一关系模型,它通过实体(数据对象,矩形框表示)、关系(菱形框表示)和属性(椭圆形或圆角矩形表示)这三种基本成分来描述系统分析员对问题的理解。
由于这种模型贴近人们对现实问题的理解方式,所以不熟悉计算机技术的用户也能理解它,成为用户和分析员之间有效的交流工具。
8、什么是螺旋模型?螺旋模型以使用原型及其他方法来尽量降低风险为基本思想,所以它是基于风险驱动的。
它在瀑布模型的每个阶段之前都增加了风险分析过程的快速原型模型。
软件工程总复习
2017/12/15
1.内容回顾
周次
教学内容回顾备
注
HU So 第1章绪论。
重要概念:
软件,软件危机,软件工程等
6第2章软件生存周期与软件过程。
内容:软件生存周期
传统的软件过程瀑布模型快速原型模型
软件演化模型
增量模型
螺旋模型构件集成模型形式化方法模型统一过程和敏捷过程软件可行性研究—
开发模型特点适用场合
瀑布模型线性模型,每一阶段必须完成规定的文档需求明确且不变更的中、小型软件开发
需求模糊的小型软件开发
快速原型模型用户介入早,通过迭代完善用户需求,原型废弃不
用
增量模型每次迭代完成一个增量,可用于00开发容易分块的大型软件开发
尽管早期需求较明确,但详细需求还要斟酌。
不能及吋准备足
够人员或新硬件时。
顾客希望尽早得到功能有限的软件时。
螺旋模型典型迭代模型,重视风险分析,可用于00 开发貝有不确定性大型软件开发
构件集成模型软件开发与构件开发平行进行领域工程、行业的中型软件开发
转换模型形式化的规格说明,自动的程序变换系统理想化模型,尚无成熟工具支持
开发团队熟悉形式化方法,中小型软件开发
净室模型形式化的增量开发模型,在洁净状态下实现软件制
作
7
统一过程用例驱动,以架构为核心,迭代并且增量大型复杂系统
敏捷开发推崇让客户满意和软件的早期增量发布,SE和其
他涉众一起组成小而高度自主的项目团队,非正式
的方法,最小化软件过程工作产品,以及整体精
简。
中小型项目
第3章结构化分析与设计。
SA分析模型
数据流图,实体-关系图,状态转换图,数据字典第3章结构化分析与设计。
SC图,优化结构设计的指导规则,程序流程图,判定表
8第4章面向对象与UML。
•面向对象概述
对象,类,而向对象,而向对象的优点,而向对象的基本特征• UML简介
•静态图
1.用例图:描述系统功能;
2.类图:描述系统的静态结构;
3.对象图:描述系统在某个时刻的静态结构;
4.构件图:描述实现系统的元素的组织;
5.部署图:描述系统环境元素的配置,也称配置图。
•动态图
1.状态图:描述系统元素的状态条件和响应;
2.时序图:按时间顺序描述系统元素间的交互;
3.通信图:按照连接关系描述系统兀素间的交互;
4.活动图:描述系统元素的活动流程。
•静态建模
•动态建模
•物理架构建模
• UML工具
9第5章需求工程与需求分析。
•软件需求工程
•需求分析与建模
•需求获取的常用方法
•需求模型
•软件需求描述
•需求管理
•需求建模示例
10第6章面向对象分析。
软件分析概述面向对象分析建模
面向对象分析模型,OOA建模步骤,三种分析类面向对象分析示例
13第7章面向对象设计。
软件设计概述
基本概念
面向对象设计建模
面向对象设计的任务系统架构设计
系统架构设计的6项活动系统元素设计
•子系统设计
•子系统设计主要针对子系统内部所包含的设计元素及其交互。
•分包设计
•分包的目的是使设计元素更加有序,呈现出更明显的高内聚、低耦合特征。
•类/对象设计
• 主要解决3个问题:
•如何实现分析类中的边界类、实体类和控制类。
•如何应用设计模式。
•系统架构中的全局性决定如何在类设计中体现。
面向对象设计示例
14第8章编码与测试。
编码概述
编码语言与编码工具编码示例
测试的基木概念黑盒测试和白盒测试测试用例设计
多模块程序的测试策略面向对象系统的测试
第9章软件维护。
软件维护的种类软件可维护性软件维护的实施软件维护的管理软件配置管理软件再工程第11章软件复用
15
第12章软件工程管理 第14章软件质量管理
2. 考试题型:
1)选择题(20)
例2:与涉众协商需求时,应注意( A. 做到技术上高精尖
C. 一切以强势涉众的要求为准
例3.关于UML 中状态图和活动图的叙述中,(
)是错误的。
A. 状态图和活动图都是对系统的动态方面进行建模的图
B. 活动图是状态图的一种特殊情况,其中所有或大多数状态是活动状态
C. 状态图显示从状态到状态的控制流,活动图显示的是从活动到活动的控制流
D.
在对一个对象的生存期建模时,只能使用状态图
2)判断题(每小题1分,共15分)
1, 缺少用户的参与是导致软件项目失败的主要原因之一。
()
例1:螺旋模型适用于(
)系统。
A. 需求模糊的小型软件 C.具有不确定性的大型软件
B. 需求明确的中、小型软件 D.容易分块的大型软件
)o
B.使己方利益最大化 D.尽量实现双赢
2,软件是数据和算法的集合。
()
3,若能缩短PERT图的关键路径上开发活动的时间,便可以让项目提前结束。
()
4,程序测试能证明程序里不存在错误。
()
3)简答题(每题5分,共35分)
1.试画出电话系统的状态图。
2.面向对象设计中的系统架构设计包含哪些活动?
O O O
D.
4)综合体(30)
例1:建立一个网上销售系统,要求实现以下功能:
顾客可以浏览商品并且选购商品,在选购时顾客可以在订单中加入任意数量的产品;在选购完成后,他可以提交订单以及银行账号信息,系统将在指定的外
部银行系统中进行扣款支付。
支付成功,则交易成功;否则交易失败。
对成功的订单,店主将邮寄商晶给顾客,并标识订单为已交付。
店主还能够维护商品信息
(商品ID,商品名称,商品售价,商品在库数量)。
a)色据以上描述画出系统的用例图。
(6分)
b)画出0层DFD图。
(6分)
c)画岀订单对象的状态转换图(6分)
d)设计订单类的类图。
(6分)
e)对店主维护商品信息的功能,设计一组黑盒测试用例。
(6分)
3.教学大纲介绍
4.Q&A。