MTAT Software Engineering Management

Size: px
Start display at page:

Download "MTAT Software Engineering Management"

Transcription

1 MTAT Software Engineering Management Lecture 03: Principles of Software Modeling (Part A) & Rich es Spring 2013 Dietmar Pfahl

2 Homework 1: Introduction to SPI Administrative information: This homework has to be done individually. Maximum number of marks: 3 Submission deadline is Monday, 18-Feb-2013, at 17:00 sharp. If you don t submit in time, you receive a penalty as follows: Late delivery until Tuesday, 19-Feb-2013, at 17:00 -> 1 mark penalty (-33%) Late delivery after Tuesday, 19-Feb-2013, at 17:00 -> 3 marks penalty (-100%) Submit your homework as an attachment by to: dietmar.pfahl@ut.ee Put the following information in the subject line: [SE-Man] Homework 1: <Your Name> IMPORTANT: Only files in PDF format will be accepted! I won t look at files that are not PDF.

3 Structure of Lecture 03 Introduction to Modelling Exercise 2 Prescriptive

4 What is a (Software Development)? A defines Who is doing What, When and How to reach a specific goal. In software engineering the goal is to build a software product or to enhance an existing one and by the way An effective process facilitates efficient development of software with the required quality reduces risk and increases predictability promotes common vision and culture

5 Product Quality vs. Quality When software delivers incorrect results we do not modify the results but the software that produces them. When a process delivers incorrect products then common practice is to (only) modify the products, instead of the process.

6 Software Development Challenges Product quality poor... but what should we change to fix this? e.g., when/how do we introduce defects and when/how should we find them? Deadlines missed... but where do we lose all that time? e.g., do we lose most time during requirements negotiation, or during testing? (unit testing? system testing? regression testing?) Budget overruns... but what are the most expensive activities? e.g., are we spending most effort on coding or on rework/refactoring? Overhead... do we spend much effort on non-productive activities? e.g., how much effort is spent for collecting information (manually)? New employees... how should they learn how we work?... e.g., through trial and error or by more efficient means?

7 Information Needs What information do we need to answer the questions on previous slide: Which activities are performed in which sequence? Which are the inputs and outputs of these activities? Who is involed in a specific activity? What techniques/tools should be used? How long does it (typically) take to complete an activity?... How can we gather and maintain this information? We can ask experienced professionals or we need a precise and concise descriptions of the processes holding the required information!

8 versus Description Lee Osterweil, Software are es too (ICSE 1986): While a process is a vehicle doing a job, a process description is a specification of how the job is to be done. Thus cookbook recipes are process descriptions while the carrying out of the recipes are processes. A Model is a (semi-) formal representation of a Description

9 es Types of Product-Engineering es Engineering es -Engineering es Non-Engineering es Business es Social es Modeling es Software Knowledge Development es Maintenance es Project Mgmt es Quality Mgmt es Measurement es Improvement es Product Line es Conf Mgmt es Product... Quality Taxonomy Business... Social Engineering Life Cycle Life Cycle describe (classes of) activities of development processes at a high level of abstraction Technical Managerial Engineering Proc.

10 What are the Goals of Modeling? To enable effective understanding and communication At one development site (developers, teams,...) Between development sites (distributed development, outsourcing, contractor-supplier relations,...) To support project management Transparency, tracking,... To guide the developers Incorporating new employees To improve software development activities Improving real processes requires measurement and measurement requires defined processes Evolving processes To support reuse of process knowledge Organsational learning To support automatic process enactment Workflow support

11 What is a (Software) Model? Software Model: An abstract software process description. It can be more or less formal. [Lonchamp 93] Key elements:

12 Characterization of A Model defines: an identifiable activity or a group of activities or a hierarchy of activities the sequence/order of activities (-> control flow) the input/output products (artifacts) of activities (-> product flow) the resources (roles and tools/techniques/methods) needed the relations between activities, artifacts and resources

