基于CMMI的软件工程及实训指导 第一章
第一章 软件工程基础
1. 软件工程概述
1.1 软件工程概念
软件工程是从管理和技术两方面来研究如何采用工程的概念、原理和技术方面并加以综合,指导开发人员更好地开发和维护计算机软件的一门新学科。
1.2 软件工程基本原理
软件工程专家波汉姆(Boehm)于1983年在一篇论文中提出了软件工程的7条基本原理:
1 按照软件生命周期的阶段划分制订计划,严格依据计划进行管理
2 坚持进行阶段评审
3 实行严格的产品控制
4 采用现代程序设计技术
5 结果应能清楚地审查
6 开发小组的人员应该少而精
7 承认不断改进的软件工程实践的必要性
2.1 ISO9001
ISO9001是迄今为止世界上最成熟的质量框架,它规定了公司质量管理体系的基本要求,且适用于所有行业或经济领域。它帮助各类组织通过客户满意度的改进、员工积极性的提升及持续改进来获得成功。
2.2 8条质量管理原则
1 以客户为中心
2 高层管理者推动
3 全员参与
4 采用过程方法
5 系统的管理
6 持续改进
7 基于事实的决策
8 互利的供方关系
2.3 建立和实施质量管理体系的步骤
1 确定顾客的需求和期望
2 建立公司的质量方针和质量目标
3 确定实现质量目标所必需的过程和职责
4 针对每个过程实现质量目标的有效性确定测量方法
5 通过测量,确定每个过程的现行有效性
6 确定防止不合格项并消除产生原因的措施
7 寻找提高过程有效性的效率和机会
8 确定并优先考虑那些能提供最佳结果的改进
9 为实施已确定的改进,对战略、过程和资源进行策划
10 实施改进计划
11 监控改进效果
12 对照预期效果,评价实际结果
13 评审改活动,确定必要的纠正、跟踪措施
2.4 过程方法
系统识别和管理组织内所使用的过程,特别是这些过程之间的相互作用,称为“过程方法”。
3. 项目管理知识体系PMBOK
PMBOK(Project Management Body Of Knowledge),项目管理知识体系,是美国项目管理协会(PMI)对项目管理所需的知识、技能和工具进行的概括性描述。
3.1 8条项目基本属性
1 整体性
2 唯一性
3 一次性
4 目标性
5 多约束性
6 依赖性
7 冲突性
8 周期性
3.2 项目参数
一个项目的主要参数有:范围、进度、资源、成本、质量。
3.3 项目生命周期
3.4 项目管理的5个基本过程
启动过程、策划过程、执行过程、控制过程、结束过程
3.5 项目管理基本职能

3.6 项目管理成熟度模型
项目管理成熟度模型(Project Management Maturity Model),简称PMMM。
PMMM V5.0标准文本分为5级:初始级、可重复级、已定义级、受管理级、优化级。
4. 软件能力成熟度模型集成CMMI
软件能力成熟度模型集成(Capability Maturity Model Integration),简称CMMI。
目的是:为提高组织过程和管理产品开发、发布和维护能力提供保障,帮助 组织客观评价自身能力成熟度和过程域能力,为过程改进建立优先级以及执行过程改进。
CMMI实施或软件过程改进(Software Process Improved,SPI)采用的方法称IDEAL模式,分为启动(Initiating)、诊断(Diagnosing)、建立(Establishing)、行动(Acting)、推进(Leveraging)。

