Ervaring CBD

16
30/08/22 Page 1 R. Theeuws Siemens Atea Filename: CBD_ervaring Werkgroep Component Based Developments Ervaring CBD

description

Ervaring CBD. Main software production accents. Quality Effort Turn-around time. Summary Software Development Methods. 80. 85. 90. 95. 98. 00. Procedural (structured). OO. 25-30%. Components. CORBA Java Beans COM/OLE/ActiveX Own Approach. Software Engineering and Production. - PowerPoint PPT Presentation

Transcript of Ervaring CBD

Page 1: Ervaring CBD

21/04/23 Page 1R. Theeuws

Siemens Atea

Filename: CBD_ervaring Werkgroep Component Based Developments

Ervaring CBD

Page 2: Ervaring CBD

21/04/23 Page 2R. Theeuws

Siemens Atea

Filename: CBD_ervaring Werkgroep Component Based Developments

Main software production accents

Quality

Effort

Turn-around time

Page 3: Ervaring CBD

21/04/23 Page 3R. Theeuws

Siemens Atea

Filename: CBD_ervaring Werkgroep Component Based Developments

Summary Software Development Methods

25-30%

80 85 90 95 0098

Procedural (structured)

OO

Components

CORBAJava BeansCOM/OLE/ActiveXOwn Approach

Page 4: Ervaring CBD

21/04/23 Page 4R. Theeuws

Siemens Atea

Filename: CBD_ervaring Werkgroep Component Based Developments

Software Engineering and Production

BOS - Business Opportunity Scanning

Analysis Phase

Design Phase

Implementation Phase

Integration Test Phase

System Test Phase

Design Maintenance

Requirements definition

• independent of development method• 10 … 1000 designers• ISO• Individual phases filled

Page 5: Ervaring CBD

21/04/23 Page 5R. Theeuws

Siemens Atea

Filename: CBD_ervaring Werkgroep Component Based Developments

(Traditional) Procedural development

Use of SDL/CHILL (15 - 20 years experience), C and assembler

structured - modular

evolving (OO flavours) very well described development & quality rules Full set of Siemens tools

CM, error tracking

development tools, compilers

debugging tools Siemens OS, software frameworks, hardware platforms Most projects are “Huge projects” (200 - 4000 MY) Relative long turn around times per software release High quality Known risks

Page 6: Ervaring CBD

21/04/23 Page 6R. Theeuws

Siemens Atea

Filename: CBD_ervaring Werkgroep Component Based Developments

Object Oriented Methodology

Mid eighties we assumed

OO reduces turn-around development time

OO improves reusability

OO improves quality

OO improves testability

OO improves management of complexity

OO offers better tools

In general we thought that:OO is the ideal methodology for small, medium, large projects allowing a fast response to the market.

Page 7: Ervaring CBD

21/04/23 Page 7R. Theeuws

Siemens Atea

Filename: CBD_ervaring Werkgroep Component Based Developments

OO experience/1

Smaller turn-around times: we do not know

training (modelling, coding, tools)

object modelling (not that simple)

we measured shorter coding times

we do not measure an improvement of correctness

Reusability

less redundant code within the project

only a fraction of the code (< 10%) can be reused by other projects (lack of a generic approach, concept, framework)

Management of complexity

Better anticipation of complex requirements

Better software structuring (improved adaptability, patterns)

But beware for “aesthetic” (coding) complexity and poetic freedoms

Page 8: Ervaring CBD

21/04/23 Page 8R. Theeuws

Siemens Atea

Filename: CBD_ervaring Werkgroep Component Based Developments

OO experience/2

Qualitysource code reuse is limitedOO/OOP enables to realise software products of increasing

complexity but with the same quality expectations. Quality is largely independent of the programming languageex. first release of software product:

C - implementation: 2.4 errors/1000 LOCS C++ - implementation: 2.9 errors/1000 LOCSsource: datanews,

Improved testabilitycorrect: improved and simplified methodsbut : OO does not necessarily guaranties correctness and

compliance of imposed requirements. Tools: ???

