EN04 Object-Oriented Modeling with PowerDesigner 9.5 Xiao Wang PowerDesigner Chief Architect, EBD

Slides:



Advertisements
Similar presentations
PowerDesigner for PowerBuilder (Wubark Kao) System Consultant Manager Sybase Taiwan
Advertisements

DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
Oracle SQL Developer Data Modeler 3.0: Technical Overview March 2011.
Unveiling ProjectWise V8 XM Edition. ProjectWise V8 XM Edition An integrated system of collaboration servers that enable your AEC project teams, your.
Apache Struts Technology
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Data Model driven applications using CASE Data Models as the nucleus of software development in a Computer Aided Software Engineering environment.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
The Power of PowerDesigner Frank Irnich Sybase GmbH
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Introduction To System Analysis and Design
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of The Eclipse Web Tools Platform.
Object Oriented System Development with VB .NET
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Advanced Object-Oriented Programming Features
Java 2 – Enterprise Edition Kevin J. LaFata April 21, 2003 UM – St. Louis.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
1 An Introduction to Visual Basic Objectives Explain the history of programming languages Define the terminology used in object-oriented programming.
ACM/JETT Workshop - August 4-5, 2005 UML Modeling using MagicDraw UML for Java Programmers.
InternetApplications Division (IAD) 1 PowerDesigner7: Technical Presentation and Demonstration (Taipei - 12/09/99) Marc Chanliau, Senior Product Manager.
Introduction To System Analysis and design
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
The Design Discipline.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Systems Analysis and Design in a Changing World, Fifth Edition
Technical Overview.
Classroom User Training June 29, 2005 Presented by:
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
PowerDesigner 12.5 by Dejan Sunderic
PowerDesigner 与对象建模. 2 Why Using UML? Visually define and communicate the structure and behavior of an application Represent systems using Object-Oriented.
CS 160: Software Engineering October 8 Class Meeting
Using JavaBeans and Custom Tags in JSP Lesson 3B / Slide 1 of 37 J2EE Web Components Pre-assessment Questions 1.The _____________ attribute of a JSP page.
Introduction to J2EE Architecture Portions by Kunal Mehta.
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
J2EE Structure & Definitions Catie Welsh CSE 432
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Information System Development Courses Figure: ISD Course Structure.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Systems Analysis and Design in a Changing World, 3rd Edition
DEV337 Modeling Distributed Enterprise Applications Using UML in Visual Studio.NET David Keogh Program Manager Visual Studio Enterprise Tools.
Modeling Web Based Applications with UML Terry Quatrani Rose Evangelist Terry Quatrani Rose Evangelist.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Differences Training BAAN IVc-BaanERP 5.0c: Application Administration, Customization and Exchange BaanERP 5.0c Tools / Exchange.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Executive Overview. Software modeling is essential, because it is the map that guides your developers. Additionally: Modeling Software  Visual information.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Apache Struts Technology A MVC Framework for Java Web Applications.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
Building Enterprise Applications Using Visual Studio®
Working in the Forms Developer Environment
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Introduction to J2EE Architecture
PowerDesigner 9.5 全球 No.1 All-In-One CASE Tool
Evaluating Compuware OptimalJ as an MDA tool
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Analysis models and design models
Software Development Process Using UML Recap
Presentation transcript:

EN04 Object-Oriented Modeling with PowerDesigner 9.5 Xiao Wang PowerDesigner Chief Architect, EBD

Agenda Introduction to modeling Brief Overview of Object-Oriented Modeling and UML PowerDesigner 9.5 overview Designing an Object Model for a Java application Creating J2EE components Creating Web Service Components Creating.NET applications Reporting and Repository Conclusion

Why Modeling? Would you build a house without a blueprint? The Architect will do the first high level drawings to validate the concept with its client He will then make a detailed plan for the Builders The Builders will take this blueprint and optimise it based on technical constraints

