Friday 6 February 2015

SQL Theory: Data Model, Data Modeling, UML



data modeling definition

Data modeling is the analysis of data objects that are used in a business or other context and the identification of the relationships among these data objects. Data modeling is a first step in doing object-oriented programming.




Data modeling is the formalization and documentation of existing processes and events that occur during application software design and development. Data modeling techniques and tools capture and translate complex system designs into easily understood representations of the dataflows and processes, creating a blueprint for construction and/or re-engineering. 


A data model can be thought of as a diagram or flowchart that illustrates the relationships between data. Although capturing all the possible relationships in a data model can be very time-intensive, it's an important step and shouldn't be rushed. Well-documented models allow stake-holders to identify errors and make changes before any programmingcode has been written.
Data modelers often use multiple models to view the same data and ensure that all processes, entities, relationships and data flows have been identified. There are several different approaches to data modeling, including:
Conceptual Data Modeling - identifies the highest-level relationships between different entities.
Enterprise Data Modeling - similar to conceptual data modeling, but addresses the unique requirements of a specific business.
Logical Data Modeling - illustrates the specific entities, attributes and relationships involved in a business function. Serves as the basis for the creation of the physical data model.
Physical Data Modeling - represents an application and database-specific implementation of a logical data model.

UML (Unified Modeling Language) is a standard notation for the modeling of real-world objects as a first step in developing an object-oriented design methodology.Its notation is derived from and unifies the notations of three object-oriented design and analysis methodologies:
  • Grady Booch's methodology for describing a set of objects and their relationships
  • James Rumbaugh's Object-Modeling Technique (OMT)
  • Ivar Jacobson's approach which includes a use case methodology
Other ideas also contributed to UML, which was the result of a work effort by Booch, Rumbaugh, Jacobson, and others to combine their ideas, working under the sponsorship of Rational Software. UML has been fostered and now is an accepted standard of the Object Management Group (OMG), which is also the home of Common Object Request Broker Architecture (CORBA), the leading industry standard for distributed object programming. Vendors of computer-aided software engineering (CASE) products are now supporting UML and it has been endorsed by almost every maker of software development products , including IBM and Microsoft (for its Visual Basic environment).
Martin Fowler, in his book UML Distilled, observes that, although UML is a notation system enabling people to communicate about a model, it is developed from methodologies that also describe the processes in developing and using the model. While there is no one accepted process, the contributors to UML all describe somewhat similar approaches and these are usually described along with tutorials about UML itself.
Among the concepts of modeling that UML specifies how to describe are: class (of objects), object, association, responsibility, activity, interface, use case, package, sequence, collaboration, and state. Fowler's book provides a good introduction to UML. Booch, Rumbaugh, and Jacobson all have or soon will have published the "offficial" set of books on UML.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home