Evolutionary Development and Rapid Prototyping By: Shelone Reid Amanda Smith.

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

Prescriptive Process models
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
Lecture # 2 : Process Models
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Unit 2. Software Lifecycle
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
Software Process Model
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
Software Engineering Software Engineering is the science and art of building significant software systems that are: 1) on time 2) on budget 3) with acceptable.
CSE 470 : Software Engineering The Software Process.
Adaptive Processes Software Processes Adaptive Processes.
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.
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
Chapter 2 – Software Processes
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
Alternate Software Development Methodologies
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
CS 501: Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 3 Software Processes.
Rapid Prototyping Model
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Lecture 2 Software Processes CSC301-Winter 2011 Hesam C. Esfahani
Chapter 2 The process Process, Methods, and Tools
SOFTWARE ENGINEERING MCS-2 LECTURE # 5. RAD (RAPID APPLICATION DEVELOPMENT) MODEL  In RAD model the components or functions are developed in parallel.
Objectives:  To define RAD  Describe RAD as a system development method  List the advantages of RAD as a method  List the disadvantages of RAD  State.
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
Software Engineering Management Lecture 1 The Software Process.
1 SWE Introduction to Software Engineering Lecture 4.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Methodologies. Contents Waterfall Model Evolutionary Models Incremental Development.
An Introduction to Software Engineering
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Rapid Prototyping Rapid Prototyping (RP) can be defined as a group of techniques used to quickly fabricate a scale model of a part or assembly using three-
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
CC20O7N Software Engineering 1 CC2007N Software Engineering 1 Part 1 Introduction to Software Engineering.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
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.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
CS 310 Ch 4: Software Processes Software process: a set of activities that lead to a software system specification design and implementation validation.
1 SYS366 Week 2 - Lecture Visual Modeling and Process.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
Software Processes (a)
Software Processes.
Software Engineering Software Engineering is the science and art of
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Processes.
Software Engineering Software Engineering is the science and art of
Presentation transcript:

Evolutionary Development and Rapid Prototyping By: Shelone Reid Amanda Smith

OUTLINE OF OUR PRESENTATION Evolutionary Development Rapid Prototyping

DEFINITIONS Software Development meets the customers needs Software Development is the set of activities that ensures that the software produced meets the specifications required (meets the customers needs). Software Process A Software Process is a set of activities and associated results which produce a software product. Software Process Model A Software Process Model is an abstract representation of a process, it is a structured set of activities required to develop a software system.

Important Activities The following are fundamental activities : ◦Specification ◦Specification – defining the functionality of the software and the limitations on its operations. ◦Development ◦Development – ensure that the software produced meets the specifications required. ◦Validation ◦Validation – ensuring that the software is genuine in order for the client to give his or her acceptance to the software development. ◦Evolution ◦Evolution – the software must be able to evolve as the client may decide to make minor or major changes or further the existing specification to improve the software being developed.

Types of Generic Software Process Models The waterfall model The waterfall model – This separate and distinct phases of specification and development. Evolutionary development Evolutionary development – This is when the specification and development are infused. Reuse-based development Reuse-based development - The system is assembled from existing components.

Evolutionary Development Evolutionary development is an iterative and incremental approach to software development. Instead of creating a comprehensive artifact, such as a requirements specification, that you review and accept before creating a comprehensive design model, you instead evolve the critical development artifacts over time in an iterative manner. Instead of building and then delivering your system in a single “big bang” release you instead deliver it incrementally over time.

Evolutionary Development Model Evolutionary Development Model

Problems and Applicability Applicability Applicability ◦For small or medium-size interactive systems ◦For parts of large systems (e.g. the user interface) ◦For short-lifetime systems Problems Problems ◦Lack of process visibility ◦Systems are often poorly structured ◦Special skills (e.g. in languages for rapid prototyping) may be required

Advantages of evolutionary development model: This model is useful in exploratory programming (such as Artificial Intelligence applications) where it is difficult to frame the specifications. In case major problems are foreseen, the developer can stop the development after some iterations. This model is very appropriate for research projects. For example, to develop software for automatic speech recognition, a small vocabulary can be taken and the system is developed. After achieving success, the vocabulary can be increased in stages. This approach is better than starting development of an unlimited vocabulary speech recognition system directly (and after two years, realizing that it is very difficult!).

Disadvantages of evolutionary development model: Because the project is open-ended, no time frame can be set. Project monitoring is difficult. Less visibility as compared to waterfall model.

BACK

Rapid Prototyping Rapid Prototyping (RP) is a process used to quickly fabricate a realistic model of a product’s user interface Rapid Prototyping has also been referred to as solid free- form manufacturing, computer automated manufacturing, and layered manufacturing. Rapid Prototyping decreases development time by allowing corrections to a product to be made early in the process. By giving engineering, manufacturing, marketing, and purchasing a look at the product early in the design process, mistakes can be corrected and changes can be made while they are still inexpensive. But typically the RP material is not strong or accurate enough.

Reasons for Rapid Prototyping To decrease development time. To decrease costly mistakes. To minimize sustaining engineering changes. To increase effective communication. To extend product lifetime by adding necessary features and eliminating redundant features early in the design. To increase effective communication. Rapid Prototyping improves product development by enabling better communication in a concurrent engineering environment.

Process Comparisons

Advantages of Rapid Prototyping Saves time and money Promotes consistency in user interface design Allows early customer involvement Shows progress to management in a concrete way Seeing is believing. Instead of telling management Allows marketers and planners to ensure that customer needs are met

Disadvantages of Rapid Prototyping User confusion of prototype and finished system Excessive development time of the prototype Usually does not produce reusable code Slows development process if put under formal configuration control Lacks an obvious stopping point

Reference wgsrodney.yolasite.com wikipedia.com Rob Abdul’s case study on Software Development Cycle Trond Johansen (head of Project Management, FIRM) and Tom Gib Lawrence J. Naijar

THE END