Podcast
Questions and Answers
What does the association class represent in a many-to-many relationship?
What does the association class represent in a many-to-many relationship?
The unique identifier for the association class must be formed by the series of keys of the attached classes.
The unique identifier for the association class must be formed by the series of keys of the attached classes.
True
What is an example of a unique identifier for the CourseEnrollment association class?
What is an example of a unique identifier for the CourseEnrollment association class?
CourseNumber + SectionNumber + StudentID
In a hierarchical relationship, subordinate classes are considered special types of the _____ classes.
In a hierarchical relationship, subordinate classes are considered special types of the _____ classes.
Signup and view all the answers
Match the components of the course enrollment model with their descriptions:
Match the components of the course enrollment model with their descriptions:
Signup and view all the answers
What is defined as the specific area of the users’ business need that falls within the scope of a new system?
What is defined as the specific area of the users’ business need that falls within the scope of a new system?
Signup and view all the answers
Domain classes can only represent physical objects.
Domain classes can only represent physical objects.
Signup and view all the answers
What are the items users work with when accomplishing tasks called?
What are the items users work with when accomplishing tasks called?
Signup and view all the answers
In system analysis, the term ______ is used to denote data entities that represent significant items in the problem domain.
In system analysis, the term ______ is used to denote data entities that represent significant items in the problem domain.
Signup and view all the answers
Match the following terms with their meanings:
Match the following terms with their meanings:
Signup and view all the answers
Which of the following is NOT mentioned as an example of a 'Thing'?
Which of the following is NOT mentioned as an example of a 'Thing'?
Signup and view all the answers
Types of associations are part of domain modeling.
Types of associations are part of domain modeling.
Signup and view all the answers
Who updated the version from 1.0 to 2.0 in the Document Change Control?
Who updated the version from 1.0 to 2.0 in the Document Change Control?
Signup and view all the answers
Which technique involves using a checklist of usual types of things to identify domain classes?
Which technique involves using a checklist of usual types of things to identify domain classes?
Signup and view all the answers
The Noun Technique focuses on identifying verbs when describing a system.
The Noun Technique focuses on identifying verbs when describing a system.
Signup and view all the answers
What is the main goal when identifying things during brainstorming?
What is the main goal when identifying things during brainstorming?
Signup and view all the answers
In database class, you call them _____.
In database class, you call them _____.
Signup and view all the answers
Match the following techniques with their descriptions:
Match the following techniques with their descriptions:
Signup and view all the answers
Which of the following is NOT a step in the brainstorming process?
Which of the following is NOT a step in the brainstorming process?
Signup and view all the answers
Brainstorming only requires input from a single user for identifying domain classes.
Brainstorming only requires input from a single user for identifying domain classes.
Signup and view all the answers
List one type of tangible thing that might be identified during brainstorming.
List one type of tangible thing that might be identified during brainstorming.
Signup and view all the answers
What is the primary purpose of the Noun Technique?
What is the primary purpose of the Noun Technique?
Signup and view all the answers
The Noun Technique should only be used when users are available for brainstorming.
The Noun Technique should only be used when users are available for brainstorming.
Signup and view all the answers
Name one type of item you could identify using the Noun Technique.
Name one type of item you could identify using the Noun Technique.
Signup and view all the answers
The Noun Technique involves finding, classifying, and refining a list of ______.
The Noun Technique involves finding, classifying, and refining a list of ______.
Signup and view all the answers
Which of the following steps is NOT a part of the Noun Technique?
Which of the following steps is NOT a part of the Noun Technique?
Signup and view all the answers
What question would you ask to determine if a noun should be excluded from the list?
What question would you ask to determine if a noun should be excluded from the list?
Signup and view all the answers
Match the noun examples with their respective categories:
Match the noun examples with their respective categories:
Signup and view all the answers
The Noun Technique can lead to a concise list of relevant nouns.
The Noun Technique can lead to a concise list of relevant nouns.
Signup and view all the answers
What is a superclass in a generalization/specialization hierarchy?
What is a superclass in a generalization/specialization hierarchy?
Signup and view all the answers
In aggregation, the part can exist independently from the whole.
In aggregation, the part can exist independently from the whole.
Signup and view all the answers
What is the primary distinction between aggregation and composition?
What is the primary distinction between aggregation and composition?
Signup and view all the answers
A subclass is the ________ class in a generalization/specialization hierarchy.
A subclass is the ________ class in a generalization/specialization hierarchy.
Signup and view all the answers
Match the type of UML relationship with its correct description:
Match the type of UML relationship with its correct description:
Signup and view all the answers
Which symbol denotes aggregation in UML class diagrams?
Which symbol denotes aggregation in UML class diagrams?
Signup and view all the answers
Composition allows parts to be removed and replaced easily.
Composition allows parts to be removed and replaced easily.
Signup and view all the answers
What is inheritance in the context of class hierarchies?
What is inheritance in the context of class hierarchies?
Signup and view all the answers
What type of relationship exists between a Book and a Chapter?
What type of relationship exists between a Book and a Chapter?
Signup and view all the answers
An ERD is effective for showing generalization/specialization relationships.
An ERD is effective for showing generalization/specialization relationships.
Signup and view all the answers
Name one attribute of an Employee as described in the case study.
Name one attribute of an Employee as described in the case study.
Signup and view all the answers
In the relationship between an organization and its employees, each project must have at least one employee assigned to it, while an employee may be assigned to ______ or more projects.
In the relationship between an organization and its employees, each project must have at least one employee assigned to it, while an employee may be assigned to ______ or more projects.
Signup and view all the answers
Match the following components of ERD with their descriptions:
Match the following components of ERD with their descriptions:
Signup and view all the answers
Which attribute is included in the Project entity?
Which attribute is included in the Project entity?
Signup and view all the answers
Cardinality in ERDs can include the concepts of 'one', 'few', and 'many'.
Cardinality in ERDs can include the concepts of 'one', 'few', and 'many'.
Signup and view all the answers
What is a primary use of an Entity Relationship Diagram (ERD)?
What is a primary use of an Entity Relationship Diagram (ERD)?
Signup and view all the answers
Study Notes
University of Wollongong in Dubai
- The University of Wollongong has a campus in Dubai.
CSIT114 - System Analysis
- This is a course on System Analysis.
- The course covers Domain Modeling.
- The course lecturers are Dr. Haitham Yaish and Dr. Zeenath Reza Khan.
Document Change Control
- Version 1.0 was created in Autumn 2019 by Dr. Zeenath Reza Khan.
- Version 2.0 was created in Autumn 2023 by Dr. Haitham Yaish.
- Version 2.0 updated and created new lecture content.
Agenda
- Techniques to identify things.
- Domain Classes
- Types of Associations
- Domain Model Class Diagram
- Class Diagrams Class Activities.
- Case Study
- Entity Relationship Diagrams (ERD)
- ERD Class Activity
Problem Domain
- Problem domain - the specific business area.
- Things - items users interact with.
- Examples of "Things" are products, sales, shippers, customers, invoices, payments etc
- In the course, "Things" are called domain classes.
Techniques to identify things
- Brainstorming Technique - Use a checklist of typical things and brainstorm to identify domain classes of each type.
- Noun Technique - Identify all nouns when describing the system and determine if they're domain classes, attributes, or not needed..
Brainstorming
- Techniques for identifying things
- Look for tangible things, organizational units, locations.
- Identify incidents or events.
- Tangible things include airplane, book, vehicle, document, worksheet etc.
- Roles such as employee, customer, doctor, patient, end-user, administrator
- Organizational units include department, section, task force, workgroup etc.
Brainstorming Steps
- Brainstorm with the user.
- Identify things involved when carrying out the use case.
- Capture required information by the system.
- Systematically ask questions about things.
- Work with users and stakeholders to expand the brainstorming list.
- Merge results, remove duplicates, and compile an initial list.
The Noun Technique
- A technique to identify problem domain classes by finding, classifying, and refining a list of nouns.
- It's a popular and systematic technique.
- It often produces a long list of nouns, some of which may not need to be stored.
- A practical choice when there aren't users immediately available to help with brainstorming.
The Noun Technique Steps
- Use use cases, actors and information about the system (including inputs and outputs).
- Identify nouns.
- Use other information from existing systems/procedures/forms to add items or categories.
- Refine the list, asking questions about each noun.
- Ask: Is it unique? Is it in scope? Does it need to be stored multiple times? Are there duplicates?
- Ask these questions to exclude nouns: synonym for another thing? Output from something else? input resulting in something else?
- Ask these questions to research nouns: a specific piece of information? needed if assumptions change?
- Create a master list and consider including, excluding, or researching.
- Review with users, stakeholders, and team members to define the nouns.
Domain Classes
- Attribute - describes one piece of information about an instance of the class.
- Identifier - one attribute that uniquely identifies an instance of a class
- Compound attribute - two or more attributes combined to simplify the model, e.g. address (number, street, city, state, zip).
Attributes and Values
- A Class is a general type of item/object. An Object is a specific/individual example of the class.
- Each object has specific values for attributes.
Associations among things
- Association - a naturally occurring relationship between classes (UML term).
- Binary Association - association between exactly two different classes.
- Unary Association (recursive) - association between two instances of the same class (e.g., Person married to Person)
- Ternary Association - association between three classes.
- N-ary Association - association between more than three classes.
Types of Associations
- Binary Association - between exactly two classes.
- Unary Association - between two instances of the same class.
- Ternary Association - between three classes.
- N-ary Association - between more than three classes.
Called Association/Relationship
- Multiplicity - the number of associations between classes (1 to 1 or 1 to many).
- Relationship - same as association but used in database context.
Domain Model Class Diagram
- Class - A category/classification of objects.
- Domain Class - Describes objects within the problem domain.
- Class Diagram - UML diagram showing classes, attributes, and associations.
- Domain Model Class Diagram- Includes classes from only the problem domain.
Domain class diagrams vs. design model class diagrams
- Both are types of class diagrams for system analysis and design, but used at different stages.
- Domain diagrams model fundamental concepts in the problem domain.
- Design diagrams capture software details, including methods and attributes.
Domain Class Notation
- Domain class names are always capitalized.
- Attribute names use camelCase, not capitalized.
UML notation for Multiplicity
- How many objects participate in a relationship.
- Using symbols for defining zero/one, one/many, and other situations.
A Simple Domain Model Class Diagram
- Customer places zero or more orders (one-to-many).
- Orders are placed by customers (one-to-many).
Domain Model Class Diagram for a bank
- Diagram for Customer, Account, Branch and Transaction entities.
- Shows relationships and attributes.
Domain Model Class Diagram for course enrollment
- Illustrates classes: Course, CourseSection, and Student.
- Shows relationships and how grades are associated.
Association Class
- An association that is treated as a class in a many-to-many relationship (e.g., grade).
Association Class Properties
- Association class is the "same thing" as the association itself.
- Key for the association class is formed from keys of associated classes.
- In previous examples, the key for CourseSection is CourseNumber; hence the key for CourseEnrollment is CourseNumber + StudentID.
Generalization/Specialization Relationships
- Hierarchical relationships where subclasses are specialized types of the superclass (inheritance).
- Superclass - the general category.
- Subclass - a specialized type.
Whole Part Relationships - Aggregation
- Whole-part relationship where component is independent and can be removed/replaced.
- Shown with a hollow diamond on the association.
Whole Part Relationships - Composition
- Whole-part relationship where parts cannot exist independently, removal of part means removal of whole.
- Shown with a filled diamond.
UML Relationships
- There are three main types of relationships (associations).
- Association, Whole, Part (e.g., aggregation/composition), Generalization/Specialization (inheritance).
Class Activity 1
- Draw class relationship between Book and Chapter.
Class Activity 2
- Draw class relationship between Room and Wall.
Class Activity 3
- Specify association name and multiplicity for Student and Instructor.
Class Activity 4
- Draw class relationship between I/O Device, Scanner, Keyboard, and Mouse.
Case Study
- Describes an organization with employees and projects, how they are related, and how billing rates can vary.
Case Study (ERD)
- Shows the relationships between Employee, Project, and Assignment entities.
- Shows attributes for each entity.
Entity Relationship Diagrams (ERD)
- ERDs are used for database design.
- Simpler/less detailed than class diagrams.
- Not used for relationships such as generalization/specialization and whole-part.
Simple ERD
- Customer and Order entity relationship. Customer can have zero or more Orders, and an Order must be associated with exactly one Customer.
ERD Cardinality Symbols
- Symbols illustrating exactly one, zero or more, zero or one and one or more relationships.
Expanded ERD with attributes
- ERD including attributes for Customer, Order, and OrderItem entities.
ERD Class Activity
- Try developing an ERD for a bank, including the entities Customer, Account, Branch, and Transaction.
References
- Citations for the referenced resources/articles used to construct this document including the name, author, and year.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
This quiz explores the concepts of domain modeling, including association classes, unique identifiers, and hierarchical relationships. Test your knowledge on the components of the course enrollment model and the definitions of important terminology used in system analysis. Perfect for students learning about database design and system architecture.