2017年南京工业大学软件工程(同等学力加试)考研复试核心题库
● 摘要
一、名词解释
1. 信息隐藏
【答案】信息隐藏在信息安全保障体系的诸多方面发挥着重要作用,它指的是在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对不需要这些信息的其他模块来说,是不能访问的,也是不可见的。
二、简答题
2. 瀑布模型有哪些局限性?
【答案】(1)各阶段之间存在着严格的顺序性,特别强调预先定义需求的重要性,在着手进行具体的开发工作之前,必须通过需求分析预先定义并“冻结”软件需求,然后再一步一步地实现这些需求。但是实际项目很少是遵循着这种线性顺序进行的。
(2)虽然瀑布模型也允许迭代,但这种改变往往给项目开发带来混乱。在系统建立之前很难只依靠分析就确定出一套完整、准确、一致、有效的用户需求,这种预先定义需求的方法更不能适应用户需求不断变化的情况。
(3)传统的瀑布模型很难适应需求可变、模糊不定的软件系统的开发,而且在开发过程中,用户很难参与进去,只有到开发结束才能看到整个软件系统。这种思想的、线性的开发过程,缺乏灵活性,不适应实际的开发过程。
3. 面向对象实现应该选用哪种程序设计语言?为什么?
【答案】(1)面向对象实现应该尽量选用面向对象语言来实现面向对象分析、设计的结果。
(2)原因
①一致的表示方法。面向对象开发基于不随时间变化的、一致的表示方法。既有利于在软件开发过程中始终使用统一的概念,也有利于维护人员理解软件的各种配置成分。
②可重用性。既可重用面向对象分析结果,也可重用相应的面向对象设计和面向对象程序设计结果。
③可维护性。程序显式地表达问题域语义,对维护人员理解待维护的软件有很大帮助。在选择编程语言时,应该考虑的首要因素是哪个语言能最恰当地表达问题域语义。
4. 软件工程标准化的等级有哪些?
【答案】根据软件工程标准制定的机构与适用的范围,软件工程标准化分为国际标准、国家标准、行业标准、企业规范及项目规范等5个等级。
(1)国际标准
由国际标准化组织ISO 制定和公布,供世界各国参考的标准。该组织有很大的代表性和权威
性,它所公布的标准有很大权威性。
(2)国家标准
由政府或国家级的机构制定或批准,适合于全国范围的标准。主要有:GB (国标)、ANSI (美国国家标准协会)。
(3)行业标准
由行业机构、学术团体或国防机构制定的适合某个行业的标准。主要有:IEEE (美国电气与电子工程师学会)、GJB (中华人民共和国国家军用标准)。
(4)企业规范
大型企业或公司所制定的适用于本部门的规范。
(5)项目规范
某一项组织为该项目专用的软件工程规范。
5. 画数据流图的步骤是什么?画数据流图应该注意什么事项?
【答案】(1)画数据流图的步骤
①首先画系统的输入输出,即先画顶层数据流图
顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据,这些输入数据从哪里来;有哪些输出数据,输出到哪里去。这样就定义了系统的输入、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。顶层图只有一张。
②画系统内部,即画下层数据流图
一般将层号从0开始编号,采用自顶向下、由外向内的原则。画0层数据流图时,一般根据当前系统工作分组情况,并按新系统应有的外部功能,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。画更下层数据流图时,则分解上层图中的加工,一般沿着输入流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,这样一直进行到输出数据流(也可从输出流到输入流方向画)。如果加工的内部还有数据流,则对此加工在下层图中继续分解,直到每一个加工足够简单,不能再分解为止,不再分解的加工称为基本加工。
(2)画数据流图时要注意的事项
①命名
不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。数据流的名字代表整个数据流的内容,而不仅仅是它的某些成分,不便用缺乏具体含义的名字,如“数据”、“信息”等,加工名也应反映整个处理的功能,不使用“处理”、“操作”这些笼统的词。
②画数据流而不是控制流
数据流图反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
③一般不画物质流
数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。
④每个加工至少有一个输入数据流和一个输出数据流
反映出此加工数据的来源与加工的结果。
⑤加工点的编号
如果一张数据流图中的某个加工点分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图应编号,子图上的所有加工也应编号,子图的编号就是父图中相应加工的编号,加工的编号由子图号、小数点及局 部号组成。
⑥父图与子图的平衡
子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。有时考虑平衡可忽略一些枝节性的数据流(如出错处理)。父图与子图的平衡,是分层数据流图中的重要性质,保证了数据流图的一致性,便于分析人员的阅读与理解。
⑦局部数据存储
在分层处理的过程中,当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。一个局部数据存储只要当它作为某些加工的数据接H 或某个加工特定的输入或输出时,就把它画出来,这样有助于实现信息隐藏。
⑧提高数据流图的易理解性
注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。分解时要注意子加工的独立性,还应注意均匀性,特别是画上层数据流时,要注意将一个问题划分成几个大小接近的组成部分,这样做便于理解;不要在一张数据流图中,某些加工已是基本加工,某些加工还要分解好几层。
6. 什么是软件工程?简述软件工程的基本原理及软件工程的目标。
【答案】(1)软件工程的定义
①软件工程是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门学科。
②软件工程采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术 和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
(2)软件工程的基本原理
①用分阶段的生命周期计划严格管理。
①坚持进行阶段评审。
②实行严格的产品控制。
③采用现代程序设计技术。
④结果应能清楚地审查。
⑤开发小组的人员应该少而精。
⑥承认不断改进软件工程实践的必要性。
(3)软件工程的目标
相关内容
相关标签