二、填空题1. 分析工具主要是指用于支持______的工具。
2. 总体设计文件应当包括结构图、______、公用数据结构。
3. 软件开发的过程可分为______、需求分析、总体设计、______四个阶段。
4. CASE工具有两种理解,一种是______,另一种是______。两者的缩写都是CASE,其基本思想与软件开发工具是完全一致的。
5. 明确地把______纳入软件开发工作的范围,是软件技术向前迈进的重要一步。
6. 设计工具是指在______阶段对人们提供帮助的工具。
7. 计划工具从更宏观的角度去看待软件开发,它不仅从______的角度,帮助人们组织与实施项目,而且把有关进度、资源、质量、______等信息有条不紊地管理起来。
8. 结构化程序设计方法把程序的结构分解成三种基本模块:处理单元、______、______。
9. 软件开发工具是在______之后,软件技术进一步发展的产物。
10. 软件重用需要从更为根本的方面,对软件开发的方法、标准进行改进,形成不同范围的______。
三、简答题1. 试述用通用软件帮助软件开发的弱点。
用通用软件来帮助软件开发人员编写文档或画图可以减少很多工作量,但是这种帮助实在是太表面、太初级了。用通用软件帮助软件开发有三个主要的弱点。第一,有许多工作是通用软件所无法完成的。第二,用通用软件完成某些工作,只能表现出其表面的形式,而不能反映其逻辑内涵。第三,用通用软件来帮助人们完成软件开发工作时,常常遇到难以保持一致性的困难。
2. 简述软件开发各阶段的任务。
(1)需求分析。任务是根据初始要求形成严格的、明确的、可供实际开发使用的功能说明书。
(2)总体设计。任务是根据软件功能说明书的要求,完成软件的总体设计,这包括整个软件的结构设计,公用的数据文件或数据库的设计,各部分的连接方式及信息交换的标准等主要内容。
(3)实现阶段。任务是完成程序的编写与文档的编写。
(4)测试或调试阶段。主要任务是完成模块的调试与整个软件的联调。
3. 结构化程序设计中,模块划分的基本要求是什么?
(1)模块的功能在逻辑上尽可能地单一化、明确化,最好做到一一对应。
(2)模块之间的联系及互相影响尽可能地少,对于必需的联系都应当加以明确的说明。
(3)模块的规模应当足够小,以便使它本身的调试易于进行。
4. 什么是4GL?
第四代语言(4GL)的原义是非过程化的程序设计语言。针对以处理过程为中心的第三代语言,它希望通过某些标准处理过程的自动生成,使得用户可以只说明要求做什么,而把具体的执行步骤的安排交由软件自动处理。
5. 软件开发的基本问题是什么?
软件开发的基本问题是两个转换,一是从用户的理解到程序员的理解的转换,二是从程序员的理解到程序的实现的转换。