History of Modeling & Design Modeling techniques has been created a while ago under the name CASE (Computer Aided Software Engineering) What is recognized has effective modeling and design today?  Database Modeling (Data Modeling), using E/R (Entity/Relationship) techniques (standard), for IT users  Application Modeling using UML (Unified Modeling Language) techniques (standard), for IT users  Business Process Modeling using emerging techniques, for non IT users

Problem Statement How to effectively model business-driven application? Different techniques (E/R, UML, BP Modeling) have forced corporations to buy different tools, raising communication and co-ordination issues between business analysts, IT analysts & designers and application developers Lack of common framework to store and manage models and design induce inconsistencies across applications and reduces ability to re-use existing software Heritage from CASE and complexity of techniques and tools generate high costs in learning curve

Our Vision An Enterprise Modeling and Design solution  That will empowers our customers to model software that meets the needs of end users  Fits the description of the business processes  Enable IT users to perform analysis and design, and application development

Brief Overview of Object-Oriented Modeling Why Use Object-Oriented Modeling?  Visually define and communicate the structure and behavior of an application  Represent systems using OO concepts Abstraction: Describe using relevant characteristics Encapsulation: Combine Data and Methods Inheritance: Supertype/Subtype Polymorphism: Overloading and Overriding  Link concepts to executable code

Brief Overview of UML UML is defined by OMG. UML consists of 9 diagrams :  Static Class and Object diagrams  Dynamic Use Case, Sequence, Statechart, Collaboration and Activity diagrams  Implementation C omponent and Deployment diagrams

Use Case Diagram A Use Case Diagram describes the Actors, the Use Cases and the interaction between the Actors and the Use Cases.

Activity Diagram An Activity Diagram describes the logic of a Use Case, a function or another Activity.

Collaboration Diagram A Collaboration Diagram describes the interaction between objects by exchanging messages.

Sequence Diagram A Sequence Diagram describes the interaction between objects and how the messages are exchanged over time.

Class Diagram A Class Diagram defines the Classes, Interfaces, Attributes, Operations, Relationships, Inheritances, … A Class Diagram can be used to define persistent objects, control objects and user-interface objects. A Class Diagram can be used to generate the Physical Data Model and the implementation code.

Example of a Class Diagram in PowerDesigner

Component Diagram A Component Diagram can be used to define the components we need to create for an appliacation A Component can be using Classes, Interfaces, Operations EJBs, Servlets, JSPs and Web Services can be represented as Components

Object-Oriented Modeling Best Practices >Create an Analysis Object-Oriented Model (OOM) first >Create Use Cases >Create Collaboration Diagrams (identify classes) >Create Sequence Diagrams (identify classes, operations) >Create Architecture Diagram using Collaboration Diagram or the Free Model >Create Class Diagram >Generate an Implementation OOM or refine the analysis OOM >Create implementation components (EJBs, Servlets, Web Services) >Generate the code >Complete the code with an IDE >Reverse engineer the code to synchronize the model

Repository Source Sybase Repository Business centric IT centric PowerDesigner 9.5 Overview Architecture and Summary of Features Development Analysis & Design Business Analysis Business-centric Control Flow diagram Entity/ Relationship modeling (and DW extensions) UML modeling (all diagrams) RDBMS structures Object Relational mapping Java,.Net, XML, PB... support IDEs & App Server support Templates, Generic Generators, UML profiles, model-to-model generation…

PowerDesigner What’s new in 9.5 (1/3) Data Modeling  Database denormalization (table split or merge, copy columns) UML/Object modeling  Full UML support (all 9 diagrams) Openness/Flexibility  UML profile (sophisticated stereotypes): extension of meta classes, customs symbols, custom checks, extended attributes, templates…  Model to model generation (logical model, several level of abstraction)  ‘Free Model’ – graphical model customizable BP Modeling  Custom symbols, data (entity & items), swimlanes, CRUD matrix, CDM generation from BP Model

