component base development

Post on 29-Jan-2018

201 Views

Category:

Engineering

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

C B

D

omponent ase

evelopment

Presenters:MAHSA BAYAT

With

FRIK KHECHOOMIANSpring 2016

ContentSoftware Reuse

Separation of Concerns(SoC)

Component-Based Software Engineering

Component-based Development

Component-Based Software Lifecycle

Summary

Reference

What is Software Reuse?

Reuse of previously built software

Asset / Property to fulfill need in new

Development task or sub-task.

Methodologies, Practices, Processes,

Techniques, Languages, Frameworks,

CASE tools

Increased Reliability

Reduced Process Risk

Effective Use of Specialists

Standards Compliance

Accelerated Development

Benefits of Reuse

Increased maintenance costs

Lack of tool support

Pervasiveness of the “not invented here”

syndrome

Need to create and maintain a component

library

Finding and adapting reusable components

Reuse Problems

A Software Asset

What to Reuse?

Assets can be at any level of Software Process

Any Information or Tools used during Development

Application Development

Team

Reusable AssetManagement

Team

ReusableAsset Base

ApplicationAssemble

Submit potentially reusable assets

Develop for reuse

Refactor for reuse

Reuse-oriented

Software House Organizations

Seperation of Concerns (SoC)

Comprises the process of Separating a system into

Distinct parts, that adhere to a single and unique

purpose.

Value:

Increased

Maintainability Reusability

CustomizationTestability

Stability

Productivity

Object-Oriented Programming Design Patterns

Service-Oriented Programming

Procedural Programming

Component-Based Software Engineering

It is a Reuse-based approach to Defining, Implementing

and Composing loosely coupled independent

Components into systems.

Is a Branch of Software Engineering that Emphasizes the

Separation of Concerns.

Problems of Software Engineering

1. The Size & Complexity of Software Increases Rapidly

2. Single Products Become part of Product Families

3. Software is Upgraded After Deployment

4. Applications must be built from components that

were never intended to work together.

5.The Time-to-Market Must Decrease Significantly

6.The Cost of Products must be Reduced

Productivity & Flexibility

CBSE is Part of The Solution

Why Components?

Software Engineering

is Looking to

Develop:

A Catalogue of

Software

Building Blocks

Component Specification vs Component Interface

Specification is about the Component as a

whole. ( Realization Contract )

interface might be about part of a

Component only. ( Usage Contract )

Component-Based Development

The Component must be:

Designed

Implemented

Verified

Validated

Delivered

Classifying and Retrieving:

Describing Components:

Concept

What The Component Does Content

How The Concept is Realized Context

Specifies Conceptual,Operational,

Implementation features of the software

Library Indexing Methods

Uncontrolled Indexing Vocabularies

Enumerated Classification

Faceted Classification

Attribute-Value Classification

Reuse Environment Elements

Component Database

Library Management

Software Component Retrieve

Component-Based Software Lifecycle

Thanks For Your Patience

top related