软件工程基础作业
- 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 图描绘这样的一段人机对话过程。
1.说明什么是程序编码?为什么程序设计语言的特点和编码风格会影响到程序的可靠性、可读性、可测试性和可维护性?2.用户界面设计的最一般原则,即所谓“黄金规则”是什么?3.软件界面设计包含了哪几个方面的基本内容?
4.用户界面提供系统服务的方式通常有哪两种?
5. WIMF界面是屏幕菜单驱动用户界面的一种形式,其设计准则有哪些?
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. 什么是软件的可靠性、可用性和正确性?