关注分享主机优惠活动
国内外VPS云服务器

软件构建案例教程第二章课后问题解答(软件构建简案)

摘要:解释模块绑定的含义,并通过示例说明不同类型的绑定。 耦合性也称为连通性,是模块之间关联程度的度量。 模块之间的耦合程度是指模块之间的控制关系、调用关系、数据传输关系等依赖关系。 在软件设计中,常用耦合性和内聚性作为衡量模块独立程度的标准。

本文仅根据 NT 老师的要求提供奇怪问题的解答。

1.术语表:分解、模块化、增量改进、软件测试、测试需求、测试设计、测试覆盖率、软件调试、缺陷、软件质量、编程风格。

分解:将一个大的、复杂的问题分解为相对简单的独立问题,并使用适当的方法解决每个问题。 模块化:您可以通过将大型复杂的程序分解为简单、独立和交互式的模块来实现它们,每个模块都具有不同的功能。 增量细化:对实际问题进行多次抽象(细化),直到简单的算法描述和算法实现的问题成为唯一的解决区域。 软件测试:通过在指定条件下运行程序以发现错误来评估软件质量。 测试需求:组件/系统中可以通过测试用例验证的项目或事件。 测试设计:包括测试用例的设计、要实现的测试级别、要使用的测试工具或框架以及如何组织测试人员。 测试覆盖率:指软件功能、元素、组件等的范围或程度。 包含在测试中。 软件调试:是指根据程序的错误情况,分析推断程序可能出现错误的地方,运行程序并观察程序的变化,发现错误的根本原因。 缺陷:程序存在一些问题、错误或隐藏的功能缺陷,导致其无法正常工作。 软件质量:软件符合显式和隐式定义的要求的程度。 编程风格:编写代码的风格规则。

3. 本书中描述之外的算法的数据结构中的四种关系类型您能为这四种情况分别举一些例子吗?不能,因为我找不到。

5.如何评价一个程序的模块化原则? (1) 导致程序重用。 将功能模块化,便于后续程序开发中的复用,抽象出公共功能,并进行彻底的优化。

(2) 帮助系统开发和模块功能集成,并明确该模块的职责。 确定的模块只负责该模块的具体功能,以便将来可以对系统进行集成和重构。 到时候会非常方便。

(3) 调试和后续功能扩展变得更加容易。 当程序模块化时,单个模块不仅是系统的一个组件,而且还是一个多频段的个体。 在系统开发中,调试单个模块常常是一个问题。 比调试整个系统方便得多。 另外,如果后续需要开发系统,通过将需要扩展的功能划分为具体的模块,可以显着降低开发难度和成本。

(4)代码结构清晰,易于阅读。 当您编写代码时,模块化您的程序可以使其更易于阅读。 保持方法职责清晰和简单(即方法只做一件固定的事情)可以显着减少维护人员在未来维护期间阅读和理解代码所花费的时间。

7. 解释模块耦合的含义并提供不同耦合的示例。 耦合性也称为连通性,是模块之间关联程度的度量。 耦合的强度取决于模块接口的复杂性、模块的调用方式以及通过接口传输的数据量。 模块之间的耦合程度是指模块之间的控制关系、调用关系、数据传输关系等依赖关系。 模块之间的联系越多,耦合性越强,独立性越差。 在软件设计中,常用耦合性和内聚性作为衡量模块独立程度的标准。 划分模块的标准之一是高内聚、低连通性。

数据组合

sum(int a, int b) {int c;c = a + b;return c;}main() {int x, y;printf("x+y =%d", 总和(x, y));}

main函数和sum函数的关系是数据绑定

控制绑定

void Output(int flag) {if(flag) printf("OK!"); else printf ("NO!");}main() {int flag;output(flag);}

主函数和输出函数之间的控制耦合关系。

内容绑定

p > public class Product {public float unitPrice;...} public class Order {private Product p = new Product() {p.unitPrice = 100;}}

合并Product类和Order类配置内容

非直接绑定

void PrintDog() {System.out.println("Woof Woof");} void PrintCat ( ) {System.out.println("Meow Meow" Meow");}public static void main(String[] args) {printDog();printCat();}

标记绑定

typedefquation { int a; }Equation;voidgenerateExercise(){ Equation e ; return e;}void printExercise(Equation e) { ...}main() { printExercise() )}

这两个函数是传递数据结构方程的函数,被视为标记连接

外部连接

import com.la.pojo.Dog;public static void main(String[] args) {private Dog Dog;}

使用 import 引入另一个软件包创建外连接

公共连接

int temp;void Student( ) { temp = 1;...}void Teacher() {...temp = 3;...}

这组函数都访问相同的公共数据环境。 公共耦合

9.根据任务1的设计和输出,完成程序创建并输出两组加减法练习。 我不会写这个。 如果你想写这个,请这样做。 以后别再做了。 读完之后我也没有写。

11. 在第 2.2.2 节设计 1 中,我们不想编写完整的程序并提供一系列问题的输出。

13. 如果练习不允许使用相同的公式,则 (1) 分别替换代码 2.2、2.2.2 节中设计 1 的代码和 2.2.2 节中设计 2 的代码请更改并输出。 (2)如何思考:你确定你能写出满足这个要求的程序吗?我也不想。

15.用C/JAVA/Python等语言进行结构化编程我会。 ...

未经允许不得转载:主机频道 » 软件构建案例教程第二章课后问题解答(软件构建简案)

相关推荐

评论 抢沙发

评论前必须登录!