ch10lect1_UD - Object-Oriented Software Engineering Using...

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 10, Mapping Models to  Code
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2 State of the Art:  Model-based Software Engineering The Vision During object design we build an object design model that  realizes the use case model and it is the basis for  implementation (model-driven design) The Reality Working on the object design model involves many activities  that are error prone Examples: A new parameter must be added to an operation. Because  of time pressure it is  added to the source code, but not to  the object model  Additional attributes are added to an entity object, but the  database table is not updated (as a result, the new  attributes are not persistent).
Background image of page 2
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 Other Object Design Activities Programming languages do not support the concept of a  UML association The associations of the object model must be transformed into  collections of object references Many programming languages do not support contracts  (invariants, pre and post conditions) Developers must therefore manually transform contract  specification into source code for detecting and handling  contract violations The client changes the requirements during object  design The developer must change the interface specification of the  involved classes All these object design activities cause  problems because they need to be done manually.
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 Let us get a handle on these problems  To do this we distinguish two kinds of spaces the model space and the source code space and 4 different types of transformations  Model transformation, Forward engineering, Reverse engineering, Refactoring.
Background image of page 4
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 4 Different Types of  Transformations Source code space Forward  engineering Refactoring Reverse  engineering Model space Model transformation System Model (in UML) Another System Model Program (in Java) Another Program Yet Another System Model
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6 Model Transformation Example Object design model before transformation: Object design model after  transformation:  Advertiser +email:Address Player +email:Address LeagueOwner +email:Address Player Advertiser LeagueOwner User +email:Address
Background image of page 6
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7 4 Different Types of  Transformations
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 8
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 44

ch10lect1_UD - Object-Oriented Software Engineering Using...

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online