ICONIX开发过程

在项目开发上,采用什么样的开发是项目开发人员要商议的主要问题之一。在考虑项目的需求与开发的实际情况下,我们小组分析了以下三种开发过程:

1. RUP: 面向对象、基于网络的开发过程,是过程组件、方法以及技术的框架。过程结构清晰,整个开发建立在迭代的基础上,迭代周期固定,对于需求、控制的管理明确,能够灵活应对项目风险。但是开发过程中开销较大。

2. SCRUM:在每个迭代周期对需求重新审核和排序。强调沟通,强调产品重于文档,开发风险控制在较低的水平上。对项目组成员的要求很高。

3. ICONIX:介于两者之间,与RUP类似,ICONIX是用例驱动的开发过程,但是比RUP的开销小,比较紧凑。但是又不像SCRUM摈弃了分析和设计过程。ICONIX使用UML的一个子集来表达整个开发过程。

结合以上分析,考虑到我们项目时间只有两个月,工作量较大,采用ICONIX过程比较适合。

下面详细介绍一下ICONIX开发过程:

ICONIX是基于极限编程的思想,提倡在项目开始阶段,构建域模型和用户模型,其中用例模型驱动整个动态模型,而域模型驱动整个静态模型。所以,整个系统都是由用例直接或者间接驱动的。也就是说软件的体系结构和设计方案都是通过分析使用场景推断出来的。

开发过程:

1. 域建模

域建模是UML模型静态部分的基础。在建立域模型时,首先确定系统所设计的主要概念性对象及相互之间的关系。

2. 用例建模

从用户的角度来设计系统,确定用例。用例的基本格式为“名词-动词-名词”。要注意在编写用例时,要编写使用场景文本,而不是功能性需求。场景要,描述用户执行操作和系统做出的响 应。文本将放在时序图的左边,作为系统运行阶段行为的规范。

3. 需求复核与健壮性分析

确定客户、开发小组在已有的用例、域模型和原型元素达成基本一致。

绘制健壮性图进行健壮性分析,检查用例文本,根据句子的描述绘制出参与者、边界对象、实体对象和控制器等。对存在的问题进行分析,修改用例文本与静态模型。

将一些关键属性添加到类图中。

4. 详细设计-时序图

绘制时序图,将确定的函数、方法等分配给对象。

绘制步骤为:

  • 将用例文本放在左边。
  • 加入健壮性图中的实体对象。
  • 加入健壮性图中的边界对象和参与者。
  • 将方法分配给类。将健壮性图中的控制器转换为执行所需行为的方法和消息。

5. 开始编程

根据以上结果,开发小组进行编程。

时间: 2024-10-04 00:53:24

ICONIX开发过程的相关文章

采用[ICONIX] 方法实践分析和设计之六 [时序图](转)

采用[ICONIX] 方法实践BLOG设计之六 [时序图] 在前几篇文章中,我们分别进行了域模型和用例建模,并使用 Robustness工具进一步分析验证了相应用例的处理流程,并在相应模型(域模型)的基础上,通过Robustness方法引入相关的边界对象,控制对象(控制器),并更新了相应域模型中类的属性(字段).下面就可以进入到交互建模阶段了.如下图:    作为交互建模本身,就是要通过寻找对象之间的交互关系,进而进行方法(操作或行为)分配.    正所谓"只有在所有的用例为所有事件进程建立了交

软件项目需求开发过程实践之业务建模用例图

本次软件工程项目是重建办公业务流程管理平台,需要在继承原370个流程基础上,还需要提供快速流程开发能力,并要求体现出流程管理的规范性,以及流程的执行力.效率.效益,最终为企业管理创新提供流程再造的能力. 在项目前期及需求分析阶段,开发人员致力于"降低成本",以最小的代价完成项目,其可预见性的软件产品是经过系统平台升级的,并经过改良的第二个办公业务流程管理平台.按客户验收要求,"只能打60分,是不能给予验收". 在软件开发中,需求工作致力于解决"产品好卖&q

采用[ICONIX] 方法实践分析和设计之三 [需求复核](转)

