02/10/2015 Page 1 R. Theeuws Siemens Atea Filename: CBD_ervaring Werkgroep Component Based Developments Ervaring CBD.

Slides:



Advertisements
Similar presentations
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Advertisements

.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
COM vs. CORBA.
Object-Oriented Software Development CS 3331 Fall 2009.
CS487 Software Engineering Omar Aldawud
OBP Research Oy for simpler creation of embedded systems.
IMS1805 Systems Analysis Topic 3: Doing Analysis (continued from previous weeks)
Matteo Bordin Component Development Component Based SW Engineering.
Object Oriented Paradigm An evolutionary path. Programming At Its Infancy A program is a single block of procedural code Disadvantages: Reusability is.
Introduction To System Analysis and Design
SMM5101 (ADVANCED MULTIMEDIA PROGRAMMING) Review of Multimedia Programming.
Software Reuse Building software from reusable components Objectives
- 1 - Component Based Development R&D SDM Theo Schouten.
Managing Reuse Presented by: Aisha Al-Hammadi. Outline Introduction History. The technical and managerial advantages of Reusing Solutions. The main challenges.
Software Testing and Quality Assurance: Introduction and Terminology
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Galin, SQA from theory to implementation © Pearson Education Limited Chapter 13 CASE Tools and their Effect on Software Quality.
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
Quality of Information systems. Quality Quality is the degree on which a product satifies the requirements Quality management requires that : that requirements.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
CPTE 209 Software Engineering Summary and Review.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
Managing Software Quality
Software Engineering Reuse.
Object-oriented Software Engineering with Reuse Contracts Koen De Hondt, Carine Lucas, Kim Mens, Tom Mens, Patrick Steyaert, Roel Wuyts Programming Technology.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
Designing a HEP Experiment Control System, Lessons to be Learned From 10 Years Evolution and Operation of the DELPHI Experiment. André Augustinus 8 February.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Satzinger Chp. 2 Part Part 4 of 4 2 Object-Oriented Analysis and Design with the Unified Process Testing Testing is critical discipline Testing activities.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Ranga Rodrigo. The purpose of software engineering is to find ways of building quality software.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
CSC 395 – Software Engineering Lecture 12: Reusability –or– Programming was Bjarne Again.
January 25, 2006copyright Thomas Pole , all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
1 Planning for Reuse (based on some ideas currently being discussed in LHCb ) m Obstacles to reuse m Process for reuse m Project organisation for reuse.
Component Oriented Programming 1 Introduction to COP.
Frameworks CompSci 230 S Software Construction.
Dale Roberts Object Oriented Programming using Java - Introduction Dale Roberts, Lecturer Computer Science, IUPUI Department.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Java Fundamentals Usman Ependi UBD
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
From the customer’s perspective the SRS is: How smart people are going to solve the problem that was stated in the System Spec. A “contract”, more or less.
CSCE 240 – Intro to Software Engineering Lecture 3.
Software Design and Architecture
CASE Tools and their Effect on Software Quality
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVIII. Software Testing.
A Method for Improving Code Reuse System Prasanthi.S.
Object Oriented Systems Design
Using Ada-C/C++ Changer as a Converter Automatically convert to C/C++ to reuse or redeploy your Ada code Eliminate the need for a costly and.
What is Wrong with Models?
OOP What is problem? Solution? OOP
Software Processes (a)
Lecture 2 of Computer Science II
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Ada – 1983 History’s largest design effort
The Object-Oriented Thought Process Chapter 05
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
“That’s P-a-r-l-a-y not P-a-r-l-e-z!” Richard Kett BT ACE
Service Oriented Architecture (SOA)
Need for the subject.
Quality Assurance for Component-Based Software Development
Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?
Presentation transcript:

02/10/2015 Page 1 R. Theeuws Siemens Atea Filename: CBD_ervaring Werkgroep Component Based Developments Ervaring CBD

02/10/2015 Page 2 R. Theeuws Siemens Atea Filename: CBD_ervaring Werkgroep Component Based Developments Main software production accents  Quality  Effort  Turn-around time

02/10/2015 Page 3 R. Theeuws Siemens Atea Filename: CBD_ervaring Werkgroep Component Based Developments Summary Software Development Methods 25-30% Procedural (structured) OO Components CORBA Java Beans COM/OLE/ActiveX Own Approach

02/10/2015 Page 4 R. 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

02/10/2015 Page 5 R. Theeuws Siemens Atea Filename: CBD_ervaring Werkgroep Component Based Developments (Traditional) Procedural development  Use of SDL/CHILL ( 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” ( MY)  Relative long turn around times per software release  High quality  Known risks

02/10/2015 Page 6 R. 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.

02/10/2015 Page 7 R. 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

02/10/2015 Page 8 R. Theeuws Siemens Atea Filename: CBD_ervaring Werkgroep Component Based Developments OO experience/2  Quality source code reuse is limited OO/OOP enables to realise software products of increasing complexity but with the same quality expectations. Quality is largely independent of the programming language ex. first release of software product: l C - implementation: 2.4 errors/1000 LOCS l C++ - implementation: 2.9 errors/1000 LOCS source: datanews,  Improved testability correct: improved and simplified methods but : OO does not necessarily guaranties correctness and compliance of imposed requirements.  Tools: ??? Training, type of project, constraints, limitations, complexity, user interface, ….

02/10/2015 Page 9 R. 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

02/10/2015 Page 10 R. 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

02/10/2015 Page 11 R. 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” initialisation configuration monitoring exception handling interworking with other components persistency real time behaviour memory utilisation portability  Specific rules refer to the expected behaviour

02/10/2015 Page 12 R. 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

02/10/2015 Page 13 R. 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 l environment aspects not covered by the package l 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

02/10/2015 Page 14 R. Theeuws Siemens Atea Filename: CBD_ervaring Werkgroep Component Based Developments Experience: component frameworks  Non real time applications CORBA l application for multi-level service integration for large networks l 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) l based on experience: set of rules, patterns, code, tools l improved portability and reuse of software (within product gamma) l improved integration turn-around time l improved testability

02/10/2015 Page 15 R. 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

02/10/2015 Page 16 R. 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