超越自我

一切皆有可能

 

JAVA与UML(1)

JAVAUML

1.       UML 软件工程

1>     增量和迭代(iterative and increamental)

增量    数量,大小或者范围的增加;添加或获得某些东西;一系列有规则的增加或进步.

迭代    用来产生所需结果的过程,通过重复一系列的操作,逐渐逼近所需结果.


2>    
统一过程

3>     协同过程

4>     CMM

CMMCapability Maturity Model for Software,意为“软件能力成熟度模型”。分为质量等级(CMM1~CMM5),分别为:初始级、可重复级、已定义级、已管理级和优化级.

1.0
 

1.4.1 初始级

      初始级的软件机构缺乏对软件过程的有效管理,其软件项目的成功来源于个人英雄主义而非机构行为,因此它不是可重复的。

1.4.2 可重复级

  项目计划和跟踪的稳定性,项目过程的可控性和以往成功的可重复性.

   本级的关键过程领域(KPA)包括:
1.
需求管理(Requirements Management
客户的需求是软件项目的基础。软件需求管理的目的是在客户和软件项目之间达成对客户需求的一致理解。
2.
软件项目计划(Software Project Planning
为软件工程和项目管理建立一个合理的计划。
3.
软件项目的跟踪和监督(Software Project Tacking and Oversight
使管理者对实际的软件项目进展过程有足够的了解,以在项目效能偏离计划太多是采取有效措施。
4.
软件子合同管理(Software Subcontract Management
选择合格的分包商,并有效管理之。
5.
软件质量保证(Software Quality Assurance
对软件项目过程及其间生产的各个产品进行监管以保证最终软件质量。
6.
软件配置管理(Software Configuration Management
在整个软件生命周期里建立并维护软件项目的工作产品的完整性。

1.4.3 已定义级

软件过程已被提升成标准化过程,从而更加具有稳定性、可重复性和可控性.

1.        机构过程关注(Organization Process Focus

确立机构对于改进机构的软件过程能力的软件过程活动的责任。

2.       机构过程定义(Organization Process Definition

开发和维护一组有用的软件过程assets和提供一个用于定义定量过程管理的有意义的数据的基础

3.   培训计划(Training Program
开发个体的技能和知识以使他们能够更加有效的完成他们的角色
4.  
集成软件管理(Integrated Software Management
 
基于业务环境和项目的技术需要,从机构的标准软件过程和相关的过程assets经过剪裁,将软件工程和管           活动集成为一个有机的定义的软件过程。
5.  
软件产品工程(Software Product Engineering
 
一致地完成定义良好的工程过程。它描述了项目的技术活动,如需求分析,设计,编码和测试。
6. 
组间协调(Intergroup Coordination
 
确立软件工程组主动介入其它工程组以便项目能更好满足客户要求的手段
7. 
同行评审(Peer Reviews
 
早而且有效的排除软件工作产品中的缺陷。它可通过inspection,structured walkthrough等手段进行。

1.4.4 已管理级

软件过程和软件产品都有定量的目标,并被定量地管理,因而其软件过程能力是可预测的,其生产的软件产品是高质量的.

1.定量过程管理(Quantitative Process Management
  定量地控制软件项目的过程效能。
2.
软件质量管理(Software Quality Management
  定量了解项目软件产品的质量,并达到既定的质量目标。

1.4.5 优化级

  技术和过程改进被作为常规的业务活动加以计划和管理.

1.        缺陷预防(Defect Prevention
识别出错原因,防止错误再现(通过改变定义的软件过程)

2.       技术变更管理(Technology Change Management
识别有益的新技术(工具、方法和过程),并按有序的方式将其转移至机构之中。其重点在于在变化的世界中有效的完成革新。

3.       过程变更管理(Process Change Management
连续改进机构所采用的软件过程,以改进软件质量,提高生产率和减少产品开发时间

5>     ISO9000CMM比较

ISO9000标准

 要点

过程文件

记录或指南

CMM标准

7.3.1 设计和开发策划

组织应对产品的设计和开发进行策划和控制
在进行设计和开发策划时,组织应确定:
a) 设计和开发阶段;
b) 适合于每个设计和开发阶段的评审、验证和确认活动;
c) 设计和开发的职责和权限。
组织应对参与设计和开发的不同小组之间的接口进行管理,以确保有效的沟通,并明确职责分工。
随设计和开发的进展,在适当时,策划的输出应予更新。

软件开发管理规程
项目计划规程

<软件生命周期使用指南
1 软件项目计划
2 变更申请表
3 问题状态日志
4 产品审批表
5 风险分析表
6 降低风险措施日志
7 任务描述表
8 每周状态报告
9 项目周报
10 工作细分结构
11 工作产品表

L2  SPP
L2 SCM

 

在进行设计和开发策划时,组织应确定:
a) 设计和开发阶段;
b) 适合于每个设计和开发阶段的评审、验证和确认活动;

软件开发裁剪规程

裁剪审批表

L2 SPP
L3 机构过程焦点

 

组织应对参与设计和开发的不同小组之间的接口进行管理,以确保有效的沟通,并明确职责分工。

测试规程

测试计划
测试用例
测试实施记录
缺陷汇总表
测试报告

L3

 

随设计和开发的进展,在适当时,策划的输出应予更新。
组织应对参与设计和开发的不同小组之间的接口进行管理,以确保有效的沟通,并明确职责分工。

配置管理规程

配置管理计划
配置管理报告
配置项发布报告
配置项更改申请
基线发布申请
配置管理审计报告

L2 SCM

 

组织应对参与设计和开发的不同小组之间的接口进行管理,以确保有效的沟通,并明确职责分工。

质量保证规程

软件质量保证计划
软件质量保证报告

L2 SQA

7.3.2设计和开发输入

应确定与产品要求有关的输入,并保持记录(见4.2.4)

需求管理规程

用户需求规格
软件需求规格
用户需求审批报告
软件需求审批报告
立项报告

L2 RM

 

并保持记录(见4.2.4)

配置管理规程

配置项发布报告

L2 SCM

7.3.3 设计和开发输出

设计和开发的输出应以能够针对设计和开发的输入进行验证的方式提出, 并应在放行前得到批准。

<概要设计规程>
<详细设计规程>
<编码规范>
<程序开发指南>

 

 

7.3.4设计和开发评审

在适宜的阶段,应依据所策划的安排(见7.3.1)对设计和开发进行系统的评审

<软件项目计划规程>
<评审规程>
<配置管理规程>

概要设计评审报告
详细设计评审报告
代码评审报告

 

7.3.5 设计和开发验证

 

<软件项目计划规程>
<评审规程>
<需求管理规程>

单元测试报告
模块测试报告
集成测试报告
系统测试报告
回归测试报告

 

7.3.6 设计和开发确认

应依据所策划的安排(见7.3.1)对设计和开发进行确认

<软件项目计划规程>
<评审规程(里程碑)>

<验收规程>

软件验收申请
软件验收测试计划
软件验收测试报告

L2 SQA

 

6>     ISO9001CMM比较

ISO 9001要素

本文中涉及的CMM级别

2级

3级

4级

5级

通用特点

4.1

管理职责

 

 

4.2

质量体系

 

 

4.3

合同评审

 

 

 

 

4.4

设计控制

 

 

4.5

文件和资料控制

 

 

4.6

采购

 

 

 

 

4.7

顾客提供产品的控制

 

 

 

4.8

产品标识和可追溯性

 

 

 

4.9

过程控制

 

4.10

检验和试验

 

 

 

4.11

检验、测量和试验设备的控制

 

 

 

 

4.12

检验和试验状态

 

 

 

4.13

不合格品控制

 

 

 

4.14

纠正和预防措施

 

 

 

4.15

搬运、包装、贮存、防护和交付

 

 

 

4.16

质量记录的控制

 

 

4.17

内部质量审核

 

 

 

4.18

培训

 

 

 

 

4.19

服务

 

 

 

 

4.20

统计技术

 

 

7>     XP

2.       UML

1>     类图

组件

说明

 

属性

- name: String [1] = "Untitled" {readOnly}

等于 private String name[1]=”Unittiled”;

方法

+ balanceOn (date: Date) : Money
等于 public Money balanceOn(Data date){}

关联

表示

含义

0..1

0个或1

1

只能1

0..*

0个或多个

*

0个或多个

1..*

1个或我个

3

只能3

0..5

05

5..15

515

 


class
{

  ArrayList cars=new ArrayList();

  Public void addCar(汽车 car){

    cars.add(car);

  }

}

class 汽车{

  person=new ();

}

聚合

1.       表示两个类是整体/局部的关系

2.       实例图中不含有回路,单向关系

合成(复合,组合)

1.       表示局部整体的生命周期职责

2.       他们是非共享的

泛化

一个类对另一个类的细化.


class Motor{

  public abstract int getTyre();

}

class Motorcycle{

  public abstract int getTyre(){

    return 2;

  }

}

class Car{

  public int getTyre(){

    return 4;

  }

}

自反关联


public class Test {

   public Test theTest;

   public Test() {}

}

链接关联

 

限定关联

描述

依赖

终止类

 

 

1.1

posted on 2006-02-16 11:50 jame 阅读(295) 评论(0)  编辑  收藏 所属分类: J2EE


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

常用链接

留言簿(3)

随笔档案

文章分类

文章档案

相册

收藏夹

UML

搜索

最新评论

阅读排行榜

评论排行榜