Page 155 - DCAP405_SOFTWARE_ENGINEERING
P. 155
Software Engineering
Notes Semantic Data Models
Used to describe the logical structure of data processed by the system
Entity-relation-attribute model sets out the entities in the system, the relationships between
these entities and the entity attributes
Widely used in database design. Can readily be implemented using relational databases
No specific notation provided in the UML but objects and associations can be used
Data Dictionaries
Data dictionaries are lists of all of the names used in the system models. Descriptions of the
entities, relationships and attributes are also included
Advantages
Support name management and avoid duplication
Store of organisational knowledge linking analysis, design and implementation
Many CASE workbenches support data dictionaries
Object Models
Object models describe the system in terms of object classes
An object class is an abstraction over a set of objects with common attributes and the services
(operations) provided by each object
Various object models may be produced
Inheritance models
Aggregation models
Interaction models
Natural ways of reflecting the real-world entities manipulated by the system
More abstract entities are more difficult to model using this approach
Object class identification is recognised as a difficult process requiring a deep understanding of
the application domain
Object classes reflecting domain entities are reusable across systems
Inheritance Models
Organise the domain object classes into a hierarchy
Classes at the top of the hierarchy reflect the common features of all classes
Object classes inherit their attributes and services from one or more super-classes. These may
then be specialised as necessary
Class hierarchy design is a difficult process if duplication in different branches is to be avoided
148 LOVELY PROFESSIONAL UNIVERSITY