Methodologies/Life Cycle Models

Slides:



Advertisements
Similar presentations
Lecture # 2 : Process Models
Advertisements

CS487 Software Engineering Omar Aldawud
CSE 470 : Software Engineering The Software Process.
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.
CS 5150 Software Engineering
Chapter 6 Prototyping, RAD, and Extreme Programming
CS 501: Software Engineering
Project phases and the life cycle
CHAPTER 19 Building Software.
Software Life Cycle Model
1 CMPT 275 Software Engineering Software life cycle.
Chapter 2 The process Process, Methods, and Tools
Software Process and Models
THE PROTOTYPING MODEL The prototyping model begins with requirements gathering. Developer and customer meet and define the overall objectives for the software.
Lecture # 04 & 05 CS314 Introduction To Software Development Software Development Process (SDP) Instructor :Muhammad Janas khan
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Methodologies. Contents Waterfall Model Evolutionary Models Incremental Development.
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Ihr Logo Chapter 6 Decision Support System Development Turban, Aronson, and Liang Decision Support Systems and Intelligent Systems, Seventh Edition.
Chapter 6 Prototyping, RAD, and Extreme Programming Systems Analysis and Design Kendall & Kendall Sixth Edition.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
1 - 1 Systems Analysis and Design, Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
Software Development Life Cycle (SDLC)
Software Project Management Iterative Model & Spiral Model.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Lectures 2 & 3: Software Process Models Neelam Gupta.
Software Engineering CE 501 Prepared by : Jay Dave.
Systems Development Life Cycle
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Rekayasa Perangkat Lunak Part-6
Software Development - Methodologies
Unit 6 Application Design KLB Assignment.
Methodologies and Algorithms
Lecture 3 Prescriptive Process Models
Software Development methodologies
Software Life Cycle “What happens in the ‘life’ of software”
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
CS 5150 Software Engineering
Software Processes (a)
Classical Waterfall Model
Software development life cycle models
Chapter 2 SW Process Models
Software Process Models
Object oriented system development life cycle
Life Cycle Models PPT By :Dr. R. Mall.
Software Life Cycle Models
Classical Waterfall Model
Context Diagram.
Software life cycle models
Process Models Coming up: Prescriptive Models.
An Overview of Software Processes
Software Process Models
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Software Life Cycle Models.
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Processes Process should be
Software Processes.
SNS College of Engineering Coimbatore
The Waterfall Model Also known as: classic life cycle, the waterfall model, the linear model Rarely projects are sequential (allows iteration indirectly)
Evolutionary Software Process Models
Chapter 8 Prototyping and Rapid Application Development
Presentation transcript:

Methodologies/Life Cycle Models

Some Advantages of a Methodology … Ensures a consistent and repeatable process Creates traceable projects Enables better project communications Makes projects more robust with respect to personnel changes Enhances project troubleshooting and error-correcting Improves accommodation of changes in requirements © The KTP Company, 2005

Some Standard Life Cycle Models The Waterfall Model (Linear Sequential Model) Prototyping Model Rapid Application Development (RAD) Model Evolutionary Development Models © The KTP Company, 2005

Waterfall Model The Waterfall Model (Linear Sequential Model) is the de facto standard model Uses distinct phases Deliverables of one phase provide input for next phase Walkthroughs and sign-offs at end of each phase The BCBSSC methodology is based on the Waterfall Model © The KTP Company, 2005

Waterfall Model (cont’d) Analysis requirements Design program design Code/ Test coded and tested system Delivery/ Maintenance Implementation Post-Implementation © The KTP Company, 2005

Prototyping Life Cycle Model May be particularly useful when: User interface is an important component of the product User interface is particularly complex Customer leaves interface design to systems analyst Requirements appear to be somewhat in doubt, i.e. not fully agreed upon by customer(s) © The KTP Company, 2005

Prototyping as a Complete Life Cycle Begin Prototype Accepted Complete Implementation and Testing of Production System Determine Requirements & Design repeat this cycle Build Mockup of System Evaluate Mockup With Customer © The KTP Company, 2005

Hybrid Prototyping/Waterfall Model Analysis employing prototyping requirements Design This is the most frequent use for prototyping program design Code tested system Delivery/ Maintenance © The KTP Company, 2005

