Monday, 11 May 2015

How Software Engineering describes Data Modeling?


A data model is generally formed to illustrate the structure of the data handled in information systems and persevered in database management systems. In term of software engineering, the data model basically describes the structure of data entities and their associations. If we consider an example of banking system, entities will usually incorporate Customer, Account, and Loan. Entity of “Account” has a number of attributes, for example account number, type of account (either it is savings or checking), current balance, and status. A relationship may state that one customer can have one or more accounts (one-to-many relation), and/or one account is linked to one or two customers (in joint account).
Data modeling in software engineering is the documentation and formalization of some existing processes and procedures that occur during software and web designing and development. Data modeling methods and tools capture and transform complex layout of any system into easily understood illustrations of the data flows and processes, creating a blueprint for structure and/or re-engineering.
Software engineering data modelers frequently use several models to view the same data and guarantee that all procedures, data flows, entities, and relationships have been recognized. There are quite a lot of different approaches to data modeling, including:

  •  Conceptual
  • Enterprise
  • Logical            and
  • Physical

Conceptual Data Modeling identifies high level relationship and properties of different types of entities. It is the best modal suitable for communication between stakeholders.
Enterprise Data Modeling identifies the unique requirements of a specific business having the similarity with conceptual data modeling.
Logical Data Modeling describes the specific relationship, attributes, and entities of a business function. It is also creates the basis for physical data modeling.
Physical Data Modeling describes application representation and specific implementation of database of logical data model.