ITM305 Final Exam - System Analysis and Design
61 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 is the purpose of a dependency relationship in package diagrams?

  • To visualize the flow of data between packages
  • To indicate a relationship where one component can function independently of the other
  • To represent a relationship where a change in one component may affect another (correct)
  • To show how classes are grouped together informally
  • Which of the following responsibilities does the View Layer Class NOT perform?

  • Capture input events such as clicks
  • Establish and maintain connections to the database (correct)
  • Edit and validate input data
  • Display electronic forms and reports
  • Which layer in a three-layer design handles the business rules and logic of the domain?

  • View Layer
  • Domain Layer (correct)
  • Presentation Layer
  • Data Access Layer
  • In a use case analysis, what type of classes does the Data Access Layer need to interact with?

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

    What is indicated by the dashed line in a package diagram?

    <p>A dependency relationship between components</p> Signup and view all the answers

    What is an appropriate characteristic of a persistent class?

    <p>Its objects are designed to remain after the system shuts down.</p> Signup and view all the answers

    Which type of class acts as a mediator between boundary classes and entity classes?

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

    In which diagram would you primarily represent use cases?

    <p>Use case diagram</p> Signup and view all the answers

    What does the visibility indicator '+' signify in class attributes?

    <p>The attribute can be accessed directly by other objects.</p> Signup and view all the answers

    What describes a boundary class in object-oriented design?

    <p>It acts as an interface between the entity and external users.</p> Signup and view all the answers

    In object-oriented design, the process of identifying classes and their messages is referred to as?

    <p>Use case driven design</p> Signup and view all the answers

    What is the primary function of a data access class?

    <p>To retrieve and send data to a database.</p> Signup and view all the answers

    What aspect of the design class diagram do stereotypes convey?

    <p>The characteristics of model elements.</p> Signup and view all the answers

    What is the primary function of a base Controller in a system?

    <p>To reduce coupling between the user interface and the domain layer</p> Signup and view all the answers

    In a sequence diagram, what does the activation lifeline represent?

    <p>The duration when an object is executing a message</p> Signup and view all the answers

    Which guideline should be followed when extending input messages in object-oriented design?

    <p>Determine all internal messages and flesh out each message with precision</p> Signup and view all the answers

    What does the design principle 'Protection from Variations' emphasize?

    <p>Separating parts of the system that are not likely to change from those that will</p> Signup and view all the answers

    When instantiating a new object using the data layer, which method sends a message to the data access object?

    <p>Send a message to obtain required persistent data method</p> Signup and view all the answers

    In object-oriented design, what must be identified when choosing a use case?

    <p>Input models such as activity diagrams, SSD, and classes</p> Signup and view all the answers

    What is the role of messages in a sequence diagram?

    <p>To show the origins and destinations of communication between objects</p> Signup and view all the answers

    What assumption is made regarding technology during the development process?

    <p>There is a perfect technology assumption</p> Signup and view all the answers

    Which layer is responsible for displaying data fields and capturing input events?

    <p>View Layer</p> Signup and view all the answers

    What indicates a dependency relationship in package diagrams?

    <p>Dashed line with an arrow</p> Signup and view all the answers

    Which responsibility is NOT associated with the Data Access Layer?

    <p>Display electronic forms</p> Signup and view all the answers

    In a three-layer design, which layer prepares persistent classes for storage to the database?

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

    Which class responsibility involves processing the results of executed SQL statements?

    <p>Data Access Layer</p> Signup and view all the answers

    What is the role of system operations in system behavior analysis?

    <p>They provide high-level operations triggered by external events.</p> Signup and view all the answers

    Which class type is primarily responsible for managing communication between the user interface and the data model?

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

    In a design class diagram, what does the visibility symbol '-' signify for attributes?

    <p>Attribute is private and cannot be accessed outside the class.</p> Signup and view all the answers

    Which diagram would best represent the flow of actions in a use case?

    <p>System sequence diagram (SSD)</p> Signup and view all the answers

    What characterizes a persistent class in object-oriented design?

    <p>It retains its state even after the system shuts down.</p> Signup and view all the answers

    Which of the following is NOT a part of the steps of object-oriented design?

    <p>Determining user interface design</p> Signup and view all the answers

    In object-oriented design, which of the following elements is categorized by the use of guillemots (>), as seen in stereotypes?

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

    How is a use case realization typically represented in object-oriented design?

    <p>As a domain model class diagram</p> Signup and view all the answers

    What type of class serves as an identifier for a specific problem domain in object-oriented design?

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

    What does a System Sequence Diagram (SSD) primarily represent?

    <p>The interaction between an actor and the system for one use case scenario</p> Signup and view all the answers

    In message formats for an SSD, how are parameter names formatted?

    <p>Lowercase letters with no spaces, upper-case letters separate words</p> Signup and view all the answers

    What does an asterisk (*) in the message notation of an SSD represent?

    <p>Repeating or looping of the message</p> Signup and view all the answers

    Which of the following best describes the notation '[true/false condition]' in the message format?

    <p>It tests a condition that determines if a message is sent</p> Signup and view all the answers

    What must every outgoing message in an SSD be derivable from?

    <p>Input to the use case and stored data</p> Signup and view all the answers

    What is represented by the 'object lifeline' in a System Sequence Diagram?

    <p>The complete system being treated as a single object</p> Signup and view all the answers

    Which of the following statements is NOT true about messages in a System Sequence Diagram?

    <p>Every message must have an associated return value</p> Signup and view all the answers

    What is a concrete class?

    <p>A class that can be instantiated</p> Signup and view all the answers

    What does 'Separation of Responsibility' achieve in a software design?

    <p>Grouping classes into segregated packages or groups</p> Signup and view all the answers

    Why is it beneficial for classes to be loosely coupled?

    <p>It allows for easier system modifications and enhancements</p> Signup and view all the answers

    What does high cohesion in a class imply?

    <p>The methods and responsibilities of the class are consistent</p> Signup and view all the answers

    What is the principle behind 'Protection from Variations'?

    <p>Isolating stable components from those likely to change</p> Signup and view all the answers

    Which aspect does encapsulation primarily enhance?

    <p>Bundling of data with relevant operations into a single unit</p> Signup and view all the answers

    What does it mean for a class to have low cohesiveness?

    <p>It has diverse and unrelated responsibilities</p> Signup and view all the answers

    What is a characteristic of tightly coupled classes?

    <p>They share many associations and direct communications</p> Signup and view all the answers

    In object-oriented design, what does encapsulation facilitate?

    <p>Protection of data integrity by restricting access</p> Signup and view all the answers

    Which scenario is an example of applying the 'Separation of Concerns' principle?

    <p>Creating separate classes for different functionalities within a system</p> Signup and view all the answers

    What is the main benefit of encapsulation in software design?

    <p>It reduces system complexity and increases robustness.</p> Signup and view all the answers

    What does a superclass represent in inheritance?

    <p>A base class that provides attributes and methods to subclasses.</p> Signup and view all the answers

    In indirection, what is the primary role of the intermediate class?

    <p>To provide security and reduce coupling between classes.</p> Signup and view all the answers

    Which of the following best describes polymorphism?

    <p>The implementation of multiple methods with the same name and different parameters.</p> Signup and view all the answers

    What does it mean for a class to have low coupling?

    <p>The class operates independently of other classes.</p> Signup and view all the answers

    How does indirection enhance security in software design?

    <p>By directing messages through an intermediate class, similar to a firewall.</p> Signup and view all the answers

    What is meant by method signature in the context of polymorphism?

    <p>The name of the method along with its parameters.</p> Signup and view all the answers

    Which statement accurately describes inheritance?

    <p>It allows a class to inherit attributes and methods from another class.</p> Signup and view all the answers

    What is an example of a class that typically utilizes polymorphism?

    <p>Constructors that initialize instances of a class.</p> Signup and view all the answers

    Study Notes

    ITM305 Final Exam - System Analysis and Design (Toronto Metropolitan University)

    • System Sequence Diagram (SSD): Shows the interaction between an actor and the system for one use case scenario.
    • The system is represented as a black box.
    • Initiating actors are depicted.
    • External systems sending messages to the system are shown.
    • Message sequence within the system is detailed.
    • Special cases for sequences are noted.
    • Actor and one object are shown.
    • Object represents the entire system.
    • Input and output message requirements are demonstrated.
    • Actor, System, and Object lifelines are focused on.
    • Message content and structure are emphasized.
    • Repeated or alternative messages are identified.

    Message Formats in SSD

    • UML format for messages: Message name followed by (parentheses) parameter list.
    • All message names start with a lowercase letter.
    • No spaces in names; uppercase letters separate words within names.
    • Parameter list items are separated by commas.
    • Empty parentheses are used if no parameters exist.

    Outgoing Messages (System Outputs)

    • System's response to complete an event.
    • Messages from the system to other systems requiring action and a reply.
    • Each output is derived from input and stored data.

    Message Notation

    • [true/false condition]: a message-name and parameter-list. The asterisk (*) signifies repetition/looping. Brackets indicate true/false conditions for message evaluation.
    • Message name (verb-noun) describes the service requested.
    • Parameter list shows data passed with the message (parentheses for initiating messages, no parentheses for return messages.)
    • Return value is the data returned from destination object to the source.

    System Events and System Operations

    • System operations are the operations accessible in a black-box component.
    • They're high-level operations triggered by system or external events.
    • System behavior analysis assigns system operations to conceptual class system.

    Extending and Integrating Requirements Models

    • Use case diagram, use case descriptions, activity diagram, system sequence diagram, and domain class diagram.

    Steps of Object-Oriented Design

    • Process of identifying classes, methods and messages needed for a use case.
    • Design is use-case driven.

    Design Class Diagrams

    • Stereotypes categorize model elements.
    • Persistent class: class whose objects remain after system shutdown.
    • Entity class: identifier for a problem domain class (usually persistent).
    • Boundary/View class: exists on a system's boundary (input window, web page).
    • Controller class: mediates between boundary and entity classes.
    • Data access class: handles database interactions.

    Notation for Design Classes

    • Attribute names use lower camel case notation.
    • Type expression specifies data types like class/string/integer.
    • Default values are indicated.

    Method Signature

    • Notations specify method invocation information, visibility (public/private), method name (verb-noun), parameters, and return type.
    • Visibility ( + / - ) indicates access to the method (other objects).

    Class-level Methods/Attributes

    • Class-level methods apply to the class rather than instances (static methods).
    • Class-level attributes apply to the class rather than objects (static attributes).

    Fundamental Design Principles

    • Object Responsibility Principle - Objects are accountable for system tasks.
    • "Knowing" and "doing" functionality.
    • Separation of Concerns (responsibility).
    • Protection from variations (separating parts of a system likely to change.)

    Quantitative Measure of Coupling

    • Measures how closely related classes are. Tightly/loosely coupled.
    • High coupling - numerous connections between classes.
    • Low coupling - fewer connections between classes is better.

    Cohesion

    • Measures the focus/unity within a class.
    • High cohesion - class has consistent responsibilities.
    • Low cohesion - inconsistent spread of responsibilities.

    Encapsulation

    • Bundles data and methods operating on data to limit complexity & improve robustness.

    Inheritance

    • Enables deriving classes from other classes (hierarchy) with shared attributes and methods.
    • Simplifies development by avoiding redundancy.

    Indirection

    • Placing an intermediary class between two other classes.
    • Decreases coupling, but maintain a link.
    • Controllers and firewall examples.

    Polymorphism

    • Allows same method name with various implementations.
    • Differentiated based on parameter sets.
    • Useful for method flexibility and reuse.
    • Constructors exemplify polymorphism.

    Use Case Controller

    • A switchboard between UI and domain layer classes.
    • Reduces coupling and provides greater security.
    • Can be combined for groups of related use cases.

    Understanding Sequence Diagrams

    • Lifeline shows lifetime and interaction points.
    • Activation shows a method execution period.
    • Messages indicate interactions with origin and destination.
    • Return values are shown for method results.

    OOD with Sequence Diagrams

    • Choose a use case, create a first-cut UML sequence diagram, extend messages and refine the diagram, and update the diagram.

    Guidelines for Sequence Diagrams

    • Establish messages from input.
    • Identify involved objects (origin/destination).
    • Describe each message with conditions/parameters/return values.

    Assumptions for Sequence Diagrams

    • Perfectly functioning technology.
    • No login or technical issues.
    • Perfect solution is assumed.
    • No exceptions expected.

    Week 10: Fundamental Design Principles

    • Protection from variations: Separating elements likely to change from those that won't.
    • Multilayer sequence diagrams: Adding view and data layers for a clear picture of interactive flows.

    Data Layer & Access

    • Handles the data layer for reading/writing persistent objects.
    • Data access method 1/2 to create and get data for persistent objects.

    Package Diagrams

    • Method to define formal packages like subsystems (formal).
    • Identifying classes or packages for understanding (informal).
    • Dependency relationships using dashed lines.

    Three-Layer Design Implementation Issues

    • View layer responsibilities- display forms, handle input, and forward data to the domain layer.

    Week 11: Agile Development

    • Agile philosophies and guidelines.
    • Agile values: responding to change, individuals and interactions, working software.

    Scrum Project Management

    • Scrum is a time-constrained, mini-project approach for executing parts of a larger system using short, tightly controlled cycles

    • The main components of a scrum project are: Product backlog, Product owner, Scrum master and Scrum team, scrum sprint

    Studying That Suits You

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

    Quiz Team

    Related Documents

    ITM305 Final Exam PDF

    Description

    Prepare for the ITM305 final exam on System Analysis and Design at Toronto Metropolitan University. This quiz covers System Sequence Diagrams (SSD), including interaction examples, message formats, and detailed analysis of actors, systems, and objects. Test your understanding of UML message structures and their applications.

    More Like This

    UML System Sequence Diagrams
    10 questions
    System Sequence Diagrams Overview
    41 questions
    Use Quizgecko on...
    Browser
    Browser