ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

总体设计

2020-10-21 09:01:52  阅读:182  来源: 互联网

标签:String void Dog 总体设计 耦合 public name


学号:182017025      姓名:谢泽浩 

一、实验目的

1、 理解软件设计的目的与步骤。

2、 掌握设计软件结构时应该遵循的原理,比如:耦合,内聚;理解软件设计时的启发性规则。

3、 各团队成员能够将设计原理与启发性规则在软件系统(以后简称:综合项目)的设计过程中进行充分的利用,并输出《软件系统设计说明书》。

二、任务描述

1、关于耦合,请用5个具体的例子说明:

1)       什么是数据耦合?

2)       什么是控制耦合?

3)       什么是特征耦合?

4)       什么是公共环境耦合?

5)       什么是内容耦合?

2、关于内聚,请用3个具体的例子说明:

1)       什么是功能内聚?

2)       什么是通信内聚?

3)       什么是偶然内聚?

三、任务解答

3.1数据耦合
数据耦合: 指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递;

public class Main {
       public static void main(String[] args) {
              Dog d = new Dog("旺财");//调用形参
       }
}
class Dog {
       private String name;
       public Dog(String name) {
              this.name = name;
       }
}


3.2控制耦合
控制耦合: 指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调模块通过该控制变量的值有选择地执行块内某一功能;

public class Main {
       public static void main(String[] args) {
boolean insertFlag;//传递参数
              update(insertFlag);
       }
}

public
static void update(boolean insertFlag) {
              if (insertFlag) {
                     System.out.println(“helloworld”)!
              } else {
                     
              }
       }

3.3特征耦合
特征耦合: 指两个模块之间传递的是数据结构,如高级语言中的数组名、记录名、文件名等这些名字即标记,其实传递的是这个数据结构的地址;

public class Main {
       private static void 特征耦合(Dog d) {
              System.out.println(d.getName());
       }
       private static void 非特征耦合(String name) {
              System.out.println(name);
       }
       public static void main(String[] args) {
              Dog d = new Dog("旺财");
              特征耦合(d);
              非特征耦合(d.getName());
       }
}
class Dog {
       private String name;
       public Dog(String name) {
              this.name = name;
       }
       public String getName() {
              return name;
       }
       public void setName(String name) {
              this.name = name;
       }
}

3.4公共环境耦合
公共耦合: 指通过一个公共数据环境相互作用的那些模块间的耦合。公共耦合的复杂程序随耦合模块的个数增加而增加。

public class Main { 
        public static int id;//全局变量
       private static void 公共环境耦合(Dog d) {
               this.id=id;
              System.out.println(d.id());
       }
       public static void main(String[] args) {
              Dog d = new Dog(1);
              公共环境耦合(i);
       }
}

 

3.5内容耦合
内容耦合: 这是最高程度的耦合,也是最差的耦合。当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。

public class Main {
       public static void main(String[] args) {
              Dog d = new Dog("旺财");
              System.out.println(d.name);//内容耦合
       }
}
class Dog {
       public String name;
       public Dog(String name) {
              this.name = name;
       }
}

3.6功能内聚:如果模块进行许多操作,每个都有各自的入口点,每个操作的代码相对独立,而且所有的操作都对相同的数据结构完成。

User的控制类调用两个业务方法,两个业务方法彼此独立,最终要实现扣费的方法,且两个事务存在互相依赖
Class userControler = {
       Public void Account(String bookName,double price){ 
             getCount(price);
             ………
             reduceBook(bookName); 
}

3.7通信内聚:模块内各功能部分使用了相同的输入数据或产生相同的输出数据。

这个类需要调用两个方法,他们都要输入一个形参来处理业务逻辑
Class userDAO = {
        Int i=0;
       getUserById(id){ …… },
       deleteById(id){ …… }
}

 

 

3.8偶然内聚:模块内各部分之间没有联系,或即使有联系,也很松散,是内聚程序最低的模块

这个方法需要输出”你好,狗子”,但方法里面做了两件事情,与方法的需要没有关联,它们之间也没有关联,与方法主题不符,即为偶然内聚。
void Hello (){
       System.out.println(“你好,狗子”);
       Int i=100;
}

标签:String,void,Dog,总体设计,耦合,public,name
来源: https://www.cnblogs.com/blogxzh/p/13850400.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有