Proceedings of the 28th Annual International Computer Software and Applications Conference (2004) Ming Huo, June Verner, Liming Zhu, Muhammad Ali Babar.

Slides:



Advertisements
Similar presentations
EEE 243B Applied Computer Programming Software engineering Life cycle and when to test.
Advertisements

Ossi Taipale, Lappeenranta University of Technology
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Lecture # 2 : Process Models
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
MIS 2000 Class 20 System Development Process Updated 2014.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
HCI in the software process Chapter 6
Adaptive Processes Software Processes Adaptive Processes.
CIS-74 Computer Software Quality Assurance Systematic Software Testing Chapter 1: An Overview of the Testing Process.
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Chapter 4 Quality Assurance in Context
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
Sommerville, I., Software Engineering, Pearson, 9th Ed., 2010.
Alternate Software Development Methodologies
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
Stepan Potiyenko ISS Sr.SW Developer.
Part 1: Introducing User Interface Design Chapter 1: Introduction –Why the User Interface Matters –Computers are Ubiquitous –The Importance of Good User.
Project Support Function PM Planning Organizing Staffing Monitoring Controlling and Leading Project Support Functions Monitoring Controlling.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
1 CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Chapter 2- Software Process Lecture 4. Software Engineering We have specified the problem domain – industrial strength software – Besides delivering the.
Software Verification and Validation (V&V) By Roger U. Fujii Presented by Donovan Faustino.
Verification and Validation
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.
Agile Software Development Chapter 3 – Lecture 1 Adrián Susinos.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
CS3300 Fall 2015 Software Development Lifecycles.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Introduction to Software Development 1. Outline The code-compile-debug process for writing a program The software development process 2.
EXtreme Programming: An Introduction Presentation by: Jon Banta.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem Darwish.
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
1 10/14/2015ã 2007, Spencer Rugaber The Waterfall Process Software plans and requirements Validation System feasibility Validation Product design Verification.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
1 Software Engineering and Security DJPS April 12, 2005 Professor Richard Sinn CMPE 297: Software Security Technologies.
Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Software Engineering 2003 Jyrki Nummenmaa 1 SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS These slides contain a few different software lifecycle.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
SOFTWARE PROCESS MODELING Benjamin Dixon U
A proposal to support the extreme programming development methodology from the quality assurance point of view Authors: Calin Jebelean –
It’s Agile …. like! A Corkman’s introduction to Agile software delivery.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Software Development.
Unit 6 Application Design KLB Assignment.
Appendix B Agile Methodologies
SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS
Software Quality Engineering
Chapter 10 Software Quality Assurance& Test Plan Software Testing
Software Quality Engineering
The Systems Engineering Context
Quality Management Perfectqaservices.
Iterative Waterfall Model
V-Shaped SDLC Model Lecture-6.
Waterfall and Agile Quality Techniques
CHAPTER 2 Testing Throughout the Software Life Cycle
Verification and Validation Unit Testing
SOFTWARE ENGINEERING LECTURE 2
Chapter 2 Software Processes
Presentation transcript:

Proceedings of the 28th Annual International Computer Software and Applications Conference (2004) Ming Huo, June Verner, Liming Zhu, Muhammad Ali Babar Software Quality and Agile Methods 學生:詹博丞、林帝丞、徐子濠

Outline Introduction Waterfall model vs. Agile Methods Quality assurance techniques Agile methods quality techniques Conclusions 2

Introduction Agile software development has become a controversial software engineering topic. Agile methods have gained tremendous acceptance in the commercial arena since late 90s. In this paper, we compare the waterfall model with agile processes to show how agile methods achieve software quality. 3

Outline Introduction Waterfall model vs. Agile Methods Quality assurance techniques Agile methods quality techniques Conclusions 4

Waterfall model Waterfall model has been widely used in both large and small software projects. The waterfall model divides the software development lifecycle into five stages. Requirements analysis and definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance 5

Waterfall model (cont.) Any stage should not start until the previous stage has finished. Drawbacks Inflexibility Highly ceremonious processes 6

Agile Methods Agile methods deal with unstable and volatile requirements by using a number of techniques : Simple planning Short iteration Earlier release Frequent customer feedback 7

One Agile release vs. Waterfall Lifecycle 8

Outline Introduction Waterfall model vs. Agile Methods Quality assurance techniques Agile methods quality techniques Conclusions 9

Quality assurance techniques Concerned with the quality of software produced with the waterfall model and an agile approach We focus on two general quality-focused processes Software Quality Assurance (SQA) Verification and Validation(V&V) 10

Quality assurance techniques Software Quality Assurance (SQA) SQA governs the procedures meant to build the desired quality into the products Verification and Validation(V&V) V&V is aimed more directly at product quality including intermediate products 11

Quality assurance techniques SQA and V&V are normally used to support the waterfall model to provide a complete process mode QA techniques can be categorized into two types Static Static techniques involve examination of documentation by individuals or groups E.g requirements specification, technical reviews of the code Dynamic Testing Simulation 12

Quality assurance techniques The waterfall model uses both static and dynamic techniques. Agile methods mostly use dynamic techniques. 13

Outline Introduction Waterfall model vs. Agile Methods Quality assurance techniques Agile methods quality techniques Conclusions 14

Waterfall model include: Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance 15 Agile methods quality techniques

16

Agile methods quality techniques two major differences between waterfall model and agile method: 1. agile methods move some QA responsibilities and work to the developers. 2. output is sent frequently to quality assurance practices and fast feedback is provided 17

Agile methods quality techniques 18 main sequence Quality Assurance

Agile methods quality techniques (cont.) Features: System metaphor On-site customer Pair programming Refactoring Continuous integration Acceptance testing Customer feedback 19

Agile methods quality techniques (cont.) Differences between the SQA: Fewer static quality assurance techniques. Frequency of these activities is much greater. Quality activities occur much earlier 20

Agile methods quality techniques (cont.) The QA techniques for agile methods: Applying dynamic QA techniques as early as possible. Moving more QA responsibility on to the developer. Early product validation. 21

Agile methods quality techniques (cont.) 22

Outline Introduction Waterfall model vs. Agile Methods Quality assurance techniques Agile methods quality techniques Conclusions 23

Conclusions 24 Agile methods do have practices that have QA abilities, some of them are inside the development phase and some others can be separated out as supporting practices. The frequency with which these agile QA practices occur is higher than in a waterfall development Agile QA practices are available invery early process stages due to the agile process characteristics