Advertisement

关于CMM和CMMI的反思及学习笔记

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本笔记汇集了作者对CMM(能力成熟度模型)及其升级版CMMI(CMM集成模型)的理解、分析与个人感悟,旨在为技术管理和过程改进提供参考。 本人在某上市软件公司担任SQA和SEPG职务,负责基于CMM的过程改进工作。近期学习了CMMI,并对其有了一些了解。总结如下,希望得到大家的指正。 随着工程环境和过程变得越来越复杂,原有的独立CMM模型已不能适应这些新的要求。针对分段工作的弊端(如重复返工),我们需要将工作更加集成化处理,这不仅需要具备集成化的专业知识,还需要采用更综合的过程方法。多种衍生模型的发展虽然带来了理解和培训上的挑战,但也提供了必要的信息和信心来建立一个具有高度集成能力的模型。 从成本效益角度来看,统一的CMMI模型能够减少对不同模型的理解与培训的成本;同时,在改进方面,它也有助于更好地统筹分析和计划工作流程。此外,避免了封闭的过程改进方法(即按照学科单独进行过程改进而忽视整体利益),并且跨部门、多学科的合作也促进了更有效的交流机制的建立。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • CMMCMMI
    优质
    本笔记汇集了作者对CMM(能力成熟度模型)及其升级版CMMI(CMM集成模型)的理解、分析与个人感悟,旨在为技术管理和过程改进提供参考。 本人在某上市软件公司担任SQA和SEPG职务,负责基于CMM的过程改进工作。近期学习了CMMI,并对其有了一些了解。总结如下,希望得到大家的指正。 随着工程环境和过程变得越来越复杂,原有的独立CMM模型已不能适应这些新的要求。针对分段工作的弊端(如重复返工),我们需要将工作更加集成化处理,这不仅需要具备集成化的专业知识,还需要采用更综合的过程方法。多种衍生模型的发展虽然带来了理解和培训上的挑战,但也提供了必要的信息和信心来建立一个具有高度集成能力的模型。 从成本效益角度来看,统一的CMMI模型能够减少对不同模型的理解与培训的成本;同时,在改进方面,它也有助于更好地统筹分析和计划工作流程。此外,避免了封闭的过程改进方法(即按照学科单独进行过程改进而忽视整体利益),并且跨部门、多学科的合作也促进了更有效的交流机制的建立。
  • dbget
    优质
    这段学习笔记详细记录了作者在研究和理解DBGET过程中的心得体会与实践经验,旨在帮助其他研究人员快速掌握DBGET的使用方法。 ### dbget 命令相关学习笔记 #### 一、dbget命令概述 在电子设计自动化(EDA)领域,特别是使用Innovus设计平台时,`dbget`命令是一个非常重要的工具。它用于查询数据库中的信息,通过该命令可以直接访问Innovus数据库,并执行一系列查询操作来获取所需的信息。 #### 二、dbget 命令的基本语法 `dbget`命令的基本语法格式如下: ``` dbget [选项] [路径] ``` 其中: - **选项**:定义查询的方式或显示的信息类型。 - **路径**:定义要查询的对象的路径或者层次结构。 #### 三、dbget 命令的使用方法 1. **查询标准单元名称** 使用 `dbget selected.name` 可以获取当前选中的标准单元的名称。这里的 `selected` 表示已经被选中的对象,通常是某个标准单元。 2. **显示选中对象的信息** - `dbget selected.?`:列出当前选中对象下的所有子模块或属性。 - `dbget selected.??`:显示所有子模块或属性的详细信息。 - `dbget selected.?h`:提供当前选中对象下的子模块或属性的简短帮助信息。 3. **查询特定层次结构** - `dbget top.`:查询顶层的信息。 - `dbget top.insts`:查询顶层下的实例(instances)。 - `dbget top.insts.name`:获取顶层实例的名称。 - `dbget top.insts.instTerms.name`:获取实例的引脚(pins)名称。 4. **使用`, `,`, 和`h` 这些符号用于深入查询子模块或属性。例如: - `dbget selected.?`:列出选中对象的所有子模块或属性。 - `dbget selected.?h`:列出选中对象的简要帮助信息。 5. **其他命令** - `dbget selected.name`:获取当前选中对象的名称。 - `dbget selected.props`:获取选中对象的属性。 - `dbget selected.pgTerms`:获取电源网格(power grid)的端口信息。 6. **结合其他命令使用** - `llength`: 结合`llength` 命令可以计算列表中的元素数量。例如,`llength [dbget top.insts.name]` 可以计算顶层实例的数量。 - `redirect`: 用于将查询结果重定向到文件中。例如,`redirect dff.txt [dbget *.*.DFF*]` 将包含 DFF 的实例名称输出到文件dff.txt 中。 7. **特殊符号和命令** - `-V`: 用于取反查询。 - `-e`: 将返回的0x0转换为空字符。 - `-i`: 限制显示的结果数量。 - `-T`:过滤以特定字符结尾的对象名称。 8. **多层查询** 示例: - `dbget top.hinst.hinsts.name` 查询第一层级模块名称 - `dbget top.hinst.hinsts.hinsts.name` 查询第二层级模块名称 #### 四、dbget实例解析 假设我们需要获取顶层实例P4下的所有子实例的名称,并进一步获取这些子实例的引脚名称,可以按照以下步骤操作: 1. **获取顶层实例名称** ``` dbget top.name ``` 输出结果为 P4。 2. **获取子实例名称** ``` dbget top.P4.insts.name ``` 输出可能包括P3等实例名称。 3. **获取子实例的引脚名称** ``` dbget top.P4.insts.P3.instTerms.name ``` 输出可能包含A0、A1、B0、B1和Y等引脚名称。 #### 五、dbget与Innovus数据库交互 - **坐标转换** 使用 `dbu2uu` 和 `uu2dbu` 命令可以在Innovus内部坐标系统与图形界面坐标之间进行转换。 - **综合案例** 例如,查询实例 P4 下的 P3 实例的 A0 引脚在 metal1 层名称: ``` dbget top.P4.insts.P3.instTerms.A0.layer.metal1 ``` 通过以上介绍可以看出,`dbget`命令在Innovus平台中具有广泛的应用场景,并且能够帮助设计人员高效地查询和管理复杂的设计数据库。掌握这些命令的使用方法对于提高设计效率至关重要。
  • UVM.docx
    优质
    这份文档是作者在学习UVM(Universal Verification Methodology)过程中的个人笔记汇总,包含了理论知识、实践操作和心得体会等内容。 UVM学习笔记:Agent是封装了monitor、driver和sequencer的组件,并且包含两种模式——Active模式和Passive模式。在Passive模式下,agent仅包括monitor部分,不负责驱动DUT(设计待验证模块)。
  • CMM/CMMI应用与发展
    优质
    本课程探讨了CMM(能力成熟度模型)及CMMI(CMM集成模型)的发展历程、核心理念及其在软件工程和项目管理中的应用现状与未来趋势。 本段落简要介绍了CMM/CMMI的发展历程、管理理念背景、在软件过程改进中的作用以及基本内容与评估方法,并概述了我国软件能力评估标准的制定及实施情况。 为了确保软件产品的质量,美国联邦政府于20世纪80年代中期提出对软件承包商进行软件开发能力评估的要求。1987年,卡内基-梅隆大学软件工程研究所(SEI)研究并发布了《软件过程成熟度框架》,提供了两种评估方法:即软件过程评估和软件能力评价,并推出了“软件成熟度提问单”。四年之后,SEI将该框架发展成为“软件能力成熟度模型”(Software Capability Maturity Model, 简称CMM)。
  • CMMICMM区别概述
    优质
    本文将简要介绍CMM(能力成熟度模型)和CMMI(能力成熟度模型集成)的概念,并阐述二者之间的主要区别。 通过列表对比方式,简单阐述CMMI和CMM两者的主要区别如下: 1. **模型结构**: - CMM(Capability Maturity Model):采用阶段式成熟度等级划分。 - CMMI(Capability Maturity Model Integration):结合了多个过程域,并且支持连续性和阶段性两种表示方式。 2. **适用范围**: - CMM:主要应用于软件开发领域,强调组织的过程改进和管理能力提升。 - CMMI:不仅涵盖软件工程,还扩展到系统工程、集成产品开发等领域,适用于更广泛的项目管理和过程改进需求。 3. **灵活性与适应性**: - CMM:模型结构较为固定且严格遵循成熟度等级的递进关系。 - CMMI:提供了更多的自定义选项和灵活的应用方式,允许组织根据自身特点选择适合的过程域进行实施。 4. **评估方法**: - CMM:采用基于特定过程域的评级体系来进行评估。 - CMMI:除了传统的成熟度等级评价之外,还引入了能力级别(Performance Capability Level, PCL)的概念来衡量不同方面的表现情况。
  • Spring维导图.xmind
    优质
    本文件为个人整理的Spring框架学习过程中所记录的思维导图,内容涵盖了Spring核心概念、配置管理、AOP编程等方面的知识点与实践总结。 Spring学习笔记.xmind
  • 张龙JAVA圣
    优质
    《张龙JAVA圣思园学习笔记》是由Java编程爱好者张龙整理的学习心得和代码示例集锦,基于圣思园培训课程内容。适合初学者参考使用,帮助理解Java核心概念和技术实践。 圣思园张龙老师的课堂笔记涵盖了JAVA-SE基础内容,包括IO、线程、序列化、集合以及JVM的讲解。
  • SpringBoot维导图.xmind
    优质
    这是一份详细记录了使用Spring Boot进行开发时所需掌握的核心知识点和技能的思维导图文件。包含了从环境配置到项目部署的各项内容,适合初学者快速上手以及经验开发者复习巩固知识结构。 Spring Boot 学习笔记 ### Spring基础 - **Spring概述** - Spring的简史 - XML配置与注解配置对比、Java配置介绍 - **核心容器CoreContainer** - 模块:`spring-core`, `spring-beans`, `spring-context`, `spring-context-support` - **AOP模块** - 包括Spring-AOP和Spring-Aspects ### Spring的生态 包括但不限于以下框架: - Spring Boot - Spring Cloud - Spring Data - Spring Integration ... ### Maven简介与项目搭建 Maven介绍,安装及使用pom.xml文件配置依赖(dependencies)。 #### 配置变量定义、编译插件等。 详细描述如何通过maven来管理Spring项目的构建过程,包括在`pom.xml`中设置依赖项和变量,并添加必要的插件以支持项目开发流程。 ### Spring基础配置 - **声明Bean的注解** - `@Component` - `@Service`, `@Repository`, `@Controller` - **注入Bean的注解** - `@Autowired` - `JSR-330`提供的`@Inject` - JSR-250提供的`@Resource` ### Java配置 使用@Configuration和@Bean进行Java代码级别的配置。 ### AOP 介绍AOP的基本概念,包括切面(@Aspect)、拦截规则(如 @Before, @After, @Around)等核心术语,并解释PointCut与JoinPoint的概念及其在实际开发中的应用。 #### Spring常用配置 - Bean的Scope定义:`Singleton`, `Prototype`, `Request`, `Session` ### SpringEL和资源调用 介绍如何使用Spring表达式语言(SpEL),以及注入普通字符、操作系统属性等信息的方法。此外,还涵盖了通过表达式计算结果、文件内容及外部网址等内容。 #### Bean的初始化与销毁配置 - **Java方式**:通过实现InitializingBean或DisposableBean接口来定义。 ### Spring高级话题 涵盖Spring Aware概念(如`ApplicationContextAware`, `ApplicationEventPublisherAware`)和多线程编程,计划任务等,并深入讲解条件注解@Conditional以及组合注解与元注解(@Enable*)的工作原理。 #### 测试框架集成测试介绍 - **Spring TestContext Framework**:用于自动化单元测试的高级工具集。 ### Spring MVC基础 快速搭建一个基于Maven的Spring MVC项目,包括日志配置、演示页面创建等步骤。详细说明了控制器设置以及使用@Controller, @RequestMapping等一系列常用注解。 #### 高级配置与自定义扩展 - **静态资源映射** - 拦截器和异常处理 - 自定义HttpMessageConverter(如MappingJackson2HttpMessageConverter) ### SpringBoot基础 介绍Spring Boot的核心概念,包括独立运行的项目、内嵌Servlet容器的支持以及自动化的Maven配置简化。 #### 核心功能与优势 - 快速构建项目的能力。 - 无代码声明和XML配置的需求。 ### 配置文件及starter pom 详细描述如何使用`application.properties`, `application.yml`等进行Spring Boot应用的配置。同时,介绍了官方提供的多种Starter以支持快速集成主流开发框架。 #### SpringBootCLI与IDE工具 - **STS (Spring Tool Suite)** - IntelliJ IDEA和NetBeans作为替代方案 ### 快速搭建示例 通过简单的演示来展示如何使用Spring Boot CLI或Maven手动构建一个基本的应用程序,以及在这些环境中运行的步骤。
  • JDBC JDBC
    优质
    本笔记汇集了对Java数据库连接(JDBC)技术的学习心得与实践经验,旨在帮助初学者快速掌握JDBC的基础知识和高级特性。 JDBC 是 Java 语言访问数据库的一套接口集合,在本质上是调用者(程序员)与实现者(数据库厂商)之间的协议。由数据库厂商提供的驱动程序实现了 JDBC API,使得开发人员可以使用纯Java的方式连接并操作数据库。 ODBC 则是一种基于C语言的数据库访问接口,而JDBC 可以视为 Java 版本的 ODBC。JDBC 的特性包括高度一致性和简单性(常用的接口只有4、5个)。 在 JDBC 中有两个主要包:java.sql 和 javax.sql。 - **java.sql** 包含了用于基本数据库编程服务的类和接口,如生成连接、执行语句以及准备语句和运行批处理查询等。此外还包括一些高级功能,例如批处理更新、事务隔离及可滚动结果集等。 - **javax.sql** 提供了更多的高级操作接口与类,比如为连接管理、分布式事务和旧式连接提供更好的抽象,并引入容器管理的连接池、行集等功能。 以下是 JDBC 中几个重要的 API 说明: - `java.sql.Connection`:代表特定数据库的会话。能够通过 getMetaData 方法获取关于支持的 SQL 语法、存储过程及功能的信息。 - `java.sql.Driver`:每个驱动程序类都需要实现此接口,同时每一个数据库驱动应当提供一个实现了 Driver 接口的具体类。 - `java.sql.DriverManager`(Class):管理一组 JDBC 驱动的基本服务。作为初始化的一部分,它会尝试加载在 jdbc.drivers 系统属性中引用的驱动程序。 - `java.sql.Statement`:用于执行静态 SQL 语句并返回其生成的结果对象。 - `java.sql.PreparedStatement`:继承自 Statement 接口,表示预编译过的 SQL 语句的对象。可以高效地多次使用该对象来执行相同的语句。 - `java.sql.CallableStatement`:用来访问数据库中的存储过程,并提供指定输入/输出参数的方法。 - `java.sql.ResultSet`:代表查询返回的数据库结果集。 - `java.sql.ResultSetMetaData`:用于获取 ResultSet 对象中列的信息。