基于CMMI的软件工程及实训指导 第一章的更多相关文章
- [在职软件工程]基于CMMI的软件工程教程
第1章 软件工程基础 1.1软件工程基本原理 a.按照软件生命周期的阶段划分制定计划,严格依据计划进行管理 项目概要计划,里程碑计划,项目控制计划,产品控制计划,验证计划,运行维护计划 b.坚持进行阶 ...
- TensorFlow入门实操课程第一章练习笔记
在本练习中,您将尝试构建一个神经网络,让它根据一个简单的公式来预测房屋的价格. 想象一下,如果房子的定价很简单,带一间卧室的房子价格是5万+5万,那么一间卧室的房子要花10万元:两间卧室的房子就要花1 ...
- TensorFlow入门实操课程第一章教程笔记
神经元网络深度学习的起步程序 Hello World 第一个应用程序总是应该从超级简单的东西开始,这样可以看到代码如何产生和运作的整体框架. 就创建神经网络而言,我喜欢使用的例子是一个能够学习两组数字 ...
- 实训任务01:安装Hadoop
实训任务1:安装Hadoop 实训1 :为Hadoop集群增加一个节点 需示说明: 运行环境:操作系统:centos6.8 ,hadoop2.6.4 在实训指导中搭建了3个节点的hadoop集群,要求 ...
- 软件工程实训项目案例--Android移动应用开发
实训过程 角色分工 1.项目经理:负责项目的组织实施,制定项目计划,并进行跟踪管理 2.开发人员:对项目经理及项目负责 3.需求分析员:负责系统的需求获取和分析,并协助设计人员进行系统设计 4.系统设 ...
- UML基础与Rose建模实训教程
目 录 第1章 初识UML. 1 1.1 初识UML用例图... 1 1.2 初识UML类图... 3 第2章 Rational Rose工具... 6 2.1 安装与配置Rational Ro ...
- Java企业实训 - 01 - Java前奏
前言: 虽然个人专攻.NET方向,不过由于个人是干教育行业的,方方面面的东西,不能说都必须精通,但肯定多少都会涉及到. 一个菜鸟学员,从啥都不会,经过一步步学习,最后到企业上手掌管一个模块甚至一个项目 ...
- <实训|第三天>Linux登录界面的修改以及Richard Stallman、自由软件运动
在写博客之前我想说两点: 承认一个错误,昨天写的实训第二天,我把redhat6.7写成了Linux6.7,感谢热心人士的指出! 昨天写的文章名字太长了,今天改善,内容感觉表述不全,希望各位谅解! 官方 ...
- 实训第六天(mybatis)
今天实训第六天,我们学习了mybatis这个数据库框架,虽然说框架的环境搭建非常的繁琐,但是在了解原理和流程之后是非常的舒服的.因为有一个强大的工具被我掌握了,所以今天感觉非常的开心. 首先我们是在s ...
- 【笔记】7天玩转容器&CKA管理员实训
第一部分 day1,容器基础知识介绍 安装 apt-get install docker-engine [root@cce-7day-fudonghai-24106 01CNL]# docker -v ...
随机推荐
- Flink 消费RabbitMQ 和 Kafka
在消息RabbitMQ时,我们关心的一个问题是手动ack还是自动ack,如果是自动ack就怕出现丢消息的情况 Flink以RabbitMQ作为Source,是怎么保证消息唯一性的呢,是怎么保证ack的 ...
- spring 使用@Async注解实现异步调用
1.先定义一个事件,该类继承 ApplicationEven的抽象类 import org.springframework.context.ApplicationEvent; public class ...
- C++内存分配Arena,指的是提前分配的一大块连续内存空间
参考: https://stackoverflow.com/questions/12825148/what-is-the-meaning-of-the-term-arena-in-relation-t ...
- prometheus-alertmanager 告警规则
# 告警规则参考 https://awesome-prometheus-alerts.grep.to/rules
- vue store用法
import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) 首字母不能大写 export default new Vuex.Store({ ...
- cv::inRange
// 简单实现 cv::namedWindow("Example 2-3", cv::WINDOW_AUTOSIZE); cv::VideoCapture cap; cap.ope ...
- js转换文件的size由KB转换为B、MB、GB
// 单位转换export function bytesToSize(sizes) { let mYsize = sizes if(mYsize == 0) return 0 + 'B'; if(mY ...
- ABAP 报表的两种下钻功能
在报表开发中往往会由需求要求跳转,SAP中提供了一些下钻的方式. 这里主要介绍两种 submit 和 call transaction submit 引用的是报表名称,以自开发报表居多 call tr ...
- 处理code中代码格式化与eslint冲突
在结尾去掉分号 让字符串格式化之后用单引号表示 去掉格式化后自动给末尾加的逗号 在根目录下新建一个文件prettierrc 输入如下 函数名与()之间取消空格 打开eslintrc.js 输入如下代码 ...
- 基于ALSA库实现音频采集和播放遇到的问题
最近基于Linux系统C语言实现音频的采集和播放,建立了两个子线程,一个通过调用snd_pcm_readi来实现采集数据,并存入FIFO中,另一个从FIFO中取数据并通过udp的sendto发送出去, ...