PowerDesigner What’s new in 9.5 (2/3) Enhanced Web Services support  Design and reverse-engineer (UDDI browser for meta data extraction) Web Services  Deploy for Java and.NET Enhanced J2EE support  Servlet & JSP General improvements  VBScript (repository, reports)  Repository (logs and better property sheets)  Custom symbols (shape, gradient, bitmap)  Improved HTML report generator

PowerDesigner What’s new in (3/3) Improve Web Services support (Web Services deployment for J2EE (JSR109 specification)) Support new application servers (IBM WebSphere 5.0, BEA WebLogic 7, Apache Tomcat 4) Integration with IDEs (JBuilder 7, Ant) Support PowerBuilder 9.0

The PowerDesigner Object-Oriented Model The PowerDesigner 9.5 OOM supports:  All the 9 UML diagrams.  Java, C#, VB.NET, C++, PowerBuilder, IDL, VB6, XML and WSDL  Round-trip Java generation/reverse engineering  EJB including O/R mapping, Servlet, JSP  Web Services for Java and.NET  Data Model generation  O/R mapping

Designing an OOM for Java Create a Class Diagram Design packages, classes, interfaces, attributes, operations, … Preview the Java code Implement the Java methods using an IDE Generate the Java code Reverse engineer Java classes Iterative round-trip engineering

Defining Packages Packages in UML:  A logical container for objects that belong together  Provides a way to partition and manage work  Provides namespace scope for objects Packages in Java:  Directory structure containing objects Classes are known by their Package (path) and class name Packages in PowerDesigner:  Add model management capabilities  Ideally a container for related objects

