第一章 软件工程基础

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的软件工程及实训指导 第一章的更多相关文章

  1. [在职软件工程]基于CMMI的软件工程教程

    第1章 软件工程基础 1.1软件工程基本原理 a.按照软件生命周期的阶段划分制定计划,严格依据计划进行管理 项目概要计划,里程碑计划,项目控制计划,产品控制计划,验证计划,运行维护计划 b.坚持进行阶 ...

  2. TensorFlow入门实操课程第一章练习笔记

    在本练习中,您将尝试构建一个神经网络,让它根据一个简单的公式来预测房屋的价格. 想象一下,如果房子的定价很简单,带一间卧室的房子价格是5万+5万,那么一间卧室的房子要花10万元:两间卧室的房子就要花1 ...

  3. TensorFlow入门实操课程第一章教程笔记

    神经元网络深度学习的起步程序 Hello World 第一个应用程序总是应该从超级简单的东西开始,这样可以看到代码如何产生和运作的整体框架. 就创建神经网络而言,我喜欢使用的例子是一个能够学习两组数字 ...

  4. 实训任务01:安装Hadoop

    实训任务1:安装Hadoop 实训1 :为Hadoop集群增加一个节点 需示说明: 运行环境:操作系统:centos6.8 ,hadoop2.6.4 在实训指导中搭建了3个节点的hadoop集群,要求 ...

  5. 软件工程实训项目案例--Android移动应用开发

    实训过程 角色分工 1.项目经理:负责项目的组织实施,制定项目计划,并进行跟踪管理 2.开发人员:对项目经理及项目负责 3.需求分析员:负责系统的需求获取和分析,并协助设计人员进行系统设计 4.系统设 ...

  6. UML基础与Rose建模实训教程

    目  录 第1章  初识UML. 1 1.1 初识UML用例图... 1 1.2 初识UML类图... 3 第2章  Rational Rose工具... 6 2.1 安装与配置Rational Ro ...

  7. Java企业实训 - 01 - Java前奏

    前言: 虽然个人专攻.NET方向,不过由于个人是干教育行业的,方方面面的东西,不能说都必须精通,但肯定多少都会涉及到. 一个菜鸟学员,从啥都不会,经过一步步学习,最后到企业上手掌管一个模块甚至一个项目 ...

  8. <实训|第三天>Linux登录界面的修改以及Richard Stallman、自由软件运动

    在写博客之前我想说两点: 承认一个错误,昨天写的实训第二天,我把redhat6.7写成了Linux6.7,感谢热心人士的指出! 昨天写的文章名字太长了,今天改善,内容感觉表述不全,希望各位谅解! 官方 ...

  9. 实训第六天(mybatis)

    今天实训第六天,我们学习了mybatis这个数据库框架,虽然说框架的环境搭建非常的繁琐,但是在了解原理和流程之后是非常的舒服的.因为有一个强大的工具被我掌握了,所以今天感觉非常的开心. 首先我们是在s ...

  10. 【笔记】7天玩转容器&CKA管理员实训

    第一部分 day1,容器基础知识介绍 安装 apt-get install docker-engine [root@cce-7day-fudonghai-24106 01CNL]# docker -v ...

随机推荐

  1. qt 运行环境配置

    注意事项: 1 在设备上进行如下配置 root@am335x-pico:/opt# export QTDIR=/opt/qt-4.6.2-arm root@am335x-pico:/opt# expo ...

  2. NetBeans的一些快捷键

    Alt + Insert getter 覆盖toString方法 Shift+ F6 运行当前文件 F6 运行当前项目 Tab 完成代码片段 ctrl+\ 代码补全 Alt + Shift + F格式 ...

  3. Android MD5加密、RSA加密

    现在公司做金融项目,需要考虑安全加密方面的问题.感谢大牛同事(冯哥) ,给我很大的帮助. 考虑到安全优化,我们把秘钥.加密步骤放到native中.考虑用到的技术:(1 )jni,(2 )OpenSSL ...

  4. FileStream与StreamReader区别

    FileStream操作字节,更适合大文件. StreamReader操作字符,更适合小文件

  5. Ubuntu16.04系统语言设置为中文以及搜狗输入法的安装

    特别声明:本文是在操作完才做的记录,不是特别详细,见谅哈! 虚拟机安装的Ubuntu16.04结果语言设置只有英文...起初没啥影响,后来发现自己的脚本注释显示全乱码,而且直接影响脚本运行(其实可能是 ...

  6. 【C++复习】第九章 模板与群体数据(1)

    1.例:求绝对值函数的模板 函数重载方便了函数的使用者,开发者还是要写两个函数 模板是用来生成函数的东西 编译器通过推导生成函数: 2.函数模板定义语法 从例题入手,别上来就扣语法 3.例9-1 函数 ...

  7. 图片转成gif 变成base64

    html2canvas   截屏的插件 http://jnordberg.github.io/gif.js/  GIF.js官网 <script src='https://imgss.githu ...

  8. vue页面多表单验证保存

    页面中有多个表单需要验证,可以使用以下方法: export default { data: { return { addOrEditVo: { name: '', description: '', a ...

  9. C++实现顺序表相关操作

    //顺序表#include<iostream>#include<cstdlib>//C中stdlib.h动态分配内存using namespace std;#define OK ...

  10. CSS3-animation实现走马灯效果

    动画animation 1.先定义动画: @keyframes 动画名称( from{} to{} ) 或者 @keyframes 动画名称( 0%{} 50%{} 100%{} ) 百分号指的是动画 ...