Using a Single Business Pattern with the RUP -part2Using a Single Business Pattern with the RUP -part2
The architecture of the RUP
Figure 2 shows the overall architecture of the Rational Unified Process. Theprocess has two dimensions:-The horizontal dimension represents time and shows the phase and iterationmilestones that occur over the life of the project.
-The vertical dimension represents content, in logical groupings calleddisciplines.
Figure 2 Architecture of RUP
The “humps” in the chart show the relative emphasis of the disciplines over time.Iterative development is shown; we see all disciplines represented in everyiteration. What changes is the emphasis, for example, more requirements in theearly stages of the project and more testing in the later stages.RUP follows a standard meta-model1 for describing software processes, thatincludes the following concepts:-Artifacts: What is produced-Activities: How to perform the work-Roles: Who performs the work
ArtifactsArtifacts can take various shapes or forms, such as:-A model, such as the use-case model or the design model. These containmodel elements (sub-artifacts) such as design classes, use cases, anddesign subsystems.-Databases or other types of tabular information repositories such asspreadsheets.-Source code and executables.-Various types of documents, for example, a specification document, such asthe requirements specification, or a plan document, such as the softwaredevelopment plan.RolesA role defines the behavior and responsibilities of an individual, or a set ofindividuals working together as a team, within the context of a softwareengineering organization.Note that roles are not individuals; instead, roles describe responsibilities. Anindividual will typically take on several roles at one time and frequently willchange roles over the duration of the project.ActivitiesAn activity is work performed by a role. It is usually defined as a series of stepsthat involve creating or updating one or more artifacts.Some examples of activities are:-Find actors and use cases: An activity performed by the system analyst roleto identify high-level functional requirements in terms of actors and
usecases.-Describe distribution: An activity performed by the software architect role todescribe software distribution across multiple processors.Workflow and workflow detailsA process should describe which activities are performed together and the orderin which activities are performed. A workflow is a sequence that shows how workis ordered.RUP describes a workflow for each discipline. The elements in the workflow aregroupings of activities referred to as workflow details. The groupings areactivities that are performed together to achieve a specific result. Figure 3 showsthe workflow for the analysis and design discipline.
Figure 3 Analysis and design discipline workflow
The diagram shown in Figure 4 describes the workflow detail “define a candidatearchitecture.”
Figure 4 Define a candidate architecture workflow
PhasesAnother key concept in RUP is phases. Phases provide project milestones thatensure that iterations make progress and converge on a solution, rather thaniterate indefinitely.The phases of RUP are:-Elaboration: The software architecture is established and validated with anexecuting architectural version of the system.-Construction: The focus is on completing the development of the system.-Transition: The software is deployed and made acceptable to its end users. The objectives of each phase are achieved by executing one or more iterationswithin the phase. Each phase concludes with a milestone at which the phasesare assessed to determine if the project has achieved the specified objectives ofthe phase. The project cannot move to the next phase until these objectives areachieved. See Figure 5.The objectives of each phase are described in more detail in the next section. Figure 5 The phases and milestones of a project