Training, type of project, constraints, limitations, complexity, user interface, ….

Page 9: Ervaring CBD

21/04/23 Page 9R. Theeuws

Siemens Atea

Filename: CBD_ervaring Werkgroep Component Based Developments

OO experience: conclusions by consensus

OO is NOT a revolution. As such it does not free you from traditional development, management and quality problems. Neither does it ensure a faster turn-around time.

OOP as part of OO offers a substantial number of benefits but only covers the aspects “programming” and “testing”.

Abstraction, encapsulation

inheritance

polymorphism (dynamic binding)

patterns

Moving towards OO development requires an extensive amount of training and coaching

The main reason to advocate OO is the fact that OO enables you to challenge complex software systems, in a more conforming way than traditional methodologies

Page 10: Ervaring CBD

21/04/23 Page 10R. Theeuws

Siemens Atea

Filename: CBD_ervaring Werkgroep Component Based Developments

Improving development turn-around time and quality

Improvements turn-around time, cost and quality are limited

despite of methodology

despite of improved training of the design team

despite of tools

But can possibly be improved by

reuse of existing and well-proven source code

usage of existing and well-proven binaries

I.e. components

Page 11: Ervaring CBD

21/04/23 Page 11R. Theeuws

Siemens Atea

Filename: CBD_ervaring Werkgroep Component Based Developments

Component definition

Is an encapsulated piece of code (source or binary) which complies with a well defined and known set of generic and specific rules and functions.

Generic rules/functions refer to the need for a “framework” initialisationconfigurationmonitoringexception handling interworking with other componentspersistency real time behaviourmemory utilisationportability

Specific rules refer to the expected behaviour

Page 12: Ervaring CBD

21/04/23 Page 12R. Theeuws

Siemens Atea

Filename: CBD_ervaring Werkgroep Component Based Developments

Experience : commercial software packages/1

Specific functions : OK

we save time: we don’t have to worry about specifications and standards

but : we need time for evaluation and selection

Quality : OK

correctness: good

interoperability: good

Framework

no standardisation (vendor specific)

training is needed

a lot of glue code is needed

portability depends on a limited number of operating systems

a lot of time is needed to get the packages up and running

Page 13: Ervaring CBD

21/04/23 Page 13R. Theeuws

Siemens Atea

Filename: CBD_ervaring Werkgroep Component Based Developments

Experience : commercial software packages/2

Effort gain (at medium to long term)

design maintenance

rich(er) feature palette from the beginning

synchronisation with evolving standardisation (including de-facto standards)

Turn-around time to get first release up and running

may not be under-estimated environment aspects not covered by the package lack of a standard framework

but you will save time at medium to long term

Main risks

vendor stops supports the product

vendor redesigns the basic concept

Page 14: Ervaring CBD

21/04/23 Page 14R. Theeuws

Siemens Atea

Filename: CBD_ervaring Werkgroep Component Based Developments

Experience: component frameworks

Non real time applications

CORBA application for multi-level service integration for large networks small turn-around time and a complex multi-hosted application

(limited : activeX, beans)

real time applications

no commercial approach

use of own-defined frameworks (limitations) based on experience: set of rules, patterns, code, tools improved portability and reuse of software (within product gamma) improved integration turn-around time improved testability

Page 15: Ervaring CBD

21/04/23 Page 15R. Theeuws

Siemens Atea

Filename: CBD_ervaring Werkgroep Component Based Developments

Experience with own defined frameworks

A lot of time and effort is needed to realise a stable specification

Acceptance is not obvious

Training is required

Impact on performance

But once accepted

better focus on the requirements

improved work-split

improved off-line testability

improved integration

We expect

improved robustness

less design maintenance

Page 16: Ervaring CBD

21/04/23 Page 16R. Theeuws

Siemens Atea

Filename: CBD_ervaring Werkgroep Component Based Developments

Advocating a standard framework

High quality software

component specialisation

application specialisation

Lower application specialisation turn-around time

reuse of standard components

de-coupling between component and application

At long term : lower development effort