UNIT 5 SPECIFICATION OF DETAILED CONCEPTUAL DATA MODELS Flashcards
What is a Conceptual Data Model?
They are models used in the specification of conceptual entities (business objects) and their correlations. Conceptual data models are used to uniformly define conceptual classes (business objects) and their correlations for all participants. Software models (such as Unified Modeling Language [UML] class diagrams) serve to specify the structure, composition, and relationship between different functional classes. With complex systems that process identical data in different components, conceptual data models are a way of ensuring that exchangeability between individual components and systems is retained. A conceptual data model therefore acts as a parenthesis around the different aspects of a system and its specification.
How are Data Models used for Component and System Behavior?
When specifying component and system behavior, data models (also known as domain models) are used to document business objects, their properties, and their correlations. The modeled conceptual classes clearly and concisely denote which information the system must process and support. While process models prescribe the HOW of a system, data models specify the WHAT.
From the development team’s perspective, the conceptual data model provides a rough framework for defining the system’s data architecture. It can also help to identify requirements by acting as a kind of checklist. Each relevant element in the data model must be supported by the software system. The development and detailing of the conceptual data model in collaboration with the relevant stakeholders is vital for transferring knowledge from the requirement sources to the development team.
How are Data Models used for GUI Specification?
An information system communicates with its users via the user interface, so the GUI is used for manual inputs and modeling the business objects stored in the system. All relevant elements from the domain model must therefore be taken into account when designing the GUI. The structure of business objects also has a decisive influence on the design and implementation of the system interface because many of the GUI requirements are derived directly from the conceptual data model. Examples include the number of input and output elements, requirements governing validation via the data type, and the input of self-selected values via the text box or from a list.
How are Data Model used for Technical Interfaces?
A user can extract the key information from a letter or email and enter it in the system via the GUI, thereby transforming an unstructured message into structured information. Software systems communicate directly at technical interfaces via the exchange of messages. Unlike letters and emails, the data transferred at a technical infrastructure must conform to a strict predefined structure, otherwise the message will not be (fully) understood. A conceptual data model provides the basis for a detailed specification of messages at a technical interface. Smooth interoperability between software systems is only possible when the development team reaches a detailed, thorough agreement on the structure of messages exchanged between systems.
How are Documentation Forms used for Data Models?
Conceptual data models can usually be documented with the same concepts as technical models. Visual software models, such as UML class diagrams, UML object diagrams, and entity relationship diagrams, are widely used. Data models at interfaces are often described using Extensible Markup Language (XML) as structured text.
* UML class diagram: For documenting conceptual and
technical elements at type level, from analysis through to implementation
* UML object diagram: For representing specific data
records or business objects; for illustrating instances in a class diagram
* Entity relationship diagram: For specifying data and database models; often used in a database context
* XML: For specifying data models at system interfaces; for specifying data models of documents and strict tree structures
How are UML Class Diagrams used in a RE environment?
In a requirements engineering environment, class diagrams are used to document static concepts in an application area. This includes business objects; conceptual entities (industry-
specific real and virtual “things” that are managed by information systems); persons; objects; and systems and their relevant properties, relationships, and interdependencies. Their purpose is to document, comprehend, and communicate the conceptual problem. The classes in the class diagram are therefore interpreted as concepts of their environment rather than elements of a system.
A UML class equates to a conceptual concept, i.e., a group of objects with the same characteristics, such as customer, item, or order, as shown in the following figure. The class diagram is not suitable for modeling behavior or operations.
What are some common aspects of the conceptual or technical specification of data models?
- Identifier (ID) Attribute for Unique Identification
- Completeness of all Attributes
- Detailed Properties of Attributes
- Data type
- Multiplicity
- Default setting
- Property values
- Constraints
Explain the Identifier (ID) Attribute for Unique Identification aspect for specification of data model.
Business objects must usually be clearly distinguishable from one another and uniquely identifiable. When referring to an instance of a class in an object-oriented system, two objects are considered identical if all their attributes are identical. The addition of an ID attribute to the data model allows data records to be distinguished and identified, even if the business object’s conceptual attributes are insufficient for this purpose. These conceptual ID attributes will not usually change over a business object’s lifecycle. A change to the ID implies a conceptually different object. There is a crucial distinction between conceptual IT attributes and technical ID attributes.
Conceptual IT attributes must never be used for the technical distinction of data records or business objects, for example, as an entry in a database. It is often the case, when upgrading an outmoded system, that the conceptual data are transferred into the new system. This may necessitate an amendment to the value ranges of the admissible technical IDs. As such, it must be possible to amend the technical ID independently of the conceptual ID attribute. Conversely, it must also be possible to amend a conceptual ID without simultaneously amending the technical ID. There is a risk that extensive amendments and modifications may be needed if this distinction is not consistently maintained.
It is also possible for data records to be given a separate, internal technical ID that is not clear outside of the system. Comparisons at system interfaces should therefore only be
made on the basis of one or more conceptual ID attributes.
Explain the Completeness of all Attributes aspect for specification of data model.
When preparing a conceptual/technical specification, it is important to ensure the completeness of all relevant business objects and their attributes. For data models at technical interfaces in particular, it is crucial to ensure that both the message sender and its recipient are using the same information structure. Previously modeled operations and scenarios may be useful when verifying completeness; the same applies to object diagrams.
Explain the Detailed Properties of Attributes aspect for specification of data model.
The documentation of attributes and their name is often sufficient for the purposes of requirements engineering (RE), whereas conceptual/technical specification dictates that a data type must be specified for each attribute. Among other things, definition of a data type will influence
* the choice of input and output elements on the GUI.
* the validation and conversion rules for the GUI.
* the chosen technical data type in the database and all other technical components required for interim storage and editing.
* the chosen technical data type for messages to system interfaces.
Here’s an example for the detailed and complete specification of attributes, whereby the elements in “[]” are optional:
Name of attribute: Data type [Multiplicity] [= Default value] [{Property values|Constraints}]
Explain the Data Type aspect for specification of data model.
A string (technical data type for storing strings of
characters of unlimited length and type) is a very general data type for attributes and should be chosen if there are no conceptual or known technical restrictions on the value range.
Consequently, the value ranges for attributes should only be restricted for conceptual or known technical reasons. Length restrictions and limitations on accepted values are often specified to save storage space and facilitate GUI inputs. These unnecessary restrictions may prove impractical over the application’s lifecycle, leading to avoidable modifications
and maintenance work.
A typical example is the specification of attributes when building numbers are saved in the form of integers (whole numbers), which would preclude the addition of a building numbered 15b. Another example would be to specify the data type for post codes as integers, so that when the postcode 01069 is entered, the leading zero is omitted and stored in the database as 1069.
Explain the Multiplicity aspect for specification of data model.
Optional multiplicities allow you to specify how many values may be linked to an attribute. Multiplicities are often modeled together with associations. In the UML class diagram, these quantities may be documented immediately after the data type.
Explain the Default setting aspect for specification of data model.
The optional default value setting (also known as an initial value) allows the definition of a value that is automatically pre-assigned to the attribute. For example, today’s date may be pre-entered in the date box by default, or a frequently selected option assigned to selection boxes. Default settings help to make a system more usable.
Explain the Property values aspect for specification of data model.
Optional property values are used to document additional information about the attribute that may be relevant when creating the system. Examples of property values include
* {readOnly}: value cannot be overwritten.
* {unique} or {id}: value must be unique; no other object may have the same value for this attribute.
* {ordered}: values are listed in order and do not contain any duplicates.
Property values are specified as required on an individual project basis.
Explain the Constraints aspect for specification of data model.
Optional constraints (conditions and restrictions) are used to provide further details of admissible attribute values, in addition to data type. Constraints can define the length and type of admissible characters in the attribute value, stipulate compliance with certain format guidelines, and define interdependencies with other attributes. For example, in the terms of a contract, one requirement is that the start date must be before the end date.
Where these constraints are already known at the time of specification, they may be incorporated directly into the data model for that attribute.
Unlike object-oriented analyses, specifications do not document an attribute’s visibility.