ABHELSINKI UNIVERSITY OF TECHNOLOGY
|
|
- Jasper Nelson
- 5 years ago
- Views:
Transcription
1 T Introduction to Software Engineering Software Life-Cycle Models
2 Software Engineering? 1. The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the application of engineering to software 2. The study of approaches in (1). IEEE Computer Society
3 Software Process?
4 Software Process? Process Webster: 1. A continuing development involving many changes. 2. A particular method for doing something, usually involving a number of steps or operations. IEEE: A sequence of steps performed for a given purpose.
5 Software Process? Process Webster: 1. A continuing development involving many changes. 2. A particular method for doing something, usually involving a number of steps or operations. IEEE: A sequence of steps performed for a given purpose. Software Process CMM(I): a set of activities, methods, practices and transformations that people use to develop and maintain software and the associated products Simply: the way an organization/team/individual develops software
6 Leavitt s Organizational Diamond Structure Structure, Culture, Management, Decision making Process Practices Procedures Instructions People Knowledge Skills, Needs, Motivation Technology Tools, Methods, Facilities, Environment Adapted from Leavitt, H.J. Applied organizational change in industry: Structural, technological and humanistic approaches. Handbook of Organizational. J.G. March. Chicago, Rand McNally. 1965
7 The Sandbox CMM Business Management CMM SPICE UML Process management (Quality System) Program management Project Management RUP extreme Programming Basic activities Z Testing Specification Definition Implementation Installation, Maintenance Time Boxing Object Orientation USDP Configuration Management Quality Control (V & V) Documentation Requirements management SA/SD Support activities CleanRoom
8 The Sandbox CMM Business Management CMM SPICE UML Process management (Quality System) Program management Project Management RUP extreme Programming Basic activities Z Testing Specification Definition Implementation Installation, Maintenance Time Boxing Object Orientation USDP Configuration Management Quality Control (V & V) Documentation Requirements management SA/SD Support activities CleanRoom
9 The Sandbox CMM Business Management CMM SPICE UML Process management (Quality System) Program management Project Management RUP extreme Programming Basic activities Z Testing Specification Definition Implementation Installation, Maintenance Time Boxing Object Orientation USDP Configuration Management Quality Control (V & V) Documentation Requirements management SA/SD Support activities CleanRoom
10 Process: Adaptability the framework activities will always be applied on every project... BUT the tasks and degree of rigor for each activity will vary based upon many factors, e.g.: the type project project characteristics team characteristics common sense judgement These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.
11 Prescriptive Models These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.
12 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.
13 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering That leads to a few questions... These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.
14 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering That leads to a few questions... If prescriptive process models strive for structure and order, are they inappropriate for a software world that thrives on change? These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.
15 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering That leads to a few questions... If prescriptive process models strive for structure and order, are they inappropriate for a software world that thrives on change? Yet, if we reject traditional process models (and the order they imply) and replace them with something less structured, do we make it impossible to achieve coordination and coherence in software work? These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.
16 Build and Fix Model Picture from Schach: Classical and Object-Oriented Software Engineering, 5th ed.
17 Build and Fix Model Problems No specifications No design Lack of visibility Easily leads to poorly structured systems Totally unsatisfactory Need life-cycle model Picture from Schach: Classical and Object-Oriented Software Engineering, 5th ed.
18 Waterfall Model d Object-Oriented Software Engineering, 5th ed. Picture from Schach: Classical and Object-Oriented Software Engineering, 5th ed.
19 Waterfall Model Planning and control Documentation-driven Doing the homework Formal change management d Object-Oriented Software Engineering, 5th ed. Picture from Schach: Classical and Object-Oriented Software Engineering, 5th ed.
20 The Waterfall Model
21 The Waterfall Model Strengths Easily manageable process (manager s favourite?) Probably the most effective model, if you know the requirements Extensive documentation
22 The Waterfall Model Strengths Easily manageable process (manager s favourite?) Probably the most effective model, if you know the requirements Extensive documentation Weaknesses Inflexible partitioning of the project into distinct phases Difficult to respond to changing customer requirements Feedback on system performance available very late and changes can be very expensive
23 The Waterfall Model Strengths Easily manageable process (manager s favourite?) Probably the most effective model, if you know the requirements Extensive documentation Weaknesses Inflexible partitioning of the project into distinct phases Difficult to respond to changing customer requirements Feedback on system performance available very late and changes can be very expensive Applicability Appropriate when the requirements are well understood Short, clearly definable projects (e.g. maintenance) Very large, complex system development that requires extensive documentation. Safety critical systems.
24 Cost to Detect and Correct a Fault
25 Rapid Prototyping Model Picture from Schach: Classical and Object-Oriented Software Engineering, 5th ed.
26 Rapid Prototyping Model Linear Rapid Exploratory vs. throw-away prototypes Picture from Schach: Classical and Object-Oriented Software Engineering, 5th ed.
27 Incremental Model Picture from Schach: Classical and Object-Oriented Software Engineering, 5th ed.
28 Incremental Model Divide project into builds Each build adds functionality Prioritized user requirements Requirements frozen during each build! Picture from Schach: Classical and Object-Oriented Software Engineering, 5th ed.
29 Incremental Model The concept of growing a system via iterations: iterative and incremental development (IID) Divide the project into increments Each increment adds functionality Each iteration is a self-contained mini project composed of activities such as requirements analysis, design, programming and test At the end of the iteration an iteration release: a stable, integrated and tested partially complete system Most releases internal, final iteration release is the complete product Prioritize user requirements MOSCOW priorities: must, should, could, want High-priority requirements into early increments Freeze requirements during each increment
30 Incremental Development Advantages Customer value can be delivered at the end of each increment making system functionality available earlier Final product better matches true customer needs Early increments act as a prototype to help elicit requirements for later increments get feedback on system performance Lower risk of overall project failure Smaller sub-projects are easier to control and manage A meaningful progress indicator: tested software The highest priority features tend to receive the most testing Job satisfaction is increased for developers who can see early results of their work
31 Incremental Development Disadvantages Can be harder to plan and control than waterfall development Can be more expensive than waterfall development May require more experienced staff System architecture must be adaptive to change Software project contracts are still mostly drawn up according to the waterfall model and all changes cause renegotiations
32 Synchronize-and-Stabilize Model Microsoft s life-cycle model Requirements analysis interview potential customers Draw up specifications Divide project into 3 or 4 builds Each build is carried out by small teams working in parallel
33 Synch-and-Stabilize Product vision Functional specification Development subcycle Development subcycle Development subcycle ERSITY OF TECHNOLOGY Buffer time Buffer time Buffer time Alpha release Beta release Feature complete Beta release UI freeze Code complete Final test Final debug Stabilize Final release
34 Sync-and-Stabilize At the end of the day synchronize (test and debug) At the end of the build stabilize (freeze build) Components always work together Get early insights into operation of product
35 Spiral Model Radial dimension: cumulative cost to date Angular dimension: progress through the spiral
36 The Spiral Model A meta-model -> other models can be derived Risk management is central Problems Hard to match to contract software Not enough flexibility and freedom in contract mechanisms Great deal of reliance on risk-assessment expertise Applicability Internal software development A framework for risk-driven application of other models
37 Still Other Process Models Component based development the process to apply when reuse is a development objective Formal methods emphasizes the mathematical specification of requirements AOSD provides a process and methodological approach for defining, specifying, designing and constructing aspects Unified process a use-case driven, architecturecentric, iterative and incremental software process closely aligned with the Unified Modeling Language (UML) These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.
38 Rational Unified Process (RUP)
39 UP Work Products Inception phase Vision document Initial use-case model Initial project glossary Initial business case Initial risk assessment. Project plan, phases and iterations. Business model, if necessary. One or more prototypes Inceptio n Elaboration phase Use-case model Supplementary requirements including non-functional Analysis model Software architecture Description. Executable architectural prototype. Preliminary design model Revised risk list Project plan including iteration plan adapted workflows milestones technical work products Preliminary user manual Construction phase Design model Software components Integrated software increment Test plan and procedure Test cases Support documentation user manuals installation manuals description of current increment Transition phase Delivered software increment Beta test reports General user feedback These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.
40 Agile Software Development
41 The Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Kent Beck et allii These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.
42 What is Agility Effective (rapid and adaptive) response to change Effective communication among all stakeholders Drawing the customer onto the team Organizing a team so that it is in control of the work performed Yielding... Rapid, incremental delivery of software These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.
43 An Agile Process Is driven by customer descriptions of what is required (scenarios) Recognizes that plans are short-lived Develops software iteratively with a heavy emphasis on construction activities Delivers multiple software increments Adapts as changes occur These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.
44 From Waterfall to Agility Specification Design Time Implementation Test Waterfall Iterative/Incremental XP
45 Extreme Programming (XP) The most widely used agile process, originally proposed by Kent Beck XP Planning Begins with the creation of user stories Agile team assesses each story and assigns a cost Stories are grouped for a deliverable increment A commitment is made on the delivery date After the first increment, projct velocity is used to help define subsequent delivery dates for other increments These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.
46 Extreme Programming (XP) These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.
47 Extreme Programming (XP) XP Design Follows the KIS principle Encourage the use of CRC cards (Chapter 8) Difficult solutions prototyped using spike solutions Encourages refactoring an iterative refinement of the internal program design These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.
48 Extreme Programming (XP) XP Design Follows the KIS principle Encourage the use of CRC cards (Chapter 8) Difficult solutions prototyped using spike solutions Encourages refactoring an iterative refinement of the internal program design XP Coding Recommends the construction of unit tests before coding commences Encourages pair programming These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.
49 Extreme Programming (XP) XP Design Follows the KIS principle Encourage the use of CRC cards (Chapter 8) Difficult solutions prototyped using spike solutions Encourages refactoring an iterative refinement of the internal program design XP Coding XP Testing Recommends the construction of unit tests before coding commences Encourages pair programming All unit tests are executed daily Acceptance tests are defined by the customer and executed to assess customer visible functionality These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.
50 Scrum Originally proposed by Schwaber and Beedle Distinguishing features Development work partitioned into packets Testing and documentation on-going as the product is constructed Work occurs in sprints and is derived from a backlog of existing requirements Meetings are very short and sometimes conducted without chairs (scrums) Demos are delivered to the customer within the time-box allocated These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.
51 Scrum B Casper CaspeLassenius
52 Challenges and Solutions for a Flexible Process Challenges Detailed design work must be started before the product architecture is fully defined Buffering need The system must be integrated before the completion of all its modules Design work partitioned The development team must be able to respond to new information even at a late stage of the project Flexibility in architecture Solutions Greater investment in architectural design Earlier feedback on a product s system level performance Development team with a grater amount of generational experience
53 A Flexible Process IS Iterative Based upon rapid, frequent, intense, systematic iterations, starting early in the process and involving customers NEEDS A modular and scaleable product architecture An experienced team Early customer/user involvement IS NOT Cheaper than a traditional process Fire-fighting Unmanaged ad-hoc hacking
54 Two Different Project Types
55 Two Different Project Types Functionality driven Example: a new operating system Certain functionalities must be in place They are well-known in advance The schedule is allowed to slip so that the required functionality can be developed
56 Two Different Project Types Functionality driven Example: a new operating system Certain functionalities must be in place They are well-known in advance The schedule is allowed to slip so that the required functionality can be developed Schedule driven Example: consecutive releases of a word processor Release deadline set and fixed Product released on schedule Final configuration of features unknown until late in the project Features must be prioritized for this to work
57 Two Different Project Types Functionality driven Example: a new operating system Certain functionalities must be in place They are well-known in advance The schedule is allowed to slip so that the required functionality can be developed Schedule driven Example: consecutive releases of a word processor Release deadline set and fixed Product released on schedule A one-size process does not fit all! Final configuration of features unknown until late in the project Features must be prioritized for this to work
58 Process Choice There is not uniformally applicable process which is applicable to any type and size of project High costs may occur if you force an inappropriate process on a development team However, one organization cannot have a vast number of different processes in use Sometimes you don t have a possibility to choose A chosen process model can be tailored to suit the project
59 Process Choice For large systems, management is usually the principal problem, so you need a strictly managed process For smaller systems, more informality is possible Hybrid models: Large systems are usually made up of several sub-systems The same process model need not be used for all subsystems Prototyping or agile development for high-risk specifications Waterfall model for well-understood developments
60 Dimensions Affecting Process Model Selection Dimensions Affecting Process Model Selection (Boehm & Turner 2003)
61 Plan-driven vs. Agile Neither plan-driven nor agile methods provide a silver bullet Both have home grounds where one clearly dominates the other Both agility and disciplines are critical Increasingly rapid pace of change E.g., larger projects using agile methods need plandriven process aspects to be integrated to be successful Build your method up don t tailor it down
62 Questions?
Software Processes. CSE-C3610, Software Engineering, 5 cr. Prof. Casper Lassenius
Software Processes CSE-C3610, Software Engineering, 5 cr Prof. Casper Lassenius Software Process What? Why? Software Process Definitions Process Webster: 1. A continuing development involving many changes.
More information04. Agile Development
04. Agile Development Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Background of Agile Software Development Software development until late 90s
More informationCONTENTS. Introduction to Software Engineering. Software Process and Life Cycle Models. Software Life-Cycle Model-2. Chapter 1. Chapter 2.
Contents (v) CONTENTS Preface About the Author (xv) (xvii) Chapter 1 Introduction to Software Engineering 1.1 Introduction 1 1.2 Basics of Software Engineering 2 1.3 Principles of Software Engineering
More informationThe Software Life Cycle
Inception Software Increment Communication Planning Production The Software Life Cycle Software Engineering Deployment Andreas Zeller Saarland University Modelling Elaboration Transition Construction Construction
More informationMoonzoo Kim. KAIST cs350 Intro. to SE Spring
Chapter 4 Agile Development Moonzoo Kim CS Division of EECS Dept. KAIST moonzoo@cs.kaist.ac.kr http://pswlab.kaist.ac.kr/courses/cs350-07 ac kr/courses/cs350 07 Spring 2008 1 Ex. UP Work Products Inception
More informationSoftware Engineering
Software Engineering (CS550) Software Development Process Jongmoon Baik Software Development Processes (Lifecycle Models) 2 What is a S/W Life Cycle? The series of stages in form and functional activity
More informationLecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation
Chapter 2 Software Processes Lecture 1 Software process descriptions When we describe and discuss processes, we usually talk about the activities in these processes such as specifying a data model, designing
More informationcopyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner s Approach, 6/e Chapter 3 Prescriptive Process Models copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for
More informationSoftware Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1
Software Processes Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be
More informationThe software process
Software Processes The software process A structured set of activities required to develop a software system Specification; Design; Validation; Evolution. A software process model is an abstract representation
More informationThe Software Life Cycle
Production Inception The Life Cycle Engineering Modelling Andreas Zeller Saarland University Elaboration Transition A Crisis Denver International Airport (DIA) started in 1989 53 sq miles Planned: 1.7
More informationSoftware Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models
Objectives Software Processes To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
More informationObjectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes
Objectives Software Processes To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
More informationTopics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
More informationQuality 24 Process Improvement 26 Real processes. Product Quality. Quality Management. Quality Management. Quality Plan
Quality 24 Process Improvement 26 Real processes Cleanroom RUP XP Software Engineering 55 Software Engineering 56 Product Quality Acceptable: usable, learnable, compatible Efficient: response time, memory
More informationTuesday, October 25. Announcements
Tuesday, October 25 Announcements Crowdsourcing the Midterm http://www.drsusansim.org/teaching/inf111/pligg Homework 5 Skip lab portion Use anything you want to draw the diagrams for the take home portion
More informationSOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis.
SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS Saulius Ragaišis saulius.ragaisis@mif.vu.lt CSC2008 SE Software Processes Learning Objectives: Explain the concept of a software life cycle and
More informationSoftware Process. Overview
Software Process Overview What is software process? Examples of process models Unified Process (UP) Agile software development N. Meng, B. Ryder 2 1 Software Process Definition [Pressman] a framework for
More informationAn Overview of Software Process
An Overview of Software Process Objectives To introduce the general phases of the software development life cycle (SDLC) To describe various generic software process models and discuss their pros and cons
More informationChapter 3 Prescriptive Process Models
Chapter 3 Prescriptive Process Models - Generic process framework (revisited) - Traditional process models - Specialized process models - The unified process Generic Process Framework Communication Involves
More informationAGILE DEVELOPMENT AND ITS IMPACT ON PRODUCTIVITY
AGILE DEVELOPMENT AND ITS IMPACT ON PRODUCTIVITY 2006 International Software Measurement & Analysis Conference David Garmus www.davidconsultinggroup.com Topics Characteristics of Agile Projects Performance
More informationThe Systems Development Lifecycle
Modelling and Systems Development Lecture 2 The Systems Development Lifecycle The four-phase model common to all system developments projects The project Major attributes of the Lifecycle Moves systematically
More informationSoftware Processes 1
Software Processes 1 Topics covered Software process models Process activities Coping with change 2 The software process A structured set of activities required to develop a software system. Many different
More informationChapter 3 Agile Software Development
Chapter 3 Agile Software Development Chapter 3 Agile Software Development Slide 1 Topics covered Rapid software development Agile methods Plan-driven vs. agile development Extreme programming (XP) Agile
More informationSWE 211 Software Processes
SWE 211 Software Processes These slides are designed and adapted from slides provided by Software Engineering 9 /e Addison Wesley 2011 by Ian Sommerville 1 Outlines Software process models Process activities
More informationII. Software Life Cycle. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini
II. Software Life Cycle Laurea Triennale in Informatica Corso di Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process
More informationChapter 2 Objectives. Pfleeger and Atlee, Software Engineering: Theory and Practice (edited by B. Cheng) Chapter 2.
Chapter 2 Objectives What we mean by a process Software development products, processes, and resources Several models of the software development process Tools and techniques for process modeling 2.1 The
More informationSoftware Modeling & Analysis. - Fundamentals of Software Engineering - Software Process Model. Lecturer: JUNBEOM YOO
Software Modeling & Analysis - Fundamentals of Software Engineering - Software Process Model Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr What is Software Engineering? [ IEEE Standard 610.12-1990 ] Software
More informationChapter 3 Software Process Model
Usman Akram COMSATS Institute of information Technology lahore musmanakram@ciitlahore.edu.pk March 8, 2015 About software process model Outline 1 About software process model Build and Fix Model Why Models
More informationBased on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems
Software Processes Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems Slide 1 Objectives To introduce software
More informationSoftware Life Cycles and Configuration Management
Software Configuration Lecture 11 Software Engineering TDDC88/TDDC93 autumn 2008 Department of Computer and Information Science Linköping University, Sweden Theory Lecture Plan 2 L1 - Course Introduction
More informationLecture 1. Topics covered. Rapid p development and delivery is now often the most important requirement for software systems.
Chapter 3 Agile Software Development Lecture 1 Topics covered Agile g methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods Rapid software development
More informationSoftwaretechnik. Lecture 02: Processes. Peter Thiemann SS University of Freiburg, Germany
Softwaretechnik Lecture 02: Processes Peter Thiemann University of Freiburg, Germany SS 2012 Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 1 / 34 Terms Software Program SW System organized collections
More informationLecture 8 Agile Software Development
Lecture 8 Agile Software Development Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics
More informationSoftware Engineering
Software Engineering Lecture 02: Processes Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 41 Terms Software Component SW System Organized
More informationQAIassist IT Methodology General Context
QAIassist IT Methodology General Context IT Methodology General Context From the inception of Information Technology (IT), organizations and people have been on a constant quest to optimize the evolving
More informationCOSC 735: Software Engineering Test 1 Sample Solution
COSC 735: Software Engineering Test 1 Sample Solution QUESTION 1: 1. (a) Define Software Engineering. Software engineering is the establishment and use of sound engineering principles in order to obtain
More information2009 Spring. Software Modeling & Analysis. - Software Process Model. Lecturer: JUNBEOM YOO
2009 Spring Software Modeling & Analysis - Fundamentals of Software Engineering - Software Process Model Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr What is Software Engineering? IEEE Std 610.12-1990 [ IEEE
More informationNote 10: Software Process
Computer Science and Software Engineering University of Wisconsin - Platteville Note 10: Software Process Yan Shi Lecture Notes for SE 3330 UW-Platteville Based on Pressman Chapter 2 & 3 Software Process
More informationA New Divide & Conquer Software Process Model
A New Divide & Conquer Software Process Model First A. Hina Gull, Second B. Farooque Azam Third C. Wasi Haider Butt, Fourth D. Sardar Zafar Iqbal Abstract The software system goes through a number of stages
More informationLecture 5. Software Processes CSC 4700 Software Engineering. Software Development Processes. The software process
Software Processes CSC 4700 Software Engineering Lecture 5 Dr. Tom Way CSC 4700 1 Software Development Processes Dr. Tom Way CSC 4700 2 The software process A structured set of activities required to develop
More informationDEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers UNIT 1 1. What are software myths Answer: Management myths: We already have a book
More informationMTAT Software Engineering Management
MTAT.03.243 Software Engineering Management Lecture 03: Principles of Software Modeling (Part A) & Rich es Spring 2013 Dietmar Pfahl email: dietmar.pfahl@ut.ee Homework 1: Introduction to SPI Administrative
More informationIntroduction to Software Engineering: Project Management ( Highlights )
Introduction to Software Engineering: Project Management ( Highlights ) John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from chapters 14, 15, and 16 of Object
More informationSoftware Engineering Lecture 5 Agile Software Development
Software Engineering Lecture 5 Agile Software Development JJCAO Mostly based on the presentation of Software Engineering, 9ed Exercise Describe the main activities in the software design process and the
More informationProcesses and Life- Cycles. Kristian Sandahl
Processes and Life- Cycles Kristian Sandahl 2 Maintenance Requirements Validate Requirements, Verify Specification Acceptance Test (Release testing) System Design (Architecture, High-level Design) Verify
More informationAgile Development Processes. CSCE Lecture 3-08/31/2017
Agile Development Processes CSCE 740 - Lecture 3-08/31/2017 Common Practice: Code & Fix Sit down, write out the code, and fix problems as they occur. No formal structure to development. What is wrong with
More informationCS350 Lecture 2 Software Dev. Life Cycle. Doo-Hwan Bae
CS350 Lecture 2 Software Dev. Life Cycle Doo-Hwan Bae bae@se.kaist.ac.kr Whose Drawings? Watts Humphrey, SE is Religion and Philosophy. Just Follow me! CS350 Software Engineering, SoC, KAIST 2 What is
More informationCMPT 275 Software Engineering
CMPT 275 Software Engineering Software life cycle 1 Software Life Cycle Sequence of processes completed as a software project moves from inception to retirement At beginning of project development, choose
More information03. Perspective Process Models
03. Perspective Process Models Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Prescriptive Process Models advocates an orderly approach to software
More information2. True or false: In Scrum all the requirements for the project are known prior to the start of development.
CTC-ITC 310 Program Management California State University Dominguez Hills Fall 2018 Instructor: Howard Rosenthal Assignment 5 A Deeper Look At Agile Methodologies Answer Sheet Each question is worth 10
More informationLIFE-CYCLE MODELS AND PROCESS. Software Engineering 1/9/2008. CHAPTER 1, 2, and 3. Stephen R. Schach
Slide 2.1 CHAPTER 1, 2, and 3 Slide 2.2 Object-Oriented Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R. Schach srs@vuse.vanderbilt.edu SOFTWARE LIFE-CYCLE MODELS AND PROCESS Overview Slide
More informationMODULE Explain briefly the different types of system models that might be created during the system analysis phase. 2. Write short notes on
15CS42: SOFTWARE ENGINEERING QUESTION BANK MODULE 1. 1. What is software? Explain the two fundamental types of software products. 2. What is software engineering? What is the difference between software
More informationChapter 3. Information Systems Development. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.
Chapter 3 Information Systems Development McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 3-2 Describe the motivation for a system development process
More informationPart 1. Software engineering Facts. CSC 4181 Compiler Construction Software Engineering Lectures. What is software engineering? What is software?
Software engineering Facts CSC 4181 Compiler Construction Software Engineering Lectures Part 1 Fact: The economies of ALL developed nations are dependent on software. Fact: More and more systems are software
More informationProcesses and Life- Cycles. Kristian Sandahl
Processes and Life- Cycles Kristian Sandahl 2 Maintenance Requirements Validate Requirements, Verify Specification Acceptance Test (Release testing) System Design (Architecture, High-level Design) Verify
More informationCOMP 6481 Fall 2006 System Requirement Specifications
COMP 6481 Fall 2006 System Requirement Specifications Instructor Name: Dr. Olga Ormandjieva Software Requirements Engineering using Agile Methods Project Report Name: Muhammad F. Ahmed ID: 5774454 Name:
More informationObject-Oriented and Classical Software Engineering
Slide 3.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 3 Slide 3.2 THE SOFTWARE PROCESS Overview Slide 3.3
More informationAgile Software Development:
Agile Software Development: 1.Agile methods 2.Plan-driven and agile development 3.Extreme programming (XP) 4.Agile project management 5.Pair Programming 6.Scrum 7.Scaling agile methods Rapid software development:
More information6. Models of the Design Process
6. Models of the Design Process 17 September 2008 Bob Glushko Plan for ISSD Lecture #6 Meta-Methodology: Sequential, Iterative, Work Product, and Portfolio Approaches "User-Centered Design at IBM Consulting"
More informationSoftware Engineering Part 2
CS 0901341 Software Engineering Part 2 In this part, we look at 2.1 Software Process 2.2 Software Process Models 2.3 Tools and Techniques for Processing Modelling As we saw in the previous part, the concept
More informationFIT2101 Software Engineering Process and Management
FIT2101 Software Engineering Process and Management Agile and Software Process Models Topics Covered Features of Agile What Agile Isn t Agile Process Models Software Process Models In 2001 leaders of lightweight
More informationMajor attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis
Modelling and Systems Development Lecture 2 The Systems Development Lifecycle The four-phase model common to all system development projects Major attributes of the Lifecycle The project Moves systematically
More information5) A work breakdown structure is a list of tasks broken down to small manageable activities. Answer: TRUE Diff: 2 Page Ref: 42
Project Management: Process, Technology, and Practice (Vaidyanathan) Chapter 2 Process and Methods 2.1 True False 1) A procedure defines how to do a task. Diff: 1 Page Ref: 38 2) A business process is
More informationObject-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3.
Slide 3.1 CHAPTER 3 Slide 3.2 Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 3.3 Overview (contd) Slide 3.4
More informationIntroduction to Software Life Cycles and Agile. CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014
Introduction to Software Life Cycles and Agile CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014 1 Goals Present an introduction to the topic of software life cycles concepts and terminology
More informationOracle Unified Method (OUM) The OUM Implement Core Workflow The Key to Understanding and Applying OUM. An Oracle White Paper April 2012
Oracle Unified Method (OUM) The OUM Implement Core Workflow The Key to Understanding and Applying OUM An Oracle White Paper April 2012 OUM Implement Core Workflow White Paper Introduction... 3 OUM is Iterative...
More informationSoftware Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 5 Integrated Object-Oriented Methodologies: USDP and EUP 1 Unified Software Development Process (USDP) Also known as Unified Process (UP)
More informationCS314 Software Engineering Project Management
CS314 Software Engineering Project Management Dave Matthews Software process movements Predictive 1970 Waterfall Iterative 1980s, 1990s Spiral, RAD, RUP Adaptive (Agile) late 1990s XP, Scrum, Crystal,
More informationProcess, Models, Methods, Diagrams Software Development Life Cyles. Part - II
Process, Models, Methods, Diagrams Software Development Life Cyles Part - II A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process maturity based
More informationThe Top Thrill Dragster
EEC 421/521: Software Engineering The Software Process Prescriptive Process Models 1/22/08 EEC 421/521: Software Engineering 1 The Top Thrill Dragster 420 ft tall Max speed over 120 mph World s second
More informationSoftware Engineering
Software Engineering Part I. Aspects and Models of Software Development Process Gunadarma University 1 Software Engineering Outline 1 Introduction 2 Aspects of Software Engineering Software Engineering
More informationSoftware Design COSC 4353/6353 D R. R A J S I N G H
Software Design COSC 4353/6353 D R. R A J S I N G H Outline Week 2 Software Development Process Software Development Methodologies SDLC Agile Software Development Process A structure imposed on the development
More informationObjectives. Rapid software development. Topics covered. Rapid software development. Requirements. Characteristics of RAD processes
Objectives Rapid software development To explain how an iterative, incremental development process leads to faster delivery of more useful software To discuss the essence of agile development methods To
More informationCS 320 Introduction to Software Engineering Spring February 01, 2017
CS 320 Introduction to Software Engineering Spring 2017 February 01, 2017 Recap: software development process Activities and steps Requirements engineering Design and architecture Implementation Verification
More informationExplore Comparative Analysis Software Development Life Cycle Models
Explore Comparative Analysis Software Development Life Cycle Models Anshu Mishra Assistant Professor, Department of Information Science and Engineering Jyothy Institute of Technology, Bangalore Abstract-The
More information! How work in building software is done: ! e.g., waterfall process. ! e.g., object-oriented development. ! e.g., requirements inspection process
Software Process Process CMPUT 401 Module 04! How work in building software is done:! e.g., waterfall process! e.g., object-oriented development! e.g., requirements inspection process Department of Computing
More informationPertemuan 2. Software Engineering: The Process
Pertemuan 2 Software Engineering: The Process Collect Your Project Topic What is Software Engineering? Software engineering is the establishment and sound engineering principles in order to obtain economically
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 11: Managing the Software Process
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process 11.1 What is Project Management? Project management encompasses all the
More informationNon-object-oriented design methods. Software Requirements and Design CITS 4401 Lecture 15
Non-object-oriented design methods Software Requirements and Design CITS 4401 Lecture 15 1 (reminder) Software Design is a creative process no cook book solutions goal driven we create a design for solving
More informationSoftware Engineering Modern Approaches
Software Engineering Modern Approaches Chapter : Software Process Eric Braude and Michael Bernstein Maintenance Testing The Software Development Lifecycle Implementation Design Phase most relevant to this
More informationOwning An Agile Project: PO Training Day 2
Owning An Agile Project: PO Training Day 2 Petri Heiramo Agile Coach, CST Product Management PO Product management is a larger scope than what Scrum defines as a PO Or rather, Scrum implicitly assumes
More informationIntroduction to Software Engineering
UNIT I SOFTWARE PROCESS Introduction S/W Engineering Paradigm life cycle models (water fall, incremental, spiral, WINWIN spiral, evolutionary, prototyping, objects oriented) -system engineering computer
More informationSoftware Engineering COMP 201
Software Engineering COMP 201 Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 2 Software Processes
More informationProcesses. Object Orientated Analysis and Design. Benjamin Kenwright
Processes Object Orientated Analysis and Design Benjamin Kenwright Outline Review What are Processes? Why are they important in Object Orientated Analysis and Design Conclusion and Discussion Summary Revision
More informationINDEX. Numerics 1970s - iterative practice s - iterative practice 85
Numerics 1970s - iterative practice 82 1980s - iterative practice 85 A acceptance testing 147, 295 adaptive development 15 planning 12, 17, 253 Adaptive Software Development 29, 34, 38 adoption 314, 320,
More informationIntroduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016
Introduction to Agile Life Cycles CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016 1 Goals Introduction to Agile Life Cycles The Agile Manifesto and Agile Principles Agile Life Cycles
More informationProcess. CMPUT 401 Module 04. Department of Computing Science University of Alberta Ken Wong, 2008
Process CMPUT 401 Module 04 Department of Computing Science University of Alberta Ken Wong, 2008 Software Process How work in building software is done: e.g., waterfall process e.g., object-oriented development
More informationAgile Methods. Background
Agile Methods Agile Alliance http://www.agilealliance.com/home Background In 2001, a group of lightweight methodologies practioners met to discuss similarities and experiences They wrote the Manifesto
More informationExtreme Programming, an agile software development process
Extreme Programming, an agile software development process Paul Jackson School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models 1.Determine objectives Cumulative cost Progress
More informationunderstand, in outline, the activities involved in software requirements engineering, software development, testing and evolution;
4 Software processes Objectives The objective of this chapter is to introduce you to the idea of a software process-a coherent set of activities for software produetion. When you have read this chapter,
More informationSoftware Engineering & Project Management Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000)
Software Engineering & Project Management Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) armahmood786@yahoo.com alphasecure@gmail.com alphapeeler.sf.net/pubkeys/pkey.htm http://alphapeeler.sourceforge.net
More informationIntroduction to Agile and Scrum
Introduction to Agile and Scrum Matthew Renze @matthewrenze COMS 309 - Software Development Practices Purpose Intro to Agile and Scrum Prepare you for the industry Questions and answers Overview Intro
More informationCMSC 435: Software Engineering Section Back to Software. Important: Team Work. More Resources
CMSC 435: Software Engineering Section 0101! Atif M. Memon (atif@cs.umd.edu)! 4115 A.V.Williams building! Phone: 301-405-3071! Office hours!.tu.th. (10:45am-12:00pm)! Don t wait, don t hesitate, do communicate!!!
More informationWhere Is The Discipline In Disciplined Agility?
Where Is The Discipline In Disciplined Agility? Date: April 2007 Presented By: Bob Small Systems and Software Consortium 2214 Rock Hill Road, Herndon, VA 20170-4227 Phone: (703)742-8877 FAX: (703)742-7200
More informationCourse Title: Agile for Business Analysts
Course Title: Agile for Business Analysts 2 Day Workshop AG-BA08 Agile for Business Analysts Course ID: AG-BA08 Credits: 14 PDUs Course Duration: 2 days Course Level: Basic/Intermediate Prerequisites:
More informationAgile Software Development. Agile Software Development Basics. Principles of the Agile Alliance. Agile Manifesto. Agenda. Agile software development
Agile Software Development T-110.6130 Systems Engineering in Data Communications Software P, Aalto University Agile software development Structured and disciplined, fast-paced Iterative and Incremental
More informationChapter 3 Agile Software Development. Part 1b
Chapter 3 Agile Software Development Part 1b 1 Testing in XP Testing is central to XP and XP has developed an approach where the program is tested after every change has been made. XP testing features:
More information