Download presentation
Presentation is loading. Please wait.
Published byIsaac Santana Fortunato Modified over 6 years ago
1
Evaluating Compuware OptimalJ as an MDA tool
Shimin Li
2
Project Overview Introduction Mode-Driven Architecture Overview
Framework for Evaluating MDA Tools Evaluating Compuware OptimalJ Conclusion December 3, 2018
3
Introduction Motivation Objectives Approach Organization
December 3, 2018
4
Model-Driven Architecture Overview
Viewpoints and Models Computation Independent Viewpoint and CIM Platform Independent Viewpoint and PIM Platform Specific Viewpoint and PSM December 3, 2018
5
Model-Driven Architecture overview
Model transformations Meta-model Mapping Model Marking Approaches Marking Model Meta-model transformation Model transformation Pattern application Model Merging December 3, 2018
6
Model-Driven Architecture overview
Proposed standards Meta-Object Facility (MOF) Unified Modeling Language (UML) XML Metadata Interchange (XMI) Common Warehouse Metamodel (CWM) December 3, 2018
7
Model-Driven Architecture overview
Benefits Improved portability By separating the specification of the operation of a system from the details of the way that the system uses the capabilities of its platform Increased productivity By automating mappings Improved quality By reuse of well designed patterns and templates in mappings Improved maintainability and documentation By separation of concerns, traceability and consistency between models and code December 3, 2018
8
Framework for Evaluating MDA Tools
MDA Feature Analysis By a case study Comparison with a Standard Engineering Tool December 3, 2018
9
Model-Driven Architecture Features
December 3, 2018
10
Case Study Goal Exercise important MDA-related activities using Compuware OptimalJ Compare OptimalJ with Standard Engineering Tool December 3, 2018
11
Standard Engineering Tool
Eclipse + Lomboz J2EE plug-in December 3, 2018
12
Case Study Software Practice Lab (SPL) A number of members (students)
A number of supervisors A number of sponsors A list of projects, and each of them is associated with a specific sponsor Each member, supervisor, and sponsor can access the information of SPL through a web browser by login SPL with their username and password. December 3, 2018
13
Software Practice Lab (SPL)
Case Study Software Practice Lab (SPL) December 3, 2018
14
Case Study December 3, 2018
15
Case Study December 3, 2018
16
Case Study December 3, 2018
17
Implementation - Eclipse & Lomboz J2EE plug-in
Software Practice Lab J2EE Components December 3, 2018
18
Implementation - Eclipse & Lomboz J2EE plug-in
Design pattern: Session Façade Member, supervisor, project, and sponsor are accessible via SPLAccess Code written A session EJB and its DAO (SPLAccess) Two BMP EJBs and their DAOs (Member and Supervisor) Two CMP EJBs (Project and Sponsor) A Servlet Database Schema (for five relations) Code generated (by XDoclet) EJB Home, Remote, DAO interfaces Deployment descriptions December 3, 2018
19
Feature Analysis - Eclipse & Lomboz J2EE plug-in
December 3, 2018
20
SPL Implementation – OptimalJ 3.1 PE
Construct the Domain Model (PIM) High level of abstraction of the system Class Model Static structure of the application data Each class must has a primary key (for creating database model) Service Model Operations on data (e.g. login user, show all projects in SPL) December 3, 2018
21
SPL Domain model explorer
December 3, 2018
22
SPL Domain model December 3, 2018
23
SPL Implementation – OptimalJ 3.1 PE
Generate the Application Model (PSM) High level of abstraction of the Platform Use patterns to translate PIM to PSM PSM depends upon technology used (Currently J2EE) SPL application model consists of Database model – SQL Schema (Solid) EJB model – Session, entity, and message-driven beans Web model – Web page templates from Macromedia Dreamweaver December 3, 2018
24
SPL Application model – Database model
December 3, 2018
25
SPL Application model – EJB model
December 3, 2018
26
Transformation Rules -- Classes
For each class in the PIM, there is a class of the same name in the PSM For each public attribute of the class, the following are in the PSM A private attribute with the same name and type A public operation for get A public operation for set December 3, 2018
27
Transformation Rules -- Associations
For each association in the PIM, the following are in the PSM A private attribute in each class with the same name as the opposite class Get and set operations for the attribute If multiplicity is 0 or 1, the type is that of the opposite class If multiplicity is many, the type is a Set (e.g. Collection in Java) December 3, 2018
28
SPL Implementation – OptimalJ 3.1 PE
Generate the Code Model Java code, JSP, and XML files Certain design patterns used (e.g. Session Façade) Make the generated code easier to understand and modify Divides generated files into free and guarded blocks Free blocks Free to change Changes are preserved when code is updated from application model Guarded blocks Forbid changing But may change by selecting the option to ignore the guarded blocks or from outside OptimalJ. The changes are not preserved. December 3, 2018
29
Feature Analysis - OptimalJ 3.1 PE
December 3, 2018
30
Comparison December 3, 2018
31
Conclusion Compuware OptimlJ 3.1 PE supports MDA well
Shield the engineer from implementation details Provides a good development life-cycle Make modification to models The modification can be reflected almost immediately in the deployed system Perform significantly better than the traditional engineering tool December 3, 2018
32
Conclusion Suggestions for improvements
Provide the ability to model behavior of the system Provide the simulation of models at domain level and application level December 3, 2018
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.