Vous êtes sur la page 1sur 4

Volume 1: Issue 1, August 2004 For Private Circulation Only

……………….. ……….. ……. …… .


NEWSLETTER ON SOFTWARE DESIGN AND architecture, Visually model software, Verify
PROCESSES
software quality, and control changes to
software.
Dear Readers,
The RUP has two aspects: static and dynamic.
Welcome to the first issue of my newsletter on
The dynamic aspect is represented by four
Software Design and Processes. The focus of
phases: inception, elaboration, construction,
the newsletters will be “How To Build Better
and transition, whereas the static aspect is
Software”. Factors such as proper requirement
represented by nine core workflows.
gathering, sound architectural design, diligent
unit testing, adoption of appropriate processes,
Four Phases of the Rational Unified Process:
proper project management, etc play an
important role in the success of a software
Phase 1- Inception:
project. Through these newsletters I wish to
The two key activities of this phase are
bring forth articles that will highlight various
definition of the business case and project
issues, and best practices, involved in Software
scope for the software project/product.
Design. I look forward to hearing your
Defining the business case constitutes defining
suggestions on how we can improve the
the success criteria, assessing risks,
newsletter, things that you enjoyed reading and
determining resources, and outlining a basic
things that you would like to read. Please mail
plan in terms of resources and schedules.
your feedback to
Defining the scope constitutes identifying all
newsletters@adaptivesoftware.biz
actors and major use cases of the system. The
culmination of the inception phase is marked
Contents by a clear definition of the objectives that the
1. Rational Unified Process: A Brief software must achieve.
Introduction
Phase 2- Elaboration:
2. Best Practice The key focus of the elaboration phase is to
analyze/understand the problem domain and
-- Converted from Word to PDF for free by Fast PDF -- www.fastpdf.com --

design a sound architecture, project plan, and


cost estimates. This phase is the main planning
1. Rational Unified Process: A Brief
phase before actually starting the
Introduction
implementation.
Introduction: The Rational Unified Process
Phase 3- Construction:
(RUP) is an attempt at combining some
The construction phase is the realization of the
industry best practices and unifying two (The
Rational approach, and the Objectory Process) business plans and architecture created in the
elaboration phase. The end of the construction
well established software development process
phase is marked with a deployable product,
into a unified process. The RUP is an
which is ready to be given to the users.
engineering process which provides a
disciplined approach to assigning tasks and
Phase 4- Transition:
responsibilities in a development organization
The transition phase is mainly marked with
to produce high quality software that meets the
installing the software on various platforms and
needs of end users within a predictable
training users. The transition phase may
schedule and budget. The Rational Unified
coincide with the inception phase of the next
Process draws from six industry best practices:
release cycle.
Develop software iteratively, Manage
requirements, use component - based

Adaptive Software Solutions: Solutions that adapt to your requirements


Volume 1: Issue 1, August 2004 For Private Circulation Only

Since RUP is an iterative process, the four of user requirements and functionality for
phases of RUP are not to be followed in a strict the proposed software.
linear manner. In fact they will usually
intertwine during an actual project execution. 3) Analysis & Design Workflow: The goal of
this workflow is to create an architectural
Static Structure of the Rational Unified model of the proposed system, which can
Process: fulfill the functionality described in the use
A process describes objectives which have to cases. The architecture of the system is
be accomplished, the time schedule within represented by various UML diagrams .
which they must be accomplished, how they
must be accomplished, and by whom. RUP has 4) Implementation Workflow: In the
four primary modeling elements (workers, implementation workflow the architecture
activities, artifacts, and workflows) that of the system is realized using a
describe the process. programming language. The components,
and classes described in the architecture are
Workers: A worker is essentially a role, which implemented and integrated into an
an individual assumes. Each role is assigned executable system. Unit testing of classes
responsibilities in the form of performing and components is also considered to be a
activities and owning artifacts. part of this workflow.

Activity: An activity is a unit of work that a 5) Test: The test workflow is used to verify
worker has to perform. Each activity has a that the system functions in an error-. free
clear purpose and is fulfilled by manner. The system is tested along three
producing/modifying an artifact. Each activity quality dimensions: reliability,
typically lasts for a few hours to a few days. functionality, and performance. Testing is
Examples of activities include ‘finding use an iterative process and should be
cases’, ‘reviewing a design’, and performed in all phases of the Rational
‘implementing a component’. Unified Process.

Artifact: An artifact represents a piece of 6) Deployment: The purpose of the


information. Artifacts are produced/modified deployment workflow is to package the
during various activities. Examples of artifacts software and successfully install it. Other
are models (use case diagram, class diagram), activities that may be performed in this
-- Converted from Word to PDF for free by Fast PDF -- www.fastpdf.com --

source code, binaries, etc. workflow are user training, data transfer,
helping users transition from their old
Workflows: workflows define a sequence in system to the new one, and formal
which activities are to be performed. They acceptance, if you want to include this.
define the ordering as well as the concurrency
of multiple activities if applicable. RUP defines 7) Project Management: The purpose of the
nine core Workflows. The first six are project management workflow is to allocate
engineering workflows, while the remaining resources for the project, define time
three are supporting workflows. schedules, and to ensure that an error-free
software is delivered on time, and within
1) Business Modeling Workflow: The budget. Risk analysis and management is
business modeling workflow provides a an very important part of the project
common language and tools to both the management workflow.
business and software engineering teams,
so that they may communicate effectively 8) Configuration & Change Management: A
and unambiguously. project consists of many artifacts (including
source code) which are produced, modified
2) Requirements Workflow: The purpose of and used by various workers. Since these
the requirements workflow is to create a list artifacts may be accessed simultaneously, it