Defining Classes Generated Code: /************************************************* * Module: Item.java * Author: xwang * Modified: Friday, June 28, :39:00 AM * Purpose: Defines the Class Item *************************************************/ package Product; import java.util.*; public class Item { public int itemNumber; public java.lang.String itemName; public double itemPrice; public int getItemNumber() { return itemNumber; } public java.lang.String getItemName() { return itemName; } public double getItemPrice() { return itemPrice; } The Item Class

Defining Generalizations >Generated Code: /************************************************* * Module: Product.java * Author: xwang * Modified: Friday, June 28, :39:00 AM * Purpose: Defines the Class Product *************************************************/ package Product; import java.util.*; public class Product extends Item { public java.lang.String category; public java.lang.String getCategory() { return category; } newCategory */ public void setCategory(java.lang.String newCategory) { category = newCategory; } Generalization (Inheritance)

Defining Attributes

Defining Operations Create operations Generate default constructor, static initializer Generate default getters and setters Add operations defined in a parent classes or interfaces

Implementing an Operation

Defining Associations Associations are the relationships between classes Implementation depends on the definition of:  Multiplicity: Is this a single reference or array?  Navigability: Is there a reference variable?  Visibility: Visibility of the reference variable  Role Names: Name given to the reference variable

Defining Interfaces >Generated Code: package Product; import java.util.*; public interface IItem { int getItemNumber(); java.lang.String getItemName(); double getItemPrice(); } package Product; import java.util.*; public class Item implements IItem { public int itemNumber; public java.lang.String itemName; public double itemPrice; public int getItemNumber() { return itemNumber; } … } The IItem Interface The Item Class

Object Reuse in PowerDesigner Shortcuts  PowerDesigner allows classes defined in one package or model to be reused in other packages and models via Shortcuts.  Shortcuts define an object that is outside the model or package in question. It acts like a pointer to the original object. Replication Objects (new in V9.5)  It is a copy of the original object. Users can modify the original objects and the replicated objects.

Preview the Java Code of a Class

Editing the Java Code in an IDE PowerDesigner does not generate complete code for all your methods. You have to implement them. Users need to implement the methods using PowerDesigner or an IDE (JBuilder, …) You can use the Edit With feature to launch an IDE. PowerDesigner will automatically copy the modified Java code back in the model and synchronize the model with the code.

Generating the Java Code You can select the objects you want to generate, the location and the generation options.

Generating the Java Code You could compile the Java code, generate Java doc and deploy components in an Application Server.

Develop, Deploy and Debug Using an IDE You can use an IDE or a text editor to implement the generated methods, compile the code, deploy the application and debug the application. PowerDesigner generates a JBuilder 7 project file and an Ant build script that allow you to compile and deploy you application outside PowerDesigner.

Reverse Engineering Java Code Recover Java code  Reverse engineer from a.java or.class file  Select from individual files, a directory or an archive PowerDesigner can create a new OOM or extend an existing one  Understand existing Java applications  Capture a library for reference in other models  Synchronize a model with externally edited code

Iterative Round-Trip Engineering Build and test as the Design matures:  Create an OOM  Generate Java code and edit in an IDE  Reverse engineer the edited code to synchronize the Model  Modify the Model  Generate new code from the updated Model

Creating J2EE Components Creating Servlets  Use Component and Class to represent a Servlet Creating JSPs  Use Component and File object to represent a JSP Creating EJBs  Use Component, Classes and Interfaces to represent an EJB

Creating Servlets Use the Create Servlet wizard to create a Servlet Implement the Servlet code Compile and deploy Servlet component Servlet class

Creating Servlets Implementing the Servlet methods

Creating Servlets Generate Servlet code and Web Deployment Descriptor Compile and create the.WAR file Deploy the.WAR file

Creating JSPs Use the Create JSP wizard to create a JSP Implement the JSP code Generate and deploy the.WAR file

Creating JSPs Implementing the JSP code using the internal editor or an external editor (DreamWaver, …)

Defining O/R Mapping and Creating EJBs Designing the objects Designing the database for objects persistence Defining the O/R mapping Creating EJBs (Enterprise Java Beans) Generating EJBs and O/R mapping descriptor Deploy EJBs

Designing the Database PowerDesigner is also a very powerful Database Design tool Bi-level Database Design  Conceptual Data Model (CDM) Normalized, Implementation (RDBMS) independent  Physical Data Model (PDM) Database Specific: Generates DDL to a script or to database live via an ODBC connection

Example of a PDM for Sybase SQL Anywhere /*======================================================*/ /* Table: customer */ /*======================================================*/ create table DBA.customer ( id integer not null default autoincrement, fname char(15) not null, lname char(20) not null, address char(35) not null, city char(20) not null, state char(2) not null, zip char(10) not null, phone char(12) not null, company_name char(35), primary key (id) ); /*======================================================*/ /* Index: ix_cust_name */ /*======================================================*/ create index ix_cust_name on DBA.customer ( lname ASC, fname ASC ) with hash size 10;

Generating and Reverse Engineering Database PowerDesigner captures existing database structures and translates them to Java:  Reverse engineer the Database to a PDM  Generate an OOM (Java) from the PDM Gives Object Designers a view of existing database objects Jump-start to building Business Logic Generate the O/R mapping PowerDesigner can translate a class diagram into a PDM:  Generate a PDM (tables, columns, indexes, references, O/R mapping, …)  Optimize the database (triggers, tablespace, denormalization)  Generate the database

Defining the Object/Relational Mapping Generate O/R mapping when generating a PDM from an OOM Generate O/R mapping when generating an OOM from a PDM Customize the O/R mapping to support complex mappings Customize the O/R mapping syntax for each application server Support EJB-QL and stored-procedures

Example of the O/R Mapping O/R mapping syntax for Sybase EAServer:

Java in the Database (RDBMS) Use PowerDesigner to model Java in the Database:  Create OOM for Java Stored Procedures and Java Data Types  Create a PDM for the Database (Target your RDBMS)  Reuse objects from the OOM in the PDM as Data Types  Generate.java from the OOM to “import” to server to support Data Types and add Stored Procedures

Creating Enterprise Java Beans (EJBs) PowerDesigner supports CMP Entity Beans, BMP Entity Beans, Stateless Session Beans, Statefull Session Beans and Message Driven Beans. PowerDesigner generates the source code, the deployment descriptor and the O/R mapping descriptor. PowerDesigner could compile the code, create the JAR file, run J2EE verifier and deploy the JAR file. PowerDesigner supports Sybase EAServer, BEA WebLogic and Cocobase today. Support of other servers could be added by creating a profile.

Creating a Container Managed Persistence (CMP) EJB Create a package Create a class inside the package Generate or define the O/R mapping Use the Create Enterprise JavaBean wizard to create a CMP EJB Set properties (transaction, …) Implement additional business methods Verify the source code and the deployment descriptor Generate the code, compile, verify and deploy

Example of a CMP EJB Example of the EJB wizard: The EJB component The Bean class

Generating EJBs Use Tools>Generate Java Code to generate EJBs Select the tasks to perform after the code generation

Creating Web Services PowerDesigner V9.5 supports:  Creating Web Services components for Java and.NET  Generating server side code for Java and.NET  Generating client proxy code for Java and.NET  Browsing UDDI to find Web Services (WSDL)  Importig and generating WSDL

Creating Web Services for Java For Java, PowerDesigner V9.5 supports:  Java Web Service using JAXRPC  Servlet Web Service using JAXM  Generating server side code and client proxy using JAXRPC tool  Deploying EJBs as Web Services when the « Web Services for J2EE » (JSR109) specification will be finalized

Creating a Servlet Web Service Use the Create Web Service wizard to create a Servlet Web Service Select Java Servlet as the Component type Implement the onMessage() method Compile and deploy

Create a Web Service Component Using JAX-RPC Use the Create Web Service wizard to create a Web Service Select Standard as the Component type In the Java class, create one or several methods Indicate these methods as Web Method Implement these methods Generate the Java code:  In the generation window, select the XRPCC commands to generate server side and/or client side code

Example of the Generated WSDL

Deploy EJBs as Web Service Components PowerDesigner uses the «J2EE for Web Services» (JSR109) specification to generate deployment descriptor and.EAR file to deploy Stateless Session Beans as Web Services. EAServer 5.0 will support JSR109.

Browse UDDI to Search Web Services PowerDesigner V9.5 provides a UDDI browser to allow users to search Web Services (search WSDL)

Import WSDL PowerDesigner V9.5 imports WSDL files or URLs (found in UDDI) PowerDesigner creates Web Service component from the WSDL

Creating.NET Applications With PowerDesigner 9.5, you can:  Create.NET applications for C# or VB.NET  Generate C#, VB.NET code  Compile C#, VB.NET code  Create Web Services for.NET  Create ASP.NET (ASPX) components  Use the.NET Framework library model  Future version will support reverse engineering for C# and VB.NET

Extending PowerDesigner’s Features Users could extend PowerDesigner’s features:  Use the template based generic generator (GTL) to generate other Java components (JDO, Ant build script, unit test programs, …)  Use VB Script or VBA to work directly with the PowerDesigner models (import, export, generate more complex code, …)  Use XMI import/export to integrate with other code generators

Documentation and Reporting PowerDesigner provides comprehensive reporting capabilities  Print Graphics to see model diagrams  Create Report to include objects metadata  Multi-model report to span all models in a workspace  Report Print Preview  Generate HTML or RTF reports  Multi-language support (English, Chinese, …)

Repository PowerDesigner has an enterprise repository for model sharing and management  Consolidation/Extraction of Models and other non- PowerDesigner files  Object level versioning  Branching, Configurations  Security  Open Database: (RDBMS vs. flat-file system) Write your own reports using SQL or other reporting tools (InfoMaker, Crystal Reports, etc…)

Conclusion With PowerDesigner 9.5, you can:  Create all UML diagrams  Analyse, design and develop Java or.NET applications  Generate the database and O/R mapping from your OO design  Support full Round-Trip Iterative development of Applications  Produce documents and reports for your OO design  Use the enterprise repository for team work and versioning PowerDesigner 9.5 is a complete enterprise modeling tool

More information Sybase China web site for PowerDesigner: ?resID=87 Sybase US web site for PowerDesigner:  Whitepapers, knowledgebase, tech support, and evaluation copies News group: powersoft.public.powerdesigner.general SDN: