1.CMM
CMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。CMM为企业的软件过程能力提供了一个阶梯式的进化框架,阶梯共有五级。第一级只是一个起点,任何准备按CMM体系进化的企业都自然处于这个起点上,并通过它向第二级迈进。除第一级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,可以向下一级别迈进。

第一级:初始级(Initial);
第二级:可重复级(Repeatable);
第三级:已定义级(Defined);
第四级:受管理级(Managed);
第五级:优化级(Optimizing)

CMM的基本思想是,因为问题是由我们管理软件过程的方法引起的,所以新软件技术的运用不会自动提高生产率和利润率。CMM有助于组织建立一个有规律的、成熟的软件过程。改进的过程将会生产出质量更好的软件,使更多的软件项目免受时间和费用的超支之苦。 
CMM实施步骤
成熟度等级1:初始级(Initial)。
处于这个最低级的组织,基本上没有健全的软件工程管理制度。每件事情都以特殊的方法来做。如果一个特定的工程碰巧由一个有能力的管理员和一个优秀的软件开发组来做,则这个工程可能是成功的。然而通常的情况是,由于缺乏健全的总体管理和详细计划,时间和费用经常超支。结果,大多数的行动只是应付危机,而非事先计划好的任务。处于成熟度等级1的组织,由于软件过程完全取决于当前的人员配备,所以具有不可预测性,人员变化了,过程也跟着变化。结果,要精确地预测产品的开发时间和费用之类重要的项目,是不可能的。   
成熟度等级2:可重复级(Repeatable)。
在这一级,有些基本的软件项目的管理行为、设计和管理技术是基于相似产品中的经验,故称为“可重复”。在这一级采取了一定措施,这些措施是实现一个完备过程所必不可缺少的第一步。典型的措施包括仔细地跟踪费用和进度。不像在第一级那样,在危机状态下方行动,管理人员在问题出现时便可发现,并立即采取修正行动,以防它们变成危机。关键的一点是,如没有这些措施,要在问题变得无法收拾前发现它们是不可能的。在一个项目中采取的措施也可用来为未来的项目拟定实现的期限和费用计划。   
成熟度等级3:已定义级(Defined)。
在第3级,已为软件生产的过程编制了完整的文档。软件过程的管理方面和技术方面都明确地做了定义,并按需要不断地改进过程,而且采用评审的办法来保证软件的质量。在这一级,可引用CASE环境来进一步提高质量和产生率。而在第—级过程中,“高技术”只会使这一危机驱动的过程更混乱。   成熟度等级4:已管理级(Managed)。
一个处于第4级的公司对每个项目都设定质量和生产目标。这两个量将被不断地测量,当偏离目标太多时,就采取行动来修正。利用统计质量控制,管理部门能区分出随机偏离和有深刻含义的质量或生产目标的偏离(统计质量控制措施的一个简单例子是每千行代码的错误率。相应的目标就是随时间推移减少这个量)。   
成熟度等级5:优化级(Optimizing)。
—个第5级组织的目标是连续地改进软件过程。这样的组织使用统计质量和过程控制技术作为指导。从各个方面中获得的知识将被运用在以后的项目中,从而使软件过程融入了正反馈循环,使生产率和质量得到稳步的改进。

2.什么是极限编程

极限编程是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。

3.电路交换和分组交换的区别和特点?
电路交换与分组交换的区别:
(一)电路交换:由于电路交换在通信之前要在通信双方之间建立一条被被双方独占的物理通路(有通信双方之间的交换设备和链路逐段连接而成),因而有以下优缺点。
优点:
1,由于通信线路为通信双方用户专用,数据直达,所以传输数据的时延非常小。
2,通信双方之间的物理通路一旦建立,双方可以随时通信,实时性强。
3,双方通信时按发送顺序传送数据,不存在失序问题。
4,电路交换既适用于传输模拟信号,也适用于传输数字信号。
5,电路交换的交换设备及控制均较简单。
缺点:
1, 电路交换的平均连接建立时间对计算机通信来说嫌长。
2, 电路交换建立连接后,物理通路被通信双方独占,即使通信线路空闲,也不能供其他用户使用,因而信道利用率低。
3, 电路交换时,数据直达,不同类型,不同规格,不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制。
(二)分组交换:分组交换采用存储转发方式,将一个长报文分割为若干个较短的分组,然后把这些分组(携带源地址,目的地址和编号信息)逐个的发送出去。因此分组交换有以下优缺点。
优点:
1, 分组交换不需要为通信双方预先建立一条专用的通信线路,不存在连接建立时延,用户可随时发送分组。
2, 由于采用存储转发方式,加之交换结点具有路径选择,当某条传输线路故障时可选择其他传输线路,提高了传输的可靠性。
3, 通信双方不是固定的占有一条通信线路,而是在不同的时间一段一段地部分占有这条物理通路,因而大大提高了通信线路的利用率。
4, 加速了数据在网络中的传输。因为分组是逐个传输,可以使后一个分组的存储操作与前一个分组的转发操作并行,这种流水线式传输方式减少了传输时间。
5, 分组长度固定,相应的缓冲区的大小也固定,所以简化了交换结点中存储器的管理。
6, 分组较短,出错几率减少,每次重发的数据量也减少,不仅提高了可靠性,也减少了时延。
缺点:
1, 由于数据进入交换结点后要历经存储转发这一过程,从而引起转发时延(包括接受分组,检验正确性,排队,发送时间等),而且网络的通信量越大造成的时延就越大,实时性较差。
2, 分组交换只适用于数字信号。
3, 分组交换可能出现失序,丢失或重复分组,分组到达目的结点时候,对分组按编号进行排序等工作,增加了麻烦。

总之,若传输的数据量很大,而且传送时间远大于呼叫时间,则采用电路交换较为合适;当端到端的通路有很多段的链路组成时,采用分组交换较为合适。从提高整个网络的信道利用率上看,分组交换优于电路交换。

4.移动通信系统的组成,光纤通信系统的组成
蜂窝移动通信系统主要是由交换网路子系统(NSS)、无线基站子系统(BSS)和移动台(MS)三大部分组成。其中NSS与BSS之间的接口为“A”接口,BSS与MS之间的接口为“Um”接口。在模拟移动通信系统中,TACS规范只对Um接口进行了规定,而未对A接口做任何的限制。因此,各设备生产厂家对A接口都采用各自的接口协议,对Um接口遵循TACS规范。也就是说,NSS系统和BSS系统只能采用一个厂家的设备,而MS可用GSM通信系统的组成。
基本的光纤通信系统由数据源、光发送端、光学信道和光接收机组成

5.黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。
白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。

6.耦合
简单地说,软件工程中对象之间的耦合度就是对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。   
有软硬件之间的耦合,还有软件各模块之间的耦合。   
耦合性是程序结构中各个模块之间相互关联的度量。它取决于各个模块之间的接口的复杂程度、调用模块的方式以及哪些信息通过接口。   
耦合可以分为以下几种,它们之间的耦合度由高到低排列如下:   
(1) 内容耦合。当一个模块直接修改或操作另一个模块的数据时,或一个模块不通过正常入口而转入另一个模块时,这样的耦合被称为内容耦合。内容耦合是最高程度的耦合,应该避免使用之。   
(2) 公共耦合。两个或两个以上的模块共同引用一个全局数据项,这种耦合被称为公共耦合。在具有大量公共耦合的结构中,确定究竟是哪个模块给全局变量赋了一个特定的值是十分困难的。   
(3) 外部耦合 。一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。   

(4) 控制耦合 。一个模块通过接口向另一个模块传递一个控制信号,接受信号的模块根据信号值而进行适当的动作,这种耦合被称为控制耦合。   

(5) 标记耦合 。若一个模块A通过接口向两个模块B和C传递一个公共参数,那么称模块B和C之间存在一个标记耦合。   
(6) 数据耦合。模块之间通过参数来传递数据,那么被称为数据耦合。数据耦合和最低的一种耦合形式,系统中一般都存在这种类型的耦合,因为为了完成一些有意义的功能,往往需要将某些模块的输出数据作为另一些模块的输入数据。   
(7) 非直接耦合 。两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的   
总结:耦合是影响软件复杂程度和设计质量的一个重要因素,在设计上我们应采用以下原则:如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,尽量避免使用内容耦合。

7. 内聚按强度从低到高有以下几种类型:
(1)偶然内聚
  如果一个模块的各成分之间毫无关系,则称为偶然内聚,也就是说模块完成一组任务,这些任务之间的关系松散,实际上没有什么联系。
(2)逻辑内聚
  几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。如一个模块读取各种不同类型外设的输入。尽管逻辑内聚比偶然内聚合理一些,但逻辑内聚的模块各成分在功能上并无关系,即使局部功能的修改有时也会影响全局,因此这类模块的修改也比较困难。
(3)时间内聚
  如果一个模块完成的功能必须在同一时间内执行(如系统初始化),但这些功能只是因为时间因素关联在一起,则称为时间内聚。
(4)通信内聚
  如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。
(5)顺序内聚
  如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入,则称为顺序内聚。
(6)功能内聚
  模块的所有成分对于完成单一的功能都是必须的,则称为功能内聚。