Adaptive Software Solutions: Solutions that adapt to your requirements


Volume 1: Issue 1, August 2004 For Private Circulation Only

is important to manage them effectively to material, which will help them with more
avoid conflicts and rework. This workflow information and thus increase the probability of
provides guidelines for managing multiple success. Finally we must remember that
versions of a software, tracking changes however, good a process, it will not be
and automating builds. successful unless it is enforced properly and
adapted by the entire team.
9) Environment: The purpose of this
workflow is to provide the team with an Additional Resources:
appropriate environment (processes and 1. Rational Unified Process- An Introduction by
tools) so that they may complete the project Philippe Krutchen. Published by Adison-Wesley.
2. http://www.rational.com/products/index.html.
successfully. This workflow also explains 3. http://www.therationaledge.com
how the RUP process can be customized
for a particular organization or a project. It Note:Rational, Rational Unified Process, Rational Apex, Rational
Rose, RequisitePro,ClearQuest, Clear Case, Purify, VisualQuantify,
consists of a development kit with tools, Visual PureCoverage, PerformanceStudio, and SQA, are registered by
templates and guidelines to help Rational Software Corporation.
organizations customize the process.
About the author
If we examine the six engineering workflows Parag Shah is the founder of Adaptive
closely we may conclude that they follow a Software Solutions. He provides consulting
linear sequence of execution. However RUP is services and corporate training, for software
not a linear process, but rather an iterative one. architecture and J2EE implementation.
All nine workflows are visited iteratively at all At Adaptive Software Solutions, we focus on
stages in the development process. However providing technology consulting, custom
some workflows may be visited more often software solutions, and software technology
than others during a particular phase. . training. We believe that software solutions
Even though the RUP is a tool independent must possess two key qualities: Adaptability,
process it will prove to be extremely difficult to and Appropriateness. Adaptive, because a
manually manage every part of the process software should adapt to a clients' requirements
even for a modestly sized project. Tools from and setup rather than a client changing their
several vendors are available for managing processes for the software. Appropriate,
various aspects of the process. The Rational because a good solution is not necessarily one
Unified Process Product contains various which uses the latest and greatest technology,
components such as a knowledge Base, but rather one which fulfills the requirement,
-- Converted from Word to PDF for free by Fast PDF -- www.fastpdf.com --

Microsoft Project Plans, Development Kit, and uses the most appropriate technology to
Resource Center and RUP Book to help create a solution that best balances various
developers and project managers in every forces.
phase of the product cycle. Rational also Being extremely excited and enthusiastic about
provides us with a set of tools, which integrate technology, we also understand that technology
well with each other to give us a unified system is a means to an end. The ' end' is bringing
to manage the software development process. value to our customers. As a client you will
The set of tools include Rational Requisite Pro, benefit from our no-hype approach to
Rational Clear Quest, and Rational Rose 98, providing solutions. We make it a point never
Rational SoDA, Rational Purify, Rational to oversell technology, and always endeavor to
VisualQuantify, Rational Visual propose the most appropriate and cost effective
PureCoverage, Rational TeamTest, Rational solution for any set of requirements.
PerformanceStudio , and Rational Clear Case. Adaptive Software Solutions is headed by
As we have seen RUP provides us with a Parag Shah, who has an MS in Computer
process using which, we can significantly Science and over 6 years of experience in
increase chances of project success. However software development. Please visit our website
simply understanding RUP will not guarantee a http://www.adaptivesoftware.biz for more
successful project. Readers are advised to refer information about our consulting and training
to case studies, best practices, and other solutions.

Adaptive Software Solutions: Solutions that adapt to your requirements


Volume 1: Issue 1, August 2004 For Private Circulation Only

Best Practices
Do not over – engineer the system architecture:
As systems architects we have to foresee elements that can change in the software specification
over time. We have learnt that a good system design is one which separates things that can
change from those that don’t. However in trying to foresee potential changes we often try to
accommodate room for a lot of changes, most of which will not happen in the lifetime of the
project. This leads to an over engineered design, which is more time consuming to implement,
and difficult to understand and hence maintain. Such a design becomes counter-productive.
While designing software it is very important to view the changes we anticipate along with their
probability of occurrence. It is often a good idea not to design for a low probability change, if it
significantly increases the design complexity.

Book - Post

To,

.
-- Converted from Word to PDF for free by Fast PDF -- www.fastpdf.com --

1/A Poonam C.H.S 45/48


Lallubhai Park Road
Andheri (W), Mumbai – 400058

Copyright 2002-2004 Adaptive Software Solutions. http://www.adaptivesoftware.biz


You may share the contents of this newsletter with anyone you feel may be interested. You may also reprint
excerpts both online and offline provided that you acknowledge the source appropriately.

Disclaimer: The information in this newsletter is distributed on an as-is basis, without any warranty. Even though
we have taken utmost care to ensure correctness, neither the authors nor the publisher shall have any liability to any
person or entitle with respect to any liability, loss or damage caused or alleged to be caused directly or indirectly by
material contained in this newsletter

Adaptive Software Solutions: Solutions that adapt to your requirements

Vous aimerez peut-être aussi