13 Definition: Performer, Owner, Engineer Performer or Agent (PA) := Person/Agent who enacts/executes the process in order to achieve the process goal(s) Humans interpret process scripts, machines interpret process programs scripts and process programs are user-specific process descriptions Owner (PO) := Person or organizational entity that sets the goals of a process and is responsible for its achievement The PO provides resources for the enactment/execution of the process, but s/he is not responsible for providing process definitions Engineer (PE) := Person who has to fulfill one or several goals of process modeling (e.g., process definition to guide developers) To that end, the PE uses process models, which s/he defines, extends, improves, and manages The PE should pay attention to the accuracy of the model, i.e., the correspondence between real-world process enactment/execution and process model

14 Example of a Script (textual representation) Note: descriptions for humans can be enhanced by graphical representations and be made accessible in the form of: Handbooks, Electronic Guides (web-guides with hyperlinks) and Wikis. (Excerpt taken from the ISPW-6 Software Example)

15 Typical Contents of Model Representations

16 Module developer Moderator Tester Quality assurer The Role Concept Examples of Role Activity Relations RASCI Matrix R = Responsible Roles A = Approve Role A role is in charge of one or more activities defined in one or more processes A role has defined competences & responsibilities Activities Module design Module coding Module review Module testing R R S, R S R A I S = Support C = Consult I = Inform Possible relationships between agents and roles 1 : 1 1 : m n : 1 n : m

17 Descriptive vs. Prescriptive How is it done? How should it be done?

18 Prescriptive vs. Descriptive Prescriptive (theoretical) Ideal (Assumed) best practice Often requires instantiation and detailing Deviations from real processes are likely Examples: waterfall, V- model, spiral model, incremental, iterative, evolutionary, agile process models Descriptive (empirical) Accurate elicitation of actual, real processes Basis for the revision of existing (prescriptive) process models based on observation and experience

19 Relationship between Descriptive and Prescriptive Modeling

20 The Four Domains Principle [Source: Heidrich, Münch, Verlage: Modeling, Lecture at Uni KL, Summer 2012, Chapter 1] (Model)

21 Structure of Lecture 03 Introduction to Modelling Exercise 2 Prescriptive

22 Exercise 2 Handout Task: Read the textual description of the process of surveying Customer Satisfaction using the Kano-Model Form a pair with a student sitting next to you and create a process model of the process of surveying Customer Satisfaction using the Kano-Model, i.e. Identify activities, artifacts, roles, tools/techniques/methods, and the relations between these entities Use either the graphical or the table notation shown on the next slide Give the resulting model to the course instructor

23 Exercise 2 (cont d) Model representations: Using product-flow notation Programm er uses consumes Design Implement Java Development Environment uses Activity Artifact Role produces Using table notation Method / Tool Code

24 Structure of Lecture 03 Introduction to Modelling Exercise 2 Prescriptive

25 Prescriptive How is it done? How should it be done?

26 Abstraction Levels of Prescriptive Pre-defined process models like Scrum, EVO, RUP, XP, Cleanroom... Inspires Organizational model models exist on 3 levels: family/standard level, organizational level, and project level Project (type) 1 process model Project (type) 2 process model Project (type) n process model

27 Families, Standards and De-facto Standards Maturity CMMI SPICE Engineering Life Cycle Waterfall Prototyping Spiral ISO Technical RUP XP V-Model XT Managerial Scrum Kanban Lean Engineering Proc. IEEE 1074 Incremental Life Cycle describe (classes of) activities of development processes at a high level of abstraction

28 Families Maturity CMMI SPICE Engineering Life Cycle Waterfall Prototyping Spiral ISO Technical RUP XP V-Model XT Managerial Scrum Kanban Lean Engineering Proc. IEEE 1074 Incremental Life Cycle describe (classes of) activities of development processes at a high level of abstraction

29 Waterfall: Royce Model (1970) Idea: Sequential creation of products on different levels of abstraction (e.g., precede code by design, precede design by requirements) and integration in reverse direction Strictly sequential control flow can be weakened by controlled iterations SYSTEM REQUIREMENTS PRELIMINARY DESIGN ANALYSIS PROGRAM DESIGN SOFTWARE REQUIREMENTS CODING PRELIMINARY PROGRAM DESIGN ANALYSIS PROGRAM DESIGN Prerequisites: Familiarity with application domains, methods, techniques, tools, engineering processes Good understanding of the requirements Stable requirements High capabilities for effort estimation CODING TESTING TESTING OPERATIONS USAGE

