SOFTWARE PROCESS MODELING Benjamin Dixon U60537340.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Advertisements

SDLC – Beyond the Waterfall
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
ISBN Prentice-Hall, 2006 Chapter 2 Modeling the Process and Life Cycle Copyright 2006 Pearson/Prentice Hall. All rights reserved.
Software Development Life-Cycle Models
Software Life Cycle Requirements analysis System design Program design Program implementation (coding) Unit testing Integration testing System testing.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Project Management
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
29 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
CS3773 Software Engineering Lecture 01 Introduction.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Alternate Software Development Methodologies
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
Software Life Cycles ECE 417/617: Elements of Software Engineering
Agile
 The Rise of Computer Science ◦ Machine Language (1 st Gen) ◦ Assembly Language (2 nd Gen) ◦ Third Generation Languages (FORTRAN, BASIC, Java, C++, etc.)
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Software Development Overview CPSC 315 – Programming Studio Spring 2009.
Software Development Overview CPSC 315 – Programming Studio Spring 2008.
©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.
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 3 – Agile Software Development 1Chapter 3 Agile software development.
Chapter 3 – Agile Software Development Lecture 1 1Chapter 3 Agile software development.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©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)
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4 th Edition.
Chapter 2 Modelling the Process and Life Cycle. Pfleeger and Atlee, Software Engineering: Theory and PracticeChapter 2.2 Contents 2.1 The Meaning of Process.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Chapter 3 Agile Software Development (1/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
Software Development Overview CPSC 315 – Programming Studio Spring 2013.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Lecture 3 – Agile Approach
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
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.
CSCI 3428: Software Engineering Tami Meredith Chapter 2 Modeling the Process and Life Cycle.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
1 CEN 4020 Software Engineering PPT2: Software process modeling.
Software Process Modelling
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.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Project Management Software development models & methodologies
Waterfall and Agile Quality Techniques
Introduction to Software Engineering
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Copyright 2006 Pearson/Prentice Hall. All rights reserved.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Presentation transcript:

SOFTWARE PROCESS MODELING Benjamin Dixon U

PROCESS CHARACTERISTICS AND MAJOR ACTIVITIES Characteristics Software Process: “A software process is a set of related activities that leads to the production of a software product.” Includes:  Requirements  System Design  Program Design  Coding/implementation  Unit/integration/system testing  Delivery  Maintenance Major Activities  Software specification The functionality of the software and constraints on its operation must be defined.  Software design and implementation The software to meet the specification must be produced.  Software validation The software must be validated to ensure that it does what the customer wants.  Software evolution The software must evolve to meet changing customer needs.

SOFTWARE PROCESS MODELS Prescriptive  A prescriptive model defines the path software development should follow ahead of time. Descriptive  A descriptive model tracks the real progress of the project as it is ongoing. Reasons for Modelling  Organize efforts  Track progress  Track changes in requirements  Keep up with deadlines

THE WATERFALL MODEL Description  Separates the development process into the sections shown on the left.  Each segment proceeds strictly after the previous. Pros  Easier for managers and onlookers to understand Cons  Inflexible Reality  Segments actually overlap and repeat constantly Peter Kemp/ Paul Smith – Wikipedia.org

WATERFALL MODEL WITH PROTOTYPING Description  A type of Waterfall Model that involves creating a partial product and reworking it over and over. Pros  Allows more flexibility.  Allows for product verification at multiple phases. Cons  Can increase overhead time/effort costs. Reality  Improves upon the original Waterfall method. Gary Shute, University of Minnesota

THE V-MODEL Description  Breaks development into 3 parts: execute, write, check  Execute: defines project goals and design  Write: write the code and implement the system  Check: unit testing, integration testing, system testing Pros  Each testing phase connects back to its associated design phase, illustrating the iteration process. Cons  Unfortunately, it is not flexible to change. Harmonicss.co.uk

PROTOTYPING MODEL Description  Quickly develop prototypes matching requirements.  Customer can evaluate prototype.  Either refine or reject the prototype. Pros  Customers are more involved in the final product. Cons  Can spend a lot of wasted time on rejected prototypes. istqbexamcertification.com

OPERATIONAL SPECIFICATION MODEL Description  Requirements are assessed prior to design and implementation.  Allows requirements to be solidified and refined prior to spending time implementing incorrectly. S. Pfleeger and J. Atlee

TRANSFORMATION MODEL Description  Codifies requirements into a formal document  Formal requirements are transformed incrementally into a deliverable system S. Pfleeger and J. Atlee

PHASED DEVELOPMENT MODEL Description  Systems are produced in different phases spaced over time.  Gets products out quicker.  Allows the customer to have something usable while the rest of the system is being developed. S. Pfleeger and J. Atlee

INCREMENTAL AND ITERATIVE MODELS Incremental  Produce individual subsystems one at a time, adding functionality to the overall product over time. Iterative  Produce a full system, adding/changing subsystem functionality over time. S. Pfleeger and J. Atlee

SPIRAL MODEL Description  Combination of development and risk management.  Each quadrant of the spiral represents a different activity:  Evaluating Risks/Alternatives  Developing/Testing  Planning  Goal Planning S. Pfleeger and J. Atlee

AGILE METHODS An alternative method to software development. Improves flexibility in the development process. Follows the principles of the Agile Manifesto:  Individuals and interactions are greater than process and tools  Focus on working software rather than documentation  Customer collaboration over contracts  Respond to change rather than plan Examples of Agile Programming  Extreme Programming (XP)  Crystal  Scrum  Adaptive Software Development (ASD)

12 FACETS OF XP  The planning game  Small release  Metaphor  Simple design  Writing tests first  Refactoring  Pair programming  Collective ownership  Continuous integration  Sustainable pace  On-site customer  Coding standard

TOOLS FOR PROCESS MODELING Notation: dependent on goal of the model  Text-based or graphical flow-charts Different types of modeling  Static Models  Dynamic Models

STATIC MODELING Lai Notation  Activity  Sequence  Process model  Resource  Control  Policy  Organization S. Pfleeger and J. Atlee

DYNAMIC MODELING Shows resources at each step of development Simulates alternatives and changes Systems dynamic approach  Improves productivity  Shows how changes in one thing affect other things S. Pfleeger and J. Atlee

PRACTICAL PROCESS MODELING Marvel Specification Language (MLS)  Tool envelopes, classes, rules  Three main concepts define a process description  rule-based  Object-oriented  Interface between process and external systems S. Pfleeger and J. Atlee

REFERENCES  Sommerville, Ian. Software Engineering. Boston: Pearson, Print.  S. Pfleeger and J. Atlee, Software Engineering:Theory and Practice. Upper Saddle River [N.J.]: Prentice Hall, 2010.