Drawbacks of object-oriented software development Lecture P12 T120B029 2007 pavasario sem.

Slides:



Advertisements
Similar presentations
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Advertisements

Chapter 10: Designing Databases
The role of OCL in the Model Driven Architecture Jos Warmer Klasse Objecten
CASE tools Upper CASE tools: support for the analysis and design Lower CASE tools: support for construction and maintenance 1980s… Nowadays… Integrated.
Object-Oriented Software Development CS 3331 Fall 2009.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
ODMG Standard: Object Model1 OBJECT-ORIENTED DATABASE SYSTEMS ODMG Standard: Object Model Susan D. Urban and Suzanne W. Dietrich Department of Computer.
Modeling Process-Oriented Integration of Services Using Patterns and Pattern Primitives Uwe Zdun and Schahram Dustdar Distributed Systems Group Institute.
Introduction To System Analysis and Design
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
Review Amit Shabtay. March 3rd, 2004 Object Oriented Design Course 2 Review What have we done during the course? Where to learn more? What is for the.
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
Lecture #4 Agenda Cell phones off & name signs out Review Questions? Objects The birds-and-the-bees talk.
Chapter 1 Introduction to Object- Oriented Programming and Problem Solving.
(C) 1998 Tendril Software Inc. StructureBuilder Tendril Software Inc. OOPSLA ‘98 Demo Neeraj Sangal, President Tendril Software Karl.
RIZWAN REHMAN, CCS, DU. Advantages of ORDBMSs  The main advantages of extending the relational data model come from reuse and sharing.  Reuse comes.
Chapter 1: The Database Environment
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
2 1 Chapter 2 Data Model Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Software Engineering Muhammad Fahad Khan
Chapter 24 Introduction to Object DBMSs Prepared by Kai Huang CS157B Prof Sin-Min Lee.
1 Introduction to databases concepts CCIS – IS department Level 4.
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
CSCI-383 Object-Oriented Programming & Design Lecture 9.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Secure Systems Research Group - FAU Aspects and mobile applications Sergio Soares Paulo Borba, “PaDA: A Pattern for Distribution Aspects” In Second Latin.
CST203-2 Database Management Systems Lecture 2. One Tier Architecture Eg: In this scenario, a workgroup database is stored in a shared location on a single.
Seminar #: 9 (Object Oriented Database Schema in ODL) Advanced Databases (CM036) 1 Seminar 9 : OODB Schema in ODL Purpose To understand how an OODB is.
Object-Oriented Database Management Systems (ODBMS)
2/6/01D-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Using PARTS to Illustrate Requirements Concepts.
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Introduction To System Analysis and Design
Object-Oriented Analysis and Design An Introduction.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Information System Development Courses Figure: ISD Course Structure.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Chapter 7 Applying UML and Patterns Craig Larman
Methods and Models Choice of methods for Development of IT related products and systems SVINGSVING Conference held in Gothenburg, Sweden, October 2000.
File Systems and Databases Lecture 1. Files and Databases File: A collection of records or documents dealing with one organization, person, area or subject.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the differences and similarities between relational and object-oriented.
1 Chapter 1 Introduction to Databases Transparencies Last Updated: Pebruari 2010 By M. Arief Updated by RSO Feb 2011
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
Not only mark-up languages! There are other many other grammar formalisms and tools than XML. Some of them standardized (ASN). Even XML does not always.
Specifying Software Component Frameworks using UML and OCL H. Conrad Cunningham Yi Liu Software Architecture Research Group Dept. of Computer & Information.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
Adaptive Software Kevin Cella Graduate Seminar 02/04/2005.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Chapter 5: Software Re-Engineering Omar Meqdadi SE 3860 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Seminar 10: OODB Design (Self-Study)
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
HNDIT23082 Lecture 06:Software Maintenance. Reasons for changes Errors in the existing system Changes in requirements Technological advances Legislation.
Seminar #: 10 (Object Oriented Database Design) Advanced DB Technologies (CG096) 1 Seminar 10 : OODB Design Purpose To understand how an OODB is structured.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with the IBM Rational Software Architect, V7.5 Module 15: Traceability and Static Analysis.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Chapter 7 Lecture 1 Design and Implementation. Design and implementation Software design and implementation is the stage in the software engineering process.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Towards Effective Adaptive User Interfaces Design
Design and Implementation
UML Model architecture Object Constraint Language
ADAPTIVE PROGRAMMING Sezen ERDEM December 2005.
Lecture 1 File Systems and Databases.
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
FRAMEWORKS AND REUSE What is “Framework”?
Presentation transcript:

