Ervaring CBD
description
Transcript of Ervaring CBD
21/04/23 Page 1R. Theeuws
Siemens Atea
Filename: CBD_ervaring Werkgroep Component Based Developments
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
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
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
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
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.
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
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, ….
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
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
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
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
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
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
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
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