Tuesday, May 24, 2011

UML Lecture: Methodologies

Source: people.cs.uchicago.edu/~matei/CSPP523/lect4.ppt -

Methodology

“A methodology is a collection of procedures, techniques, tools and documentation aids, supported by a philosophy, which will help the systems developers in their efforts to implement a new information system”

Methodologies are more than a collection of tools and techniques
They specify:
• The stages into which a project should be broken down
• Tasks for each stage
• Outputs produced
• Support tools to use
• How the project is to be managed and controlled
All encompassed in a philosophy

Waterfall Methodology
All phases of SDLC (Software Development Lifecycle) are executed in a sequence. Each phase completes before the next phase starts.
Philosophy of waterfall methodology
The philosophy behind waterfall seem to be that humans can do one thing at a time. Therefore, concentration should be focused on one activity and once it is completed then the other one will start.
The above philosophy is only successful when
• Requirements are known up front before design
• Requirements rarely change
• Users know what they want, and rarely need visualization
• Design can be conducted in a purely abstract space
• The technology will all fit nicely into place when the time comes
• The system is not so complex.

Problems in Waterfall
•Large amount of time and money are expanded before there is any visible results.
•Changes to requirements are difficult to manage and expensive as End-users don’t get to see the product until it is largely complete. At that time they may ask for significant changes.
•Various types of flaws remain undiscovered for lengthy period resulting in large amounts of rework when eventually discovered.

Unified Process or Rational Unified Process
Unified Process uses Unified Modelling Language (UML) although this is not necessary.
Unified Process is distinguished by being
• use-case driven
Project is managed based upon the use cases
• architecture-centric
Focus is on identifying the components and interaction among components
• iterative and incremental
Rather than a Big Bang, project is completed as small increments (which includes use-cases). While completing use cases, certain activities are performed in an iterative way. i.e. Elaboration is performed each time when we move to a new use-case

Phases of Unified Process
• Inception Phase
• Elaboration Phase
• Construction Phase
• Transition Phase

Inception Phase
• Initial requirements capture
• Cost Benefit Analysis
• Initial Risk Analysis
• Project scope definition
• Defining a candidate architecture
• Initial Use Case Model (10% - 20% complete)

Elaboration Phase
• Requirements Analysis and Capture
– Use Case Analysis
• Use Case (80% written and reviewed by end of phase)
• Scenarios
– Sequence and Collaboration Diagrams
– Class, Activity, Component, State Diagrams
– Detailed understanding and modeling of problem domain.
– Risk Assessment Plan revised
– Architecture Document
Construction Phase
• Focus is on implementation of the design:
– cumulative increase in functionality
– greater depth of implementation (stubs fleshed out)
– greater stability begins to appear
– implement all details, not only those of central architectural value
– analysis continues, but design and coding predominate
Transition Phase
• The transition phase consists of the transfer of the system to the user community
• It includes manufacturing, shipping, installation, training, technical support and maintenance
• Integration with existing systems (legacy, existing versions, etc.)

No comments:

Post a Comment