30 Prototyping An iterative process of creating quickly and inexpensively live and working models to test out requirements and assumptions (Sprague and McNurlin) Main types: throw away prototypes evolutionary prototypes What is being prototyped? human-computer interface functionality Prerequisites: - Experience with development technology - Availability of technical infrastructure (e.g., HW) for evaluation Challenges: - Risk that non-functional requirements are not sufficiently well explored

31 Project Start Boehm s Spiral Model The spiral model proposed by Boehm (1988) is an iterative model with focus on risk resolution: Determine objectives and constraints Evaluate alternatives Identify risks Resolve risks after assigning priorities to risks Develop a series of prototypes for the identified risks starting with the highest risk Use a waterfall model for each prototype development ( cycle ) If a risk has successfully been resolved, evaluate the results of the cycle and plan the next round If a certain risk cannot be resolved, terminate the project immediately

32 Iterative Enhancement (Incremental Delivery) Origin: Basili und Turner, 1975 Idea: Split functionality into several increments Develop each increment (i.e., a product part that fulfills a subset of requirements) in a Waterfall style; integrate increment by increment into the product until delivery (release) The focus of the development of an increment might be completion of functionality or structure, but it can also be refinement and improvement Strictly sequential control flow can be weakened by controlled iterations Prerequisites: Structure of the problem permits incremental development

33 Incremental delivery delivered system design build install evaluate first incremental delivery design build install evaluate second incremental delivery design build install evaluate increment 1 increment 2 increment 3 Requirements third incremental delivery

34 Iterative Enhancement (Incremental Delivery) Advantages: Efficient learning during the project; thus, experience level can be low Early availability of a product, with the essential properties of the final product. Allows for early customer involvement and feedback Applicable when parts of requirements are (still) unclear or unstable Supports integration testing Good applicability in case of fixed delivery dates (-> prioritize requirements with the customer) Disadvantages: Risk that, by ignoring specific requirements, the product will be designed in such a way that fulfilling future requirements becomes difficult/expensive particularly problematic are non-functional requirements Comprehensive version and configuration management is necessary

35 Standards Maturity CMMI SPICE Engineering Life Cycle Waterfall Prototyping Spiral ISO Technical RUP XP V-Model XT Managerial Scrum Kanban Lean Engineering Proc. IEEE 1074 Incremental Life Cycle describe (classes of) activities of development processes at a high level of abstraction

36 ISO 12207: Standard for Information Technology-Software Life Cycle es This standard officially replaced MIL-STD-498 for the development of DoD software systems in August 1998 This standard defines a comprehensive set of processes that cover the entire life-cycle of a software system from the time a concept is made to the retirement of the software The standard defines a set of processes, which are in turn defined in terms of activities. The activities are broken down into a set of tasks. The processes are defined in three broad categories: Primary Life Cycle es Supporting Life Cycle es Organisational Life Cycle es

37 ISO es Primary life cycle processes: Acquisition process Supply process Development process Operation process Maintenance process Supporting life cycle processes: Audit process Configuration Management Joint review process Documentation process Quality assurance process Problem solving process Verification process Validation process Organisational processes: Management process Infrastructure process Improvement process Training process

38 ISO 12207: Development es

39 IEEE Std 1074 Standard for developing software life cycle processes (first published in 1997) Directed primarily at the process engineer (called architect in the standard) Defines a process for creating a software life cycle process (SLCP) in three steps: Select a (generic) software life cycle model (SLCM) to be used in projects Define details based on selected SLCM and associated reference activities Augment SLCM with Organizational Assets (OPAs) to create the desired SLCP

40 IEEE Std 1074: Generic Software Lifecycle

41 De-facto Standards Maturity CMMI SPICE Engineering Life Cycle Waterfall Prototyping Spiral ISO Technical RUP XP V-Model XT Managerial Scrum Kanban Lean Engineering Proc. IEEE 1074 Incremental Life Cycle describe (classes of) activities of development processes at a high level of abstraction

