2017年华北电力大学(保定)软件工程(同等学力加试)考研复试核心题库
● 摘要
一、名词解释
1. 增量模型
【答案】增量模型也称为渐增模型,是一种非整体开发的模型。软件在该模型中是“逐渐”开发出来的,开发出一部分,向用户展示一部分,可让用户及早看到部分软件,及早发现问题。或者先开发一个“原型”软件,完成 部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。
二、简答题
2. 可行性研究的任务有哪些?
【答案】可行性研究首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制。然后,分析员进行简要的需求分析,经过压缩的设计,探索出若干种可供选择的主要解决办法。对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。
(1)技术可行性
要确定使用现有的技术能否实现系统,就要对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目能否实现。这里的资源包括已有的或可搞到的硬件、软件资源,现有技术人员的技术水平和已有的工作基础。
(2)经济可行性
进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。对于大多数系统,一般衡量经济上是否合算,应考虑一个最小利润值,经济可行性研究范围较广,包括成本一效益分析、公司经营长期策略、开发所需的成本和资源、潜在的市场前景。
(3)社会可行性
确定要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
3. 画数据流图的步骤是什么?画数据流图应该注意什么事项?
【答案】(1)画数据流图的步骤
①首先画系统的输入输出,即先画顶层数据流图
顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据,这些输入数据从哪里来;有哪些输出数据,输出到哪里去。这样就定义了系统的输入、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。顶层图只有一张。
②画系统内部,即画下层数据流图
一般将层号从0开始编号,采用自顶向下、由外向内的原则。画0层数据流图时,一般根据当前系统工作分组情况,并按新系统应有的外部功能,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。画更下层数据流图时,则分解上层图中的加工,一般沿着输入流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,这样一直进行到输出数据流(也可从输出流到输入流方向画)。如果加工的内部还有数据流,则对此加工在下层图中继续分解,直到每一个加工足够简单,不能再分解为止,不再分解的加工称为基本加工。
(2)画数据流图时要注意的事项
①命名
不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。数据流的名字代表整个数据流的内容,而不仅仅是它的某些成分,不便用缺乏具体含义的名字,如“数据”、“信息”等,加工名也应反映整个处理的功能,不使用“处理”、“操作”这些笼统的词。
②画数据流而不是控制流
数据流图反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
③一般不画物质流
数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。
④每个加工至少有一个输入数据流和一个输出数据流
反映出此加工数据的来源与加工的结果。
⑤加工点的编号
如果一张数据流图中的某个加工点分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图应编号,子图上的所有加工也应编号,子图的编号就是父图中相应加工的编号,加工的编号由子图号、小数点及局 部号组成。
⑥父图与子图的平衡
子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。有时考虑平衡可忽略一些枝节性的数据流(如出错处理)。父图与子图的平衡,是分层数据流图中的重要性质,保证了数据流图的一致性,便于分析人员的阅读与理解。
⑦局部数据存储
在分层处理的过程中,当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。一个局部数据存储只要当它作为某些加工的数据接H 或某个加工特定的输入或输出时,就把它画出来,这样有助于实现信息隐藏。
⑧提高数据流图的易理解性
注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。分解时要注意子加工的独立性,还应注意均
匀性,特别是画上层数据流时,要注意将一个问题划分成几个大小接近的组成部分,这样做便于理解;不要在一张数据流图中,某些加工已是基本加工,某些加工还要分解好几层。
4. 提高软件质量和可靠性的技术有哪些?
【答案】(1)避开错误技术
即在开发的过程中不让差错潜入软件的技术;避开错误技术是进行质量管理,实现产品应有质量所必不可少的技术。但是,无论使用多么高明的避开错误技术,也无法做到完美无缺和绝无错误。
(2)容错技术
即对某些无法避开的差错,使其影响减至最小的技术。,容错技术即使错误发生也不影响系统特性,使错误发生时对用户影响限制在某些允许的范围内。
5. 说明McCall 软件质量度量模型。
【答案】McCall 质量度量模型是McCall 等人于1979年提出的软件质量模型。针对面向软件产品的运行、修正、转移,软件质量概念包括11个特性,其定义如下。
(1)面向软件产品操作
①正确性:软件满足设计规格说明及用户预期目标的程度。
②可靠性:软件按照设计要求,在规定时间和条件下不出故障、持续运行的程度。
③效率:为了完成预定功能,软件系统所需的计算机资源和程序代码数量。
④完整性:对非授权人访问软件或数据行为的控制程度。
⑤可使用性:用户熟悉、使用及准备输入和解释输出所需工作量的大小。
(2)面向软件产品修改
①可维护性:找到并改正程序中的一个错误所需代价。
②可测试性:测试软件以确保其能够执行预定功能所需工作量。
③灵活性:修改可运行程序所需要付出的努力。
(3)面向软件产品适应
①可移植性:将一个软件系统从一个计算机系统或环境移植到另一个计算机系统或环境中运行所需的工作量。
②可重用性:一个软件(或软件的部件)能再次用于其他相关应用的程度。
③连接性:将一个系统耦合到另一个系统所需的工作量。
6. 简述瀑布模型的优缺点。
【答案】瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终 得到软件产品。开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶 段都会产生循环反馈。
(1)优点