component base development

22
C B D omponent ase evelopment Presenters: MAHSA BAYAT With FRIK KHECHOOMIAN Spring 2016

Upload: frik-khechoomian

Post on 29-Jan-2018

201 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Component Base Development

C B

D

omponent ase

evelopment

Presenters:MAHSA BAYAT

With

FRIK KHECHOOMIANSpring 2016

Page 2: Component Base Development

ContentSoftware Reuse

Separation of Concerns(SoC)

Component-Based Software Engineering

Component-based Development

Component-Based Software Lifecycle

Summary

Reference

Page 3: Component Base Development

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

Page 4: Component Base Development

Increased Reliability

Reduced Process Risk

Effective Use of Specialists

Standards Compliance

Accelerated Development

Benefits of Reuse

Page 5: Component Base Development

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

Page 6: Component Base Development

A Software Asset

What to Reuse?

Assets can be at any level of Software Process

Any Information or Tools used during Development

Page 7: Component Base 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

Page 8: Component Base Development

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

Page 9: Component Base Development

Object-Oriented Programming Design Patterns

Service-Oriented Programming

Procedural Programming

Page 10: Component Base Development
Page 11: Component Base Development

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.

Page 12: Component Base Development

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

Page 13: Component Base Development

Why Components?

Software Engineering

is Looking to

Develop:

A Catalogue of

Software

Building Blocks

Page 14: Component Base Development

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 )

Page 15: Component Base Development
Page 16: Component Base Development
Page 17: Component Base Development

Component-Based Development

The Component must be:

Designed

Implemented

Verified

Validated

Delivered

Page 18: Component Base Development

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

Page 19: Component Base Development

Library Indexing Methods

Uncontrolled Indexing Vocabularies

Enumerated Classification

Faceted Classification

Attribute-Value Classification

Reuse Environment Elements

Component Database

Library Management

Software Component Retrieve

Page 20: Component Base Development

Component-Based Software Lifecycle

Page 21: Component Base Development
Page 22: Component Base Development

Thanks For Your Patience