42 Rational Unified (RUP) Published by Jacobson, Booch, and Rumbaugh in 1998 (UP) Refined by Kruchten (UP > RUP) A generic process framework for software development Consists of generic description of phases and activities that must be adapted for different types of organisations, application domains, competence levels and project sizes Component-based: system is constructed from components interconnected via interfaces Use-case-driven: focuses on the end user during design, implementation, test Architecture-centric: embodying the most significant static and dynamic aspects of the system (4+1) Iterative and incremental: divides project into iterations, each iteration resulting in an increment that is added to the system

43 Rational Unified (RUP) Inception: creates a vision and business case for the final system Elaboration: specifies system s use cases and defines architecture Construction: builds the system, evolves the architecture Transition: system testing and debugging

44 RUP Static Static Structure of the A process defines who is doing what, how, and when. The RUP is represented using four primary modeling elements: Workers (Roles), the "who" Activities, the "how" Artifacts, the "what" Workflows, the "when" Activities, Artifacts, and Workers

45 RUP Resources and Workers (Roles) A worker defines the behavior and responsibilities of an individual, or a group of individuals working together as a team. You could regard a worker as a "hat" an individual can wear in the project. One individual may wear many different hats. The responsibilities we assign to a worker include both to perform a certain set of activities as well as being owner of a set of artifacts.

46 RUP Workflow Example: Analysis & Design Workflows A workflow is a sequence of activities that produces a result of observable value. In UML terms, a workflow can be expressed as a sequence diagram, a collaboration diagram, or an activity diagram.

47 V-Modell XT (XT = Extreme Tailoring) Somewhat comparable to the role of PS 2000 in Norway Published in January 2005 Predecessor: V-Model (1997) for military authorities in Germany Structured in a modular way Mandatory for IT projects in public and military domains in Germany Goals: Enhance support for adaptability, scaleability, changeability, and expandability of V-Model 97 Consider state of the art and adapt to current regulations and standards Expand application range considering the complete system lifecycle of development projects Introduce a process of organizational process improvement

48 V-Modell XT: Model Elements

49 V-Modell XT: The Big Picture The German V-Model comprises four sub-models: System Development (SD) Quality Assurance (QA) Configuration Management (CM) Project Management (PM)

50 V-Modell XT System Development (SD) Sub-Model SD 2

51 V-Modell XT: System Development (SD) Sub-Model SD2: System Design Handling (Refinement)

52 V-Modell XT: System Development (SD) Sub-Model SD2: System Design

53 V-Modell XT: The Big Picture The German V-Model comprises four sub-models: System Development (SD) Quality Assurance (QA) Configuration Management (CM) Project Management (PM)

54 V-Modell XT: Project Management (PM) Sub-Model Activity Types: Management-related Initialization/Finalization Periodically Required Placement/Procurementrelated Planning-related Resource-related

55 Next Lecture Topic: Principles of Modeling (Part B) & Tools For you to do: Finish Homework 1 (if not yet done): deadline is today at 17:00 (sharp!) Send me the result of Exercise 2 (if not yet done) as soon as possible

MTAT Software Engineering Management

MTAT Software Engineering Management MTAT.03.243 Software Engineering Management Lecture 03: Principles of Software Process Modeling (Part A) Dietmar Pfahl Spring 2015 email: dietmar.pfahl@ut.ee Announcements Full project description now

More information

INF5181: Process Improvement and Agile Methods in Systems Development

INF5181: Process Improvement and Agile Methods in Systems Development INF5181: Process Improvement and Agile Methods in Systems Development Lecture 02: Rich Processes & Principles of Process Modeling Fall 2012 Dr. Dietmar Pfahl email: dietmarp@ifi.uio.no Structure of Lecture

More information

INF5181: Process Improvement and Agile Methods in Systems Development

INF5181: Process Improvement and Agile Methods in Systems Development INF5181: Process Improvement and Agile Methods in Systems Development Lecture 12 September 2017: Standard software process models. Understanding processes and their contexts E-mail: dagsj@ifi.uio.no INF5181

More information

An Overview of Software Process

An 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 information

ABHELSINKI UNIVERSITY OF TECHNOLOGY

ABHELSINKI UNIVERSITY OF TECHNOLOGY T 76.3601 Introduction to Software Engineering Software Life-Cycle Models http://www.soberit.hut.fi/t-76.3601/ Casper.Lassenius@tkk.fi Software Engineering? 1. The application of a systematic, disciplined,

