WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.

Slides:



Advertisements
Similar presentations
Basic SDLC Models.
Advertisements

Software Processes.
Software Development Life-Cycle Models
Software Life Cycle Requirements analysis System design Program design Program implementation (coding) Unit testing Integration testing System testing.
Software development process improvement Ville Wettenhovi Master thesis presentation Supervisor:Professor Jukka Manner Instructor:M.Sc. Markus Aalto Date:23th.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
IS2210: Systems Analysis and Systems Design and Change
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
MapleLeaf, LLC SDLC Methodology. MapleLeaf, LLC, has established standard phases and processes in regards to project management methodologies for planning.
Waterfall Model H.M.Shahzad MS(CS) from COMSATS Institute of Information Technology, Lahore.
System Development Life Cycle Process of creating and altering systems or software by using methodologies or models to develop the systems in a logical.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,
Agile development By Sam Chamberlain. First a bit of history..
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
Software Engineering.
1 CMSC 132: Object-Oriented Programming II Software Development I Department of Computer Science University of Maryland, College Park.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Software Development Overview CPSC 315 – Programming Studio Spring 2009.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Software Development Overview CPSC 315 – Programming Studio Spring 2008.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Development Life Cycle (SDLC)
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
Software Development Landscape
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
Agile Software Development Brian Link
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
SOFTWARE ENGINEERING MCS-2 LECTURE # 3. SOFTWARE PROCESS  A software development process, also known as a software development life- cycle (SDLC), is.
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
Software Engineering MCS-2 Lecture # 6
1 Software Engineering and Security DJPS April 12, 2005 Professor Richard Sinn CMPE 297: Software Security Technologies.
September 30, 2010COMS W41561 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Software Model Process
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Engineering CE 501 Prepared by : Jay Dave.
WATERFALL METHOD Robbie Campbell WHAT IS IT  Considered the classic approach to the SDLC.  It is a linear method with goals for each development phase.
Teaching slides Chapter 2. Chapter 2 Software Engineering Methodologies Introduction Why a methodology? Agile methodologies Waterfall model Rational Unified.
Software Lifecycle Models Place of Testing in Software Lifecycle 1.
CS 4500: Software Development Software Process. Materials Sommmerville Chapters 1, 2 and 3 Software Cycle and Models:
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
 Son Nguyen, YM & Skype: ng_thanhson.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Lesson Objectives Aims 1.Be able to understand the waterfall life cycle, agile methodologies, extreme programming, the spiral model and rapid application.
Project Management Software development models & methodologies
Software Development - Methodologies
Software Development.
Teaching slides Chapter 2
Methodologies and Algorithms
INTRODUCTION TO SOFTWARE DEVELOPMENT
Agile Software Development Brian Moseley.
Software Development Life Cycle
Software development life cycle models
Chapter 2 SW Process Models
Software Development Life Cycle (SDLC)
Life Cycle Models PPT By :Dr. R. Mall.
The V Model The V Model Damian Gordon Damian Gordon.
Software Development Process
Teaching slides Chapter 1.
Software life cycle models
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Processes.
SOFTWARE DEVELOPMENT LIFE CYCLE
Presentation transcript:

WATERFALL DEVELOPMENT MODEL

Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT IS THE WATERFALL MODEL?

ADVANTAGES Easy: This model is simple, clear and easy to understand and use. Manageable: due to the rigidity of the model – each phase has specific deliverables and a review process. Delivery: In this model phases are processed and completed one at a time. Phases do not overlap.

DISADVANTAGES Can be difficult to go back once in the testing phase. No working program or software is produced until very late in the development cycle. High amount of risk and uncertainty as it may not be clear until the testing phase, which is late on, if the development meets the requires Lack of flexibility as it does not allow for backtracking Scalability not suitable for large projects with changing requirements.

WHEN TO USE THE WATERFALL METHOD When requirements are clear and fixed The end product is stable and unlikely to change The technology to be used is understood. Ample resources with required expertise are available freely The project is short with fixed deliverables

ITERATIVE MODEL STEPH

WHAT IS THE ITERATIVE MODEL METHODOLOGY? Iterative model works to create a rough product in one iteration and then improve it in the next It follows the same stages as most methodologies Initial planning Planning Requirements Analysis and design Implementation Testing evaluation Deployment But the difference stages are repeated over and over until the product is perfect, that’s where the name iterative comes from.

