1.比较概要设计和详细设计的目标,并分别阐述概要设计和详细设计的内容。
答:概要设计,得到软件系统的基本框架。它以需求规格说明书为基础,概要地说明软件系统的实现方案,包括目标系统的总体架构、每个模块的功能描述、数据接口描述及模块之间的调用关系、数据库、数据定义和数据结构等。
详细设计,明确系统内部的实现细节。在进行详细设计的过程中,设计人员的工作涉及的内容有过程、数据和接口等。过程设计主要是指描述系统中每个模块的实现算法和细节。数据设计是对各模块所用到的数据结构的进一步细化。接口设计针对的是软件系统各模块之间的关系或通信方式以及目标系统与外部系统之间的联系。
2.为什么说“高内聚、低耦合”的设计有利于提高系统的独立性?
答:内聚和耦合往往密切相关,模块的高内聚通常意味着低耦合。低耦合因为模块之间的耦合程度越低,相互影响就越小,发生异常后产生连锁反应的概率就越低;在修改一个模块时,低耦合的系统可以把修改范围尽量控制在最小的范围内;对一个模块进行维护时,其他模块的内部程序的正常运行不会受到较大的影响。
4.对基于面向对象思想的设计而言,有哪些方法或机制可以实现信息隐藏?
答:通常,模块的信息隐藏可以通过接口来实现。模块通过接口与外部进行通信,而把模块的具体实现细节(如数据结构、算法等内部信息)隐藏起来。一般来说,一个模块具有有限个接口,外部模块通过调用相应的接口来实现对目标模块的操作。
6.如果要求两个正整数的最小公倍数,请用程序流程图,N-S图和PAD图分别表示出求解该问题的算法
7.比较结构化软件设计方法和面向对象软件设计方法。
答*:结构化软件设计方法和面向对象软件设计方法是两种主流的软件设计方法。
结构化软件设计方法更关注于系统的功能,采用自顶向下、逐步求精的设计过程,以模块为中心来解决问题,按照工程标准和严格的规范将目标系统划分为若功能模块。面向数据流的方法和面向数据结构的方法是两种常用的结构化软件设计方法。面向数据流的设计方法多在概要设计阶段使用,它借助于数据流图来进行设计工作,而面向数据结构的设计方法通常在详细设计阶段*使用,它按输入、输出以及计算机内部存储信息的数据结构进行软件结构的设计,从而把对数据结构的描述转换为对软件结构的描述。常用的结构化软件设工具有流程图、N S图和PAD图等。
与结构化软件设计方法相比,面向对象软件设计方法的使用范围更广。与传统的软件工程方法不同的是,面向对象的方法不强调需求分析和软件设计的严格区分。从分析到设计的过渡,是一个逐渐扩充、细化和完善分析阶段所得到的各种模型的过程。面向对象的设计可以分为系统设计和对象设计两个阶段。系统设计关注于确定实现系统的策略和目标系统的高层结构,而对象设计是对需求分析阶段得到的对象模型的进一步完善、细化或扩充。