Component-Based Software Engineering. ECE493-Topic 5 Winter Lecture 27 Component Based Development Process (Part A)

Similar documents
The software process

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

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

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

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

03. Perspective Process Models

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

Rational Unified Process

Development Process Bennett, McRobb and Farmer 1

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

Software Life Cycle. Main Topics. Introduction

Software Modeling & Analysis. - Fundamentals of Software Engineering - Software Process Model. Lecturer: JUNBEOM YOO

Software Development Methodologies

The good news. 34% of software projects succeed. Standish Group, CHAOS Report, 2003

Chapter 3 Software Process Model

Introduction of RUP - The Rational Unified Process

Chapter 1 Systems Development in an Organization Context

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

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

CMPT 275 Software Engineering

COCOMO II Demo and ARS Example

Quality Management of Software and Systems

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

Requirements Engineering and Agile Methodology

Usine Logicielle. Position paper

Component-based Development Process and Component Lifecycle

Quality Management of Software and Systems: Processes and QM

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

7. Model based software architecture

SE310 Analysis and Design of Software

RUP and XP Part II: Valuing Differences

MODULE Explain briefly the different types of system models that might be created during the system analysis phase. 2. Write short notes on

Introduction to Software Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016

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

Software development activities

Sistemi ICT per il Business Networking

Software Engineering

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

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

Babu Madhav Institute of Information Technology, UTU 2017

TOGAF 9.1 in Pictures

2. RATIONAL UNIFIED PROCESS (RUP)

RIGHTNOW A C E

Design and Assessment for Agile Auditing Model: The Case of ISO 9001 Traceability Requirements

Note 10: Software Process

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

The Top Thrill Dragster

The Unified Software Development Process

The Product Creation Process

Pertemuan 2. Software Engineering: The Process

Chapter 1 Software Process

SUSE Unified Delivery Process

The Software Life Cycle

A New Divide & Conquer Software Process Model

Introduction to Software Life Cycles and Agile. CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014

Lecture 1: Processes, Requirements, and Use Cases

David. Director of Rational Requirements and Quality Management Products

DRAFT. Effort = A * Size B * EM. (1) Effort in person-months A - calibrated constant B - scale factor EM - effort multiplier from cost factors

Introduction to Software Engineering

Applying Process Document Standarization to INGENIAS

CS/IT Secure Software Construction

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK

Successful utilization of ESSENCE at Munich Re

Object-Oriented & Classical Soft Engineering

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems

THE SHAPE OF CI/CD. Tom Duffield Software Engineer for Chef November 2nd, 2015

Performance-Oriented Software Architecture Engineering: an Experience Report

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

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

Question Paper Solution (75:25), April 2015 Subject : Software Project Management

Software Engineering II - Exercise

Scaling Up & Scaling Down

SDLC AND MODEL SELECTION: A STUDY

Chapter. Redesigning The Organization With Information Systems

Product Line Engineering Lecture PLE Principles & Experiences (2)

Model-Driven Service Engineering with SoaML

Spiral Increment Reuse (SIR) Software Model

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

SWE 211 Software Processes

Software Engineering COMP 201

COSYSMO: Constructive Systems Engineering Cost Model

Requirements Engineering

Software Engineering Modern Approaches

Object-Oriented and Classical Software Engineering


Course Organization. Lecture 1/Part 1

ignoring agile, size and frequency, sales, , 280

Lecture 3 Design Approaches and Methods

CHAPTER 1. Business Process Management & Information Technology

The Software Life Cycle

RESEARCHERS and practitioners have realized that

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

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

Analyze, Design, and Develop Applications

SOCCI - Towards a Common Software Engineering Environment for Science Operations

An Oracle White Paper February Oracle Unified Method (OUM) Oracle s Full Lifecycle Method for Deploying Oracle-Based Business Solutions

COPYRIGHTED MATERIAL RELIABILITY ENGINEERING AND PRODUCT LIFE CYCLE 1.1 RELIABILITY ENGINEERING

