03 module2-090710094221-phpapp02

Post on 19-Jun-2015

37 views 0 download

Tags:

description

Increase you knowledge

transcript

NextBack

In this Module, we look at

• what we mean by a “process”• software development products, processes & resources• several models of the software development process• tools & techniques for process modeling

-- Process is a series of steps involving activities - constraints and resources that produce an - intended output of some kind.-- in building a software product, process is refer to a - life cycle -- software development process is sometimes called - software life cycle -- a process is more than a procedure-- a process may require design to occur before - coding, many different design may be used

-- Process guides our actions by allowing use - examine, control and improve that comprise the - process.-Characteristics of a Process-- The process prescribes all of the major process - activities.-- The process uses resources, subject to a set of - constraints (such schedule) and produces - intermediate and final product.-- The process may be composed that are linked in - some way. The process may be defined as - hierarchy of process, organized so that each sub-- process has its own process models

-- Each process activity has entry and exit criteria, so - that when the activity begins and ends.-- The activities are organized in sequence, so that it - is clear when one activity is performed relative to - the other activities.-- Every process has a guiding principles that explain - the goals of each activity.-- Constraints or controls may apply to an activity, - resource or product.

-Reasons for Modeling Process-- It forms common understanding of the activities, - resources and constraints involved in software - development.-- It helps the development team find - inconsistencies, redundancies and omissions in the - process and in its constituent parts.-- It reflects the goals of development such as - building high-quality software, finding faults in - early development and meeting required budget - and schedule constraints.

-- It helps the development team understand where - tailoring is to occur for the special situation.

-- The waterfall model is a sequential software - development model (a process for the creation of - software) in which development is seen as flowing - steadily downwards (like a waterfall) through the - phases of software developmet.

-- Winston W. Royce (1929–1995), present this - model cited in his article published in 1970.-- It is very useful in helping the developers lay out - what they need to do.-- The biggest problem with the waterfall model is - does not reflect the way the code is really - developed.

In Royce's original waterfall model, the following phases are followed in order:

1.Requirements specification 2.Design 3.Construction (AKA implementation or coding) 4.Integration 5.Testing and debugging (AKA validation) 6.Installation 7.Maintenance

Requirement Analysis

System Design

Coding

ProgramDesign

SystemTesting

Unit & Integration

Testing

Operation & Maintenance

AcceptanceTesting

The Waterfall Model

The software development process in reality.

-- The sashimi model (so called because it features - overlapping phases, like the overlapping fish of - Japanese sashimi) was originated by Peter - DeGrace.-- also referred as the waterfall model with - overlapping phases or with feedback

Requirement AnalysisSystem

Design

The Waterfall Model with overlapping phases / The Waterfall Model with feedback

ProgramDesign

Coding Unit & Integration

TestingSystemTestingAcceptance

TestingOperation & Maintenance

Instructor’s idea about theSashimi Model

-- Prototyping is a partially developed product that - enables customers and developers to examine - some aspect of the proposed system and decide if - it is suitable or appropriate for the finished - product.

-- Design prototyping helps developers assess - alternative design strategies and decide which is - the best for a particular project.

Requirement Analysis

System Design

Coding

ProgramDesign

SystemTesting

Unit & Integration

Testing

Operation & Maintenance

AcceptanceTesting

The Waterfall Model

Prototyping

Verify

Validation

-- The V-Model (or VEE model) is a systems - development model designed to simplify the - understanding of the complexity associated with - developing systems-- a variation of the waterfall model that demonstrate - how the activities are related to analysis and - design -- the focus of the V-Model is on activity and - correctness

The V-Model

-- It requires investigation to ensure that the - developer, user and customer have a common - understanding both of what is needed and what is - proposed.-- it reduce risk and uncertainty in development-- The process of prototyping involves the following - steps:

1. Identify basic requirements-2. Develop initial prototype-3. Review-4. Revise and enhancing prototype

The Prototyping Model.

-- The system requirments are evaluated or executed - in a way that demonstrates the behavior of the - system.-- Once the requirements are specified, it can be - enacted using the software package, so that their - implication can be assess before design begins.

The Operational Specification Model

-- It tries to reduce the opportunity for error by - eliminating several major development steps.-- It uses automated support-- Sample transformation can include: (1) changing - the data representation; (2) selecting algorithms; - (3) optimizing; (4) Compiling.

The Transformational Model

-- Cycle time is the time the documents are written - and the time for the system was delivered.-- To reduce the cycle time is to use development - phase , where two systems functioning in parallel.-- The Operational or Production System being used - by the customer or user-- The Development System is the next version that - is being prepared to replace the current production - system.

The Phased Development Model

-- The system as specified in the requirements - documents are partitioned into subsystems by - functionality.-- The releases are defined by beginning with one - small, functional subsystem and then adding with - each new releases.

-- It delivers the full system at the very beginning - and it changes the functionality of each subsystem - with each new releases.

-- 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 life cycle model-- it is a systems development method (SDM) used in - Information technology (IT) -- a combination of features of Prototyping Model - and Waterfall Model defined by Barry Boehm (1988)-- The spiral model is intended for large, expensive - and complicated projects

The Spiral Model.

-- It depicts the process, showing the inputs are - transformed to outputs.-- See… A Toolset for Supporting Static and Dynamic - Model Checking

-- It can enact the process, so that the user can see - how intermediate and final products are - transformed over time.-- See… A Toolset for Supporting Static and Dynamic - Model Checking

-- Model Driven Development-- User Experience-- Top-Down to Bottom Design-- Chaos Model-- Evolutionary Prototyping-- ICONIX Process-- Unified Process-- Extreme Programming (XP)