2017年吉林师范大学软件工程(同等学力加试)复试实战预测五套卷
● 摘要
一、名词解释
1. 数据流图
【答案】数据流图(DFD )是结构化分析方法中用于表示系统逻辑模型的一种工具,是一种
功能模型。它以图形 的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能。
二、简答题
2. 软件生命期各阶段的任务是什么?
【答案】(1)问题定义
问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”。通过对客户的访问调查,系统分析员扼 要地写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认。
(2)可行性研究
这个阶段要回答的关键问题是:“对于上一个阶段所确定的问题有行得通的解决办法吗? ”。
可行性研究阶 段的任务是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。
(3)需求分析
这个阶段的任务是准确地确定“为了解决这个问题,目标系统必须做什么”。这个阶段的一项重要任务是用 需求规格说明书准确地记录对目标系统的需求。
(4)总体设计
这个阶段必须回答的关键问题是:“概括地说,应该怎样实现目标系统?”。用适当的表达工具描述和分析 每种方案,推荐一个最佳方案并制定出详细计划。另一项主要任务就是设计程序的体系结构。
(5)详细设计
“应该怎样具体地实现这个系统呢? ”。详细设计阶段的任务就是把解法具体化,也就是回答:
在这个阶段将详细地设计每个模块,确定实现模块功能所需要的算法和数据结构。
(6)编码和单元测试
这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。程序员把详细设计的结果翻译成用选定 的高级编程语言书写的程序,并且仔细测试编写出的每一个模块。
(7)综合测试
这个阶段的关键任务是通过各种类型的测试使软件达到预定的要求。应该用正式的文档资料把测试计划、详细测试方案以及实际测试结果保存下来,作为软件配置的一个组成部分。
(8)软件维护
维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。
3. 什么是结构化维护?结构化维护的特点是什么?
【答案】(1)结构化维护的定义
若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种结构化的维护。
(2)结构化维护的特点
①有软件工程思想开发的软件具有各个阶段的文档,这对于理解和掌握软件功能、性能、系统结构、数据结构、系统接口和设计约束有很大作用。
②进行维护活动时,首先从评价需求说明开始,搞清楚功能、性能上的改变,然后对设计说明文档进行评价,对设计说明文档进行修改和复查;根据设计的修改,再进行程序的变动;其后根据测试文档中的测试用例进行回归测试;最后,把修改后的软件再次交付使用。这对于减少精力、减少花费、提高软件维护效率有很大作用。
4. 软件开发成本估算方法有哪些?
【答案】(1)自顶向下估算方法
①定义
估算人员参照以前完成的项目所耗费的总成本(或总工作量),来推算将要开发的软件的总成本(或总工作 量),然后把它们按阶段、步骤和工作单元进行分配。
②优点
自顶向下估算方法的主要优点是对系统级工作的重视,所以估算中不会遗漏系统级的诸如集成、用户手册和配置管理之类的事务成本估算,且估算工作量小、速度快。
③缺点
它的缺点是往往不清楚低级别上的技术性困难问题,而往往这些困难会使成本増加。
(2)自底向上估算方法
①定义
自底向上估算方法是将待开发的软件细分,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,得到软件的总开发工作量。
②优点
这种方法的优点是对每一部分的估算工作交给负责该部分工作的人员来做,所以估算较为准确。
③缺点
其缺点是其估算往往缺少如软件开发有关的系统级工作量,如集成、配置管理、质量管理、项目管理等,所以估算往往偏低。
(3)差别估算方法
①定义
差别估算是将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相似项目的若
干不同之处,并估算每个不同之处对成本的影响,导出开发项目的总成本。
②优点
该方法的优点是可以提高估算的准确度。
③缺点
该方法的缺点是不容易明确“差别”的界限。
5. 好文档的作用和意义是什么?
【答案】(1)好文档的作用
①好的文档能提高程序的可阅读性,但坏的文档比没有文档更坏。
②好的文档意味着简明性,风格的一致性,容易修改。
③程序编码中应该有必要的注释以提高程序的可理解性。
④程序越长、越复杂,则它对文档的需求也越迫切。
(2)好文档的意义
程序文档是对程序功能、程序各组成部分之间的关系、程序设计策略、程序实现过程的历史数据等的说明和补充。
6. 试分析瀑布模型的优点和缺点。
【答案】瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终 得到软件产品。开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈。
(1)优点
①可强迫开发人员采用规范的方法。
②严格地规定了每个阶段必须提交的文档。
③要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
④对文档的约束,使软件维护变得容易一些,且能降低软件预算。
(2)缺点
①开发过程一般不能逆转,否则代价太大。
②实际的项目开发很难严格按该模型进行。
③客户往往很难清楚地给出所有的需求。
④软件的实际情况必须到项目开发的后期客户才能看到。
7. 提高软件质量和可靠性的技术有哪些?
【答案】(1)避开错误技术
即在开发的过程中不让差错潜入软件的技术;避开错误技术是进行质量管理,实现产品应有质量所必不可少的技术。但是,无论使用多么高明的避开错误技术,也无法做到完美无缺和绝无错误。
相关内容
相关标签