4.在以下模块耦合性类型中,模块之间独立性最差的类型是(D)
A 无直接耦合 B 控制耦合
C 控制耦合 D 内容耦合
简单地说,软件工程中对象之间的耦合度就是对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。
有软硬件之间的耦合,还有软件各模块之间的耦合。
耦合性是程序结构中各个模块之间相互关联的度量。它取决于各个模块之间的接口的复杂程度、调用模块的方式以及哪些信息通过接口。
耦合可以分为以下几种,它们之间的耦合度由高到低排列如下:
(1) 内容耦合。当一个模块直接修改或操作另一个模块的数据时,或一个模块不通过正常入口而转入另一个模块时,这样的耦合被称为内容耦合。内容耦合是最高程度的耦合,应该避免使用之。
(2) 公共耦合。两个或两个以上的模块共同引用一个全局数据项,这种耦合被称为公共耦合。在具有大量公共耦合的结构中,确定究竟是哪个模块给全局变量赋了一个特定的值是十分困难的。
(3) 外部耦合 。一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。
(4) 控制耦合 。一个模块通过接口向另一个模块传递一个控制信号,接受信号的模块根据信号值而进行适当的动作,这种耦合被称为控制耦合。
(5) 标记耦合 。若一个模块A通过接口向两个模块B和C传递一个公共参数,那么称模块B和C之间存在一个标记耦合。
(6) 数据耦合。模块之间通过参数来传递数据,那么被称为数据耦合。数据耦合和最低的一种耦合形式,系统中一般都存在这种类型的耦合,因为为了完成一些有意义的功能,往往需要将某些模块的输出数据作为另一些模块的输入数据。
(7) 非直接耦合 。两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的
总结:耦合是影响软件复杂程度和设计质量的一个重要因素,在设计上我们应采用以下原则:如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,尽量避免使用内容耦合。
5. 重用率高的模块在软件结构图中的特征是(B)
A 扇出数大 B扇入数大
C 内聚性高 D 扇出数小
扇入数大是指:指着这个模块的箭头,这样的就是指有很多模块在调用这个模块。
7.Jackson方法是一种面向(C)的方法
A 数据流
C 数据结构
这个本来查看书就很容易记住的:
面向数据结构的设计方法是jackson图
面向数据数据流的设计方法有:就是变换流和事务流,就是将数据流图变换成软件结构。
另外还有句话很重要:通常所说的结构化设计方法(简称SD方法),也就是基于数据流的设计方法
8.第一个体现结构化编程思想的程序设计语言是(C)
A Fortron
C Pascal
我也不想去追寻原因了,直接记住就好了
12.当前时期 软件维护的费用在总费用中的比例为(D)
A 35%~40% B 40%~60%
C 60%~70% D 70%~80或更高
没什么好解释的,记住就好了
14 增量模型实质上是一种(C)
A 线性顺序模型 B 整体开发模型
C 非整体开发模型 D 快速原型模型
题,我是做对了的。大概就是说,这个增量模型就是做一点给客户看,做一点给客户看,最后将各个部分和在一起,所以我认为非整体开发模型非常合理。
****增量模型:与建造大厦相同,软件也是一步一步建造起来的。在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。
15.在快速原型的开发过程中,用于及早向用户提交原型系统的原形模型是(C)
A 探索型原型 B 实验型原型
C 演化型原型 D 增量构造原型
这道题非常讨厌,反正我把类似的题放在这里对比理解。
第一套:
5.在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是(A )。
A.探索型模型 B.演化型模型
C.实验型模型 D.提交型模型
中传媒 2009年:
15 .在快速原型模型的开发过程中,用原型过程来代替全部开发阶段所用模型是 (B)模型。
A .探索型原型 B .演化型原型
C .实验型原型 D .增量型原型
16.关联是建立(A)之间关系的一种手段
A 类 B 对象
C 角色 D属性
关联这个词是属于类图的术语,怎么会这样的知识点都忘记了呢
类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。
** 关联(Association) :用实线连起来,上面用黑色箭头表明含义,例如:燕子与气候。关联的直线两端还可以写出重数,表示该类的多少个对象与对方的一个对象
17.面向对象技术特别强调的是(A)
A 对象的数据结构 B 对象的使用方式
C 程序结构 D 结构化编程
记下来后,应该在实际应用中好好体会。
18 对象模型由一个或若干个(B)组成
A 对象 B 模板
C 属性 D 数据流图
其实对象模型不就是用类图来表示的吗?那么类图和模块到底是什么样的关系呢?
不过这四个选项里只有选择模块最为贴切了。
这个题呀,没搞得太清楚。那么我先把模块这个术语来总结一下。
模块是由边界元素限定的相邻程序元素(例如,数据说明,可执行的语句)的序列,而且有一个总体标识符代表它。按照模块的定义,过程、函数、子程序和宏等,都可作为模块。面向对象方法学中的对象是模块,对象内的方法(或称为服务)也是模块。模块是构成程序的基本构件。
模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。
19.在MCCALL质量模型中,不属于面向软件产品修改的特性是(C)
A 可维护性 B 可测试性
C 可靠性 D 适应性
从下面这个图,能够很好地回答这个这个问题。注意 面向一次的意思,就是属于不属于
注意 属于不属于 软件产品修改
当然可靠性,不知道为什么在下面的图中没有,可能是新版旧版的区别吧
20.PUTNAM 成本估算模型是一种(D)
A 静态单变量模型 B 静态多变量模型
C 动态单变量模型 D 动态多变量模型
二、填空题
1. 软件工程研究的主要内容是软件开发技术和--- 软件开发管理-----两个方面。
2. 经济可行性研究范围包括--成本效益分析----,公司经营长期策略,开发所需的成本和资源,潜在的市场前景
3. 数据流图和数据字典共同构成了系统的--逻辑----模型,是需求规格说明书的主要组成部分
4. 结构化设计方法中,要把数据流图转换成软件结构,若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中的一个路径来执行,这种特征的DFD称为--事务型
5. 人的记忆特征有两方面:联想方式和----顺序方式---。
6. 调试的目的是确定错误的原因和位置并改正错误,因此调试应该由---程序员自己----进行。
7. 面向对象设计中存在的三种内聚为操作内聚,---类内聚----和一般—具体内聚。
这道题属于11.1 面向对象设计的准则(261)
模块化、抽象、信息隐藏、弱耦合、强内聚、可重用
关于强内聚的解释:
内聚衡量一个模块内各个元素彼此结合的紧密程度。 也可以把内聚定义为:设计中使用的一个构件内的各 个元素,对完成一个定义明确的目的所做出的贡献程 度。在设计时应该力求做到高内聚。在面向对象设计 中存在下述 3 种内聚。
( 1 ) 服务内聚。一个服务应该完成一个且仅完成一个功能。
( 2 ) 类内聚。设计类的原则是,一个类应该只有一个用途,它的属性和服务应该是高内聚的。类的属性和服务应该全都是完成该类对象的任务所必需的,其中不包含无用的属性或服务。如果某个类有多个用途, 通常应该把它分解成多个专用的类。
( 3 ) 一般 - 特殊内聚。设计出的一般 - 特殊结构,应该符合多数人的概念,更准确地说,这种结构应该是对 相应的领域知识的正确抽取。
一般说来,紧密的继承耦合与高度的一般 - 特殊内聚是 一致的。
8. 实现容错技术的主要手段是冗余,通常冗余技术包括结构冗余,-信息冗余-----,时间冗余和冗余附加技术。
9. 软件工具通常由工具,-工具接口-----和用户工具三部分组成。
10. 程序设计工作台由支持程序开发过程的-----一组工具---组成。
上面三道我都不想深入解释了,所以直接记忆就好了
三、名词解释
1. 软件可靠性:是指一个程序按照用户的要求和设计的目标,执行其功能的正确程度。一个可靠的程序应该是正确的,完整的,一致的和健壮的。
2. 模块的作用范围:是指一个模块受该模块内一个判定影响的所有模块的集合。
3. 白盒法:就是将被对象看作一个打开的盒子,测试人员通过了解程序内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致的测试方法。
4. 基线:软件生存周期中个开发阶段的一些特定点,它的作用是把开发阶段个阶段工作的划分更明确化,是本来连续的工作在这些点断开,一便于检查和肯定阶段成果。
5. CASE:计算机辅助软件工程。是一组软件开发工具和开发方法的集合,它可以辅助软件开发生命周期的各个阶段进行软件开发。CASE把软件开发技术,软件工具和软件开发方法集成到一个统一而一致的中框架中,并且吸收了CAD,软件工程,操作系统,数据库,网络和许多其他计算机领域的原理和技术。
四 简答题。
1. 软件生存周期包括哪些活动。
生命周期分三个:软件定义,软件开发,运行维护。
再分
软件定义分为:问题定义、可行性研究、需要分析
软件开发分为:总体设计、详细设计、编码和单元测试,综合测试。注意编码和单元测试是一个整体。
软件维护:主要任务是使软件持久地满足用户的需要。
2. 结构化程序设计的基本要点是什么?
1. 结构化程序设计方法的主要特点是:
(1) 采用自顶向下,逐步求精的程序设计方法,在需求分析,概要设计中,都采用了自顶向下,逐层细化的方法。在详细设计中,虽然处于“具体”设计阶段,但在设计某个模块内部处理过程中,可以逐步求精,降低处理细节的复杂程度。
(2) 使用三种基本控制结构构造程序,任何程序都可由顺序,选择,重复三种基本控制结构构造。这三种基本结构的共同点是单入口,单出口。不但能有效的限制使用GOTO语句。还创立了新的程序设计思想,方法和风格,同时为自顶向下,逐步求精的设计方法提供了具体的实施手段。
(3) 主程序员组的组织形式。指程序开发的人员组织方式应采用由一个主程序员(负责全部技术活动),一个后备程序员(协调,支持主程序员)和一个程序管理员(负责事务性工作,如收集,记录数据,文档资料管理等)三人为核心,再加上一些专家(如通信专家,数据库专家)和其他技术人员组成小组。这种组织形式突出了主程序员的领导,设计责任集中在少数人身上,有利于提供软件质量,并且能有效的提高软件生产率。
结构化程序设计方法是综合应用这些手段来构造高质量程序的思想方法。
3. 影响软件质量的因素有哪几类?举例说明
1. 答:影响软件质量的因素可分为两大类,一类是可直接度量的因素,如单位时间内千行代码(KLOC)中所产生的错误书。一类是只能间接度量的因素,如可用性或可维护性。
五 应用题
1. 某仓库管理系统每天要处理大批单据所组成的事务文件。单据分为订货单和发货单两种,每张单据由多行组成,订货单包括零件号,零件名,单价,数量等四个数据项,发货单每行包括零件号,零件名,数量等三个数据项,用jackson结构图表示该事物文件的数据结构。
2. 用PAD图描述下列问题的控制结构:有一个表A(1),A(2),……A(N)按递增顺序排列。给定一个key值,在表中用折半查找,若找到,将表位置I送入x,否则将零送到x,同时将key值插入表中。
看懂容易,写出来难啊。我觉得这个题所表达的意思好像在数据结构里面遇见过
3. 某BBS摸板的发帖子系统有如下功能:
(1) 记录发帖内容:访客在表单中输入文字,系统进行检查,无误后将内容存入文件 。
(2) 显示帖子内容:读出文件,按一定格式显示在屏幕上。
请根据要求画出该系统的数据流程图,并将其转换为软件结构图
再强调一下数据流图的几个符号的含义:
方块是数据的起点或者终点
圆是数据的处理
相关推荐
某科技大学_考研复试_上机题_答案.doc
该文档为2018届四川大学计算机学院物联网实验室研究生复试测试题
标题“为了复试_软件工程之一”表明这是一份与软件工程相关的复习资料,可能是某人为了准备复试而整理的学习材料。结合描述中的“博文链接”,我们可以推测这可能来源于一篇在线博客文章,作者zy825316在iteye平台上...
机械设计考研复试面试题 机械设计简答题 机械设计复试题 机械设计面试题
《东北大学计算机考研复试:软件工程深度解析》 在当今信息技术高速发展的时代,软件工程作为计算机科学的重要分支,已经成为衡量一个国家科技竞争力的关键因素。对于准备东北大学计算机考研复试的学生而言,深入...
五、软件测试 测试是保证软件质量的关键步骤。学习不同的测试策略,如单元测试、集成测试和系统测试,以及自动化测试工具如JUnit和Selenium。理解缺陷管理流程,使用工具如JIRA进行问题跟踪。 六、项目管理 理解...
复试的主要目的是进一步考察考生的专业知识、综合素质以及科研能力,确保选拔出最符合学校培养要求的学生。复试的内容可能包括专业面试、英语口语测试、实验操作、书面考核等,不同学科和专业会有不同的侧重点。 在...
东南大学网络空间安全学院复试_SEU_553
北京理工大学计算机考研,适用于813、889、885、数字表演,复试专业课面试部分,回忆真题及答案总结,对北理复试真题进行了收集整理,按科目分类,并且参照教材给出了参考答案。 资料纯手打,是本人20考研时亲手做的...
北航_991软件工程考研初复试_代码和笔记_BUAAEntrance
2010年中国科学技术大学自动化系2010年复试_面试内容
北邮计算机研究生入学考试(复试)历年上机测试模拟试题及真题.pdf 本资源为北邮计算机研究生入学考试(复试)历年上机测试模拟试题及真题,涵盖了多个编程题目,涉及到人数统计、数字统计、统计字母、二叉树前序...
5. 2011年和2012年的复试机试试题:这些年的试题可能更加注重对新技术的关注,例如,可能会涉及到计算机图形学、人工智能、大数据处理等热门领域,同时对考生的综合能力和解决问题的能力有更高的要求。 6. 2009年...
1. **考研复试流程**:考研复试通常包括面试、笔试和上机测试等环节,每个环节都有其特定的考察目标,如面试主要评估考生的综合素质,笔试则测试理论知识,而上机测试则侧重于实践操作能力。 2. **上机编程能力**:...
在本套“东北大学_计算机考研_复试_数据库课件_1”中,我们将会深入探讨数据库的基本概念和原理。 1. 数据库定义:数据库是一个系统化的、可共享的、持久的数据集合,用于存储、管理和检索信息。它通过数据库管理...
* 力学问题:哈尔滨产业大学机器考研07年复试真题第二部门,涉及到平滑圆柱体、质心速度、圆柱体平面运动方程等概念。 第三部门:质料力学 * 材料力学问题:哈尔滨产业大学机器考研07年复试真题第三部门,涉及到梁...
北邮计算机学院复试笔试真题,六选4,2005年,扫描版,没有答案
5. **综合素质**:面试环节会考察学生的表达沟通能力、逻辑思维能力和团队协作精神等综合素质。考生需提前准备自我介绍,清晰阐述自己的学习经历、科研经历以及对未来研究方向的规划。 通过以上分析,我们可以看到...
【深圳大学2018计算机考研复试真题】 在准备深圳大学计算机专业的研究生复试时,了解历年的真题是至关重要的一步。这份“深圳大学2018计算机考研复试真题”提供了宝贵的参考资料,帮助考生熟悉考试的题型、难度以及...