Prototyping: Pros and Cons Integral involvement of the customer More robust requirements Great for refining user interfaces Cons Customers may have unrealistic expectations for a quick delivery of the final system Not particularly applicable when complex processing algorithms or performance issues are important © The KTP Company, 2005

Hybrid Model May Be Very Useful ... When user interface(s) are: New Complex Not fully agreed upon by customer(s) When customer: Has a history of providing poorly thought out requirements Has little experience in specifying requirements Leaves interface design to systems analysts Photo by larar © The KTP Company, 2005

Prototypes Can Reduce Surprises Prototypes can help avoid customer surprises about: User interfaces Scope of the system System work flow issues How the problem is approached Photo by Benjamin Earwicker © The KTP Company, 2005

RAD (Rapid Application Development) Rapid Application Development (RAD) Model may be particularly applicable when: Requirements are well understood and scope is tightly constrained Reusable software components are available System to be developed is highly modular “High speed” adaptation of the Waterfall model © The KTP Company, 2005

RAD Characteristics Requirements must be well understood and scope must be tightly constrained for RAD to be successful RAD teams work in parallel “Waterfall” development teams Best employed with highly modular systems Photo by Kenneth De Buck © The KTP Company, 2005

Evolutionary Development Models May be useful when: Rapid development of incremental versions of the product seems desirable Not all requirements are known at the beginning and the remaining requirements must be defined over a period of time Developing “experimental products” in which design of later increments will depend on customer's acceptance of earlier increments © The KTP Company, 2005

Two Evolutionary Models Incremental Model Spiral Model © The KTP Company, 2005

Incremental Model Modified Waterfall model Deliverable increments of the final product are produced sequentially Phased delivery Each phase delivers a usable product Photo by N. Ghorn © The KTP Company, 2005

The Incremental Model -- Strategy The first increment, or phase, is usually a “core” or high priority component/product This core is delivered, evaluated, and used by the customer Other components or phases are added incrementally Can be used to “buy” time when budgets and/or schedule will not permit the delivery of the full system at one time © The KTP Company, 2005

Incremental Model -- An Example Suppose our objective is to development a word processing system. Using the Incremental model we might: Develop basic file management, document creation, and editing functions as the first deliverable (the “core” product) Refine the core and deliver more sophisticated editing capabilities in the second increment Provide spell-checking in the third increment Add page layout in the fourth increment Each increment could be developed using a methodology based on the Waterfall model or the hybrid prototype/Waterfall model © The KTP Company, 2005

Spiral Model Couples iterative characteristic of prototyping with the incremental model Rapid development of partially complete incremental versions of the product Spiral stairway in a Vatican museum Photo by Warren Gibb © The KTP Company, 2005

The Spiral Model -- Strategy Product is developed in increments, but increments may be incomplete (prototypes, shells, etc.) Increments are delivered, then evaluated for further development More increments may be added as we learn more about what is required and what will be acceptable © The KTP Company, 2005

Spiral Model Illustrated 2 formulate requirements 3 1 analyze needs with customer plan increment modifications finish/accept 4 start design new and modified (more detailed) increments evaluate with customer 6 build & release next version 5 © The KTP Company, 2005

Group Exercise Take a moment or two to consider the following.. What are the strengths/weaknesses of the following models? Waterfall Hybrid waterfall/prototyping RAD Incremental Spiral © The KTP Company, 2005

Team Activity #1 You’ve been assigned to lead the analysis for a new Web-based proof-of-concept project that will provide Web “front-end” access to your company’s traditionally mainframe-based applications. This will be the company’s first foray into Web-based development. The details of the new system requirements are still a bit sketchy, but management is convinced that such systems will become increasingly important for the future of the company. The company’s primary business is financial and investment services and one of the primary benefits management expects to realize is increased customer self-service and a subsequent reduction in costs of providing a subset of the company’s services. © The KTP Company, 2005

Team Activity #1 (cont’d) Following are some essential features and high-level objectives for the proof-of-concept system. The underlying philosophy for the system is one of customer self-service – a new approach for this company. The system should provide customers direct access to status information appropriate to their current accounts. The system should provide customers access to their account history with the company. The system should provide “canned” responses for frequently asked questions about investment strategies. The system should provide an opportunity for customers to pose additional questions (to be responded to later). Identify what software life cycle model(s) you think might be appropriate for this project. Explain your choice(s). © The KTP Company, 2005