Modeling Your Application and Data
Creating a new enterprise application requires considerable conceptual, logical, and physical planning. You must study the current business processes and existing data structures, and finally propose an application solution. When more than a few people are working on such a project, you need some way to capture, manage, and communicate your proposed application design ideas.
What Is Modeling?
Application and data modeling is the process of identifying, documenting, and implementing the data and process requirements for your application. This involves reviewing existing data models and processes to see if they can be reused, and creating new data models and processes to suit your application's unique requirements.
The major events in modeling are:
- Identifying the data and associated processes (such as that sales people in the field need to see the online product catalog and submit new customer orders).
- Defining the data (such as data types, sizes, and defaults).
- Ensuring data integrity (using business rules and validation checks).
- Defining the operational processes (such as security reviews and backups).
- Choosing a data storage technology (such as relational, hierarchical, or indexed).
It is important to understand that modeling often involves company management in unexpected ways. For example, data ownership (and the implied responsibility of data maintenance, accuracy, and timeliness) is often challenged by new insights into what data elements should be maintained by which organizations. Data design often forces a company to recognize how enterprise data systems are interdependent, and encourages the efficiencies, cost savings, and strategic opportunities that come from coordinated data planning.
At the conclusion of modeling, you have completely defined your application's requirements, identified possible data and service reuse by other enterprise applications, and provided a strong foundation for future extensions.
Working with Universal Modeling Language
One of the best ways to model how your application works is to use Universal Modeling Language (UML). UML is a system of notation for how concepts, automated processes, human interactions, and associations can be represented. With UML you use standard notation for defining various human and application activities, using:
- Sequence diagrams.
- Collaboration diagrams.
- Use case diagrams.
- Statechart diagrams.
- Activity diagrams.
- Static structure diagrams (class and object diagrams).
- Component diagrams.
- Deployment diagrams.
A good reason for modeling your application with UML is to communicate your design ideas. With UML you can visually model existing and proposed business processes, application architecture, data structures, and user interactions. UML diagrams are easy to understand and help facilitate understanding what the application does and how people interact with it. As the UML diagrams are developed, you can present how the intended application works and incrementally refine the application's design.
For more information, see the online help for Visio for Enterprise Architects, on the Microsoft Visio for Enterprise Architects CD-ROM. Visio must be active and running in order to view the online help for the Visio UML solution. At the end of the Visual Studio .NET installation you have an option to install Visio for Enterprise Architects.