BUILDING INFORMATION SYSTEMS

SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF CSE COURSE PLAN

Working Towards Lightweight Enterprise Architectures: the Process, frameworks, standards, and models

Transcription:

Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 27 Component Based Development Process (Part A) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo Objectives Provides an overview of generic software engineering processes Describes the component-based software lifecycle Motivates the need for specific processes when developing components when building systems from components Describe these processes, reviewing their procedures 2

Generic Software Lifecycle Activities Requirements analysis and system specification System and software design and unit testing Integration, system verification and validation Operation support and Maintenance Disposal Software Process Models The Sequential/Waterfall Model The Evolutionary Development The Rational Unified Process (RUP) 3 The Sequential/Waterfall Model Development Integration 4

The Evolutionary Development Develop a system gradually in many repetitive stages: Increasing the knowledge of the system requirements and system functionality in each stage exposing the results to user comments This can be achieved by using: The Iterative Model The Incremental Model The Prototyping Model 5 The Iterative Model Development Integration 6

The Incremental Model Increment 1 2...n Development Integration 7 The Prototyping Model prototype Development Develop prototype Integration 8

The Rational Unified Process A modern process model derived from the work on the UML and associated process. Normally described from 3 perspectives A dynamic perspective that shows phases over time A static perspective that shows process activities A proactive perspective that suggests good practice 9 RUP Phase Model Inception: Establish the business case for the system Elaboration: Develop an understanding of the problem domain and the system architecture Construction: System design, programming and testing Transition: Deploy the system in its operating environment 10

Unified Process Illustrated Phases Inception Elaboration Construction Transition Requirements An iteration in the elaboration phase Iter #1 Iter #2 --- --- --- --- --- --- Iter #n Iterations 11 Reuse Approach The reuse approach makes the following assumptions: All experience can be reused Reuse typically requires some modification of objects being reused Reuse must be integrated into the specific software development is necessary to determine when, and if, reuse is appropriate 12

Reuse For given requirements r for an object x, we propose the reuse of the already existing object x k. The reuse procedure includes: Identification of a set of objects x 1, x 2 x m as candidates, Selection of one of these, and, if required, Its modification to translate x k to x which is as close to x as possible. The object x can be of any type: A system architecture An overall design A design pattern An infrastructure Different types of components or services. 13 Separation of Development Processes Component Development (CD) System Development with Components System development with components Focuses on the identification of reusable entities and relations between them, beginning from the system requirements and from the availability of components already existing. 14

CBD The Consumer Perspective Typically a component consumer selects a component and then uses it in a software system The component lifecycle must be considered in relation to the lifecycle of the system as a whole Common Considerations: Will the component producer be able to deliver a new component version when this is required? How will changes in a component in the system affect the behavior of another component? Will the component be compatible with newer versions of the surrounding systems and applications? 15 CBD The Producer Perspective The producer of a component must take into consideration: The Business Goal Component Functionality Maintenance Policy The type of application and system in which the component will be used The Requirements of the System The Life expectancy of Relevant Systems The maintenance requirements of components and systems are not necessarily compatible The component s maintenance requirements should be synchronous with those of the system in which they are to be incorporated. 16

Component-based Development Process Find Select Development Evaluation Adapt Integrate Integration Component evaluation System Development 17 V Development Process for CBD 18

A Detailed V Development Process 19 Disposal of Component-Based Systems Generally takes place due to two different factors: Dissatisfaction initiated by consumers when they conclude that: The component no longer provides the support of the system it was intended to provide or The system no longer needs the component Obsolescence is likely to occur when: A new, more effective component with the same, similar or extended functionality is found The producer is not able to continue with support or maintenance 20

Disposal: Considerations Both producer and consumer should arrive at a compromise with respect to the lifecycles of their different products The consumer should always have in mind an alternative solution, such as: The replacement of the component with another developed internally or by another producers 21