Visually define and communicate the structure and behavior of an application Represent systems using Object-Oriented concepts Link OO concepts to executable code UML is defined by OMG. UML consists of 9 diagrams: Static Class diagram Object diagram Dynamic Use Case diagram Sequence diagram Statechart diagram Collaboration diagram Activity diagram Implementation Component diagram Deployment diagram PowerDesigner supports all nine UML diagrams PowerDesigner supports UML 1.4 Future version of PowerDesigner will support UML 2.0 A Use Case Diagram describes the Actors, the Use Cases and the interaction between the Actors and the Use Cases.
A Collaboration Diagram describes the interaction between objects (instance of classes) by exchanging messages. Collaboration Diagram can be used to identify classes and operations
A Sequence Diagram describes the interaction between objects and how the messages are exchanged over time. Sequence Diagram is used to identify classes and operations
An Activity Diagram describes the logic and the control flow of a Use Case, an Operation or another Activity.
A Statechart Diagram is used to model the States and Transitions of a Class
An Object Diagram shows the relationships between Object Instances
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 application implementation code.
A Component Diagram can be used to define the components you need to create for an application A Component can use Classes, Interfaces PowerDesigner uses Components to represent EJBs, Servlets, JSPs, ASPs and Web Services
A Deployment Diagram is used to define the deployment architecture Deployment Diagram shows the Nodes (machines, servers), the Component Instances deployed in a Node and the Links between Nodes
Generate a Class Diagram from a Physical Data Model with O/R mapping Generate a Physical Data Model from a Class Diagram with O/R mapping Manually define complex O/R mapping Generate select, insert, update, delete SQL statements Use O/R mapping to generate EJB CMP (WebLogic, WebSphere, EAServer), JDO, Cocobase, .NET (future)
Provide wizards to automatically create EJBs, Servlets, JSPs, Web Services Generate and reverse engineer Java code Generate collection management accessor functions Generate deployment descriptors Generate O/R mapping descriptor for WebLogic, WebSphere, EAServer, JDO, JBoss (future) Generate project files for JBuilder and Eclipse Generate Ant script to compile, package and deploy J2EE application
Reverse engineer C# and Visual Basic .NET code Reverse engineer .NET binary code in C# or VB .NET Generate C# and VB .NET code Generate collection management accessor functions Generate Visual Studio .NET project files Create Web Services for C# or VB .NET (.asmx files) Templates and macros based code generator Generate Java, C#, VB .NET, VB, C++, PowerBuilder, … User could add their own code generation templates