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

SOFTWARE DEVELOPMENT METHODOLOGY

IT3A

Waterfall Model

Rapid Application Development Agile Systems Development Spiral Model

Waterfall Model

Waterfall Model
the earliest method of structured system development proposed by Winston Royce in 1970

is comprised of series of very definite phases, each one run intended to be started sequentially only after the last one has been completed

Waterfall Model

a sequence of stages in which the output of each stage becomes the input for the next

Waterfall Model
Phase Requirements
Specification Design Implementation

Testing
Deployment and Maintenance

Process Determine user needs Design Software Externals Design Software Internals Build the Software Determine Product Quality Use, Fix, & Evolve Product

Product Document
Document Document Software

Report
Document Software

Waterfall Model
Advantages: The phases are correct before proceeding to the next phase It is well known, many people have experience using it (easier to work with) Enforces discipline: every phase has a definite start and end point

Waterfall Model
Disadvantages: Does not allow much reflection or revision Assumes that the there will be no changes in customer needs / project requirements Testing is done only at the last phase of the project

Rapid Application Development

Rapid Application Development (RAD)


focuses on building applications in a very short amount of time usually compromising usability, features and/or execution speed describes applications that can be designed within 60 to 90 days usable 80% solution in 20% of suppose development duration

Rapid Application Development (RAD)


also called Rapid Prototyping uses incremental development and construction of prototypes

Throwaway prototype Evolutionary prototype

Rapid Application Development (RAD)


Four Phases: Requirements Planning User Design Construction Cutover

Rapid Application Development (RAD)

Rapid Application Development (RAD)


Advantages: Early visibility (prototyping) Greater flexibility Shorter development time

Rapid Application Development (RAD)


Disadvantages: May be less efficient Reduced features / Unwanted features Successful efforts/outputs are difficult to repeat

Spiral Model

Spiral Model
systems development method that combines the features of prototyping model and waterfall model explicitly includes risk analysis / management within software development multiple builds and releases defined by Barry Boehm in 1986

Spiral Model
Phases Planning Risk Analysis Engineering Customer Evaluation

Spiral Model

Spiral Model

Spiral Model
Advantages: Software is produced early in the software life cycle High amount of risk analysis Works well for large scale projects Can cope with requirements changes

Works on a protocol

Spiral Model
Disadvantages: This methodology can be costly; actual cost may be higher than planned Risk analysis requires highly specific expertise Requirement for further explanation of the steps involved in the project (blueprint, checkpoint, etc.)

Agile Systems Development

Agile Systems Development


process can deliver successful systems quickly it stresses continuous communication and collaboration among developers and customers agile logically breaks down the solution into features respond to the unpredictability of building software through incremental or iterative work

Agile Systems Development

Common steps of Agile Systems Development Identify User Requirements Define Main User Goals Define System Usage Pattern Come up with Functional Solution Define Navigation Paths Create UI Mockups Polish UI Mockups

Agile Systems Development


Agile Process Models Extreme Programming (XP) Feature Driven Development (FDD) Scrum Crystal Agile Modeling

Agile Systems Development


Advantages Shorter development time Continuous communication between developers and client Adaptive to requirement changes

Agile Systems Development


Disadvantages: Insufficient structure and necessary documentation Prioritizing changes can be difficult Can lead to more difficult contractual negotiations

Agile Systems Development vs RAD

In Agile Systems Development, iterations are not prototypes like those in RAD rather, each iteration introduces change / or enhancement into the products and these are reviewed by all parties involved. Agile does not allow prototypes -RAD was based on designing prototypes and then reengineering them into production quality code.

References:
Process Modelling. [Online]. Available: http://www4.comp.polyu.edu.hk/cstyng/misc/space/report.html [Accessed: 01 September 2011] Choosing Java Models (Methodologies). Rick Lapenna. [Online]. Available: http://www.ricklapenna.net/choosing-development-modelsmethodologies/ [Accessed: 01 September 2011]

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