Drawbacks of object-oriented software development Lecture P12 T120B pavasario sem.

2 Drawbacks of object- oriented software development programs are tangled and redundant –object-structure tangling, encoded repeatedly –synchronization tangling –distribution tangling programs are hard to maintain and too long –because of tangling and redundancy

3 Eliminating drawbacks with adaptive software Adaptive software is software which adjusts automatically to changing contexts/aspects. Contexts: object structure, object marshalling, synchronization, exceptions etc. Solution: Split software into cooperating, loosely coupled context- or aspect- descriptions. Strategies refer to structure.

4 What is Demeter A high-level interface to object-oriented programming and specification systems Demeter System/OPL = Demeter Method + Demeter Tools/OPL So far: OPL = {Java, C++, Perl, Borland Pascal, Flavors} Demeter Tools/OPL = Demeter/OPL

5 Also useful for specification UML OCL = Unified Modeling Language Object Constraint Language (an OMG = Object Management Group standard)

6 Risks of adaptive OO Advantages: Simpler programs for next project (compensates for learning curve). Programs are easier to evolve and maintain. Disadvantages: Additional training costs. New concepts, debugging techniques and tools to learn.

7 Experience regarding training costs GTE project which took approximately four man months by non-adaptive techniques, took only 7 days to complete with adaptive techniques (using Demeter/Java). Our experience with Demeter/C++ is that the first project also has a shorter development time and maintenance is much simpler.

8 Scenarios Best: Use Demeter/Java for future projects. Build library of adaptive components. Reduce software development and maintenance costs significantly. Worst: Use Demeter/Java only to generate Java code, but then you maintain Java code manually. You still win since a lot of useful Java code is produced.

9 History Hades (HArdware DEScription language by Niklaus Wirth at ETH Zurich) Zeus (a brother of Hades, a silicon compilation language at Princeton University/MIT, implemented at GTE Labs; predecessor of VHDL) Demeter (a sister of Zeus, used to implement Zeus, started at GTE Labs)

10 Data bases AP and object-oriented data bases –design rules for class dictionaries –persistence –query languages –P3

11 Normalization Functional dependency –A part V1 of some class C is functionally dependent on some part V2 if for all instances of class C each value of V2 has no more than one value of V1 associated with it. V2 functionally determines V1. –Extend to sets of parts

12 Normalization Key –A key for a class C is collection of parts that (1) functionally determines all parts of C, and (2) no proper subset has this property. –The concept of the key of a class is not a property of the class definition, but rather about the intended use of the class.

13 Normalization A class is normalized if, whenever a part is functionally dependent on a set S of parts, S contains a key (an adaptation of Boyce -Codd normal form to classes).

14 Example Employee = Integer //key String Integer String. Three Problems: Before employees are recruited for a project, the completion date can be stored only in a strange way. If all employees leave project, completion date info. lost. If completion date of a project is changed, have to search through all instances of class Employee. Source of problems: project number determines completion date, but project number is not part of key.

15 Example/Solution Employee = Integer //key String Integer Project = Integer //key String. Three Problems solved: Before employees are recruited for a project, the completion date can be stored only in a strange way. If all employees leave project, completion date info. lost. If completion date of a project is changed, have to search through all instances of class Employee.

16 Persistence Which parts of an object need to be saved in the OO data base? –Define a visitor: DBCopyVisitor (analogous to CopyVisitor). –Define a strategy which says which parts need to be saved to the data base. –o.t(DBCopyVisitor) ;

17 Query Languages Problem: Users need to know too much about the data base schema (= UML class diagram) when they write queries. Solution: Use strategies with some extensions to write queries. from a:A via b:B to C at the C-object a and b are available.

18 Commercial aspects Many companies selling OODBs, e.g. Object Design in Burlington, MA. OQL: a standard query language –AQL: an adaptive version of OQL (not implemented)

19 RIDL Rondo

20 References MDA Explained, Practice and Promise of the Model Driven Architecture –ISBN unknown, to appear Spring 2003, Kleppe, Warmer & Bast The Object Constraint Language, Precise Modeling with UML –ISBN , 1999, Warmer & Kleppe The Object Constraint Language, Getting Your Models Ready for MDA –ISBN , to appear May 2003, Warmer & Kleppe OCL 2.0 Submission