Jaypee Institute of Information Technology, Noida.

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

Prescriptive Process models
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Lecture # 2 : Process Models
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 المحاضرة الثانية.
CS487 Software Engineering Omar Aldawud
1.1 S/W LIFE CYCLE MODELS 1.2 UNDERSTANDING S/W PROCESS
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.
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 Process Models
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
SYSC System Analysis and Design
Chapter :Software Process Model
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.
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.
Software Processes Sumber dari : cc.ee.ntu.edu.tw/~farn/courses/SE/ch4.ppt.
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.
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,
Prescriptive Process Models
Software Processes n What is a process?  Sequence of steps required to develop or maintain software n Characteristics  prescribes major activities 
1 SWE Introduction to Software Engineering Lecture 4.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Engineering MCS-2 Lecture # 6
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
An Introduction to Software Engineering
Chapter 4 프로세스 모델 Process Models
Introduction to Software Development (Software Engineering - I)
SWE311_Ch03 (071) Software & Software Engineering Slide 1 Chapter 3 Prescriptive Process Models.
Software Development Life Cycle (SDLC)
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
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.
Software Engineering CE 501 Prepared by : Jay Dave.
Chapter 2 Software Development Model and 1. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Chapter :Software Process Model. Chapter 4: Topic Covered About software process model Build and Fix Model Why Models are needed? ◦Process as a "black.
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.
Layered Technology Software Process Framework Generic Process Framework Activities Process Models 6/14/20162.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Lecture 3 Prescriptive Process Models
SNS College of Engineering Coimbatore
Software Processes (a)
Chapter :Software Process Model
Chapter 2 SW Process Models
Software Process Models
Software Life Cycle Models
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Software Processes.
Software Process Models
Software Processes Process should be
Software Processes.
Software Engineering Lecture 17.
SNS College of Engineering Coimbatore
Evolutionary Software Process Models
Presentation transcript:

Jaypee Institute of Information Technology, Noida

Build and Fix Model Why Models are needed? Prescriptive Model- Waterfall Model or Linear Sequential Incremental Process Models – Incremental Model – RAD Model Evolutionary Process Models – Prototyping – Spiral Model Content Unit -1 Jaypee Institute of Information Technology, Noida

(IEEE) A sequence of steps (activities, methods, practices, and transformations) performed for a given purpose (develop and maintain software) Steps: Specification Design and Implementation Validation Evolution  A “software process model” is an abstract representation of a process.  It presents a description of a process from some particular perspective Software Process Unit - 1 Jaypee Institute of Information Technology, Noida

Software Process Model  A Model has different Processes in it.  It is followed to produce high quality software.  It provides stability, control, and organization to a process.  They are adapted to meet the needs of software engineers and managers for a specific project. Unit - 1 Jaypee Institute of Information Technology, Noida

“Build & Fix” Model Unit - 1 Jaypee Institute of Information Technology, Noida Product is constructed without specification or any attempt at design. Developers simply build a product that is reworked as many times as necessary to satisfy the client.

Model may work for small projects but is totally unsatisfactory for bigger products. Maintenance is high. Source of difficulties and deficiencies – impossible to predict – impossible to manage “Build & Fix” Model - Disadvantages Unit -1 Jaypee Institute of Information Technology, Noida

Uncertain / Incomplete requirement in the beginning Quality of product is deteriorated Process as a "Black Box" PROBLEMS: An assumption - Requirements can be fully understood prior to development Interaction with the customer occurs only at the beginning (requirements) and end (after delivery)

Process as a “White Box“ – Concept of Software Model ADVANTAGES: Reduce risks by improving visibility Allow project changes as the project progresses [Based on feedback from the customer]

It is an orderly approach i.e. – Organizes framework activities in a certain order Software engineer chooses process framework that includes activities like: – Communication – Planning – Modeling – Construction – Deployment Each activity is inter related to one another (called workflow) Prescriptive Model - Waterfall Unit -1 Jaypee Institute of Information Technology, Noida

Prescriptive Model - Waterfall

DEPLOYMENT – Delivery (Operation) | Support (Maintenance) | Feedback Normally this is the longest phase of the software life cycle. The system is installed and put into practical use. Maintenance involves correcting errors which were not discovered in earlier stages of the life-cycle. CONSTRUCTION - Code | Integration | Testing The individual program unit are integrated and tested as a complete system to ensure that the software requirements have been met. After testing, the software system is delivered to the customer. MODELLING – HOW IT CAN BE MADE | Design & Analysis It establishes the overall system architecture. Software design involves fundamental system abstractions and their relationships. PLANNING – Estimating | Scheduling | Tracking Assessing progress against the project plan.Required action to maintain schedule. COMMUNICATION – WHAT IS TO BE MADE | Project Initiation | Requirement Analysis and Definition The systems services, constraints and goals are defined by customers with system users. Waterfall Model (A Classic Life Cycle)

 The nature of the requirements could not change during development.  The model implies that you should attempt to complete a given stage before moving on to the next stage  Does not account for the fact that requirements constantly change.  It also means that customers can not use anything until the entire system is complete.  The model implies that once the product is finished, everything else is maintenance.  Surprises at the end are very expensive  Some teams sit ideal for other teams to finish  Therefore, this model is only appropriate when the requirements are well-understood and changes will be fairly limited during the design process. Waterfall Model - Limitations

Problems:  Real projects are rarely follow the sequential model.  Difficult for the customer to state all the requirement explicitly.  Assumes patience from customer - working version of program will not available until programs not getting change fully. Waterfall Model - Limitations Unit -1 Jaypee Institute of Information Technology, Noida

