ITM 305 Week 8 Design Class
19 Questions
100 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's the difference between a Student class as the domain class and a design class?

The primary difference is the inclusion of method signatures in design classes, which include method name, input parameters, and return type. Domain classes have multiplicity and numbering.

Domain diagram components for student class include: studentID, name, address, and ______.

dateAdmitted

What do the front and back of CRC cards represent?

The front lists responsibilities, and the back lists other classes that the class collaborates with.

A communication diagram looks more like a SSD.

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

What is object-oriented design?

<p>It is the process that identifies and describes classes within layers and defines the messages used to invoke class methods.</p> Signup and view all the answers

What are the steps required in object-oriented design?

<p>Choose a use case, create a model based on complexity, and produce a complete design class diagram.</p> Signup and view all the answers

What are the three possible model paths for generating a final design class diagram?

<p>All of the above</p> Signup and view all the answers

What does the design class diagram contain?

<p>It contains the final definition of each class in the object-oriented software system.</p> Signup and view all the answers

What does the domain model class diagram show?

<p>It shows a set of problem domain classes and their associations.</p> Signup and view all the answers

How do design class diagrams differ from domain model class diagrams?

<p>Design class diagrams include additional classes not originally defined in the domain model.</p> Signup and view all the answers

What are the standard stereotypes of design classes?

<p>Entity class</p> Signup and view all the answers

A persistent class is a stereotyped entity class.

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

What is the format analysts use to define each attribute?

<p>Visibility, attribute-name, data-type-expression, initial-value, and property.</p> Signup and view all the answers

What is included in the third compartment of class representations?

<p>Method signature information, including method visibility, method name, method parameter list, and return type expression.</p> Signup and view all the answers

What signifies a class-level method?

<p>It is denoted by an underline and is used to search through instances at once.</p> Signup and view all the answers

How is a domain class different from a design class?

<p>A domain class lacks method signatures, data types, and return types, and shows less elaborate attributes compared to a design class.</p> Signup and view all the answers

How is a design class diagram different from a first cut design class diagram?

<p>The first cut design class diagram is use case specific, while the design class diagram includes all design classes developed over time.</p> Signup and view all the answers

What is the difference between visibility and navigation visibility?

<p>Visibility relates to attribute and method access, while navigation visibility involves the ability of an object to interact between classes.</p> Signup and view all the answers

How does a domain class diagram inform the creation of the first cut design class diagram?

<p>Multiplicity information from domain classes informs navigation visibility in the design class diagram.</p> Signup and view all the answers

Study Notes

Differences Between Student Domain Class and Design Class

  • Design classes include method signatures, incorporating method name, input parameters, and return type; domain classes do not.
  • Domain classes feature multiplicity and numbering, whereas design classes focus on inheritance.
  • Design class diagrams contain additional classes like window and database access, not just domain classes.

Domain Diagram Components for Student Class

  • Key attributes:
    • studentID (integer, key)
    • name (string)
    • address (string)
    • dateAdmitted (date)
    • lastSemesterCredits (number)
    • lastSemesterGPA (number)
    • totalCreditHours (number)
    • totalGPA (number)
    • major (string)
  • Method signatures include:
    • +createStudent(name, address, major): Student
    • +changeName(name)
    • +getName(): string
    • +findAboveHours(int hours): studentArray

Responsibilities and Collaborations in CRC Cards

  • CRC cards outline each class’s responsibilities (methods) and collaborations with other classes.
  • Left side lists responsibilities; right side lists cooperating classes.

Communication Diagrams

  • Communication diagrams resemble sequence diagrams (SSD) and are used for visualization of class interactions.

Object-Oriented Design Process

  • Focuses on identifying classes within layers and defining messages to invoke methods.
  • Driven by use cases to drive design decisions.

Steps in Object-Oriented Design

  • Start by selecting a single use case.
  • Develop a model based on complexity.
  • End with a complete design class diagram with detailed specifications.

Model Paths for Design Class Diagrams

  • Left path utilizes CRC cards for straightforward use cases.
  • Middle path employs communication diagrams for more complex scenarios.
  • Right path uses sequence diagrams for any complexity level.
  • Package diagrams categorize classes into components for distribution.

Design Class Diagrams

  • These diagrams are the definitive description of classes in an object-oriented system.
  • Derived from the problem domain model, which underpins database and software class design.

Domain Model Class Diagrams

  • Reflect problem domain classes and their relationships.
  • During analysis, focus is more on class associations rather than detailed attributes.

Design Class Diagram Evolution

  • Adds numerous classes not found in the original domain model (e.g., input windows, data access objects).
  • System classes can be organized into categories like user-interface or data access.

Standard Stereotypes of Design Classes

  • Entity Class: Represents problem domain components that users engage with (e.g., customer).
  • Boundary or View Class: Exists on system boundaries (e.g., Windows, web pages).
  • Controller Class: Acts as a mediator between boundary and entity classes.
  • Data Access Class: Facilitates data retrieval and storage within a database.

Visibility in Class Attributes

  • Visibility determines attribute accessibility by other objects (public "+" or private "-").
  • Attribute definition includes visibility, name, data type, initial value, and properties (e.g., {key}).

Method Signature Information

  • The method signature includes visibility, method name, parameter list, and return type.
  • Class-level methods (e.g., findAboveHours) enable operations on multiple instances.

Examples of Expressions

  • Attributes include types and settings indicating keys or data characteristics (e.g., studentID:string {key}).

Inheritance in Class Structures

  • Full-time student is a subclass of Student indicating an inheritance relationship.
  • Example of inheritance structure: FullTimeStudent::Student; Sedan::Car::MotorVehicle.

Class-level Methods

  • Methods like +findStudentsAboveHours(hours): Array search for student records matching specific criteria.

Distinction Between Domain and Design Classes

  • Domain classes lack method signatures and visibility indications; design classes incorporate visibility and detailed attributes.
  • Design classes feature stereotypes, unlike domain classes.

Differences Between Design Class Diagram Types

  • First cut design class diagram is specific to a use case, while design class diagrams encompass all developed design classes over time.

Visibility vs. Navigation Visibility

  • Navigation visibility refers to the ability of objects to interact across classes (shown with arrows).
  • General visibility relates to access levels of attributes and methods.

Domain Class Diagrams and Design Class Diagrams

  • Multiplicity information from domain classes guides navigation visibility in design class diagrams.
  • Domain classes transition into entity classes within the first cut design class diagram.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Description

Test your knowledge on the differences between a Student class as a domain class and a design class in ITM 305. This quiz covers concepts such as method signatures, multiplicity, and inheritance. Perfect for reinforcing your understanding from Week 8 lectures.

More Like This

Use Quizgecko on...
Browser
Browser