需求复核旨在确保用例和域模型同时满足客户的功能性需求.同时确保客户知道开发小组将根据这些需求做何种设计.同时它也是系统分析阶段的一个里程碑(milestone).      这一阶段在ICONIX方法中的位置如下图:      三巨头的首次聚首:客户代表,开发小组代表,经理就已有的工具(用例,原型和域模型)帮助客户理解其需求,并确定系统的功能需求.在这一过程中,ICONIX方法认为可跟踪性(traceability)是非常关键的,它强调清楚每种需求是如何转换为一个或多个用例,以及域模型中的一个或

软件开发过程中的审查 (Review)

http://blog.csdn.net/horkychen/article/details/5035769 软件开发过程中的审查 (Review) 希望别人做些什么->定义出流程 希望别人做出正确的结果->定义出审查制度 软件开发项目中包括很多的审查动作,贯穿于整个开发过程.个人认为审查主要有以下目的: 1.尽早排查出潜在的问题(Potential Risk/Issue) 经过其他人的参与,以不同的视角提出不同的看法,会有类似头脑风暴的效果,集思广议来查找工程师未能注意的问题. 2.保持良好

个人阅读作业2:结合《No Silver Bullet》谈谈我在软件开发过程的遇到的困难与体会

英文捉急,只能挑一段看得比较懂的,而且正好和我们现在编程任务联系比较紧密的内容来谈一谈体会. 在<No Silver Bullet>中,作者描述了造成软件本质性困难(essence)的四个原因: 1.复杂性(complexity): 首先我们来看一下作者对软件的定义,其大意是“软件的本质是对一连串相关的概念的构建”: The essence of a software entity is a construct of interlocking concepts: data sets, rela

采用[ICONIX] 方法实践分析和设计之四 [健壮性分析]

在前三章中通过(问题域)建模和用例分析之后,在许多的UML书中可能接下来就要进行时序图和协同图的绘制了.但是问题好像还没那么简单,因为这里有一条鸿沟还没有跨过去,正如下图所示:                    在我刚学开始学习 UML时,在拿到用例文本时要去画时序图总感觉有些别扭,不知如何才能将文本中的意思完全用图的形式表达出来,总是感觉分析出来的文本中缺了一些很重要的东西, 而这些被丢掉的对象最终可能会导致无法绘制时序图,但又找不出用例文本中到底还有什么东西被遗漏,最终导致设计瘫痪.后来

采用[ICONIX] 方法实践分析和设计之二 [用例建模](转)

在上一篇文章中我们了解并进行了域建模,换言之我们有了一个好的开始,起码开发人员对自己要开发的软件已有了初步的认识,且也得到了进行交流时可以使用的术语表. 本章将会在前一篇的基本上进一步阐述使用ICONIX方法实践用例建模,同样在文章的最后还会有在这个阶段最容易犯的10个错误,以给大家提醒或在分析过程中进行参照.     本文在ICONIX方法中所处的位置如下图(红圈标记的地方)     在开始进行用例建模之前,我们需要对这一过程有一些粗线条的认识,如果您以前做过或学习过这方面的知识,可以把下面的

软件开发过程

什么是RUP? 1.RUP是风险驱动的.基于Use Case技术的.以架构为中心的.迭代的.可配置的软件开发流程 2.我们可以针对RUP所规定出的流程,进行客户化定制,定制出适合自己组织的实用的软件流程. 因此RUP是一个流程定义平台,是一个流程框架.RUP相当于计划,为开发提供步骤. 什么是XP? 极限编程是敏捷过程中最盛名的一个,广泛应用于需求模糊且经常改变的场合.极限编程是一个轻量级的.灵巧的软件开发方法:同时它也是一个非常严谨和周密的方法.它的基础和价值观是交流.朴素.反馈和勇气:即,任

angularjs单选改为多选之开发过程

很简单的需求:之前下拉框是单选,现在想改为多选. 开发过程: 问题一:自己首先想到的是网上找个example,发现貌似angularjs有相应的js包来实现,其中最多的就是isteven-multi-select和angularjs-dropdown-multiselect等. 我下载了,但是套到自己项目里面,是在是难看的很.而且貌似这些js包耦合性很高,不是我想要的那种,所以还是打算用简单的md-select.md-option.md-checkbox 来实现我想要的效果,又不想写的太人工,所