Вы находитесь на странице: 1из 13

MIS326

SOFTWARE DEVELOPMENT
METHODOLOGIES
and
THE UNIFIED PROCESS

Spring-910 1

MIS326 Key Idea


 Many failed software systems were abandoned because
analysts tried to build wonderful systems without
understanding the organization.
 The primarily goal is to create value for the organization.
 Quality is satisfaction of requirements, not ‘goodness’
 The systems analyst is a key person analyzing the
business, identifying opportunities for improvement, and
designing software (information) systems to implement
these ideas.

Spring-910 2
MIS326 DEVELOPING SOFTWARE SYSTEMS

User Software
Application Requirements Product
Software
Development
Domain System
Process

Spring-910 3

MIS326 PROCESS — A GENERIC VIEW

 definition phase → focus is on what, who, when, where


– planning
– requirements gathering
– analysis

 development phase → focus is on how


– design
– coding
– testing
– deployment

 maintenance phase → focus is on change

Spring-910 4
CODE-AND-FIX SOFTWARE DEV. PROCESS
MIS326

 process: write code, fix errors, enhance functionality

 many changes → code structure becomes messy, hard to fix

 not suitable for large system development because:


– turnover of personnel
– difficult to fix code
– user requirements can not easily be matched

 development becomes:
– unpredictable
– uncontrollable
– over schedule, over budget, low quality

Spring-910 5

MIS326 WHAT IS A METHODOLOGY?


• Writing code without a well-thoughtout system request
may work for small programs, but rarely works for large
ones

• More structured software development process needed

• Methodology: is a formalized approach to implementing


the Software Development Process.

• A formalized approach = series of steps


 The methodology will vary depending on whether the
emphasis is on businesses processes or on the data that
supports the business

Spring-910 6
MIS326 WATERFALL DEVELOPMENT
Requirements produces a requirements specification document
Analysis

Design produces a design specification document

produces an implemented
Code
collection of modules

produces a tested
Test
assembly of modules

Maintenance

T I M E
keeps the system
working and
up-to-date

Spring-910 7

MIS326
WATERFALL DEVELOPMENT
DELAYS REDUCTION OF RISK

Requirements
R Analysis
I
Design
S
K
Code

Test

Maintenance

T I M E

Spring-910 8
MIS326 PHASED DEVELOPMENT

Developers

Build release 1 Build release 2 Build release 3

Time
Users

Use release 1 Use release 2 Use release 3

Spring-910 9

MIS326 PHASED PARADIGM — INCREMENTS


& ITERATIONS
incremental development –> partial system; full functionality

iterative development –> full system; partial functionality

Spring-910 10
APPLY THE WATERFALL ITERATIVELY
MIS326
TO SYSTEM INCREMENTS
Iteration 1 Iteration 2 Iteration 3
R R R
D D D
C C C
T T T

T I M E

 Earliest iterations address greatest risks


 Each iteration produces an executable release, an
additional increment of the system
 Each iteration includes integration and test

Spring-910 11

ITERATIVE DEVELOPMENT
MIS326
ACCELERATES RISK REDUCTION

K Iterative Waterfall

Iteration Iteration Iteration Iteration Iteration Iteration Iteration


T I M E

Spring-910 12
THE UNIFIED PROCESS (UP)
MIS326

 The Unified Software Development Process is an industry


standard software development process
– commonly referred to as the "Unified Process" or UP
– the generic process for the UML

 UP is:
– Requirements driven
– Risk driven
– Architecture centric
– Iterative and incremental

 UP is a generic software development process.


– Rational Unified Process (RUP) is an instantiation of UP
– RUP is a product marketed and owned by Rational,IBM

Spring-910 13

MIS326 ITERATIONS
 Iterations are the key to the UP

 Each iteration is like a mini-project including:


– Planning
– Analysis and design
– Integration and test
– An internal or external release
– The result of an iteration is an increment

 We arrive at a final product release through a sequence


of iterations

 Iterations are organised into phases

Spring-910 14
MIS326 ITERATION WORKFLOWS

 Each iteration may contain all of the core workflows but


with a different emphasis depending on where the
iteration is in the lifecycle

UP specifies 5 core workflows

Requirements Analysis Design Implementation Test

Spring-910 15

MIS326 BASELINES AND INCREMENTS


 Each iteration generates internal (or external)
