Design HusbandryEnterprise modeling benefits from harnessed power
By Rajan Chandras CHOOSE YOUR PATHAs I stated earlier, given the mix of design tools, you can begin the application design in a number of different ways. I would usually prefer to start with the use case diagram in the PowerDesigner OOM (OO model), where it defines high-level services (a specific type of use case) that the application system provides, together with the actors (users, in this instance) that will interact with the system. (See Figure 1.) For example a customer (actor) that tries to log in through a Web browser into a Web application would interact with the Validate_User use case, which in turn would interact with the Customer_Profile use case. These use cases and actors can then be dragged and dropped into sequence diagrams, which model more detailed interaction. The sequence diagram captures the messages that flow between the actors and use cases, arranged in chronological order. You can define messages as synchronous (the sending object waits for the message to return), or asynchronous (the object need not wait). In my example, a Customer object may send a login_request message to the Validate_User object, which in turn sends a validate_customer_request message to the Customer_Profile object. On the return path, the Customer_Profile object sends a validate_customer_result message to the Validate_User object, which then sends out a login_response message to the Customer object. NEXT "LOGICAL" STEPThe action then moves to the PowerDesigner CDM for conceptual data modeling. Here you construct a logical data model based on the knowledge gained in the previous diagrams. You'll note, for instance, that the actor Customer and use case Customer_Profile might translate to entities, and you'll identify potential data requirements for the remaining objects and messages. The PowerDesigner CDM supports two notations for conceptual data modeling: Entity-relationship (otherwise known as "information engineering" notation) and Merise. A key difference between the two is that entity-relationship notation depicts an association or associative entity between entities with a joining line, whereas the Merise notation shows the association by means of a rounded box attached to the two entities by relationship lines. I was disappointed with the absence of support in PowerDesigner for the IDEF1X modeling notation, which is very simple yet very effective. GET PHYSICALAfter you finish the conceptual model, you can either generate a physical data model (PDM) or a class diagram; my choice is the former. You can generate the PDM for a wide variety of databases, including IBM, Microsoft, Sybase, and Informix. PowerDesigner has a nice feature that lets you fold a conceptual subtype (inheritance) entity relationship from the CDM into a single table in the PDM with the subtype columns included in the parent table. This feature truly separates conceptual and physical design. From the PDM, you can select the object language (say, C++ or Java) and generate the corresponding OO (class) diagram. Or, if you're going in the other direction, you could also generate a CDM. Model generation creates one class definition for each table, with class attributes (properties) for columns. You can create constructors and destructors and also generate get() and set() operations for each attribute. In addition, you can create links between the classes to represent the relationships of generalization, association, dependency, and realization. POOR PLACEMENTTo test the PowerDesigner Repository feature, I created a repository on a local SQL Server 7 server. Creating the repository went smoothly, but I was startled to see that all the new repository tables appeared in the Master database because the ODBC connection used the default database (in this case, the Master database). I find this unacceptable. The Master database is a "system" database and best left alone; the repository should force the user to create a separate database or create a predefined database for its own consumption. TAMED POWERI touched only briefly on the various strengths of PowerDesigner here, but I hope it is clear that PowerDesigner is truly a powerful tool. Yet, for all its power, I find that PowerDesigner is reasonably simple to use. It has a good, clean interface, appears stable, and has good documentation. As an enterprise modeling tool it offers excellent value, and is certainly worth consideration in your enterprise toolkit. Rajan Chandras [rchandras@hotmail.com] is a consultant for a large international consulting and systems integration firm. He has 14 years of software industry and consulting experience, and is based in New Jersey. RESOURCES Related Articles on IntelligentEnterprise.com: Rational Rose 2001 two-part review, March 27 and April 16, 2001 Ontos ObjectSpark 4 review, May 7, 2001
|
Most Popular This Week
IE Weekly Newsletter
Subscribe to the newsletter
|
| |||||||||||||||||||||||||||||||





















