2017年湖南师范大学软件工程之软件工程导论复试实战预测五套卷
● 摘要
一、名词解释
1. 模块化
【答案】模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起 来构成一个整体,可以完成指定的功能满足用户的需求。模块化是为了使一个复杂的大型程序能被人的智力所管理。
二、简答题
2. 可行性研究的任务有哪些?
【答案】可行性研究首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制。然后,分析员进行简要的需求分析,经过压缩的设计,探索出若干种可供选择的主要解决办法。对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。
(1)技术可行性
要确定使用现有的技术能否实现系统,就要对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目能否实现。这里的资源包括已有的或可搞到的硬件、软件资源,现有技术人员的技术水平和已有的工作基础。
(2)经济可行性
进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。对于大多数系统,一般衡量经济上是否合算,应考虑一个最小利润值,经济可行性研究范围较广,包括成本一效益分析、公司经营长期策略、开发所需的成本和资源、潜在的市场前景。
(3)社会可行性
确定要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
3. 成本一效益分析的目的是什么?可用哪些指标进行度量?
【答案】(1)成本一效益分析的目的
成本一效益分析的目的是从经济角度评价开发一个新的软件项目是否可行。成本一效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡。
(2)成本一效益的度量指标
①有形效益
有形效益可以用货币的时间价值、投资回收期、纯收入等指标进行度量,具体如下:
a. 货币的时间价值
成本估算的目的是对项目投资。经过成本估算后,得到项目开发时所需要的费用,该费用就是项目的投资。项目开发后,应取得相应的效益,有多少效益才合算,这就要考虑货币的时间价值。
b. 投资回收期
通常用投资回收期衡量一个开发项目的价值。投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。投资回收期越短,就越快获得利润,则该项目就越值得开发。
c. 纯收入
衡量项目价值的另一个经济指标是项目的纯收入. 也就是在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。这相当于投资开发一个项目与把钱存入银行中进行比较,看这两种方案的优劣。若纯收入为零,则项目的预期效益和在银行存款一样,但是开发一个项目要冒风险,因此,从经济观点来看,这个项目可能是不值得投资开发的。若纯收入小于零,那么这个项目显然不值得投资开发。
②无形效益
无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。系统的经济效益等于因使用新的系统而增加的收入加上使用新的系统可以节省的运行费用。运行费用包括操作人员人数、工作时间、消耗的物资等。
4. 程序流程图的特点有哪些?
【答案】(1)程序流程图的优点
流程图的优点是直观清晰、易于使用,是开发者普遍采用的工具。
(2)程序流程图的缺点
①可以随心所欲地控制流程线的流向,容易造成非结构化的程序结构。编码时势必不加限制地使用GOTO 语言,导致基本控制块多入口多出口,这样会使软件质量受到影响,与程序设计的原则相违背。
②流程图不易反映逐步求精的过程,往往反映的是最后的结果。
③不易表示数据结构。
5. 三种模型的建立过程。
【答案】(1)对象模型:确定类、准备数据字典、确定联系、确定属性、完善对象模型。 (2)动态模型:准备脚本、准备事件跟踪、构造状态图。
(3)功能模型:确定输入输出值、建立DFD 。
6. 在哪些情况下适宜使用原型?哪些情况下不宜使用原型?
【答案】(1)适宜使用原型的情况
①开发周期很长的项目,通过原型开发来缩短开发周期。
②系统的使用可能变化较大,不能相对稳定,而原型模型具有适应变化的机制。
③用户对系统的需求较为模糊,对某种要求缺乏信心。
④开发者对系统的某种设计方案的实现无信心或无十分的把握。
(2)不宜使用原型的情况
①缺乏开发工具,或对原型的可用工具不了解的时候。
②用户不愿意参与开发。
③用户的数据资源没有很好地组织和管理的时候,因为快速原型需要快速寻找和存取数据。 ④用户的软件资源没有被组织和管理起来的时候,因为MIS 中的模型、模块、使用设施和程序的难易程度对原型使用很关键。
7. 使用边界值分析方法设计测试用例的设计原则有哪些?
【答案】(1)如果输入条件规定了值的范围,可以选择正好等于边界值的数据作为合理的测试用例,还要选择刚好越过边界值的数据作为不合理的测试用例。
(2)如果输入条件指出了输入数据的个数,则按最大个数、最小个数、比最小个数少1、比最大个数多1等情况分别设计测试用例。
(3)对每个输出条件分别按照以上一组(1)和(2)确定输出值的边界情况。由于输出值的边界不与输入值的边界值相对应,所以要检查输出值的边界不一定可能,要产生超出输出值之外的结果也不一定能做到,但必要时还需试一试。
(4)如果程序的规格说明书给出的输入或输出域是个有序集合(如顺序文件、线性表、链表等),则应该选 取集合的第一个元素和最后一个元素作为测试用例。
三、综合应用题
8. 简述有助于提高面向对象设计质量的每条主要启发规则的内容和必要性。
【答案】(1)有助于提高面向对象设计质量的主要启发规则如下所述:
①设计结果应该清晰易懂
a. 用词一致。
b. 使用已有的协议。
c. 减少消息模式的数目。
d. 避免模糊的定义。
①一般一特殊结构的深度应适当
②设计简单的类
a. 不要包含过多的属性。
b. 有明确的定义。为使类的定义明确,分配给每个类的任务应该简单。
c. 简化对象之间的合作关系。
d. 不要提供太多的服务。
①使用简单的协议
②使用简单的服务
相关内容
相关标签