40 Questions
What is the relationship between a Course and CourseSections?
One-to-many
What is the purpose of an association class?
To add attributes to a relationship
What is the key for the CourseEnrollment association class?
CourseNumber+SectionNumber+StudentID
What is the consequence of not being able to form a key by concatenating the endpoint keys?
The model is incorrect
What is the relationship between a Student and CourseSections?
Many-to-many
Why is the association class treated as a class?
Because it has attributes
What is the purpose of the Quick Quiz questions?
To test understanding of the chapter
What is the relationship between a CourseSection and Students?
One-to-many
What is the purpose of an association class?
To provide a name and meaning for the association
What is the key for the Booking class?
The association class provides the key
What is the difference between a superclass and a subclass?
A superclass is more general, while a subclass is more specialized
What is the concept of inheritance in object-oriented design?
The concept that subclasses inherit characteristics of the more general superclass
What is an abstract class?
A class that allows subclasses to inherit characteristics but never gets instantiated
What is a characteristic of a concrete class?
It can be instantiated
What is the primary purpose of a domain class?
To describe objects in the problem domain
What is inherited by subclasses in a generalization/specialization hierarchy?
Both attributes and associations
What is a characteristic of a SavingsAccount class?
It has 4 attributes
What is the primary difference between a class diagram and a domain model class diagram?
A class diagram includes software classes, while a domain model class diagram does not
How are attribute names typically written in a domain class?
Using camelback notation
What is the relationship between a customer and an order in the given diagram?
A customer places zero or more orders
What is the purpose of a compound class name in a domain class?
To use camelback notation to create a readable name
What is the multiplicity notation used to describe in the given diagram?
The cardinality of a relationship
What is the primary difference between a class diagram and a semantic net?
A class diagram is used to describe problem domain classes, while a semantic net is used to describe software classes
How is a class name typically written in a domain class?
In all capital letters
What is the primary purpose of creating a master list of nouns in systems analysis and design?
To decide which nouns to include, exclude, or research further
What is an attribute in the context of systems analysis and design?
A piece of information that describes an instance of a class
What is the purpose of reviewing the list of nouns with users, stakeholders, and team members?
To define the list of things in the problem domain
What is a compound attribute in systems analysis and design?
A combination of two or more attributes into a single structure
What is the primary purpose of identifying attributes in systems analysis and design?
To describe the characteristics of a class or entity
What is the main difference between a domain class and a data entity?
A domain class is a type of thing, while a data entity is an instance of that thing
What is the purpose of asking whether an attribute is likely to be a specific piece of information about something else?
To research further and validate the attribute
What is the primary purpose of identifying keys or identifiers in systems analysis and design?
To uniquely identify an instance of a class
What is the total number of domain classes in RMO CSMS?
27
What is the purpose of creating an initial draft of the domain model class diagram in early iterations?
To guide development
Why might classes and associations be duplicated in more than one subsystem model?
Because they are required in multiple subsystems
What is the purpose of reviewing the use cases from Chapter 3?
To decide what classes and associations are required for each subsystem
How many subsystems are mentioned in the context of creating domain model class diagrams?
4
What is the benefit of creating one overall domain model class diagram?
It provides an overview of the whole system
Why is it useful to create one domain model class diagram per subsystem?
It is useful for those working on a subsystem
What is the purpose of completing the subsystem domain model class diagrams?
To guide development of the subsystem
Study Notes
Identifying Domain Classes and Attributes
- Identify domain classes and their attributes by asking questions: Is it a specific piece of information about something else? Is it something that might be needed if assumptions change?
- Create a master list of all nouns identified and note whether each one should be included, excluded, or researched further.
- Review the list with users, stakeholders, and team members to define the list of things in the problem domain.
Attributes
- An attribute describes one piece of information about each instance of a class.
- Examples of attributes: customer's first name, last name, phone number.
- An identifier or key is an attribute that uniquely identifies an instance of a class.
- Compound attributes are two or more attributes combined into one structure to simplify the model.
Classes and Class Diagrams
- A class is a type of thing.
- A domain class describes objects in the problem domain.
- A class diagram shows classes with attributes and associations.
- A domain model class diagram only includes classes from the problem domain, not software classes.
Domain Model Class Diagram Notation
- Class name is always capitalized.
- Attribute names are not capitalized and use camelback notation.
- Compound class names also use camelback notation.
Associations and Association Classes
- An association class is an association that is treated as a class in a many-to-many association because it has attributes that need to be remembered.
- The unique identifier (key) for the association class is the concatenation of the keys of the attached classes.
Generalization/Specialization
- Generalization/specialization is a hierarchical relationship where subordinate classes are special types of the superior classes.
- Superclass is the superior or more general class in a generalization/specialization hierarchy.
- Subclass is the subordinate or more specialized class in a generalization/specialization hierarchy.
- Inheritance is the concept that subclasses inherit characteristics of the more general superclass.
Abstract and Concrete Classes
- An abstract class is a class that allows subclasses to inherit characteristics but never gets instantiated.
- A concrete class is a class that can have instances.
Creating the Domain Model Class Diagram
- There are several ways to create the domain model class diagram for a project.
- The domain model class diagram is used to guide development.
- An initial draft of the domain model class diagram is completed and kept up to date in early iterations.
Subsystem Domain Model Class Diagrams
- Create one domain model class diagram per subsystem for those working on a subsystem.
- Create one overall domain model class diagram to provide an overview of the whole system.
- Classes and associations might be duplicated in more than one subsystem model.
This quiz assesses your understanding of systems analysis and design concepts, including information gathering and research methods. Test your knowledge of systems analysis and design principles from the 7th edition of the textbook.
Make Your Own Quizzes and Flashcards
Convert your notes into interactive study material.
Get started for free