WHEN TO USE THIS METHODOLOGY? Requirements of the complete system are clearly defined and understood from the start. Used for large projects. Major requirements must be defined at the start; however, some details can evolve with time.

ADVANTAGES High level design is created before building starts on the application and later on in the process a prototype can be built and then evolved. This will always happen because it highly unlikely that the design will be perfect first time but it should be pretty close if application planning went well. Issues with the application are found early because design, testing and planning are repeated so much. User feedback testing is used which means user will give feedback often. This means the final product should be very user friendly. Less bugs after product Is deployed so therefore less updates after relsease. In iterative model less time is spent on documenting and more time is given for designing.

DISADVANTAGES Each phase of an iteration is rigid with no overlaps If anything is missed is initially planning it can cause massive issues later in the project this can be expensive when dealing with a big project. Is generally more expensive than other methodologies.

INCREMENTAL SYSTEMS DEVELOPMENT

WHAT IS THE INCREMENTAL MODEL? The product is designed “incrementally” – so a little bit more is added each time. The cycle is broken down into more easy to manage modules which are each subjected to the requirements, design, implementation and testing phases. A working version of the software is produced during the first module, however, this may be very basic. The cycle is then repeated, with increased functionality being added with every increment. The process is repeated until a completed system is achieved. A system is considered to be completed when it meets all the user requirements.

WHAT THE INCREMENTAL MODEL LOOKS LIKE:

ADVANTAGES: Working software is created early on in the development lifecycle. More flexible – it is less costly to change scope and requirements. Easier to test and debug during a smaller iteration. Customer can respond to each build – as long as the major requirements are defined at the beginning, minor things can evolve throughout the process. Lowers initial delivery cost. Easier to manage risk because risky pieces are identified and handled during it’s iteration.

DISADVANTAGES: Good planning and design is required. A clear and complete definition of the whole system is required before it can be broken down and built incrementally. The total cost is higher than if the waterfall model was used.

WHEN TO USE: When the requirements of the complete system are clearly defined and understood. As long as the major requirements are defined, minor details can evolve with time. There is a need to get a basic product to the market early. A new technology is being used.

AGILE MODEL

Agile development model is also a type of Incremental model. Software is developed in incremental, rapid cycles. This results in small incremental releases with each release building on previous functionality. Each release is thoroughly tested to ensure software quality is maintained. It is used for time critical applications. Extreme Programming (XP) is currently one of the most well known agile development life cycle model.

AGILE MODEL

WHEN TO USE IT Poorly defined, dynamic, never ending projects. Short deadlines. Patching or updating existing software. Heavily test driven environments.

AGILE MODEL Lots of iterative cycles. Make a big list of things you want and work through that list. Build your program one baby step at a time. Little planning is needed before development can start. More freedom. Bigger decisions can be made much later.

AGILE MODELDISADVANTAGES Larger projects can be a lot more work than they appear at the beginning. Making for delays. Usually produces very poor documentation. Easy to get off track. Known as feature creep. No place for n00bs. Without a lot of experience it’s hard to handle an agile project.

AGILE MODELIN PRACTICE. It’s become very popular, but it’s starting to lose some ground now. Extreme Programming (XP) Scrum

EXTREME PROGRAMMING (XP) Programming in pairs. Thinker Coder The pairs literally sit at one computer. One person takes the keyboard and the other tells them what to code. After each function, they swap.

(XP) ADVANTAGES Two heads are better than one. Good for training, weaker coders are often paired with stronger coders. Ensures good communications as XP pairs are regularly shifted around.

(XP) DISADVANTAGES Costly – You’ve effectively got twice as many coders as computers. It’s really hard to see the monetary value. Your pair of coders might not get along, or worse they might get along really well.

SCRUM Short development period (usually a week) called Sprints Meet at the beginning and end of each sprint. Anything isn’t completed it’s put into the backlog (things to finish later)

SCRUM ADVANTAGES Rapid delivery. Easy to add or remove features. Just pop them in or out of the next sprint. Of something doesn’t work, the maximum time lost is one sprint.

SCRUM DISADVANTAGES Notoriously poor documentation. Hard to keep track of what’s actually happening. If things aren’t getting done you don’t know until the end of the sprint. Hard to predict the difficulty of a feature without experience. Usually requires a Scrum Master, which is a very difficult job.