More information

Software Quality Engineering Courses Offered by The Westfall Team

Software Quality Engineering Courses Offered by The Westfall Team Building Skills is a 3-day course that is a subset of our course. The course is designed to provide a fundamental knowledge base and practical skills for anyone interested in implementing or improving

More information

Software Quality Engineering Courses Offered by The Westfall Team

Software Quality Engineering Courses Offered by The Westfall Team Courses is a 2-day course that is a subset of our course. The course is designed to provide an overview of techniques and practices. This course starts with an overview of software quality engineering

More information

SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis.

SOFTWARE 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 information

Development Process Bennett, McRobb and Farmer 1

Development Process Bennett, McRobb and Farmer 1 Development Process Based on Chapter 5 Bennett, McRobb and Farmer Object Oriented Systems Analysis and Design Using UML 4 th Edition, McGraw Hill, 2010 1 In This Lecture You Will Learn: About the Unified

More information

Quality Management of Software and Systems: Processes and QM

Quality Management of Software and Systems: Processes and QM Quality Management of Software and Systems: Processes and QM Contents V-Model XT Rational Unified Process (RUP) Extreme Programming (XP) Processes 2 V-Model XT Starting point: V-Model 97 Broadened guideline

More information

Software Engineering

Software 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 information

Unified Process. Peter Dolog dolog [at] cs [dot] aau [dot] dk Information Systems March 3, 2008

Unified Process. Peter Dolog dolog [at] cs [dot] aau [dot] dk Information Systems March 3, 2008 Unified Process Peter Dolog dolog [at] cs [dot] aau [dot] dk 5.2.47 Information Systems March 3, 2008 2 Outline Model Driven Design Tutorial on Requirements Eng. and SCRUM reflections (D402a, s601c) Unified

More information

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

Lecture 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 information

Processes and Life- Cycles. Kristian Sandahl

Processes 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 information

Processes and Life- Cycles. Kristian Sandahl

Processes 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 information

Software 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 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 information

Software development processes: from the waterfall to the Unified Process

Software development processes: from the waterfall to the Unified Process Software development processes: from the waterfall to the Unified Process Paul Jackson School of Informatics University of Edinburgh The Waterfall Model Image from Wikipedia 2 / 17 Pros, cons and history

More information

Prof. Dr. Liggesmeyer, 1. Quality Management of Software and. Processes and QM. Systems. QMSS Processes and QM

Prof. Dr. Liggesmeyer, 1. Quality Management of Software and. Processes and QM. Systems. QMSS Processes and QM Quality Management of Software and Systems Processes and QM Prof. Dr. Liggesmeyer, 1 Contents V-Model XT Rational Unified Process (RUP) Extreme Programming (XP) Processes Prof. Dr. Liggesmeyer, 2 V-Model

More information

The Top Thrill Dragster

The 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 information

Quality Management of Software and Systems

Quality Management of Software and Systems Quality Management of Software and Systems Processes and QM Prof. Dr. Liggesmeyer, 1 Contents Rational Unified Process (RUP) Extreme Programming (XP) Processes Prof. Dr. Liggesmeyer, 2 Starting point:

More information

Object-Oriented and Classical Software Engineering

Object-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 information

A Comparison Between Two Software Engineering Processes, RUP And Waterfall Models

A Comparison Between Two Software Engineering Processes, RUP And Waterfall Models A Comparison Between Two Software Engineering Processes, RUP And Waterfall Models Mina zaminkar a, Mohammad R. Reshadinezhad b a Graduate student,, Department of Computer Science Research Branch, Islamic

More information

MTAT Software Engineering

MTAT Software Engineering MTAT.03.094 Software Engineering Lecture 01: Course Introduction Dietmar Pfahl Fall 2015 email: dietmar.pfahl@ut.ee Structure of Lecture 01 General Course Information/Overview Introduction into Software

More information

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Software 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 information

Software Process. Overview

Software 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 information

The Systems Development Lifecycle

The 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 information

Tuesday, October 25. Announcements

Tuesday, 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 information

Software 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 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 information