releases of various artefacts which together
constitute a baseline
 A baseline is a set of reviewed and approved
artefacts that:
– Provide an agreed basis for further review and development
– Can be changed only through formal procedures such as configuration
and change management

 Each iteration also generates an increment


where:
– An increment is the difference between the baseline generated by one
iteration and the baseline generated by the next iteration
– This is why the UP is called “iterative and incremental”

Spring-910 16
MIS326 UP STRUCTURE

Initial
Life-cycle Life-cycle Product
Milestone Operational
Objectives Architecture Release
Capability

Phase Inception Elaboration Construction Transition

Iterations Iter 1 Iter 2 Iter 3 Iter 4 Iter 5 Iter 6

5 Core
Workflows R A D I T … … … … …
 Each phase can include several iterations
– The exact number of iterations per phase depends on the size of the
project! e.g. one iteration per phase for small projects
 Each phase concludes with a major milestone
Spring-910 17

MIS326 PHASES AND WORKFLOWS

Inception Elaboration Construction Transition


Requirements

Analysis

Design

Implementation

Test

I1 I2 In In+1 In+2 Im Im+1

Spring-910 18
MIS326 INCEPTION amount of work
in each core workflow
R
A D
I

Requirements – establish business case and Inception Elaboration Construction Transition


scope. Capture core requirements

Analysis – establish feasibility

Design – design proof of concept or technical


Focus

prototypes

Implementation – build proof of concept or


technical prototype

Test – not generally applicable

Create a business case


Identify critical risks ( risk management plan)
Goals

Scope the system - capture key requirements


Establish feasibility of the project - create proof of concept/technical prototypes

Spring-910 19

MIS326
INCEPTION - MILESTONE

 Life Cycle Objectives - conditions of satisfaction:


– System scope has been defined
– Key requirements for the system have been captured. These have been
defined and agreed with the stakeholders
– An architectural vision exists. This is just a sketch at this stage
– A Risk Assessment
– A Business Case
– Project feasibility is confirmed
– The stakeholders agree on the objectives of the project

Spring-910 20
MIS326 ELABORATION
R A
D
I
T

Requirements – refine system scope and Inception Elaboration Construction Transition


requirements

Analysis – establish what to build

Design – create a stable architectural baseline


Focus

Implementation – build the architectural


baseline

Test – test the architectural baseline

Create an executable architectural baseline


Refine Risk Assessment and define quality attributes (defect rates etc.)
Goals

Capture use cases to 80% of the functional requirements


Create a detailed plan for the construction phase
Formulate a bid which includes resources, time, equipment, staff, cost

Spring-910 21

MIS326 ELABORATION - MILESTONE

 Lifecycle Architecture - conditions of satisfaction:


– A resilient, robust executable architectural baseline has been created
– The Risk Assessment has been updated
– A project plan has been created to enable a realistic bid to be
formulated
– The business case has been verified against the plan
– The stakeholders agree to continue

Spring-910 22
MIS326 CONSTRUCTION
I
D T
R A

Requirements – uncover any requirements Inception Elaboration Construction Transition


that had been missed

Analysis – finish the analysis model

Design – finish the design model


Focus

Implementation – build the Initial Operational


Capability

Test – test the Initial Operational Capability

Complete use case identification, description and realization


Finish analysis, design, implementation and test
Goals

Maintain the integrity of the system architecture


Revise the Risk Assessment

Spring-910 23

MIS326 CONSTRUCTION - MILESTONE


 Initial Operational Capability - conditions of
satisfaction:
– The product is ready for beta testing in the user environment

Spring-910 24
MIS326 TRANSITION
I T
D

Requirements – not applicable Inception Elaboration Construction Transition

Analysis – not applicable

Design – modify the design if problems emerge


Focus

in beta testing

Implementation – tailor the software for the


user site. Fix bugs uncovered in beta testing

Test – perform beta testing and acceptance


testing at the user site

Correct defects
Prepare the user site for the new software and tailor the software to operate at the user site
Goals

Modify software if unforeseen problems arise


Create user manuals and other documentation
Provide customer consultancy
Conduct post project review
Spring-910 25

MIS326 TRANSITION – MILESTONE


 Product Release - conditions of satisfaction:
– Beta testing, acceptance testing and defect repair are
finished
– The product is released into the user community

Spring-910 26

Вам также может понравиться