1、像rup,iconix是用例驱动的但是比rup更轻量级。  iconix 仅仅使用四种diagram(用例图健壮性图、时序图、类图)就可以把用例文本转成代码。

2、值得注意的健壮性分析图并不是uml标准的一部分。健壮性分析图架起了分析和设计的桥梁。是可以参看:http://www.agilemodeling.com/artifacts/robustnessDiagram.htm

Overview of the ICONIX Process

The ICONIX process is split up into four milestones. At each stage the work for the previous milestone is reviewed and updated.

Milestone 1: Requirements review

Before beginning the ICONIX process there needs to have been some requirements analysis done. From this analysis use cases can be identified, a domain model produced and some prototype GUIs made.

在需求审核阶段,产生了use  case text,use  case, domain model ,prototype guis 等。

Milestone 2: Preliminary Design Review

Once use cases have been identified, text can be written describing how the user and system will interact. A robustness analysis is performed to find potential errors in the use case text, and the domain model is updated accordingly. The use case text is important for identifying how the users will interact with the intended system. They also provide the developer with something to show the Customer and verify that the results of the requirements analysis were correct.

画出健壮性分析图,更新第一阶段的内容。

Milestone 3: Detailed Design Review

During this stage of the ICONIX process the domain model and use case text from milestone 2 are used to design the system being built. A class diagram is produced from the domain model and the use case text is used to make sequence diagrams.

画出顺序图和类图。

Milestone 4: Deployment

Unit tests are written to verify the system will match up to the use case text, and sequence diagrams. Finally code is written using the class and sequence diagrams as a guide.

ICONIX过程总览--ICONIX过程的特点
  ICONIX过程是一种以最少步骤实现从用例到代码的OOAD[object-oriented analysis and design]方法学,开覆盖了软件过程中所有关键的环节。
  ICONIX过程使用了一个最小的UML核心子集实现用例驱劢的OO设计。(传说中的20%)
  本方法将健壮性分析[robustness analysis]作为从需求到设计的重要过渡步骤,这是其它软件过程方法中几乎没有或忽视的。
  ICONIX过程的最主要特点是有健壮性分析的过程,它是连接需求和设计的桥梁。健壮性分析可以完善用例分析描述,使其更加清晰,
  ICONIX主要分为四个阶段: 需求分析阶段、初步设计阶段、详细设计阶段、部署阶段。
  ICONIX过程总览--ICONIX过程值得掌插的理由
  1.只使用4个UML图(用例图、健壮性图、时序图、类图)完成所有工作;
  2.在不同阶段便于迭代和跟踪;
  3.形成清晰、完善的用例,使需求满足用户,使设计正确指导开发人员;
  4.在敏捷开发中同样适用;
  5.经过上百真实项目的验证;

ICONIX Process的更多相关文章

  1. IIS启动失败,启动Windows Process Activation Service时,出现错误13:数据无效 ;HTTP 错误 401.2 - Unauthorized 由于身份验证头无效,您无权查看此页

    因为修改过管理员账号的密码后重启服务器导致IIS无法启动,出现已下异常 1.解决:"启动Windows Process Activation Service时,出现错误13:数据无效&quo ...

  2. C#的Process类调用第三方插件实现PDF文件转SWF文件

    在项目开发过程中,有时会需要用到调用第三方程序实现本系统的某一些功能,例如本文中需要使用到的swftools插件,那么如何在程序中使用这个插件,并且该插件是如何将PDF文件转化为SWF文件的呢?接下来 ...

  3. C# ShellExcute与Process

    C#运行外部程序的两种方法 ShellExecute using System.Runtime.InteropServices; public enum ShowWindowCommands : in ...

  4. 【手记】调用Process.EnterDebugMode引发异常:并非所有引用的特权或组都分配给呼叫方

    刚上线一个新版本,其中有台电脑打开软件就报[xx的类型初始值设定项引发异常](还好不是一大波电脑,新东西上线就怕哀鸿遍野),如图: 显然是该类型的静态构造函数中抛异常了(红线处就是类名),遂打开该类, ...

  5. C# - 多线程 之 Process与Thread与ThreadPool

    Process 进程类, // 提供对本地和远程进程的访问,启动/停止本地系统进程 public class Process : Component { public int Id { get; } ...

  6. Java Business Process Management(业务流程管理) 初识环境搭建

    一.简介 (一)什么是jbpm JBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流程管理.工作流.服务协作等领域的一个开源的.灵活的.易 ...

  7. Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details

    thinkphp 在Apache上配置启用伪静态,重启Apache1 restart 竟然失败了,报错 Job for httpd.service failed because the control ...

  8. 更新过程 renewal process

    一类随机过程.是描述元件或设备更新现象的一类随机过程.设对某元件的工作进行观测.假定元件的使用寿命是一随机变量,当元件发生故障时就进行修理或换上新的同类元件,而且元件的更新是即时的(修理或更换元件所需 ...

  9. Transaction (Process ID xxx) was deadlocked on lock

    Transaction (Process ID 161) was deadlocked on lock | communication buffer resources with another pr ...

随机推荐

  1. 动态规划 70.climbing Stairs

    1. 记忆化搜索 - 自上向下的解决问题:使用vector来保存每次计算的结果,如果下次再碰到同样的需要计算的式子就不需要重复计算了. 2. 动态规划 - 自下向上的解决问题 解法一:自顶向下 解法二 ...

  2. 我所理解的session_set_save_handler的执行顺序机制

    默认的session handler启动顺序 <?php ini_set('session.gc_maxlifetime',10); ini_set('session.gc_probabilit ...

  3. drf之视图案例

    views.py from django.shortcuts import render # Create your views here. from rest_framework.generics ...

  4. bugzilla部署问题

    2018-09-25 1.部署环境 kvm虚拟机内    centos 7 系统    httpd+mariadb+bugzilla 关闭系统selinux.防火墙 setenforce 临时关闭se ...

  5. PIE SDK矢量透明度、标注控制

    1. 功能简介 透明度和标注是矢量图层的相关属性:图层透明值是0-100间的整数,标注是显示在地图上的文字信息,它是出图中不可或缺的重要元素.标注的样式丰富,并且放置位置灵活. 2. 功能实现说明 2 ...

  6. Linux acpi off学习的必要

    ACPI是Intel(i386,x86_64,IA64)平台的标准固件规范,绝大部分OS需要从BIOS得到的信息都可以从ACPI得到,并且现在的趋势是未来的任何新的特性相关的信息都只能从ACPI得到. ...

  7. Proguard breaking audio file in assets or raw

    http://stackoverflow.com/questions/21440572/proguard-breaking-audio-file-in-assets-or-raw Issue: I h ...

  8. Struts2中Action对象的set方法和get方法调用规则

    Struts的Action是采用的是多实例多线程设计,而不是像Servlet那样采用单实例多线程设计,因此在struts中,一个请求就对应一个Action对象,个对象之间的数据相互之间互不干扰.没接到 ...

  9. HDU 5635 ——LCP Array ——————【想法题】

    LCP Array Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total ...

  10. 省市区json数据

    window.LocalList = [ { region:{ name:'北京市', code:'11', state:[ { name:'北京', code:'01', city:[ {name: ...