Integrating Quality Activities in the Project Life Cycle

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

Lecture # 2 : Process Models
Software Process Models
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
Software Project Management
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.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
MapleLeaf, LLC SDLC Methodology. MapleLeaf, LLC, has established standard phases and processes in regards to project management methodologies for planning.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
OHT 7.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software development methodologies: - The software development life cycle.
OHT 7.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software development methodologies: - The software development life cycle.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CMSC 345, Version 1/03 An Overview of Software Processes Reference: Software Engineering, by Ian Sommerville, 6 th edition, Chapter 3.
CSI315 Web Technology and Applications
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
THE PROTOTYPING MODEL The prototyping model begins with requirements gathering. Developer and customer meet and define the overall objectives for the software.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
OHT 7.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 7.1.
SOFTWARE ENGINEERING MCS-2 LECTURE # 3. SOFTWARE PROCESS  A software development process, also known as a software development life- cycle (SDLC), is.
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Prototyping life cycle Important steps 1. Does prototyping suit the system 2. Abbreviated representation of requirements 3. Abbreviated design specification.
Software Development Life Cycle (SDLC)
Ch7: Software Production Process. 1 Waterfall models  Invented in the late 1950s for large air defense systems, popularized in the 1970s  Main characteristics:
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
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.
Software Model Process
Making the System Operational Implementation & Deployment
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Chapter 2 Software Development Model and 1. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
V-Shaped Software Development Life Cycle Model. Introduction: Variation of water fall model. Same sequence structure as water fall model. Strong emphasis.
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.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Software Engineering cosc 4359 Spring 2017.
Methodologies and Algorithms
Lecture 3 Prescriptive Process Models
Software Life Cycle “What happens in the ‘life’ of software”
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
SNS College of Engineering Coimbatore
Software Processes (a)
Systems Analysis and Design in a Changing World, 6th Edition
Software development life cycle models
Software Process Models
Models of Software Development Life Cycle (SDLC)
Chapter 2 SW Process Models
Chapter 2: Software Process Models
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Object Oriented Analysis and Design
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Lecture 2 Revision of Models of a Software Process
Software life cycle models
An Overview of Software Processes
Process Models Coming up: Prescriptive Models.
An Overview of Software Processes
Object-Oriented Systems Development Life Cycle (CH-3)
Software Process Models
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Chapter 2: Software Process Models
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Human Computer Interaction Lecture 14 HCI in Software Process
Integrating quality activities in
PRESENTED BY P.SANDEEP MSc,MTech
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Presentation transcript:

Integrating Quality Activities in the Project Life Cycle Chapter 7.1 Integrating Quality Activities in the Project Life Cycle

Lesson Outlines Software development methodologies Factors affecting intensity of SQA activities Verification, validation and qualification Development and quality plans for small and for internal projects A model for SQA defect removal effectiveness and cost

Introduction We will start off talking about (in some cases reviewing) popular development models Will switch to discussion how SQA activities are handled within the development process, and Factors that need to be considered before applying these activities… So, why this approach?

Introduction Why discuss the models? Answer: They represent the framework of a disciplined approach to development. Have milestones, deliverables, constraints, etc. SQA must take place in conjunction with (بالتزامن مع ) the completing of these activities or looking at the work products produced from these activities. Need to understand the models before we can produce plans that are integrated into these models.

1. Classic and Other Software Development Methodologies Will discuss The Software Development Life Cycle (SDLC) The prototyping model The spiral model The OO model

The SDLC The ‘classic mode.’ Still in WIDE use today. Captures the major building blocks in development Linear sequence Highly structured; plan-driven; Heavy-weight process Product delivered for evaluation and deployment at the end of development and testing Used for major projects of length But serves as a framework for other models… (لكن بمثابة إطار لنماذج أخرى ...)

The SDLC Requirements Definition: done by customers Analysis: analyze requirements to form an initial software model Design: Detailed definition of inputs/outputs and processes including data structures, software structure, etc.

The SDLC Coding: Design translated into code. Coding includes SQA activities such as inspections, unit tests and integration tests Many takeoffs from this: These tests done by developers: individual (unit), group or team (integration tests….)

The SDLC System Tests: Goal: to discover errors / correct errors to achieve an acceptable level of quality. Carried out by developers prior to delivery. Sometimes ‘acceptance tests’ carried out by customer or in conjunction with developer

The SDLC Installation / Conversion: After testing, system is installed and/or replaces an existing system; Requires software / data conversion Important to not interrupt daily activities during conversion process. Install incrementally, run in parallel; turn switch and live with it, etc.

The SDLC Operations and Maintenance: Hopefully done for years. Maintenance: Corrective Adaptive Perfective Lots of variations to the classic SDLC many in response to problems…. Notice the feedback loops?

Prototyping Model Replaces some of the parts of the SDLC with an evolutionary and iterative process. Software prototypes are repeatedly provided to customer for evaluation and feedback. Primarily iterate design and implementation. Development team provided requirements. Ultimately, the product reaches a satisfactory completion. Then, the remainder of the process is carried out in the context of another model, such as SDLC

The Prototyping Model One main idea behind prototyping is for the development of fast prototypes and customer availability for feedback. Often prototyping tools are used to help Developers respond to feedback and add additional parts as application evolves into an acceptable product.

The prototyping model A good approach for small to medium-sized projects. Very important: customer involvement.

Prototyping Model - more Advantages (book) Shorter development process Substantial savings in development resources (time) Better fit to customer requirements and reduced risk of project failure Easier and faster user comprehension of new system Disadvantages Less flexibility and adaptability to changes and additions Reduced preparation for unexpected instances of failure

Spiral Model Uses an iterative approach designed to address each phases in development by obtaining customer comments and change, risk analysis, and resolution. The spiral model typically has a ‘spiral’ for each of the traditional development phases. Within a cycle, specific engineering (design, development, etc.) can take place using any other models, like SDLC, prototyping,.. The Spiral Model (Barry Boehm) is a risk-centered development model where each spiral includes major risk activities / assessments. Was developed after SDLC in response to delayed risk in SDLC As the SDLC, it is considered a heavy-weight, plan-driven methodology and is highly structured.

The Spiral Model A heavy-weight, plan-driven, highly-structured approach for large projects. Especially designed for those with higher chances of failure. Combines iterative model, emphasizes risk assessment, customer participation, prototyping, and more Definitely an iterative process.

The Spiral Model Can see each spiral includes: Planning Risk Analysis / Resolution Engineering activities (design, code, test…) Customer Evaluation (errors, changes, new requirements…) Source: After Boehm 1988 (© 1988 IEEE)

Spiral model The Win-Win Model The Advanced Spiral model The Win-Win Model Revised Spiral Model provides customer with improved chances for changes; developer better chances to stay within budget and time. Done by increased emphasis on customer participation and on engineering activities. Extra sections in spiral dedicated to customer actions and developer engineering Source: After Boehm 1998 (© 1988 IEEE)

The Object-Oriented Model Emphasis here is re-usability via reusable objects and components. Component-based software development. For non-available components, developer may prototype needed modules, use an SDLC approach, purchase libraries of objects, develop ‘his’ own, etc.

The Object-Oriented Model Easy integration of existing software modules (objects / components) into newly developed software systems. Process begins with OOA and OOD Then, acquire suitable components from reusable software component libraries (or purchase them). Otherwise, develop as needed. Can involve adding to repertoire of library components. Economy: integrating reusable components; much lower cost than developing Improved quality – using tested components Shorter development times: integration of reusable software components.

Object Oriented Development Model

Now, onto Factors Affecting the Intensity of Quality Assurance Activities within the Development Process…