2017年河南大学软件工程导论(同等学力加试)考研复试核心题库
● 摘要
一、名词解释
1. 耦合性
【答案】耦合性也称块间联系,是软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
二、简答题
2. 为什么要进行软件项目管理?
【答案】软件项目管理是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,保证软件生命周期中的各项活动的正常的进行。软件项目管理先于任何技术活动之前开始,并且贯穿于软件的整个生命周期之中。 进行软件项目管理的原因如下:
(1)软件项目管理与软件开发的质量、效率、最终成果息息相关。
(2)软件项目管理可以合理分配资源,合理安排人员,避免出现混乱的情况。
(3)运用科学的管理方式,大大的降低了成本的投入和不必要资源的浪费。
(4)更好的对整个软件进行预测和分析,帮助掌握整个生命周期中的各项活动细节。
3. 详细设计的基本任务包括哪些?
【答案】(1)数据结构设计
对需求分析、总体设计阶段确定的概念性的数据类型,要进行确切的定义。这一部分的设计内容一般比较多,所以大多数采用小型数据库辅助的方法。
(2)物理设计
对数据库进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。
(3)算法设计
在总体设计的结构完成后,结构各个环节的实现是多解的。这就需要用系统设计与分析的技术来描述。可以用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。
(4)界面设计
用户界面的设计现在显得比较重要,可以采用字符用户界面设计,图形用户界面和多媒体人机界面设计。这就要结合具体的系统来处理。
(5)其他设计
根据软件系统的类型,还可能要进行以下设计:
①代码设计
为了提高数据的输入、分类、存储及检索等操作的效率以及节约内存空间,对数据库中的某
些数据项的值要进行代码设计。
②输入/输出格式设计
③人机对话设计
对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、内容及格式的具体设计。
④网络设计
如果设计的软件是一个分布式系统,那么还要进行网络的拓扑结构设计。
(6)编写设计说明书
(7)评审
对处理过程的算法和数据库的物理结构都要评审。
4. 试说明主动服务与被动服务的区别。
【答案】(1)主动服务
主动服务是不需要接收消息就能主动执行的服务,它在程序实现中是一个主动的程序成分,例如用于定义进程或线程的程序单位。
(2)被动服务
被动服务是只有接收到消息才执行的服务,它在编程实现中是一个被动的程序成分,例如函数、过程、例程等。
(3)区别
被动对象的服务都是被动服务,主动对象应该有至少一个主动服务。在定义服务的过程中,对于主动对象应指出它的主动服务。
5. 维护技术的副作用有哪些?
【答案】因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用。维护的副作用有编码副作用、数据副作用、文档副作用三种。
(1)编码副作用
在使用程序设计语言修改源代码时可能引入下面错误。这些错误要到运行时才能被发现。例如:
①删除或修改一个子程序、一个标号、一个标识符。
②改变程序代码的时序关系,改变占用存储的大小,改变逻辑运算符。
③修改文件的打开和关闭。
④改进程序的执行效率。
⑤把设计上的改变翻译成代码的改变。
⑥为边界条件的逻辑测试做出改变。
(2)数据副作用
在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件错误。数据副作用是修改软件信息结构导致的结果。例如:
①重新定义局部或全局的常量,重新定义记录和文件格式。
②增加或减少一个数组或高层数据结构的大小。
③修改全局或公共数据。
④重新初始化控制标志或指针。
⑤重新排列输入/输出或子程序的参数。
(3)文档副作用
所有的维护活动都必须对相关技术文档进行相应修改。否则会导致文档与程序功能不匹配、缺省条件改变、新错误信息不正确等错误,使文档不能反映软件当前的状态。如果对可执行软件的修改没有反映在文档中,就会产生文档副作用。例如:
①修改交互输入的顺序和格式,没有正确地记入文档中。
②过时的文档内容、索引和文本可能造成冲突等。
6. 有哪些主要的软件开发方法?
【答案】主要的软件开发方法有以下几种:
(1)结构化开发方法
结构化开发方法是用系统工程的思想和工程化的方法,按用户至上的原则,结构化、模块化、自顶向下地对系统进行分析和设计的方法。它是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。
(2)Jackson (JSP 、JSD )方法
Jackson 方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整 的程序结构图。它是一种面向数据结构的软件设计方法,对输入、输出结构明确的中小型系统特别有效。
(3)原型化开发方法
原型化开发是软件开发的一种常用方法。开发人员对用户提出的问题进行总结,就系统的主要需求取得一致 意见后,开发出一个原型并运行之,然后反复对原型进行修改,使之逐步完善,直到用户对系统完全满意为止。
(4)维也纳开发方法(VDM )
VDM 是一个基于模型的方法,它的主要思想是将软件系统当作模型来给予描述,具体说就是把软件的输入 /输出看作模型对象,而这些对象在计算机内的状态可看作为该模型在对象上的操作。
(5)面向对象的开发方法
面向对象方法(Object-Oriented Method )是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系 统方法,简称OO (Object-Oriented )方法,是建立在“对象”概念基础上的方法学。
相关内容
相关标签