RUP is a software methodology and process framework that can be adapted and extended to suit the environment, organization and needs of the adopter. It is built on software development best practices, with embedded guidance on many techniques and approaches:
The process itself combines two dimensions. The first dimension represents the static aspect, describing the process in terms of activities, workflows, artifacts, and workers, whereas the second dimension represents the dynamic aspect of the process as it is enacted, and it is expressed in terms of cycles, phases, iterations, and milestones. Process descriptionThe RUP employs three fundamental elements: workers, activities, and artifacts. Workflows associate workers with sequenced activities to produce artifacts. Workers describe the ‘who’. A worker defines the behavior and responsibilities of a role. The behavior is expressed in terms of activities to be performed by the worker. The responsibilities are expressed in relation to artifacts to be produced, owned and controlled by the worker. Activities describe the ‘how’. An activity defines the work to be performed by a worker, and is expressed in terms of creating or modifying artifacts, e.g. a model, a class, or a project plan. An activity should equate to a project-planning element so that its progress can be tracked. Artifacts describe the ‘what’. An artifact is a tangible piece of information that is produced, modified, or used by a process. To perform an activity, workers use artifacts as inputs; they also form the output of such activities. Artifacts can be composed of other artifacts, e.g. a design model can contain many classes. Workflows describe the ‘when’. A workflow provides a meaningful way to describe sequences of activities that produce artifacts and to show interactions between workers. RUP is organized into nine core workflows:
Although workflows 1 through 6 constitute the sequential phases in a traditional waterfall process, in an iterative development cycle, these workflows are visited repeatedly in each iteration, throughout the lifecycle. A shifting focus across the development lifecycleThe iterative process is organized in phases each concluded by a major milestone. Inception: Achieve concurrence among all stakeholders on the lifecycle objectives for the project:
Elaboration: Analyze the problem domain, establish a sound architectural foundation, develop the project plan, and eliminate the highest-risk elements.
Construction: Develop, integrate, and test the remaining components and application features.
Transition: Promote the software to the user community.
These four phases constitute a development cycle and produce a software generation. Software will evolve into the next generations through a repetition of the sequence of inception, elaboration, construction, and transition phases. Each phase comprises one or more iterations, and each iteration contains the core workflows, but from one iteration to the next, the emphasis on the various activities will change. |
||
Methodologies | Project Management | Analysis & Modeling | Development | Testing | Quality Assurance |
|
Home | Services | Contact Us |
Copyright © 2008 Anton Consulting | info | webmaster | site map | guestbook | tell a friend |