《软件工程基础》习题集

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《软件工程基础》习题集

第一章概述

1.什么是软件危机,它有哪些典型表现?

2.简述产生软件危机的原因和解决的思路。

3.什么是软件工程?它有哪些本质特性?

4.软件工程是如何用来消除软件危机的?

5.假设你是某软件开发企业的CEO,当你把教材P.4的图1.1给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服?

6.简述软件的定义。

7.软件工程的目的是什么?

8.什么是软件工程方法学?软件工程是一种什么样的技术?包括哪三大要素?分为哪三个分支?

9.简述软件工程的基本原理。

10.软件工程的基本开发原则有哪些?

11.构成软件工程的基本元素有哪些?

12.什么是软件过程?它与软件工程方法学有何关系?

13.什么是软件生命周期?什么是软件生命周期模型?

14.简述软件生命周期方法学的途径,以及划分阶段步骤的目的和实质。15.试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明它们各自的适用围。

第二章可行性研究

1.在软件开发的早期阶段,为什么要进行可行性研究?其目的和任务各是什么?2.应该从哪些方面研究目标系统的可行性?

3.可行性研究有哪些工作步骤?

4.简述系统流程图在可行性研究中的作用。

5.简述数据流图在可行性研究中的作用和用途。

6.简单描述数据字典但容和定义数据的方法。

7.说明软件计划的容和目标。

8.什么是软件围?定义软件围需要哪些信息?

9.简述软件开发环境资源的三个层次。

10.软件环境资源的特征有哪些?它们对制定软件计划都有哪些意义?

11.软件计划中,安排软件开发进度主要可以用哪些工具?都有哪些优缺点?12.主要的成本估计技术有哪些?其依据的主要是什么?

13.为什么说成本估计是不可能精准的?

14.进行成本/效益分析的方法主要有哪些?

15.软件计划的主要容有哪些?

16.如何对制定完成的软件计划进行复审?为什么要复审?

17.为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统。如果是存款,系统记录存款人的、地址、存款类型、存款日期、存款数量和利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。

请写出问题定义并分析此系统的可行性。

第三章需求分析

1.为什么要进行需求分析?通常对软件系统有哪些需求?

2.怎样与用户有效地沟通,以获得用户的真实需求?

3.需求分析的任务是什么?

4.通常系统的需求可以分为哪几个层次?

5.进行需求分析的步骤有哪些?

6.简述建立原型模型对软件需求分析的作用。

7.解释实体-联系图及其用途。

8.说明为什么需要进行需求验证及验证的步骤有哪些?

9.银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务人员键入系统,如果是存款则系统记录存款人、住址(或)、、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。

请用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。

1.为每种类型的模块耦合举一个具体的例子。

2.为每种类型的模块聚举一个具体的例子。

3.简单说明系统总体设计的步骤步骤。

4.举例说明模块化原理的经验1和经验2。

5.为什么要尽量使用数据耦合,少用控制耦合,限制公共耦合的围,完全不用容耦合?

6.为什么模块的规模要适中?

7.请说明为什么模块控制的宽度和深度要适度。

8.简述面向数据流设计方法的基本思想。

9.常用数据流类型有哪些?

10.面向数据流的设计方法主要有哪几个步骤?

11.用面向数据流的方法设计第二章习题17系统的软件结构。

1.详细设计的任务是什么?

2.在对系统做详细设计时,应遵循哪些原则?

3.简述结构化设计的特点。

4.结构化程序设计中有哪几种基本控制结构?分别描绘在程序流程图、盒图和PDA图中这些基本控制的图例。

5.假设只有SEQUENCE和DO_WHILE两种控制结构,请问应该如何完成IF_THEN_ELSE操作?

6.假设只有SEQUENCE和IF_THEN_ELSE两种控制结构,请问应该如何完成DO_WHILE操作?

7.试说明ISO为什么要建议停止使用程序流程图,而推荐使用PDA图?8.请画出下列伪码程序的程序流程图、盒图和PDA图。

START

IF p THEN

WHILE q DO

f

END DO

ELSE

BLOCK

g

n

END BLOCK

END IF

STOP

9.试说明Jackson方法是一种怎么样的程序设计方法。它有哪些工作步骤?10.请将教材P.124图6.13统计空格程序的Jackson图改画成为等价的盒图和PDA 图。

11.人机对话由操作员信息和系统信息交替组成。假设一段对话总是由操作员信息开始,以系统信息结束,请用Jackson图描绘这样的一段人机对话过程。

1.说明什么是程序编码?为什么程序设计语言的特点和编码风格会影响到程序的可靠性、可读性、可测试性和可维护性?

2.用户界面设计的最一般原则,即所谓“黄金规则”是什么?

3.软件界面设计包含了哪几个方面的基本容?

4.用户界面提供系统服务的方式通常有哪两种?

5.WIMP界面是屏幕菜单驱动用户界面的一种形式,其设计准则有哪些?6.为什么说软件界面设计的质量会直接影响到用户对软件产品的评价?

7.什么是系统响应时间?系统响应时间有哪些重要属性?

8.在设计软件系统的用户帮助设施时,需要注意解决哪些问题?

9.软件出错处理设计,即软件安全性设计。一个交互式出错处理程序应该具备哪些功能和属性?

10.测试的最基本目标是什么?

11.软件测试的原则有哪些?

12.软件测试的方法有哪几种?

13.简单说明什么是白盒测试,什么是黑盒测试。

14.简述软件测试的步骤。

15.举例说明通常情况下穷尽测试是不可能的。

16.为什么单元测试必须由编程者自己完成?

17.单元测试的主要手段有哪些?

18.单元测试主要从哪5个方面进行?

19.为什么人工代码审查十分重要?

20.集成测试主要有渐增式测试、非渐增式测试两种,试述两种方式的异同点。21.描述集成测试的两种策略,并比较它们的优缺点。

22.什么是回归测试?回归测试的测试用例集如何确定?

23.什么是确认测试?确认测试的任务是什么?如何确认其围?

24.设计测试方案的任务有哪些?

25.什么是逻辑覆盖测试法?它主要用于什么测试?

26.什么是等价划分法?它主要用于什么测试?

27.什么是边值分析法?它主要用于什么测试?

28.什么是错误推测法?它主要用于什么测试?

29.一个软件的测试策略应该是怎样的?

30.什么是调试?调试和测试有什么不同?

31.简单说明调试的方法和策略。

32.什么是软件的可靠性、可用性和正确性?

相关文档
最新文档