The software process

The 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 information

Software Engineering II - Exercise

Software Engineering II - Exercise Software Engineering II - Exercise April 29 th 2009 Software Project Management Plan Bernd Bruegge Helmut Naughton Applied Software Engineering Technische Universitaet Muenchen http://wwwbrugge.in.tum.de

More information

A New Divide & Conquer Software Process Model

A 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 information

2009 Spring. Software Modeling & Analysis. - Software Process Model. Lecturer: JUNBEOM YOO

2009 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 information

MTAT Introduction to Informatics

MTAT Introduction to Informatics MTAT.03.047 Introduction to Informatics Lecture: Software Engineering Dietmar Pfahl Fall 2013 email: dietmar.pfahl@ut.ee Today: Software is everywhere (=ubiquitous) How did we get there? Before expulsion

More information

Unified Process and Testing with EasyAccept. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems February 22, 2007

Unified Process and Testing with EasyAccept. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems February 22, 2007 Unified Process and Testing with EasyAccept Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems February 22, 2007 2 UP Unified Process, 1990 s Iterative, not agile Risk-driven development

More information

Introduction of RUP - The Rational Unified Process

Introduction of RUP - The Rational Unified Process Introduction of RUP - The Rational Unified Process Jong-Hoon Lee Dependable Software Laboratory Konkuk University References Textbook: The Rational Unified Process Made Easy A Practitioner s Guide to the

More information

Sistemi ICT per il Business Networking

Sistemi ICT per il Business Networking Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking Requirements Engineering Docente: Vito Morreale (vito.morreale@eng.it) 17 October 2006 1 UP Phases 1. Inception

More information

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Objectives. 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 information

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

Topics 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 information

CMPT 275 Software Engineering

CMPT 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 information

MTAT : Software Testing

MTAT : Software Testing MTAT.03.159: Software Testing Lecture 01: Introduction to Software Testing (Textbook Ch. 1-3) Spring 2016 Dietmar Pfahl email: dietmar.pfahl@ut.ee Structure of Lecture 1 Introduction and Motivation Course

More information

Expand application range with respect to consider the whole system. Consider state of the art and adapt actual regulations and standards

Expand application range with respect to consider the whole system. Consider state of the art and adapt actual regulations and standards V-Model 97 is not state of the art in all fields No further development since that time 07/1997: update and release of V-Model 97 Increasingly applied in business, partially in SMBs, too Generally binding

More information

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3.

Object-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 information

Software Development Methodologies. CSC 440: Software Engineering Slide #1

Software Development Methodologies. CSC 440: Software Engineering Slide #1 Software Development Methodologies CSC 440: Software Engineering Slide #1 Topics 1. The Waterfall Model 2. Agile Software Development 3. The Unified Process 4. Object-Oriented Analysis and Design 5. The

More information

Software Engineering QUESTION BANK

Software Engineering QUESTION BANK Software Engineering QUESTION BANK UNIT - 1 1. What is software? Explain the two fundamental types of software products. 2. What is software engineering? What is the difference between software engineering

More information

Process, Models, Methods, Diagrams Software Development Life Cyles. Part - II

Process, 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 information

Software Engineering Part 2

Software 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 information

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

Major 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 information

Software Engineering

Software 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 information

Chapter 3 Prescriptive Process Models

Chapter 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 information

CONTENTS. Introduction to Software Engineering. Software Process and Life Cycle Models. Software Life-Cycle Model-2. Chapter 1. Chapter 2.

CONTENTS. 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 information

Note 10: Software Process

Note 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 information

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects Lifecycle of Software Projects ECE450 Software Engineering II Lifecycle models are useful to compare project management strategies in abstract terms Birds-eye view strategy Detect strengths and weaknesses...

More information

Software development processes: from the waterfall to the Unified Process

Software development processes: from the waterfall to the Unified Process Software development processes: from the waterfall to the Unified Process Perdita Stevens School of Informatics University of Edinburgh The Waterfall Model Image from Wikipedia Pros, cons and history of

More information

The Product Creation Process

The Product Creation Process - 0. feasibility 1. definition 2. system 3. 4. integration & test 5. field monitoring needs verification core information Legend: in draft full under development most information 50% available in concept

