《软件工程基础》习题集
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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图描绘这样的一段人机对话过程。