软件工程基础作业

合集下载
  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. 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. 什么是软件的可靠性、可用性和正确性?

相关文档
最新文档