(7)信息内聚
  模块完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。这个模块将根据不同的要求,确定该模块执行哪一个功能。由于这个模块的所有功能都是基于同一个数据结构(符号表),因此,它是一个信息内聚的模块。

中兴笔试题目总结(四)软件工程部分相关推荐

  1. 牛客网-数据结构笔试题目(四)-Powerful Ksenia问题解决方案(附源码)

    题意 现在我们想要在n步这样的神奇异或操作之内让数组当中的所有元素全部相等,请问这一点是否可能呢?首先输出YES或NO,表示是否有解.如果有解输出需要操作的步数,以及对应选择的元素下标. 样例 在第一 ...

  2. 中兴笔试题目总结(一)C++部分

    一.编程题目 (1)输入某班级学生的姓名.分数,并对分数进行降幂排列并输出: #include <iostream> using namespace std; struct Node { ...

  3. 2019年中兴秋招在线笔试题目

    2019年中兴秋招在线笔试题目 只记得两个编程题: 第一个比较简单,原题是:一位老师获得两个分数列表,同时有两个班的人数.要求是将两个列表进行合并并排序. 第二个中等难度,彩票问题:给出一个彩票列表, ...

  4. 2014中兴笔试题 java_中兴2013Java开发笔试题目及答案.doc

    中兴2013Java开发笔试题目及答案.doc 中兴2013-Java幵发笔试题目及答案 1.请看以下代码,关于这段代码描述正确的是:0 publicclassAccount{ privateStri ...

  5. 100条经典C++笔试题目及答案分享

    100条经典C++笔试题目分享 一.C++与C差异(1-17) 二.数据类型.关键字(18-37) 三.C++面向对象的特性(38-61) 四.程序阅读题(62-89) 五.编程练习(90-100) ...

  6. 百度 腾讯 阿里 小米 笔试题目宝典

     九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试八十题 引言 自发表上一篇文章至今(事实上,上篇文章更新了近3个月之久),blog已经停了3个多月,而在那之前,自开博以来的21个月每月都不曾 ...

  7. 百度 阿里 腾讯 BAT笔试题目

     8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的     i .每次从通里面拿出来两个球:     ii.如果取出 ...

  8. C/C++面试、笔试题目(二)

    4.    static有什么用途?(请至少说明两种) 1,在函数中定义的STATIC变量在函数重复调用时维持其值不变,不在执行此变量的初始化代码. 2可以定义一个作用郁为当前文件的变量. 2, 7. ...

  9. 计算机复试题,计算机复试笔试题目

    计算机复试笔试题目 1.离散:这是第三次考的真题了!估计明年不会考了,但是以后就不一定了. 这个题目是个老题目了,考了很多年了. 已知G={ | x, y 是实数,x != 0 },且(x, y)*( ...

最新文章

  1. 转: 浅析Fusion-IO和Intel SSD
  2. 使用Visual Studio 2019开发Qt程序
  3. 五款软件快速解决网络故障问题
  4. Swift之深入解析反射Mirror与错误处理
  5. Map-Reduce 思想在 ABAP 编程中的一个实际应用案例
  6. 反射 + 抽象工厂模式切换不同的实现方法
  7. Python中的元类及元类实现的单例模式
  8. STM32——GPIO(1)
  9. 软件工程复习提纲——第二章
  10. Intel 64/x86_64/x86/IA-32处理器串行化指令(2) - 参考
  11. 微信为什么没有开屏广告?
  12. python爬取金庸小说全集
  13. 开源和非开源IM即时通讯源码有什么区别,哪个更好
  14. css字体浏览(转)
  15. win7休眠设置在哪里_win7系统如何关闭休眠模式--win7w.com
  16. 解决windows 10下文件名太长无法删除的问题
  17. 适用于 PC 的最佳 Android 操作系统(2022 版)
  18. 如何在云服务器上跑深度学习的代码?(ResNet50为例)
  19. cv.waitkey()参数详解
  20. CallServerInterceptor拦截器分析

热门文章

  1. 线性代数基础10--特征值与特征向量,行列式的空间关系
  2. Unity游戏快速制作特效
  3. 黑苹果详细安装教程-基于OpenCore官网指导-UPUPMO(macOS Monterey)
  4. 手机的 32K,26M时钟电路作用 (转载于 52rd zsqt8888的专栏)
  5. 用一个小故事模拟Spring-Aop(三)--Advice适配器
  6. javascript中document用法
  7. java代码审计_Java代码审计| Spring框架思路篇
  8. iperf3.1源码解析笔记(1)-网络压力测试工具iperf的使用
  9. python——基础3
  10. 皕杰报表中的过滤分组函数与过滤分组报表