2018年武汉工程大学计算机科学与工程学院838软件工程概论考研强化五套模拟题
● 摘要
目录
2018年武汉工程大学计算机科学与工程学院838软件工程概论考研强化五套模拟题(一) ... 2 2018年武汉工程大学计算机科学与工程学院838软件工程概论考研强化五套模拟题(二) . 10 2018年武汉工程大学计算机科学与工程学院838软件工程概论考研强化五套模拟题(三) . 20 2018年武汉工程大学计算机科学与工程学院838软件工程概论考研强化五套模拟题(四) . 25 2018年武汉工程大学计算机科学与工程学院838软件工程概论考研强化五套模拟题(五) . 35
一、名词解释
1. 模块化
【答案】模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起 来构成一个整体,可以完成指定的功能满足用户的需求。模块化是为了使一个复杂的大型程序能被人的智力所管理。
2. 软件再工程
【答案】软件再工程是运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合、并重新构建软件,用于提高软件的可理解性、可维护性、可复用性。它指的是对既存对象系统进行调查,并将其重构为新 形式代码的开发过程,它的重要特点是能最大限度的重用既存系统的各种资源。
二、简答题
3. 使用快速原型方法构造原型时,对原型有什么样的要求?
【答案】(1)原型不同于最终系统,两者在功能上的区别是最终系统要实现软件需求的全部功能,而原型只实现所选择的部分功能,最终系统对每个软件需求都是要求详细实现,而原型仅仅是为了试验和演示的,部分功能需求可以忽略或者模拟实现。
(2)在构造原型时,必须注意功能性能的取舍,忽略一切暂时不关心的部分以加速原型的实现,同时又要充分体现原型的作用,满足评价原型的要求。
(3)在构造原型之前,必须明确运用原型的目的,从而解决分析与构造内容的取舍,还要根据构造原型的目的确定考核、评价原型的内容。
4. 模块的内聚性有哪几种?各表示什么含义?
【答案】(1)模块内聚性的分类
内聚性有七种类型:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚,它们的内聚性由低到高。
(2)模块内聚性的含义
①偶然内聚
偶然内聚指一个模块内的各处理元素之间没有任何联系,这是最差的内聚情况。
②逻辑内聚
逻辑内聚指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。如产生各种类型错误的信息输出放在一个模块,或从不同设备上的输入放在一个模块,这是一个单人口多功能模块。这种模块内聚程 度有所提高,各部分之间在功能上有相互关系,但不易修改,当某个调用模块要修改此模块公用代码时,而另一些调用模块又不要求修改。另外,调用时需要进行控制参数的传递,造成模块间的控制耦合,调用此模块时,不用的部分也占据了主存,降低了系统效率。
③时间内聚
时间内聚把需要同时执行的动作组合在一起形成的模块称为时间内聚模块。如初始化一组变量,同时打开若干文件,同时关闭文件等等,都与特定时间有关。时间内聚比逻辑内聚程度高一些,因为时间内聚模块中的各部分都要在同一时间内完成。但是由于这样的模块往往与其他模块联系的比较紧密,如初始模块对许多模块的运行有影响,因此和其他模块耦合的程度较高。
④过程内聚
如果一个模块内的处理元素是相关的,而且必须以特定的次序执行,称为过程内聚。过程内聚模块的各组成功能由控制流联结在一起,实际上是若干个处理功能的公共过程单元。
⑤通信内聚
通信内聚指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。
通信内聚的模块各部分都紧密相关于同一数据(或者数据结构),所以内聚性要高于前几种类型。同时,可把某一数据结构、文件、设备等操作都放在一个模块内,可达到信息隐藏。
⑥顺序内聚
顺序内聚指一个模块中各个处理元素都紧密相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。
⑦功能内聚
功能内聚是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。因此模块不能再分割。功能内聚的模块易于理解、易修改,因为它的功能是明确的、单一的,因此与其他模块的耦合是弱的。功能内聚的模块有利于实现软件的重用,从而提高软件开发的效率。
5. 详细设计的基本任务包括哪些?
【答案】(1)数据结构设计
对需求分析、总体设计阶段确定的概念性的数据类型,要进行确切的定义。这一部分的设计内容一般比较多,所以大多数采用小型数据库辅助的方法。
(2)物理设计
对数据库进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。
(3)算法设计
在总体设计的结构完成后,结构各个环节的实现是多解的。这就需要用系统设计与分析的技术来描述。可以用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。
(4)界面设计
用户界面的设计现在显得比较重要,可以采用字符用户界面设计,图形用户界面和多媒体人机界面设计。这就要结合具体的系统来处理。
(5)其他设计
根据软件系统的类型,还可能要进行以下设计:
①代码设计
为了提高数据的输入、分类、存储及检索等操作的效率以及节约内存空间,对数据库中的某些数据项的值要进行代码设计。
②输入/输出格式设计
③人机对话设计
对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、内容及格式的具体设计。
④网络设计
如果设计的软件是一个分布式系统,那么还要进行网络的拓扑结构设计。
(6)编写设计说明书
(7)评审
对处理过程的算法和数据库的物理结构都要评审。
6. 需求分析方法应遵循的原则是什么?
【答案】(1)必须能够表达和理解问题的数据域及功能域
数据域包括数据流(即数据通过一个系统时的变化方式)、数据内容和数据结构,而功能域反映上述三方面的控制信息。
(2)可以把一个复杂问题按功能进行分解并可逐层细化
通常软件要处理的问题如果太大、太复杂就很难理解,划分成几部分,并确定各部分间的接口,就可完成整体功能。在需求分析过程中,软件领域中的数据、功能、行为都可以划分。
(3)建模
建立模型可以帮助分析人员更好地理解软件系统的信息、功能、行为,这些模型也是软件设计的基础。
三、综合应用题
7. 画出下列伪码程序的程序流程图和盒图:
相关内容
相关标签