C- Communication P - Planning M – Modeling C - Construction D - Deployment Delivers software in small but usable pieces, each piece builds on pieces already delivered Incremental Process Model Unit -1 Jaypee Institute of Information Technology, Noida

The development and delivery is broken down into increments; with each increment delivering part of the required functionality. First Increment is often core product – Includes basic requirement – Many supplementary features (known & unknown) remain undelivered A plan of next increment is prepared – Modifications of the first increment – Additional features of the first increment It is particularly useful when enough staffing is not available for the whole project Increments can be planned to manage technical risks. Incremental model focus more on delivery of operation product with each increment. Incremental Process Model Unit -1 Jaypee Institute of Information Technology, Noida

User requirements are prioritised and the highest priority requirements are included in early increments. Once the development of an increment is started, the requirements are frozen though requirements for later increments can continue to evolve. Early increments act as a prototype to help elicit (develop) requirements for later increments. Lower risk of overall project failure. Incremental Process Model Unit -1 Jaypee Institute of Information Technology, Noida

Makes heavy use of reusable software components with an extremely short development cycle Rapid Application Development (RAD) Model

Communication – To understand business problem. Planning – To decide for multiple s/w teams to work in parallel on different systems Modeling – – Business modeling – To decide for information-flow among business entities Ex. What kind of information drives? Who is going to generate information? From where information comes and goes? – Data modeling – To identify the information as set of data objects that are needed to support business. – Process modeling – Data object transforms to information flow necessary to implement business. Rapid Application Development (RAD) Model Unit -1 Jaypee Institute of Information Technology, Noida

Construction – It highlights the use of pre-existing software component. – Each major function can be addressed by a separate team and then integrated to form a whole. Deployment – Deliver to customer for subsequent iteration. RAD model emphasize a short development cycle. “High speed” edition of linear sequential model. If requirement are well understood and project scope is constrained then it enable development team to create “ fully functional system” within a very short time period. If application is modularized (“Scalable Scope”), each major function could be completed in less than three months. Rapid Application Development (RAD) Model

For large but scalable projects – RAD requires sufficient human resources Projects fail if developers and customers are not committed in a much shortened time- frame Problematic if system can not be modularized Not appropriate when technical risks are high (heavy use of new technology) Rapid Application Development (RAD) Model - Drawbacks Unit -1 Jaypee Institute of Information Technology, Noida

Produce an increasingly more complete version of the software with each iteration. Evolutionary Models are iterative. Evolutionary models are: – Prototyping – Spiral Model – Concurrent Development Model – Fourth Generation Techniques (4GT) Evolutionary Process Model Unit -1 Jaypee Institute of Information Technology, Noida

Evolutionary Process Model - Prototyping Unit -1 Jaypee Institute of Information Technology, Noida

Best approach when: – Objectives defines by customer are general but does not have details like input, processing, or output requirement. – Developer may be unsure of the efficiency of an algorithm, O.S., or the form that human machine interaction should take. It can be used as standalone process model. Model assist software engineer and customer to better understand what is to be built when requirement are fuzzy. Prototyping start with communication, between a customer and software engineer to define overall objective, identify requirements and make a boundary. Going ahead, planned quickly and modeling (software layout visible to the customers/end-user) occurs. Evolutionary Process Model – Prototyping - Cohesive Unit -1 Jaypee Institute of Information Technology, Noida

 Cohesion = Well Integrate  Quick design leads to prototype construction.  Prototype is deployed and evaluated by the customer/user.  Feedback from customer/end user will refine requirement and that is how iteration occurs during prototype to satisfy the needs of the customer.  Prototype can be serve as “the first system”.  Both customers and developers like the prototyping paradigm.  Customer/End user gets a feel for the actual system…very soon!  Developer get to build something immediately. Evolutionary Process Model – Prototyping - Cohesive Unit -1 Jaypee Institute of Information Technology, Noida

 Customer cries foul and demand that “a few fixes” be applied to make the prototype a working product, due to that software quality suffers as a result.  Developer often makes implementation in order to get a prototype working quickly without considering other factors in mind like OS, Programming language, etc.  Customer and developer both must be agree that the prototype is built to serve as a mechanism for defining requirement. Prototyping Model - Problems Unit -1 Jaypee Institute of Information Technology, Noida

Evolutionary Process Model – Spiral Model Unit -1 Jaypee Institute of Information Technology, Noida

 Iterative nature of prototyping + Waterfall = Spiral  Using spiral, software developed in as series of evolutionary release.  Early iteration, release might be on paper or prototype.  Later iteration, more complete version of software.  Divided into framework activities (C,P,M,C,D). Each activity represent one segment.  Evolutionary process begins in a clockwise direction, beginning at the center risk.  First circuit around the spiral might result in development of a product specification. Subsequently, develop a prototype and then progressively more sophisticated version of software. Evolutionary Process Model – Spiral Model Unit -1 Jaypee Institute of Information Technology, Noida

Evolutionary Process Model – Spiral Model Unit -1 Jaypee Institute of Information Technology, Noida

Concept Development Project: Start at the core and continues for multiple iterations until it is complete. If concept is developed into an actual product, the process proceeds outward on the spiral. New Product Development Project: New product will evolve through a number of iterations around the spiral. Later, a circuit around spiral might be used to represent a “Product Enhancement Project” Product Enhancement Project: There are times when process is dormant or software team not developing new things but change is initiated, process start at appropriate entry point. Evolutionary Process Model – Spiral Model Unit -1 Jaypee Institute of Information Technology, Noida

Problem Area: It may be difficult to convince customers (particularly in contract situations) that the evolutionary approach is controllable. If a major risk is not uncovered and managed, problems will undoubtedly occur. Unit -1 Jaypee Institute of Information Technology, Noida