Information Modelling Flashcards
Briefly describe information modelling: what is it? Why do we do it? When do we do it?
What:
- analysis activity to build up an information model of the business domain;
- it is a conceptual model of data types and attributes, as well as their relationships
Why:
- to identify the main business concepts and relationships,
- to help the developer understand the business domain
- allows specification of important business constraints
When:
- during initial requirements capture (conceptual model)
- when designing a database for application (data model)
What kind of information should be captured for information modelling?
Business information: the core data upon which the business depends (often provides the business with its commercial edge)
What different types of business information are there? (5)
- People
- Products
- Processes
- Attributes
- Relationships
What is a dictionary of terms? How do we produce it?
Business domain unfamiliar to developer; set of terms used by customer in a technical sense to describe the business/
Developers enter terms into the dictionary
identify redundant, ambiguous or missing terms
end goal: each term refers uniquely to each concept
What are the different term types in a dictionary? (5)
- Actor
- Object
- Event
- Relationship
- Attribute
Briefly describe entity relationship model
- identify strucutred (non-atomic) concepts as entities, own attributes
- non-decomposible (atomic) data items are attributes
- establish relationships between entities
What is included in the extended entity relationship model?
Generalisations; include subtypes and super types
What is included in the UML version of the entity relationship model?
Aggregations (whole/parts)
Operations (methods)
Describe what is meant by the attributes of a class
- data managed by the class
- included on a ‘need-to-know’ basis
- typically simple data types
- must be atomic
- typically take individual values in each instance of class - so values depend uniquely on the particular instance
Describe what is meant by the services of a class
- business operations owned by a class
- direclty read/write class attributes
- written useing standard functional syntax
What s the different between an attribute and an association?
Association:
- type has structure
- modelled in the business domain
- relationship name as one end role
Attribute:
- type has no structure
- not modelled in business domain