Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Software Methodologies

No description
by

Keith Johnson

on 9 August 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Software Methodologies

Software Development Methodologies
Software Development Life Cycle
The software development life cycle is a set of steps that all software development methodologies need to follow to deliver efficient software.

All methodologies execute these steps to some level, however they differ from how these steps are executed.
Maintenance

Testing

Development

Design

Requirements

Waterfall Method

Heavyweight models such as the waterfall are:
Very documentation heavy
Process oriented
Strict structure

Breaks the entire development life-cycle into phases or milestones.

Cascading technique of a series of milestones.
Each phase is executed in sequential order.
Each phase must be completed and verified before moving to the next phase.
Once a phase is complete; there is no returning.





Heavyweight Model

The waterfall method is most commonly used in large custom-development projects such as government and military programs (Guntamukkala, Wen, & Tarn, 2006).
Lightweight Development Models
Lightweight development models are designed to be flexible and agile.

There are several types of lightweight, or agile, methods and extreme programming (XP) is one of the most common.

XP has:
Little documentation and structure
Requirements and test documentation can adapt to changing customer needs
What is the software development life-cycle?
Discuss heavyweight and lightweight models
Waterfall
Extreme Programming
Requirements
Development
Testing
Can agile methods support large development projects?
Conclusion

XP Development Process
Requirements
Design
Coding
Test
Delivery & Maintenance
Requirements
Waterfall model is best suited when requirements are clearly defined.


Once the requirements phase is complete, the requirements will not be easily altered throughout the entire development process (Sommerville, 2011).

Waterfall Requirements
XP does not require perfectly defined requirements initially since the XP Model allows for revisiting the requirements definition to account for changes in customer needs.


XP Requirements
According to Qureshi (2012), “medium and large projects have some characteristics to small projects such as time constraints, changing business situations and vague requirements.” (p. 358).

References
Guntamukkala, V., Wen, H., & Tarn, J. (2006). An empirical study of selecting software development life cycle models. Human Systems Management, 25(4), 265-278.

Lindstrom, L., & Jeffries, R. (2004). Extreme Programming and Agile Software Development Methodologies. Information Systems Management, 21(3), 41-52.

Sommerville, Ian. (2011). Software Engineering; 9th Edition (pp. 24-69). Boston, Massachusetts: Pearson Education Inc.

Qureshi, M. (2012). Agile software development methodology for medium and large projects. IET Software, 6(4), 358-363. doi:10.1049/iet-sen.2011.0110.

By: Keith Johnson
bjdbwhbvujkd
Development
Waterfall Development
During the development phase in the waterfall model, the developers are restricted to satisfying the requirements that have been defined in the requirements phase.

There is no customer interaction in this phase and there is no way to alter the design and requirements.

The development activities are divided amoung the developers to work independently.

XP Development
XP development is executed in a cyclic manner of coding and testing.

Pair Programming
is used heavily in the XP development method to ensure constant testing and verification of the software.

During the coding phase, the developers constantly receive feedback from the customer.


Pair Programming is a method where developers are teamed and work on sections of code together constantly testing and peer reviewing each other.
Testing
Waterfall Testing
The waterfall methodology only conducts testing after all the development of the software is complete.

All the units developed are put together and the formal testing of the overall system begins (Reddy, 2012).


The testing is conducted only against the test procedures and requirements that were agreed upon in the initial phase.

XP Testing
XP testing is conducted constantly throughout the development phase using the
test driven
model.

The code being developed is immediately compiled, tested and the results are reviewed.

Since the customer (user) is essentially part of the development team, feedback of the performance is provided daily.


Overview
Conclusion
The different methodologies of software development all contain the essential components of the software development life cycle and only differ in how those components are implemented and executed.

The size of the project does not drive the type of method used as much as the clarity of the requirements and availability of customer interaction.

Under the correct circumstances, agile development methods such as XP can satisfy large development projects.
The test driven development method is a concept where tests are continuously created during development and the software is immediately tested against those tests (Lindstrom & Jeffries, 2004).
Full transcript