软件工程各种出题整理老师修改过的
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程各个小组出题整理
第一章
一名词解释3
1. 软件(P1):是计算机系统中的一个重要组成部分,从系统工程角度来看,它作为系统元素,与计算机、人、数据库、过程等共同构成计算机系统。
2. 软件工程(p6):软件工程是应用计算机科学、数学及管理科学等原理,以工程化方法制作软件的工程,它是一门交叉性学科。
3. 软件生存周期(P11):是软件产品的一系列相关活动的整个生命期,即从形成概念开始,
经过开发、交付使用、在使用中不断修改和演进,直到最终被废弃,让位于新的软件产品为
止的整个时期。
二简答题4
1、软件具有哪些特点?
答案:⑴软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。这个特点使它和计算机硬件,或是其他工程对象有着明显的差异。
⑵软件是开发出来的,不是制造出来的。软件没有明显的制造过程,因而软件的质量主要取决与软件的“开发”。
⑶软件可能被废弃,但不会被用坏。在软件的运行和使用期间,没有硬件那样的机械磨损短路用坏等问题。
⑷以往的软件大多是定制的,而不是装配的。以前很少有类似与硬件“零部件”的软件“零部件”。
⑸软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。软件不能完全摆脱硬件单独活动,在开发和运行中必须以硬件提供的条件为依据。
2、软件生存周期的基本任务?(注意:在论述题中要把每一条展开!!!详见P12)
⑴定义问题和可行性分析,确定要开发软件系统的总目标,给出它的功能性能约束接口以及可靠性等方面的要求。
(2 )需求分析,对用户要求进行分析,明确目标系统的功能需求和非功能需求,并通过建立分析模型,从功能数据行为等方面描述系统的静态和动态特性,对目标系统做彻底的细化,了解系统的各个细节。
(3 )软件设计,在设计阶段制定设计方案,把已确定的各项需求转化为一个相应的软件体系。(4)程序编码与单元测试,选择合适的编程语言,把软件设计转化为计算机可以接受的程
序代码,并对程序结构中的各个模块进行单元测试,然后运用调试的手段排除测试中发现的
错误。
(5 )综合测试,主要任务是做集成测试和确认测试。
(6)软件维护。
3、软件过程的模型主要有哪些?
瀑布模型
快速原型模型
形式化系统开发模型
面向复用的开发模型
增量模型
螺旋模型
喷泉模型
智能模型
快速运用开发模型
Rational 统一开发模型。
4、什么是软件危机?为什么会产生软件危机? 答:软件危机是指软件在开发和维护过程中遇到的一系统严重问题,主要包含二方面的问题,一是如何开发利用软件,二是如何维护数量不断膨胀的已有软件。产生软件危机的原因,方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关。
第二章
一、名词解释2
1、计算机系统:指某些元素的一个集合或排列,这些元素被组织起来以实现某种方法、过程或借助处理信息进行控制。P32
2、可行性研究:可行性研究从经济、技术、法律、用户操作等方面分析所给出的解决方案是否可行。这是项目立项的依据。只有当解决方案可行且有一定的经济效益或社会效益时才能开始系统的开发。
二、简答题2
1、可行性研究包括哪几个方面?
答: 1.经济可行性 2.技术可行性3.法律可行性 4.用户操作可行性
2、计算机系统的系统元素有哪些?P32
答:包括软件、硬件、人、数据库、文档、过程
三、问答题 1 系统框图与系统流程图的异同点P52 答:相同点:系统框图与系统流程图都是描述物理系统的工具,不仅能用于可行性研究,还能用于需求分析阶段;都可用图形符号来表达系统中的各个元素,表达了系统中各个元素之间的连接关系和信息流动情况
不同点:系统框图与系统流程图的不同之处在于表达的含义:系统框图给出了系统的框架结构,各个处理之间用不带箭头的线段连接;系统流程图表达了系统的处理过程,各个处理之
间用带箭头的线段连接
第四章
一、名词解释3
1、数据实体:数据实体是目标系统素需要的、复合信息的表示,它是具有若干不同属性信息的组合体,在E—R 图中用矩形表示。P125
2、结构化语言(Structured Language):结构化语言也叫做程序设计语言( Program Design Language,PDL ),是一种介于自然语言和形式化语言之间的半形式化语言,又称为伪码。
它是在自然语言基础上加了一些限制,使用有限的词汇和有限的语句来描述加工逻辑而得到的语言。P139
3、数据流图
数据流图(Data Flow Diagram , DFD)也称为泡图(Bubble Chart),它从数据传递和加工的
角度,以图形的方式刻画数据流从输入到输出的移动变换过程。二、简答题2
1,、绘制数据流图的主要步骤。P129
答:1、首先确定与系统有交互关系的外部实体。
2、画出顶层数据流图。
3、分析考试业务处理的主要功能,建立第0 层数据流图。
4、对每一个加工继续细化。
2、需求获取的过程。P116 答:1、开发高层业务模型。
2、定义项目的试图和范围。
3、寻求需求的来源。
4、识别用户类和用户代表。
5、确定目标系统的业务工作流。
6、需求的整理与描述。
三、问答题 1 需求获取技术的基本特征。P116
答:1、提供便于沟通的工具,如易于理解的语言和直观的图表。
2、提供定义系统边界(交互)的方法。
3、提供支持抽象的机制,如“分解” “映射”等。
4、鼓励分析员使用面向问题的术语思考问题,编写文档。
5、为分析员提供多种可供选择的解决方案。
6、适应需求的变化。
第五章
一、名词解释2
1、模块的独立性:是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他模块的接口是简单的。(P181)
2、软件的可移植性:指的是软件不经修改或稍加修改就可以运行于不同软硬件环境的能力。
(P188)
二、简答题2
1、在系统的模块化设计时,如何降低模块间的耦合度?(P183)
答:1)根据问题的特点选择适当的耦合类型。
2)降低模块接口的复杂性。
3)把模块的通信信息放在缓冲区中。
2、面向过程和面向对象的区别,至少写出三点
答:(1)面向过程方法中的模块通常是函数,过程和子过程,面向对象是中的模块主要是类,接口,对象,构件等
(2)面向过程的方法中数据以及在数据上的处理时分离的,面向对象中数据以及其上的处理时封装在一起的,具有更好的独立性也能更好的支持复用。
(3)面向对象设计中的数据设计并不是独立进行的,面向对象设计中的类图相当于数据的逻辑模型,可以很容易的转换成数据的物理模型
三、问答题1
软件模块结构改进的方法有哪些?(P201)
答:1)模块功能的完善化
2)消除重复功能,改善软件结构
P127