Domain Modeling in System Analysis
45 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What does the association class represent in a many-to-many relationship?

  • An association with attributes that need to be remembered (correct)
  • A class that defines unique identifiers for other classes
  • A class that can't have any attributes
  • A connection between two classes only
  • 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?

    CourseNumber + SectionNumber + StudentID

    In a hierarchical relationship, subordinate classes are considered special types of the _____ classes.

    <p>superior</p> Signup and view all the answers

    Match the components of the course enrollment model with their descriptions:

    <p>Course = Has many CourseSections CourseSection = Has many Students Student = Registered in many CourseSections CourseEnrollment = Captures student grades</p> 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?

    <p>Problem Domain</p> Signup and view all the answers

    Domain classes can only represent physical objects.

    <p>False</p> Signup and view all the answers

    What are the items users work with when accomplishing tasks called?

    <p>Things</p> 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.

    <p>domain classes</p> Signup and view all the answers

    Match the following terms with their meanings:

    <p>Domain Model = A representation of the various data entities Class Diagram = Diagram that shows the structure of classes in a system Entity Relationship Diagram = Visual representation of data relationships Domain Classes = Items modeled in the problem domain</p> Signup and view all the answers

    Which of the following is NOT mentioned as an example of a 'Thing'?

    <p>Software Licenses</p> Signup and view all the answers

    Types of associations are part of domain modeling.

    <p>True</p> Signup and view all the answers

    Who updated the version from 1.0 to 2.0 in the Document Change Control?

    <p>Dr. Haitham Yaish</p> Signup and view all the answers

    Which technique involves using a checklist of usual types of things to identify domain classes?

    <p>Brainstorming Technique</p> Signup and view all the answers

    The Noun Technique focuses on identifying verbs when describing a system.

    <p>False</p> Signup and view all the answers

    What is the main goal when identifying things during brainstorming?

    <p>To identify potential domain classes and attributes.</p> Signup and view all the answers

    In database class, you call them _____.

    <p>data entities</p> Signup and view all the answers

    Match the following techniques with their descriptions:

    <p>Brainstorming Technique = Checklist to identify domain classes Noun Technique = Identifying nouns from system descriptions Use Case Identification = Involves users and stakeholders Categorical Analysis = Systematic asking of questions about domains</p> Signup and view all the answers

    Which of the following is NOT a step in the brainstorming process?

    <p>Identify old systems</p> Signup and view all the answers

    Brainstorming only requires input from a single user for identifying domain classes.

    <p>False</p> Signup and view all the answers

    List one type of tangible thing that might be identified during brainstorming.

    <p>Items, products, or physical objects.</p> Signup and view all the answers

    What is the primary purpose of the Noun Technique?

    <p>To identify problem domain classes through nouns</p> Signup and view all the answers

    The Noun Technique should only be used when users are available for brainstorming.

    <p>False</p> Signup and view all the answers

    Name one type of item you could identify using the Noun Technique.

    <p>customer</p> Signup and view all the answers

    The Noun Technique involves finding, classifying, and refining a list of ______.

    <p>nouns</p> Signup and view all the answers

    Which of the following steps is NOT a part of the Noun Technique?

    <p>Create user interface prototypes</p> Signup and view all the answers

    What question would you ask to determine if a noun should be excluded from the list?

    <p>Is it really just an input that results in recording some other information I have identified?</p> Signup and view all the answers

    Match the noun examples with their respective categories:

    <p>customer = Entity shipping address = Information category transaction = Process price = Attribute</p> Signup and view all the answers

    The Noun Technique can lead to a concise list of relevant nouns.

    <p>False</p> Signup and view all the answers

    What is a superclass in a generalization/specialization hierarchy?

    <p>The more general class in the hierarchy</p> Signup and view all the answers

    In aggregation, the part can exist independently from the whole.

    <p>True</p> Signup and view all the answers

    What is the primary distinction between aggregation and composition?

    <p>In aggregation, the part can exist independently from the whole, while in composition, the part cannot exist independently.</p> Signup and view all the answers

    A subclass is the ________ class in a generalization/specialization hierarchy.

    <p>subordinate</p> Signup and view all the answers

    Match the type of UML relationship with its correct description:

    <p>Aggregation = A whole-part relationship where the part can exist independently Composition = A whole-part relationship where the part cannot exist independently Association = A general relationship between classes</p> Signup and view all the answers

    Which symbol denotes aggregation in UML class diagrams?

    <p>Empty diamond</p> Signup and view all the answers

    Composition allows parts to be removed and replaced easily.

    <p>False</p> Signup and view all the answers

    What is inheritance in the context of class hierarchies?

    <p>The concept that subclasses inherit characteristics of the more general superclass.</p> Signup and view all the answers

    What type of relationship exists between a Book and a Chapter?

    <p>Composition</p> Signup and view all the answers

    An ERD is effective for showing generalization/specialization relationships.

    <p>False</p> Signup and view all the answers

    Name one attribute of an Employee as described in the case study.

    <p>employee ID</p> 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.

    <p>zero</p> Signup and view all the answers

    Match the following components of ERD with their descriptions:

    <p>Attributes = Characteristics of entities Cardinality = Describes the number of instances of one entity related to another Crows Feet Notation = Visual representation of cardinality Entity = An object or concept that is represented in the ERD</p> Signup and view all the answers

    Which attribute is included in the Project entity?

    <p>start date</p> Signup and view all the answers

    Cardinality in ERDs can include the concepts of 'one', 'few', and 'many'.

    <p>True</p> Signup and view all the answers

    What is a primary use of an Entity Relationship Diagram (ERD)?

    <p>Database management</p> 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.

    Quiz Team

    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.

    More Like This

    Domain Model: Class Diagrams Flashcards
    17 questions
    Advanced Domain Model Quiz
    18 questions

    Advanced Domain Model Quiz

    EntertainingObsidian4592 avatar
    EntertainingObsidian4592
    Use Quizgecko on...
    Browser
    Browser