2017年南京工业大学软件工程(同等学力加试)复试仿真模拟三套题
● 摘要
一、名词解释
1. 模块化
【答案】模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起 来构成一个整体,可以完成指定的功能满足用户的需求。模块化是为了使一个复杂的大型程序能被人的智力所管理。
二、简答题
2. 一个正文文件由若干记录组成,每个记录是一个字符串,要求统计每个记录中空格字符的个数及文件中空格字符的总个数。要求输出数据格式是每复制一行字符串之后,另起一行打印出这个字符串中的空格数,最后打印出文件空格的总个数,请用Jackson 方法设计该程序结构。
【答案】(1)输入数据的Jackson 图如图1所示:
图1输入数据的Jackson 图
(2)输出数据的图如图2所示:
图2 输出数据的Jackson 图
(3) 程序结构的图如图3所示:
图3程序结构的Jackson 图
3. 成本一效益分析的目的是什么?可用哪些指标进行度量?
【答案】(1)成本一效益分析的目的
成本一效益分析的目的是从经济角度评价开发一个新的软件项目是否可行。成本一效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡。
(2)成本一效益的度量指标
①有形效益
有形效益可以用货币的时间价值、投资回收期、纯收入等指标进行度量,具体如下:
a. 货币的时间价值
成本估算的目的是对项目投资。经过成本估算后,得到项目开发时所需要的费用,该费用就是项目的投资。项目开发后,应取得相应的效益,有多少效益才合算,这就要考虑货币的时间价值。
b. 投资回收期
通常用投资回收期衡量一个开发项目的价值。投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。投资回收期越短,就越快获得利润,则该项目就越值得开发。
c. 纯收入
衡量项目价值的另一个经济指标是项目的纯收入. 也就是在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。这相当于投资开发一个项目与把钱存入银行中进行比较,看这两种方案的优劣。若纯收入为零,则项目的预期效益和在银行存款一样,但是开发一个项目要冒风险,因此,从经济观点来看,这个项目可能是不值得投资开发的。若纯收入小于零,那么这个项目显然不值得投资开发。
②无形效益
无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。系统的经济效益等于因使用新的系统而增加的收入加上使用新的系统可以节省的运行费用。运行费用包括操作人员人数、工作时间、消耗的物资等。
4. 面向对象实现应该选用哪种程序设计语言?为什么?
【答案】(1)面向对象实现应该尽量选用面向对象语言来实现面向对象分析、设计的结果。
(2)原因
①一致的表示方法。面向对象开发基于不随时间变化的、一致的表示方法。既有利于在软件开发过程中始终使用统一的概念,也有利于维护人员理解软件的各种配置成分。
②可重用性。既可重用面向对象分析结果,也可重用相应的面向对象设计和面向对象程序设计结果。
③可维护性。程序显式地表达问题域语义,对维护人员理解待维护的软件有很大帮助。在选择编程语言时,应该考虑的首要因素是哪个语言能最恰当地表达问题域语义。
5. 可行性研究包括哪些步骤?
【答案】(1)系统定义
为了定义好一个系统,需要分析人员对有关人员进行调查访问,仔细阅读和分析有关的材料,对项目的规模和目标进行定义和确认,清晰地描述项目的一切限制和约束,确保分析人员正在解决的问题确实是要解决的问题。
(2)研究正在运行的系统
①正在运行的系统可能是一个人工操作的系统,也可能是旧的计算机系统,要开发一个新的计算机系统来代替旧的系统。因此,现有的系统是信息的重要来源,要研究它的基本功能,存在什么问题,运行现有系统需要多少费用,对新系统有什么新的功能要求,新系统运行时能否减少使用费用等。
②收集、研究、分析现有系统的文档资料,实地考察现有系统,在考察的基础上,访问有关人员,然后描绘现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。这个系统流程图反映了现有系统的基本功能和处理流程。
(3)导出新系统的逻辑模型
根据对现有系统的分析研究,逐渐明确了新系统的功能、处理流程以及所受的约束,然后使用建立逻辑模型的工具一数据流图和数据字典来描述数据在系统中的流动和处理情况。
(4)设计方案
分析人员建立了新系统的高层逻辑模型之后,要从技术角度出发,提出实现高层逻辑模型的不同方案,即导出若干较高层次的物理解法。根据技术可行性、经济可行性、社会可行性对各种方案进行评估,去掉行不通的解法,就得到了可行的解法。
(5)推荐可行的方案
根据上述可行性研究的结果,应该决定该项目是否值得去开发。若值得开发,那么可行性的解决方案是什么,并且说明该方案可行的原因和理由。
(6)编写可行性研究报告
将上述可行性研究过程的结果写成相应的文档,即可行性研究报告,提请用户和使用部门仔细审查,从而决定该项目是否进行开发,是否接受可行的实现方案。
相关内容
相关标签