More information

Softwaretechnik. Lecture 02: Processes. Peter Thiemann SS University of Freiburg, Germany

Softwaretechnik. 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 information

Ingegneria del Software Corso di Laurea in Informatica per il Management

Ingegneria del Software Corso di Laurea in Informatica per il Management Ingegneria del Software Corso di Laurea in Informatica per il Management Software process model Davide Rossi Dipartimento di Informatica Università di Bologna The task of the software development team

More information

Software Engineering Modern Approaches

Software 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 information

Chapter 3 Software Process Model

Chapter 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 information

The Rational Unified Process and the Capability Maturity Model Integrated Systems/Software Engineering

The Rational Unified Process and the Capability Maturity Model Integrated Systems/Software Engineering The Rational Unified Process and the Capability Maturity Model Integrated Systems/Software Engineering Brian Gallagher Lisa Brownsword SM CMMI and CMM Integration are service marks of Carnegie Mellon University.

More information

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK Subject Code & Subject Name: IT1251 Software Engineering and Quality Assurance Year / Sem : II / IV UNIT I SOFTWARE PRODUCT

More information

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice In this Lecture you will Learn: Development About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities in the development

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 4 Integrated Object-Oriented Methodologies: OPM and RUP 1 Object Process Methodology (OPM) Introduced by Dori in 1995. Primarily intended

More information

7. Model based software architecture

7. Model based software architecture UNIT - III Model based software architectures: A Management perspective and technical perspective. Work Flows of the process: Software process workflows, Iteration workflows. Check Points of The process

More information

The Unified Software Development Process

The Unified Software Development Process The Unified Software Development Process Ivar Jacobson Grady Booch James Rumbaugh Rational Software Corporation TT ADDISON-WESLEY An Imprint of Addison Wesiey Longman, Inc. Reading, Massachusetts Harlow,

More information

DEPARTMENT 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 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 information

Software Life Cycle. Main Topics. Introduction

Software Life Cycle. Main Topics. Introduction Software Life Cycle Main Topics Study the different life cycle models Study the difference between software maintenance and evolution Study product line engineering as a design methodology 2 Introduction

More information

CSE 435 Software Engineering. Sept 14, 2015

CSE 435 Software Engineering. Sept 14, 2015 CSE 435 Software Engineering Sept 14, 2015 What is Software Engineering Where Does the Software Engineer Fit In? Computer science: focusing on computer hardware, compilers, operating systems, and programming

More information

Processes. Object Orientated Analysis and Design. Benjamin Kenwright

Processes. 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 information

Software Engineering Lecture 5 Agile Software Development

Software 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 information

Software Lifecycle Models

Software Lifecycle Models Software Lifecycle Models Introduction into Software Engineering Lecture 18 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Definitions Software life cycle Set of activities

More information

SYLLABUS. What is Agility, What is an Agile Process, Agile Process Models.

SYLLABUS. What is Agility, What is an Agile Process, Agile Process Models. Contents i SYLLABUS UNIT - I CHAPTER - 1 : INTRODUCTION TO Introduction to Software Engineering. CHAPTER - 2 : A GENERIC VIEW OF PROCESS Software Engineering, Process Framework, CMMI, Process Patterns,

More information

Case Study: Applying Agile Software Practices to Systems Engineering

Case Study: Applying Agile Software Practices to Systems Engineering Case Study: Applying Agile Software Practices to Systems Engineering Presented by: Matthew R. Kennedy, PhD IEEE Software Technology Conference April 10 th, 2013 Definitions Agility The speed of operations

More information

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 Friday 30 th September 2016 - Morning Answer any THREE questions

More information

AUTOMATED DEFECT PREVENTION: BEST PRACTICES IN SOFTWARE MANAGEMENT

AUTOMATED DEFECT PREVENTION: BEST PRACTICES IN SOFTWARE MANAGEMENT AUTOMATED DEFECT PREVENTION: BEST PRACTICES IN SOFTWARE MANAGEMENT Preface. Features and Organization. Practice Descriptions. Intended audience. Acknowledgements. Permissions. Disclaimer. 1. The Case for

More information

CS 320 Introduction to Software Engineering Spring February 01, 2017

