天津大学《软件工程》期末考试备战题库全集
- 格式:doc
- 大小:56.00 KB
- 文档页数:8
软件工程课程考试考前辅导资料
一、名词解释
1、结构化分析方法:
答:结构化分析方法是需求分析中使用最多的方法之一,适用于数据处理类型软件的需求分析。
基本思想是采用自顶向下,逐步分解的方法分析整个系统,有效地控制系统开发的复杂性。
2、数据流图:
答:数据流图DFD是一种图形化技术,它描绘了信息流和数据从输入到输出的过程所经历的变换。
3、数据字典:
答:用来定义数据库流图中的各个成分的具体含义。
有以下四类条目:数据流,数据项,数据存储,基本加工。
4、CASE:
答:CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。
CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸收了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。
因而,CASE领域是一个应用、继承和综合的领域。
二、简答题
1、简述多态性。
答:多态性指面向对象技术中,子类对象可以象父类对象那样使用,同样的消息即可以发送给父类对象也可以发送给子类对象。
多态性机制增加了面向对象软件系统的灵活性,进一步减少了信息冗余,而且提高了可重用性和可扩充性。
2、什么是软件生存周期模型?有哪些主要模型?
答:生存周期模型:描述软件开发过程中各种活动如何执行的模型。
对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。
主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。
3、简述软件工程目标和面临的主要问题。
答:软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。
包括:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
面临的主要问题是:软件费用软件可靠性软件维护软件生产率软件重用。
4、需求分析与软件设计二个阶段任务的主要区别是什么?
答:(1)需求分析定义软件的用户需求,即定义待开发软件能做什么;(2)软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。
5、可行性研究的任务是什么?
答:首先需要进行概要的分析研究,初步确定项目的规模,目标,约束和限制。
分析员再进行简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型。
从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的解决方法,对每种解决方法都要研究它的可行性。
6、简述面向对象设计的准则。
答:模块化,抽象,信息隐藏,弱耦合,强内聚,可重用。
7、简述结构化程序设计方法的基本要点。
答:(1)采用自顶向下,逐步求精的程序设计方法。
(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环。
(3)采用主程序员组的组织形式。
8、简述文档在软件工程中的作用。
答:(1)提高软件开发过程的能见度;(2)提高开发效率;(3)作为开发人员阶段工作成果和结束标志;(4)记录开发过程的有关信息便于使用与维护;(5)提供软件运行、维护和培训有关资料;(6)便于用户了解软件功能、性能。
9、简述面向对象设计的启发规则。
答:(1)设计结果应该清晰易懂;(2)一般—具体结构的深度应适当;(3)设计简单类;(4)使用简单的协议;(5)使用简单的操作;(6)把设计变动减至最小。
10、简述提高可维护性的方法。
答:(1)建立明确的软件质量目标;(2)利用先进的软件开发技术和工具;(3)建立明确的质量保证工作;(4)选择可维护的程序设计语言;(5)改进程序文档。
11、什么是软件危机?
答:软件发展第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。
一些复杂的、大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。
在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。
12、什么是白盒测试法?
答:所谓白盒测试就是在知道产品内部工作过程或程序内部结构和处理过程的前提下,检验产品内部动作是否按照规格说明书的规定正常进行或按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按照预定要求正确工作的测试方法。
因此白盒测试又称为结构测试或逻辑测试。
13、可行性研究的任务是什么?。