Академический Документы
Профессиональный Документы
Культура Документы
Seminar Report
Submitted in partial fulfilment of the requirements
for the award of the degree of
Bachelor of Technology
in
Computer Science Engineering
of
Cochin University Of Science And Technology
by
JERRY MANALIL
(12080035)
Certificate
Certified that this is a bonafide record of the seminar entitled
RATIONAL UNIFIED PROCESS
Presented by the following student
JERRY MANALIL
of the VII
th
SEMINAR GUIDE
HEAD OF DIVISION
ACKNOWLEDGEMENT
I thank GOD almighty for guiding me throughout the seminar. I would like to
thank all those who have contributed to the completion of t he seminar and
helped me with valuable suggestions for improvement.
Above all I would like to thank my parents without whose blessings; I would
not have been able to accomplish my goal.
JERRY MANALIL
ABSTRACT
It has become fashionable to blame many problems
and failures in software development on the sequential, or waterfall model.
This is rather surprising because at first this method seems like a reasonable
approach to system development. The Rational Unified Process is a Software
Engineering Process. It provides a disciplined approach to assigning tasks and
responsibilities within a development organization. Its goal is to ensure the
production of high-quality software that meets the needs of its end-users,
within a predictable schedule and budget. The Rational Unified Process is a
process product, developed and maintained by Rational Software.
ii
TABLE OF CONTENTS
CHAPTER
1.
TITLE
PAGE
LIST OF FIGURES
INTRODUCTION
ii
SEQUENTIAL PROCESS
A reasonable approach
Wrong assumption 1:
Wrong assumption 2:
Process overview
Inception phase
Elaboration phase
10
Construction phase
11
Transition phase
12
Iteration
13
Core workflow
13
13
Business modelling
15
Requirements
Analysis design
16
Implementation
17
16
Test
18
Deployment
19
Project management
20
Configuration management
Environment
21
23
24
Roles
24
Activities
20
25
Activity steps
25
Artefacts
26
28
Risk mitigation
28
Accommodating changes
28
Changes in requirement
28
Tactical changes
28
Technological changes
28
Learning as you go
29
29
29
Conclusion
30
References
31
LIST OF FIGURES
FIGURE
NAME
PAGE
1.8
2.1
2.2
2.4(a)
15
2.4(b)
Workflow
23
2.5
RUP Implementation
24
(Requirement specification)
Design
(Design Specification)
Implementation
(Code)
Integration
Software product
Page 1
Page 2
Page 3
Page 4
thing you can do is to build some slack into the schedule and cross your
fingers.
1.5 STRETCHING THE TIME SCALE
If you stretch what works for a three month project to fit a three year
project, you expose the project not only to the changing context we have
discussed but also to the other subtle effects related to the people involved.
Software developers who know that they will see tangible results within the
next two to three months can remain well focused don the qualities of their
work. If small mistakes are discovered along the way, the developers wont
have to go very far back in time to correct them.
But imagine the mindset of developers in the middle of the design phase
of a three year project. The target is to finish the design within four months. In
a sequential process, the developers may not even be around to see the final
product up and running. Progress is measured in pages or diagrams and not in
operational features. There is nothing tangible, nothing to get the adrenaline
flowing.
1.6 PUSHING PAPER WORKS TO SHELVES
In the sequential process, the goal of each step except the last one is to
produce and complete an intermediate artifact that is reviewed, approach,
frozen, and then used as the sequential process place an excessive emphasis on
the production and freezing of documents. Some limited amount of feedback
to the preceding step is tolerated, but feedback on the results of earlier step is
seen as disruptive. This is related to the reluctance to change requirements and
to the loss of focus on the final product that is often seen during long projects.
Division Of Computer Science, SOE
Page 5
Page 6
Page 7
Figure 2.1 The Iterative Model graph shows how the process is structured
along two dimensions.
2.2 PHASES - THE TIME DIMENSION
This is the dynamic organization of the process along time. The software
lifecycle is broken into cycles, each cycle working on a new generation of the
product. The Rational Unified Process divides one development cycle in four
consecutive phases.
Inception phase
Elaboration phase
Construction phase
Page 8
Transition phase
Page 9
Page 10
Page 11
The outcome of the construction phase is a product ready to put in hands of its
end-users. At minimum, it consists of:
The software product integrated on the adequate platforms.
A description of the current release.
2.2.4 Transition Phase
The purpose of the transition phase is to transition the software product to
the user community. Once the product has been given to the end user, issues
usually arise that require you to develop new releases, correct some problems,
or finish the features that were postponed. The transition phase is entered
when a baseline is mature enough to be deployed in the end-user domain. This
typically requires that some usable subset of the system has been completed to
an acceptable level of quality and that user documentation is available so that
the transition to the user will provide positive results for all parties. This
includes:
Beta testing to validate the new system against user expectations
Page 12
use, and reacting to user feedback. At this point in the lifecycle, however, user
feedback should be confined primarily to product tuning, configuring,
installation, and usability issues.
2.3 ITERATIONS
Each phase in the Rational Unified Process can be further broken down
into iterations. Iteration is a complete development loop resulting in a release
(internal or external) of an executable product, a subset of the final product
under development, which grows incrementally from iteration to iteration to
become the final system.
2.3.1 Benefits of an iterative approach
Compared to the traditional waterfall process, the iterative process has
the following advantages:
Risks are mitigated earlier
Change is more manageable
Higher level of reuse
The project team can learn along the way
Better overall quality
Page 13
4. Implementation workflow
5. Test workflow
6. Deployment workflow
And three core supporting workflows:
1. Project Management workflow
2. Configuration and Change Management workflow
3. Environment workflow
Although the names of the six core engineering workflows may evoke
the sequential phases in a traditional waterfall process, it should be kept in
mind that the phases of an iterative process are different and that these
workflows are revisited again and again throughout the lifecycle. The actual
complete workflow of a project interleaves these nine core workflows, and
repeats them with various emphasis and intensity at each iteration.
It is really possible to represent all the dependencies between activities.
Often two activities are more tightly interwoven, especially when they involve
the same role or the same individual. People are not machines, and the
workflow cannot be interpreted literally as a program that people are to follow
exactly and mechanically
Page 14
Page 15
Page 16
Page 17
Page 18
the process describes how you go through the test lifecycle of planning,
design, implementation, execution and evaluation. Strategies for when and
how to automate test are described. Test automation is especially important
using an iterative approach, to allow regression testing at then end of each
iteration, as well as for each new version of the product.
2.4.6 Deployment
The purpose of the deployment workflow is to successfully produce
product releases, and deliver the software to its end users. It covers a wide
range of activities including:
Producing external releases of the software.
Packaging the software.
Distributing the software.
Installing the software.
Providing help and assistance to users.
In many cases, this also includes activities such as:
Planning and conduct of beta tests.
Migration of existing software or data.
Formal acceptance.
Although deployment activities are mostly centered on the transition phase,
many of the activities need to be included in earlier phases to prepare for
deployment at the end of the construction phase. The Deployment and
Environment workflows of the Rational Unified Process contain less detail
than other workflows.
Page 19
Page 20
Page 21
Page 22
Page 23
Page 24
activities the role performs, and each role is associated with set of cohesive
activities. Cohesive in this sense means activities that are best performed by
one person.
Each role is associated with a set of skills required to perform the
activities of the role. Roles are organized into five main categories
1. Analyst roles
2. Developer roles
3. Tester roles
4. Manager roles
5. Production and support roles
2.6.2 ACTIVITIES
Roles have activities, which define the work they perform. An activity
is a unit of work that an individual in that role may be asked to perform and
that produce a meaningful result in the context of the project. The granularity
of the project is generally a few hours to a few days. It usually involves one
person in the associated roles affects one or only a small number of artifacts.
In object oriented terms, role is an active object, and the activities that
the role performs are operations performed by that object.
2.6.2.1 Activity Steps
Activities are broken into steps. Steps fall into three main categories
Thinking steps
The person playing the role understands the nature of the
task, gathers and examines the input artifacts, and
formulates the outcomes.
Division Of Computer Science, SOE
Page 25
Performing steps
The person playing the role creates or updates some
artifacts.
Reviewing steps
The person playing the role inspects the results against
some criteria.
2.6.3 ARTIFACTS
Activities have input and output artifacts. An artifact is a piece of
information that is produced, modified, or used by process. Artifacts are
tangible products of the projects: the things the project produce or use while
working toward the final product. Artifacts are used as input by roles to
perform an activity and are the result or output of such activity.
Artifacts take various shapes or forms
A model, such as the use-case model or the design model.
A model element an element within a model-such as a class, a
use case, or a subsystem.
A document, such as business case or software architecture
document.
Source code.
Executables.
The artifacts of the rational unified process have been organized into
information sets that are aligned with the core disciplines.
Page 26
Page 27
Page 28
should avoid this kind of changes during construction and transition because it
is inherently risk.
3.3 LEARNING AS YOU GO
An advantage of the iterative process is that developers can learn along
the way, and the various competencies and specialties are employed during the
entire lifecycle. Training needs or the need for the additional help are spotted
early during the reviews. The process itself can also be improved and refined
long the way. The assessment at the end of aniteration looks at the status of
the project from a product/scheduled perspective and analyzes what should be
changed in the organization and the process so that it can perform better in the
next iteration.
3.4 INCREASD OPPORTUNITY FOR REUSE
An iterative process facilitate reuse of project elements because it is
easy to identify common parts as they are partially designed or implemented
instead of identifying all commonality in the beginning. Identifying and
developing reusable parts is difficult. Design reviews in early iterations allow
architect to identify unsuspected potential reuse and to develop and mature
common code in subsequent iteration
3.5 BETTER OVERALL QUALITY
The product that results from a n iterative will be of better overall
quality than that of conventional sequential process. The system has been
tested several times, improving the quality of testing
Page 29
4.0 CONCLUSION
Optimize the collaboration of complete team.RUP helps you unify your
team. Deliver the right product on time and on budget. RUP helps you
focus on delivering working software. Effectively be able to adopt new
techniques and tools on your project. RUP helps you leverage new tools
and techniques. RUP enables the developer to select and deploy only the
process components they need for each stage of their project. RUP is a
configurable software development process platform that delivers practice
and configurable architecture. RUP is much more advanced than sequential
process
Page 30
5.0REFERENCES
Page 31