CS 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 information

! How work in building software is done: ! e.g., waterfall process. ! e.g., object-oriented development. ! e.g., requirements inspection process

! 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 information

Process. 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 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 information

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1 Lectures 2 & 3 Software Processes Software Engineering, COMP201 Slide 1 What is a Process? When we provide a service or create a product we always follow a sequence of steps to accomplish a set of tasks

More information

Succeed with Agile at Scale

Succeed with Agile at Scale IBM Software Group Succeed with Agile at Scale Alfred Tse/Osmond Ng Rational Software Technical Professionals Growth Markets Asia Pacific June 25, 2009 2008 IBM Corporation Agenda Agile Software Development

More information

The Software Life Cycle

The 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 information

Software Processes. With a focus on Agile/Scrum CPSC310 Software Engineering

Software Processes. With a focus on Agile/Scrum CPSC310 Software Engineering Software Processes With a focus on Agile/Scrum CPSC310 Software Engineering Learning Goals Why do software projects fail? Unrealistic project goals Inaccurate estimates of needed resources Unmanaged risks

More information

Quality Assurance Activities to Support Product Improvement

Quality Assurance Activities to Support Product Improvement Quality Assurance Activities to Support Product Improvement Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems dietmar.winkler@qse.ifs.tuwien.ac.at

More information

5) A work breakdown structure is a list of tasks broken down to small manageable activities. Answer: TRUE Diff: 2 Page Ref: 42

5) 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 information

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at www.ijarcs.info A Study of Software Development Life Cycle Process Models

More information

Chapter 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. 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 information

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management Introduction to Software Project Management CITS3220 Software Requirements & Project Management "A project gets a year late one day at a time." "Anything that can be changed will be changed until there

More information

03. Perspective Process Models

03. 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 information

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY-621105. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS1301- SOFTWARE ENGINEERING UNIT I

More information

Quality 24 Process Improvement 26 Real processes. Product Quality. Quality Management. Quality Management. Quality Plan

Quality 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 information

LIFE-CYCLE MODELS AND PROCESS. Software Engineering 1/9/2008. CHAPTER 1, 2, and 3. Stephen R. Schach

LIFE-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 information

Rational Unified Process (RUP) in e-business Development

Rational Unified Process (RUP) in e-business Development Rational Unified Process (RUP) in e-business Development Jouko Poutanen/11.3.2005 2004 IBM Corporation Agenda Characteristics of e-business Development Business Modeling with RUP and UML Rational Tools

More information

IBM Rational Software

IBM Rational Software 2007 IBM Corporation IBM Rational Software Development Conference 2008 Measured Capability Improvement Framework: A Systematic Approach to Software Excellence Per Kroll Chief Architect IBM Rational Expertise

More information

Development Methodologies

Development Methodologies Development Methodologies Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm SAPM Spring 2012:

More information

SE310 Analysis and Design of Software

SE310 Analysis and Design of Software SE310 Analysis and Design of Software Lecture 7 REVIEW SM&D Chapters 1 to 11 & Notes February 13, 2018 Sam Siewert Domain Models Use Case Details UML is Universal Modeling Language [OMG, UML.org] Use to

More information

Software Engineering and Software Engineers

Software Engineering and Software Engineers CS2 Software Engineering note 1 Software Engineering and Software Engineers The aim of the Software Engineering thread in CS2 is to further develop the study of the engineering process involved in creating

More information

Business Analysis Essentials

Business Analysis Essentials Understand the business analyst's role and responsibilities in a successful project. In this introductory course, you'll delve into the role and responsibilities of the business analyst (BA)- the communication

More information

This resource is associated with the following paper: Assessing the maturity of software testing services using CMMI-SVC: an industrial case study

This resource is associated with the following paper: Assessing the maturity of software testing services using CMMI-SVC: an industrial case study RESOURCE: MATURITY LEVELS OF THE CUSTOMIZED CMMI-SVC FOR TESTING SERVICES AND THEIR PROCESS AREAS This resource is associated with the following paper: Assessing the maturity of software testing services

More information

CMSC 435: Software Engineering Section Back to Software. Important: Team Work. More Resources

CMSC 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 information