Tải bản đầy đủ (.pdf) (56 trang)

Lecture Building reliable component-based systems - Chapter 5: Component-based development process

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (447.87 KB, 56 trang )

Chapter 5
Component-Based Development Process

Building Reliable Component­based 


Overview
Software Process Models
Component-based Development
Component-Based Software Lifecycle
Summary

Building Reliable Component­based 


Purpose
This chapter:
Describes the component-based software lifecycle.
Provides an overview of generic software engineering
processes.
Motivates the need for specific processes when
developing components and when building systems or
applications from components
Describe these processes, reviewing their procedures.

Building Reliable Component­based 


Software Process Models
Generic lifecycle activities
The Sequential Model


Evolutionary Development
Unified Process

Building Reliable Component­based 


Generic lifecycle activities
Activities
Requirements analysis and system specification
System and software design
Implementation and unit testing
Integration, system verification and validation
Operation support and Maintenance
Disposal

Building Reliable Component­based 


The Sequential Model

Analysis
t
en
pm
lo
ve
De

Design


Implementation

Integration
Test

Building Reliable Component­based 


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

Building Reliable Component­based 


The Iterative Model

Analysis

De

Design

ve


lo
pm
en
t

Implementation
Integration
Test

Building Reliable Component­based 


The Incremental Model
Increment 1 2...n
lop
ve
De

Analysis

t
en
m

Design
Implementation
Integration

Test


Building Reliable Component­based 


The Prototyping Model
Test prototype

De

Analysis

ve

Design

lo
p

m

en

t

Develop
prototype

Implementation
Integration
Test


Building Reliable Component­based 


Unified Process
Inception
The first phase in which the system is described in a
formalized way, providing a base for further
development.
Elaboration
The phase in which the system architecture is defined
and created.

Building Reliable Component­based 


Unified Process continued
Construction
The development of completely new products, with
reuse capabilities.
Transition
The work of delivering the product to the customer.

Building Reliable Component­based 


Unified Process Illustrated
Phases
Inception


Elaboration

Construction

Transition

Requirements
An iteration in the
elaboration phase

Analysis
Design
Implementation
Test
Iter #1

Iter #2

---

---

---

---

Iterations

Building Reliable Component­based 


---

---

Iter #n


Component-based Development
Reuse Approach
Separation of Development Processes
Component-based Development (CBD) – The Consumer
Perspective
Component Development (CD) – The Producer
Perspective

Building Reliable Component­based 


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.
Analysis is necessary to determine when, and if, reuse
is appropriate.

Building Reliable Component­based 



Reuse
For given requirements r for an object x, we propose the
reuse of the already existing object xk. The reuse
procedure includes:
Identification of a set of objects x1 , x2 … xm as
candidates,
Selection of one of these, and, if required,
Its modification to translate xk to x’ which is as close to x
as possible.

Building Reliable Component­based 


Reuse continued
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.

Building Reliable Component­based 


Separation of Development Processes
Component development
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.

Building Reliable Component­based 


Component Guidelines
Components are built to be used and reused in many
applications and should thus be:
Well specified
Easy to understand
Sufficiently general
Easy to adapt
Easy to deliver and deploy
Easy to replace

Building Reliable Component­based 


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.

Building Reliable Component­based 


The Consumer Perspective Continued

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?

Building Reliable Component­based 


CD – 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

Building Reliable Component­based 


Additional Considerations
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.

Building Reliable Component­based 


Disposal
Disposal of Component-based Systems generally takes
place due to two different factors:
Dissatisfaction
Obsolescence

Building Reliable Component­based 


Disposal: Dissatisfaction
Initiated by consumers when they conclude that:
The component no longer provides the support of the
system it was intended to provide or;
That the system no longer needs the component.

Building Reliable Component­based 


×