软件工程导论 习题五

1.耦合式对一个软件结构内不同模块之间互联程度的度量。耦合强弱取决于接口的复杂度,进入或访问某一模块的点,以及通过接口的数据。一般模块之间的可能的连接方式有七种,构成耦合的七种类型,它们的关系为:

A. 非直接耦合:两个模块没有直接的关系(模块1和模块2),独立性最强

B.数据耦合:即一个模块访问另一个模块的时候,彼此之间是通过数据参数来交换输入、输出信息的,这种耦合为数据耦合。这种耦合较为松散,模块间独立性较强。

C.特征耦合:即一组模块通过参数传递记录信息,用户情况是个数据结构,图中模块都与此有关。

D.控制耦合:即一个模块如果通过传送开关、标志、名字等控制信息,明显的控制选则另一个模块功能。

E.外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。

F.公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。

G.内容耦合:如果发生下列情形,两个模块之间就发生了内容耦合
  (1) 一个模块直接访问另一个模块的内部数据;
  (2) 一个模块不通过正常入口转到另一模块内部;
  (3) 两个模块有一部分程序代码重叠(只可能出现在汇编语言中);
  (4) 一个模块有多个入口。

耦合强度,依赖于以下几个因素:
  (1)一个模块对另一个模块的调用;
  (2)一个模块向另一个模块传递的数据量;
  (3)一个模块施加到另一个模块的控制的多少;
  (4)模块之间接口的复杂程度。

时间: 2024-10-09 11:03:03

软件工程导论 习题五的相关文章

软件工程导论 习题四

1. 以一个简单的俄罗斯方块游戏系统规格说明为例,用自然语言描述如下: 游戏的每个状态对应一个游戏界面,开始状态下,但变量cd_start=1是进入正常游戏的状态,cd_start=2时 进入读取游戏状态,cd_start=3据储存结束后返回正常游戏状态,在正常游戏状态下,如果变量game_res=0,则游戏结束,进入游戏 是进入得分榜界面查看.在得分榜界面按任意键返回开始界面,在读取游戏界 面,当游戏数据读取完成后进入正常游戏状态,正常游戏状态下,同 时按下左键和右键进入储存游戏界面,数 用有

软件工程导论 习题二

目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危险病人的病情变化,还可能会延误抢救时机.某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统的可行性. 医院对患者监护系统的基本要求是随时接受每个病人的生理信号(脉搏.体温.血压.心电图等),定时记录病人情况以及形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告.请画出系统的数据流图 •从问题陈述可知,

软件工程导论 习题二(1.2.3.5)

1. 开发一个软件时,需要判断原定的系统模型和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度,如果做不到这些,那么花费在这些工程上的任何时间.人力.软硬件资源和经费,都是无谓的浪费.可行性研究的实质是要进行一次大大压缩简化了的系统分析和设计过程,就是在较高层次上以较抽象的方式进行的系统分析和设计的过程.可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决.一般说来,至少应该从以下三个方面研究每种解法的可行性:a.技术可行性.对要开发项目的功能. 性能和

《软件工程导论》课后习题解答

来源:https://blog.csdn.net/Rong_Toa/article/details/80771976 第一章 软件工程概论 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题.这些问题表现在以下几个方面: (1)用户对开发出的软件很难满意. (2)软件产品的质量往往靠不住. (3)一般软件很难维护. (4)软件生产效率很低. (5)软件开发成本越来越大. (6)软件成本与开发进度难以估计. (7)软件技术的发展远远满足不了计算机应用的普及与深入

《软件工程导论》读后感想与疑惑

<软件工程导论>读后感想与疑惑 疑问1: 根据2.1节我们知道可行性研究至少从技术.经济和操作可行性三个方面分析,那么应如何理解文中首句指出的:"可行性研究的根本目的不是解决问题,而是确定问题是否值得去解决." 疑问2: 按照教材内容编排顺序,可行性研究放在了需求分析之前.这意味着应该先进行可行性研究再进行需求分析吗?如果不是,那为什么不把需求放在前面呢,应如何理解这二者之间的关系? 疑问3: 在之前的课程中曾经学习过"管理信息系统"和"决策支

构建之法现代软件工程(第五次)

构建之法现代软件工程(第五次) 这周我阅读了<构建之法>第六第七章 敏捷开发的原则: (1)尽早并持续地交付有价值的软件以满足顾客的需求: (2)敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势: (3)经常发布可用的软件,发布间隔可以从几周到几个月,能短则短: (4)业务人员和开发人员在项目开发过程中应该每天共同工作: (5)以有进取心的人为项目核心,充分支持信任他们: (6)无论团队内外,面对面的交流始终是最有效的沟通方式: (7)可用的软件是衡量项目进展的主要指标: (8)敏捷

现代软件工程 第十五章 练习与讨论

15.3.0 案例分析 可以看看这两个学生项目的例子,推断出这些团队的血型: STG游戏的跳票(为了完美,推迟了7天,但是7天之后也没有发布……)[leal1] [i] 英语学习软件(说了“明早发布”,但是明早一直没到)[ii] 15.3.1  反动分子阿超 在最后的稳定阶段,阿超不断地把事情推到下一个版本,二柱和果冻都不耐烦了——为什么不拼一下,把所有事情在第一版搞定? 阿超: 有两种做法—— 1. 根据事情的轻重缓急,安排大部分事情在下一个版本做.正因为我们对项目.团队.商业模式有信心,才会

陈爽 软件工程导论week2.1

软件工程导论week2.1 第一章概论问题:1.程序=算法+数据结构  软件=程序+软件工程软件工程的目标是创造足够好的软件,可以从用户满意度,可靠性,软件流程的质量,可维护性等方面判断,但是我们没有自己做过大的软件工程体系的项目,之前做的新闻管理系统,就是十几条新闻做查询,增删改查等数据库操作,但是真正的新闻管理系统每天需要管理的新闻量达到上千条甚至上百万条,我们自己做出来的系统能否承受住这样大数据量的考验呢?如何从这几方面衡量标准来改善一下我们已经做过的新闻管理系统软件呢?2.学生电脑的系统

软件工程导论课后习题Github作业(把一个英文句子中的单词次序逆序,单词中字母正常排列)

Java源代码  package yly; import java.util.Scanner; public class ruanjian { public static void main(String[] args) { // TODO Auto-generated method stub String q = "how are you"; String[] aa=(String[]) q.split(" "); for(int i = aa.length ;i