举例说明:A模块需要调用身份证号,给把整个人的所有身份信息数据结构(包含身份证号,姓名,年龄,住址,电话等),A模块仅仅只需要调用身份证号。A模块实际上使用的数据,大于大确实需要的数据,这就出现了特征耦合。
特征耦合是指两个都与同一个数据结构有关的模块发生的耦合。由于同时使用同一个数据结构,当数据结构变动时,必然影响这两个模块,从而增加模块间的依赖性,降低模块独立性。
扩展资料
当一个子系统(或类)发生变化时对另一个子系统(或类)的影响很小,则称它们是松散耦合的;反之,如果变化的影响很大时,则称它们是紧密耦合的。
耦合的强弱取决于模块间接口的复杂性、引用模块的位置和数据的传送方式等。设计时应尽量使模块问的耦合度小,模块间的耦合度直接影响系统的可理解性、可测试性、可靠性和可维护性。
耦合的强弱取决于模块的划分是否合理以及模块之间接口的复杂程度。因此,划分模块时应尽量做到:
1、排除模块之间不必要的联系。
2、减少模块之间必不可少的联系的数量。
3、松散模块之间联系的紧密程度。
我以前做过这样的系统,我把需求什么的贴给你!看看是不是你想要的!
学工处学生信息管理系统
(软件需求说明书)
1引言 2
1.1编写目的 2
1.2背景 2
1.3定义 2
1.4参考资料 2
2任务概述 2
2.1目标 2
2.2用户的特点 2
2.3假定和约束 2
3需求规定 2
3.1对功能的规定 2
3.2其他功能的规定 2
3.3输入输出要求 2
3.4数据管理能力要求 2
4运行环境规定 2
4.1设备 2
4.2支持软件 2
4.3接口 2
4.4控制 2
1引言
1.1编写目的
随着社会的发展,学校的规模也越来越大,学校的教育管理机构也越来越大。为了使得学校能够方便,高效的动态的管理学生的各种信息,提高工作效率,为此我小组组设计了该系统,它提供了一套完整的学生信息管理模式,包括了学生在校的所有基本信息,使管理者能够及时的获得并动态处理相关的信息,减少了大量的开支,从而大大地提高了工作效率。为进一步提高学校的效率,提高高校的管理水平起到了很大的作用!
1.2背景
软件名称:高校学生档案管理系统
开发及用户:本软件用于XXXX办公时使用,版权及使用权介归属开发者自己所有。
1.3定义
<暂未定义>
1.4参考资料
《Visual Basic程序设计教程》,杨莉主编,中国水利出版社,2004年07月
《SQL Server 2000教程》,龚波主编,北京希望电子出版社,2002年07月
《Visual Basic数据库系统开发实例导航》,刘韬主编,人民邮电出版社,2004年1月
《软件工程导论(第四版)》,张海潘著,清华大学出版社,2005年6月
2任务概述
2.1目标
随着高考的扩招,我校每年生员数量急剧增加,瑶湖校区在校学生将约三四万人。学生处作为学校重要的学生工作管理部门,其中包括科室有学工处办公室,学生管理科,学生教育科,学生宿舍管理科,心理咨询中心、勤工助学管理中心等六个大的职能部门,负责着学校学生的教育、管理、成长成才服务工作的专门机构。面对着庞大的学生信息,手工、纸制的管理模式逐渐凸现越来越多的弊端,如耗费大量的人力,工作量大、工作繁琐,容易出错,很不利于工作。
因此,利用计算机软件,编制一个专门负责管理学生档案软件等通过计算机来辅助管理学生档案,已经成为当前我校学生管理工作的迫切的任务。
本系统为建立在典型的MIS系统(VB+SQL)框架上,为客户提供全面的学生档案管理,用户可以通过该系统进行学生信息的动态管理,并使得学工处各科室可以共享相关的数据源,从而达到数据的统一,减少数据出错,提高工作效率。另一方面,用户可以系统提供的特定接口,将Excel文档或者word文档的数据源导入存储到数据库系统中,可以进行操作;并生成相关的数据表,将其导出成word或者excel文档,这样既方便打印,又可便于递交文档给上级部门。
实现的模式图:(组图)
由于学工处整个信息系统庞大,短期时间小组成员实现比较困难,小组成员在与学工处工作人员进行沟通后,并且征求了导师的意见,决定先从学工处管理科入手实现学工处旗下的一个子系统,因为管理科是对全校学生信息的基本管理,是所有其他科室的所有数据库资料的前提保证,可以说,实现管理科管理系统,留好与其他科室的接口,就相当与完成了整个学工处信息系统的一半任务工作,所以我们特决定先从管理科入手,完成我们项目最重要一步。
管理科系统业务流程图:
2.2用户的特点
系统要求用户总体上具备一定的计算机操作水平:用户的角色分为管理员、操作员、普通用户.所有的用户必须通过用户名和密码登入该系统.如果用户名和密码在该数据库找不到相关的记录,则该用户无法登录该系统.
当该用户进入该系统时,权限不同,所拥有的功能不同:如果以管理员的身份登入,则本系统所有的功能都可以操作.如果以操作员的身份登入,则只能实现其中某部分的操作.如果以普通用户的身份登入,则只可以查看其中的相关的信息,对所有的信息都不能更改.
2.3假定和约束
该系统由软件学院在读本科生该开发小组维护.
开发成员:徐富军曾红星习庆庆指导老师:曾雅琳老师
开发时间:2005年10月-2006年元月
3需求规定
3.1对功能的规定
由以上对管理科业务流程图,我们很快得出管理科系统的功能分析。每个标记的可以建立在数据库中建立一表格存储,而对基本的表格操作可做如下规定:
1.学生基本信息:
功能描述:
●学生基本信息修改:在查询功能中,输入相应的条件,找到你所想要修改的记录,再根据需要修改相应的字段.可以修改的字段为学号姓名性别民族出生年月政治面貌家庭住址是否城镇婚姻状况身份证号宿舍地址宿舍电话入学时间所在学院专业班级学历等.
●学生基本信息删除:先查询到所要删除的记录,然后根据实际情况确定是整条记录删除还是只删除部分字段进行删除操作.如对部分进行删除,则只能对非主键进行操作,非主键其字段为姓名性别民族出生年月政治面貌婚姻状况家庭住址身份证号宿舍地址学历.
●学生基本信息添加:添加记录时,必须主键不能为空,否则该条记录添加失败.
●学生基本信息查询:在查询条件中,输入查询字段,可以找到相关的记录;如果是粗约查询,则显示所有相关记录的第一条记录;然后通过按钮,可以查看所有查找到的记录;如果是详细查询,则显示该条记录.
●学生基本信息导出:可以将查询到的数据导出生成EXCEL文档资料,便于打印上传文档.
2.学生家庭信息
功能描述:
●数据来源:将各学院按照指定格式填写上交的excel表导入到相应的数据库.
●查询:输入相应的查询条件,可以找到相关的记录.
●数据导出:将数据库中的表以excel或者word文档形式导出来.
●其他添加,删除,修改与对基本表格操作雷同。
3.学生教育经历
功能描述:
●数据来源:将各学院按照指定格式填写的excel表的形式导入到相应的数据库.
●学生教育经历信息添加、删除、修改:随着人受教育程度的改变,我们可以相应在该表中增加相应的属性,
其实现方式和对基本信息操作雷同.
●查询:输入有关的查询条件,可以找到相应的记录信息.
●数据导出:将数据库中的表以excel或者word形式导出,便于直接打印或递交文档.
4.学生素质综合测评---专业成绩表
功能描述:
●专业成绩评定信息录入,删除,修改基本操作。
●-专业成绩评定信息查询:在查询条件中,输入查询字段,可以找到相关的记录;可分为精确查询和详细查询。
●专业成绩评定信息导出:可以将查询数据导入成excel或者word文档,便于打印或递交材料。.
5.学生素质综合测评---操行评定表
功能描述:
●数据来源:将规定格式的excel表导入相应的数据库,从而达到动态地更改相应的数据库
●查询:根据所提示的几个查询条件,输入相应的字段,可以找到数据库相关的记录.
●数据导出:可以将查询数据导入成excel或者word文档,便于打印或递交材料。
●操行评定信息录入,删除,修改基本操作。
6.学生综合测评表
功能描述:
●数据来源:将规定格式的excel表导入相应的数据库,从而达到动态地更改相应的数据库数据.
●综合评定信息录入,删除,修改基本操作。
●查询:根据所提示的几个查询条件,输入相应的字段,可以找到数据库相关的记录
●数据导出:可以将查询数据导入成excel或者word文档,便于打印或递交材料。
7.奖学金信息
功能描述:
●奖学金信息添加:将新增加的奖学金的信息,按照其格式,将相关的字段输入进去.
●奖学金信息删除:可以删除任何一种由于各种原因废除的奖学金的信息.
●信息查询:可以根据查询条件,查询到相关奖学金信息。
8.学生奖励信息:
功能描述:
●奖励信息添加:添加记录时,必须主键不能为空,否则该条记录添加失败.
●奖励信息删除:先查询到所要删除的记录,然后根据实际情况确定是整条记录删除还是只删除部分字段进行删除操作.
●奖励信息修改:在查询功能中,输入相应的条件,找到你所想要修改的记录,再根据需要修改相应的字段.
●奖励信息查看:根据实际需要,在提示的几个查询条件,输入相应的条件,可以查看相关的记录信息.
●数据导出:根据实际需要,将数据库中相关记录的字段,以excel或word文档形式导出来,便于打印出来.
9.学生违纪信息
功能描述:
●违纪信息添加:添加记录时,必须主键不能为空,否则该条记录添加失败
●违纪信息删除:先查询到所要删除的记录,然后根据实际情况确定是整条记录删除还是只删除部分字段进行删除操作.
●违纪信息修改:在查询功能中,输入相应的条件,找到你所想要修改的记录,再根据需要修改相应的字段.
●违纪信息查看:根据实际需要,在提示的几个查询条件,输入相应的字段,可以查看相关的记录信息.
●数据导出:根据实际需要,将数据库中相关记录的信息,以excel或word文档形式导出来,便于打印递交文档.
10.系统管理
功能描述:
●添加用户信息:如有职员进入该科室,可以利用该功能,为其增加相应的操作权限.
●删除用户信息:将由人事改动调走的职员,相关的记录删除,从而达到撤消原有的操作权限.
●修改用户信息:在查询条件中,输入所要查询的字段,从而找到该记录,进行修改相关字段.
●查看用户信息:管理员查看所有的用户信息.
3.2其他功能规定
11.学院信息表
功能描述:
主要是添加,删除,修改等基本操作,是整个学工处系统的管理员操作的功能权限,建立在每个子系统之上。在选择对其他信息表的基本信息表操作时候必须先找到起所在的学院
12.专业信息表
功能描述:
主要是添加,删除,修改等基本操作,是整个学工处系统的管理员操作的功能权限,建立在每个子系统之上,在选择对其他信息表的基本信息表操作时候必须先找到起所在的专业
13.班级信息表
功能描述:
主要是添加,删除,修改等基本操作,是整个学工处系统的管理员操作的功能权限,建立在每个子系统之上,在选择对其他信息表的基本信息表操作时候必须先找到起所在的班级。
注明:学工处各部门的管理在学校实际情况都以每个学院中的每个专业,每个班级为单元工作,包括对学生的基本信息,综合测评操作,奖励信息等都以每个班级为单元进行统计管理,所以学院,专业,班级三个表的信息操作是在整个系统建立时候由系统管理员直接设定好,其他科室的子系统管理员只能查询,选择操作,不能对其进行修改,删除,添加等操作。
3.3输入输出要求
用户登录时,用户名的数据类型必须是简体中文、英文,不支持其它类型.且不能超过20个字符.
密码输入长度不超过20个字符.
用户必须一固定的格式(如EXCEL格式)将数据源导入系统,或者按照要求输入数据。
全部管理的信息可以在系统提供的表格中查询显示。
如果用户有需要,所需的信息(如学生及其信息)可以以所需的格式导出。
3.4数据管理能力要求
数据库管理
●数据导入:所有由各学院的上交的文档资料将作为所有信息的原始数据源,可直接导入到数据库生成数据,节约手工录入的时间,可大大提高工作效率,
●数据库备份:先打开所要保存该数据库的目录文件,然后以.bak后缀备份该数据库.
●数据库还原:如是该数据库由于某种原因,丢失了部分数据,可以利用该数据库还原功能,修改该数据库,从而保证了该系统正常运行.
本系统为每个科室建立一个子系统,但是数据库是统一为一个整体。只建立一个数据库。
学工处管理科数据库中必须包括以下几个表:用户基本信息表、,学生基本信息表,学生家庭信息表,学生个人履历表,学生奖励表、惩罚表.,学生专业成绩表,学生操行表,综合测评表,学院信息表,专业信息表,班级信息表等。详细的信息可以建立在数据库设计文档以方便用户查看。
4运行环境规定
4.1设备及其支持软件
1、硬件需求
(1)CPU:Celeron 300或更高。
(2)内存:128M,推荐256M。
(3)硬盘:要求剩余空间大于5GB。 2、操作系统需求
(1) Windows2000
(2) Windows xp 3、其它软件需求
(1)Microsoft SQL Server2000
(2)Microsoft Visual Basic 6.0中文版。
(3)Microsoft Office 2003系列办公软件
4.2接口
本产品是一项独立的系统,而且全部内容自含。通过接口可以实现对Excel数据源的导入,并以文档格式打印输出。除此之外,跟其它软件无特定通信协议支持。
用户与软件的接口:用户必须通过密码登陆系统。
软件与硬件的接口:运行本系统必须要一定的硬件来支持,比如:CPU、内存、硬盘等,以及相应的操作系统和其他的软件需求。
软件与软件的接口:模块之间调用必须要注意全局变量和非全局变量的使用
接受任何基于系统的应用系统的物理或逻辑的配置。它可以描述系统硬件的物理拓扑结构和在此结构上执行的系统软件,也能描述系统节点的拓扑结构和通信路径、节点上运行的构件、构件中的逻辑单元等。
4.3控制
通过Excel实行数据库导入,不同身份权限的用户进入系统后,单击”导入数据源”菜单项将进入导入数据库界面,在主机磁盘上选择所需的Excel数据源进行。另一方面,用户根据所需,将查询到所需要的数据信息,导出成Excel或者word文档打印出来!
另外,本系统的预计成本有物理设备如硬件电脑和软件如(SQL Server+VB)!因此,本系统开发具有较高的实用性!
注:还有一些土没有办法贴出来,如果你有需要,可以告诉我你的E_mail,我发给你~
构成耦合性的七种类型
一般模块之间可能的连接方式有七种,构成耦合性的七种类型.它们之间的关系为(由弱到强)
非直接耦合(Nondirect Coupling)
如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合.这种耦合的模块独立性最强..
数据耦合(Data Coupling)
如果一个模块访问另一个模块时,彼此之间是通过数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的,则称这种耦合为数据耦合.由于限制了只通过参数表传递数据,按数据耦合开发的程序界面简单、安全可靠.因此,数据耦合是松散的耦合,模块之间的独立性比较强.在软件程序结构中至少必须有这类耦合.
印记耦合(Stamp Coupling)
如果一组模块通过参数表传递记录信息,就是标记耦合.事实上,这组模块共享了这个记录,它是某一数据结构的子结构,而不是简单变量.这要求这些模块都必须清楚该记录的结构,并按结构要求对此记录进行操作.在设计中应尽量避免这种耦合,它使在数据结构上的操作复杂化了.如果采取“信息隐蔽”的方法,把在数据结构上的操作全部集中在一个模块中,就可以消除这种耦合.
控制耦合(control Coupling)
如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合.耦合的实质是在单一接口上选择多功能模块中的某项功能.因此,对所控制模块的任何修改,都会影响控制模块.另外,控制耦合也意味着控制模块必须知道所控制模块内部的一些逻辑关系,这些都会降低模块的独立性.
外部耦合(External Coupling)
一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合.例如C语言程序中各个模块都访问被说明为extern类型的外部变量.外部耦合引起的问题类似于公共耦合,区别在于在外部耦合中不存在依赖于一个数据结构内部各项的物理安排.
公共耦合(Common Coupling)
若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合.公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等.这种耦合会引起下列问题:1)所有公共耦合模块都与某一个公共数据环境内部各项的物理安排有关,若修改某个数据的大小,将会影响到所有的模块.2)无法控制各个模块对公共数据的存取,严重影响软件模块的可靠性和适应性.3)公共数据名的使用,明显降低了程序的可读性.[Page]公共耦合的复杂程度随耦合模块的个数增加而显著增加.如图4.14所示,若只是两个模块之间有公共数据环境,则公共耦合有两种情况.若一个模块只是往公共数据环境里传送数据,而另一个模块只是从公共数据环境中取数据,则这种公共耦合叫做松散公共耦合.若两个模块都从公共数据环境中取数据,又都向公共数据环境里送数据,则这种公共耦合叫做紧密公共耦合.只有在模块之间共享的数据很多,且通过参数表传递不方便时,才使用公共耦合.否则,还是使用模块独立性比较高的数据耦合好些.
内容耦合(Content Coupling)
又称病态耦合.如果发生下列情形,两个模块之间就发生了内容耦合.1)一个模块直接访问另一个模块的内部数据; 2)一个模块不通过正常入口转到另一模块内部; 3)两个模块有一部分程序代码重叠(只可能出现在汇编语言中); 4)一个模块有多个入口.在内容耦合的情形,所访问模块的任何变更,或者用不同的编译器对它再编译,都会造成程序出错.好在大多数高级程序设计语言已经设计成不允许出现内容耦合.它一般出现在汇编语言程序中.这种耦合是模块独立性最弱的耦合.
转载请注明:片头模版 » 软件工程7种耦合的例子(为每种类型的模块耦合举一个例子)