基于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 ...
随机推荐
- 建筑CAD中如何标注动态标高?CAD标注动态标高步骤
在建筑CAD软件中,标高标注用来表示某个点的高程或者垂直高度.浩辰CAD建筑软件中以标高对象来实现CAD标高的标注,标高画法符合国家建筑制图统一标准与总图制图标准的图例,同时也提供了流行的楼层标高画法 ...
- vue 图片下载
getBase64Image(img) { var canvas = document.createElement("canvas"); canv ...
- Python 元组tuple、 列表list、 字典dict、集合set、迭代器、生成器
一.元组: tuple Python 的元组与列表类似,不同之处在于元组的元素不能修改. 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组 tup2 = (111, 22, 33, ...
- 关于centos防火墙的一些问题
防火墙有两种:firewall iptables. 两个都需要设置
- nginx4层代理ssh服务
四层代理依赖模块ngx_stream_core_module,默认情况下,此模块不构建,应使用配置参数启用 --with-stream 配置文件内容: ... stream { upstream ss ...
- redis过期事件监听
1 修改 redis.conf配置文件: K Keyspace events, published with keyspace@ prefix事件 E Keyevent events, publish ...
- 【awk】找出两个文件中的不同值
https://blog.csdn.net/weixin_33534991/article/details/116683524 awk 'NR==FNR{a[$0]}NR>FNR{ if(!($ ...
- 正在运行转换: System.Runtime.Remoting.RemotingException: 无法加载类型“EnvDTE._DTE
在编写T4,引用envdte时,遇到如下错误,解决方案:右击引用中的envdte,属性中将"嵌入互操作类型"为false,重新编译库即可. 错误信息如下: 严重性 代码 ...
- Oracle修改查询优化器版本
查询优化器参数optimizer_features_enable 在每个数据库版本中,Oracle都会在查询优化器中引入或启用新的特性. 如果在升级到一个新的版本后希望保留查询优化器的行为,可以通过设 ...
- vue的双向绑定规则
vue提供了v-model双向绑定指令,用来辅助在不操作DOM的前提下,快速读取表单的数据 <!DOCTYPE html> <html lang="en"> ...
