CSC/ECE 517 Fall 2012/ch2a 2w3 jm: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
=Spiral Model=
=Spiral Model=
This chapter focuses on explaining below points.
The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT). This model of development combines the features of the prototyping and the waterfall model. The spiral model is intended for large, expensive and complicated projects.
Describe what extreme programming is.  
Describe what extreme programming is.  
Concepts of XP.  
Concepts of XP.  

Revision as of 23:01, 20 October 2012

Spiral Model

The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT). This model of development combines the features of the prototyping and the waterfall model. The spiral model is intended for large, expensive and complicated projects. Describe what extreme programming is. Concepts of XP. Four values in XP. Aspects in key practices such as pair programming, collective code ownership, stories, automated testing, small releases and continuous integration. Advantages and Disadvantages with XP. Comparison with waterfall model

Why Spiral Model

Extreme Programming (XP) is a software development methodology created by Kent Beck during his work on the Chrysler Comprehensive Compensation System (C3) payroll project. Extreme Programming is intended to improve software quality and responsiveness to changing customer requirements. It is a one of the several types of agile software development processes. Extreme Programming is successful because it stresses customer satisfaction. Instead of delivering everything you could possibly want on some date far in the future this process delivers the software you need as you need it. Extreme Programming empowers developers to confidently respond to changing customer requirements, even late in the life cycle. Back to top

The Model

Goals

Back to top

Advantages of Spiral Model

  • Built-In Quality
  • Overall Simplicity
  • Programmer Power
  • Customer Power
  • Synergy Between Practices

Coding Standards – Advantages:

Reduces the amount of time developers spend reformatting other peoples’ code. 
Reduces the need  for internal commenting. Call for clear, unambiguous code

On-Site Customer - Advantages:

Can give quick and knowledgeable answers to real development questions. 
Makes sure that what is developed is what is needed. Functionality is prioritized correctly

40-Hour Week – Advantage:

Most developers lose effectiveness past 40-Hours 
Value is placed on the developer’s well-being. Management is forced to find real solutions

Continuous Integration - Advantages

Reduces to lengthy process. Enables the Small Releases practice

Collective Ownership – Advantages

Helps mitigate the loss of a team member leaving. 
Promotes developers to take responsibility for the system as whole rather than parts of the system

Pair Programming – Advantages

Two heads are better than one. 
Focus Two people are more likely to answer the following questions: Is this whole approach going to work? What are some test cases that may   
not work yet? Is there a way to simplify this?

Refactoring – Advantages

Prompts developers to proactively improve the product as a whole. Increases developer knowledge of the system

Testing – Advantages

Unit testing promote testing completeness. Test-first gives developers a goal. Automation gives a suite of regression test

Simple Design – Advantages

Time is not wasted adding superfluous functionality. Easier to understand what is going on.  
Refactoring and collective ownership is made possible. Helps keeps programmers on track

Metaphor – Advantages

Encourages a common set of terms for the system. Reduction of buzz words and jargon. A quick and easy way to explain the system

Small Releases – Advantages

Frequent feedback. Tracking. Reduce chance of overall project slippage

The Planning Game – Advantages

Reduction in time wasted on useless features. Greater customer appreciation of the cost of a feature. Less guesswork in planning

Back to top

Disadvantages of Spiral Model

Back to top

Comparison with traditional waterfall model

Back to top

Research Conclusion

Back to top

References

<references> </references>

External Links