ITM305 Final Exam - System Analysis and Design
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 is the main purpose of package diagrams?

  • To visualize data flow within a single class
  • To outline the user interface design of an application
  • To define formal packages like subsystems and informally group classes (correct)
  • To showcase the visual representation of hardware components
  • Which of the following best describes a dependency relationship in package diagrams?

  • A relationship where a change in the independent component may require a change in the dependent component (correct)
  • A direct relationship indicating classes that inherit from one another
  • A relationship where one component must always be used with another
  • An indication that changes in one component may not affect another
  • What are the responsibilities of the Domain Layer class?

  • Create persistent classes, process business rules, and prepare data for the database (correct)
  • Contain all SQL statements and process results into domain objects
  • Establish connections to external APIs and manage user sessions
  • Display data input forms and manage user interactions
  • What is one of the responsibilities of the Data Access Layer?

    <p>Maintain database connections and handle SQL queries</p> Signup and view all the answers

    Which layer is responsible for capturing user input events such as clicks and key entries?

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

    What is the purpose of return-value on the same line as the message?

    <p>To describe data returned from a destination object to a source object</p> Signup and view all the answers

    Which class acts as an intermediary between boundary classes and entity classes?

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

    During system behaviour analysis, what is assigned to a conceptual class system?

    <p>System operations</p> Signup and view all the answers

    What characterizes a persistent class in object-oriented design?

    <p>Classes whose objects remain after the system is shut down</p> Signup and view all the answers

    What is the main focus of object-oriented design?

    <p>To identify classes, methods, and messages required for a use case</p> Signup and view all the answers

    What does a boundary class represent in the context of system design?

    <p>A class on the automation boundary of a system</p> Signup and view all the answers

    Which diagram is NOT typically associated with use case realization?

    <p>Entity relationship diagram</p> Signup and view all the answers

    What is indicated by the visibility symbol (+ or -) in class attributes?

    <p>Whether an attribute is accessible from other objects</p> Signup and view all the answers

    What is the primary purpose of a System Sequence Diagram (SSD)?

    <p>To show the interaction between actors and the system for a use case scenario</p> Signup and view all the answers

    Which of the following best describes the notation for an outgoing message in a System Sequence Diagram?

    <p>[true/false condition] return-value := message-name(parameter-list)</p> Signup and view all the answers

    What is the primary characteristic of a concrete class?

    <p>It can be instantiated.</p> Signup and view all the answers

    What does an asterisk (*) indicate in the message notation for SSD?

    <p>A repeat of the message</p> Signup and view all the answers

    What is a key characteristic of the parameter list in a message name for SSD?

    <p>Parameters are separated by commas and enclosed in parentheses</p> Signup and view all the answers

    Which design principle emphasizes the separation of different responsibilities in classes?

    <p>Separation of responsibility</p> Signup and view all the answers

    What is the goal of protecting parts of a system from variations?

    <p>To isolate stable components from those expected to change.</p> Signup and view all the answers

    What type of information does a special case sequence diagram emphasize?

    <p>Input and output messaging requirements for a single use case</p> Signup and view all the answers

    Which of the following statements regarding messages in SSD is true?

    <p>Messages can be represented as verbs followed by nouns</p> Signup and view all the answers

    What does high cohesion in a class indicate?

    <p>The class is focused on a single purpose.</p> Signup and view all the answers

    Which type of coupling is considered optimal in class design?

    <p>Loosely coupled classes.</p> Signup and view all the answers

    Which of the following is NOT a component of a System Sequence Diagram?

    <p>Detailed system architecture</p> Signup and view all the answers

    When using message formats in SSD, how should names be structured?

    <p>Lowercase letters with uppercase letters separating words and no spaces</p> Signup and view all the answers

    What does encapsulation refer to in object-oriented design?

    <p>Combining methods with data into a single unit.</p> Signup and view all the answers

    Which statement is true regarding the responsibilities of objects in a system?

    <p>Objects should know and do what they are asked to do.</p> Signup and view all the answers

    Which of the following best describes the principle of coupling?

    <p>It measures how closely classes are related.</p> Signup and view all the answers

    What is the primary goal of Agile development?

    <p>Develop software</p> Signup and view all the answers

    Which principle is emphasized in the Agile Manifesto?

    <p>Value individuals and interactions over processes and tools</p> Signup and view all the answers

    What does a product backlog represent in SCRUM?

    <p>A prioritized list of user requirements</p> Signup and view all the answers

    Who is responsible for controlling the backlog in SCRUM?

    <p>The product owner</p> Signup and view all the answers

    In Agile modeling, what is considered a crucial aspect of building models?

    <p>Minimizing modeling activity to only what is necessary</p> Signup and view all the answers

    What defines a 'scrum sprint'?

    <p>A time-controlled mini-project to implement part of the system</p> Signup and view all the answers

    What is a critical attitude toward change in Agile development?

    <p>Change should be embraced and carried out incrementally</p> Signup and view all the answers

    What is the main role of a controller in a system architecture?

    <p>To switch between user-interface classes and domain layer classes.</p> Signup and view all the answers

    What role does open communication play in Agile development?

    <p>It helps learn from each other and enhances project outcomes</p> Signup and view all the answers

    What does an activation lifeline represent in sequence diagrams?

    <p>The time duration when an object is actively executing.</p> Signup and view all the answers

    Which guideline should be followed when detailing messages in a sequence diagram?

    <p>Elaborate each message with true/false conditions, parameters, and returned values.</p> Signup and view all the answers

    What assumption is made when designing a system according to the principles outlined?

    <p>Technology functions perfectly without issues.</p> Signup and view all the answers

    Which layer should be added to a multilayer sequence diagram to handle data interactions?

    <p>Data layer to read and write persistent data.</p> Signup and view all the answers

    What is the purpose of separating user interface elements from application logic?

    <p>To protect stable components from variations and changes.</p> Signup and view all the answers

    How can a new object be instantiated according to the provided methods?

    <p>By sending a message to a data access object for persistent data.</p> Signup and view all the answers

    Which of the following is not a characteristic of a controller?

    <p>It is essential for direct user interaction with the domain layer.</p> Signup and view all the answers

    Study Notes

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

    • System Sequence Diagram (SSD): Shows interactions between an actor and the system for a use-case scenario. The system is visualized as a black box. Initiating actors and external systems are identified. The messages exchanged, and their sequence within the system, are detailed. Special cases for sequence diagrams illustrate object use within the system, highlighting inputs and outputs for a use case. Actor, system, and object lifelines are part of the diagram. Messages show content and structures of system inputs and outputs. Formatted messages in SSD follow UML format (lowercase letters, no spaces, using commas to separate parameters. Empty parentheses are used if no parameters needed)

    • Message Formats in SSD: Message names are followed by parameters. Names start with lowercase letters. Compound words are combined with uppercase letters as delimiters. Parameters are separated by commas. If no parameters exist, empty parentheses are used. True/False conditions are indicated by [true/false condition]. Return values, if any, are included with :=. An asterisk (*) indicates repetition or looping. Brackets [] are used for true/false conditions. The message-name (verb-noun description) and a parameter-list (with parentheses, if applicable) denote the service and passed data. Return values (denoted by :=) return data between source and destination objects.

    • System Events and System Operations: System operations are public, black-box functions offered by the system. These are triggered by external inputs/system events, initiated by actors.

    • Extending and Integrating Requirements Models: Includes use case diagrams, use case descriptions, activity diagrams, system sequence diagrams (SSDs), and domain class diagrams to illustrate use case realizations. Domain classes, using models, are part of the diagram.

    • Steps of Object-Oriented Design: Object-oriented design methods identify classes, their methods, and messages to complete a use case. The primary driving component in the design methodology is use cases.

    • Design Class Diagrams: Stereotype descriptions use guillemots (<< >>). Persistent classes persist after shut downs (e.g., data). Entity classes denote problem domain classes. Boundary classes represent system boundaries (input/output). Controller classes control communication between boundary and entity classes. Data access classes manage database interaction. A class's attributes have visibility (e.g. +public, −private).

    • Fundamental Design Principles (Week 9): Object responsibility, knowing and doing, separation of concerns, and protection from variations are core principles. Objects are fundamental to system processing. Segregation by class into groups or packages improves overall organization. Parts of a system less likely to change are separated to protect from major variations.

    • Quantitative Measurement of Coupling (Week 9): Measures how tightly related classes are linked, ranging from tightly to loosely coupled. Fewer associations or messages reduce coupling, which is the desired outcome.

    • Cohesion (Week 9): Measures internal unity of purpose in a class. High cohesion implies cohesive responsibilities (e.g., all customer-related responsibilities are in one class). Conversely, low cohesion suggests broad or mismatched responsibilities. Higher is better to increase system organization.

    • Encapsulation (Week 9): Bundles data with methods operating on that data within a single unit. Objects encapsulate data, using methods to hide data members/methods, improving system robustness. This decreases interdependence between system components.

    • Inheritance (Week 9): A mechanism to derive class attributes and methods from a parent (super) class into child (subsidiary) classes. Inheritance creates a hierarchy, inheriting from parents. It avoids redundant code. Parent/superclass attributes/methods don't need to be redefined in child/subclasses.

    • Indirection (Week 9): Introduces an intermediate class between interacting entities. Improves system decoupling, but still links them. Security can also be supported to handle messages and maintain robustness. Example including a controller class between UI and problem domain classes.

    • Polymorphism (Week 9): Allows same-named methods with differing parameters in the class. Reduces code, improving the flexibility and extensibility of class systems within a given class, using same names with different parameters which provides different operations or implementations for each use.

    • Use Case Controller (Week 9): Acts as a switchboard between user interfaces and domain layers. Reduces coupling between layers, improves organization and maintains a central location for directing communications between system layers. It can be created for a use case or group of related use cases (e.g., artifact).

    • Understanding Sequence Diagrams (Week 10): Sequence diagrams clarify interactions between system objects and actors, using lifelines, activations, and messages. The dashed lines under objects are lifelines, which are origin/destination points for messages. Activation (vertical box on the lifeline) indicates actions. Messages (arrows) identify exchanges and return values.

    • OOD with Sequence Diagrams (Week 10): Guides use case selection, creation of initial Data Class Diagrams (DCDs) and extending the DCDs with further messages (add input messages).

    • Guidelines for Sequence Diagrams (Week 10): Details the format of the input use case messages, the messages, determining origin and destination objects, elaborating messages. Fleshing out each message with true/false, parameters, and return values.

    • Assumptions for Sequence Diagrams (Week 10): Assumes a perfect technology, no logon or tech issues, and no exceptions are handled which maintains a simplistic view of the system.

    • Fundamental Design Principles (Week 10): Emphasizes Protection from Variations: Separating parts of a system that are likely to change from those that remain stable (e.g., UI vs application logic).

    • Multilayer Sequence Diagrams (Week 10): Incorporates view layers and data layers for input handling and data access. View layer manages input screens, sends messages to the data layer, which accesses relevant data systems.

    • Data Layer (Week 10): Handles persistent object reading and updating, including reading/writing data to systems. Instantiate objects and send messages managing data persistence. Methods provide data access and object instantiation.

    • Package Diagrams (Week 10): Categorize, group, and visually represent classes or subsystems within the system. Package usage creates a method of classifying components/subsystems in the system. A dependency relationship, indicated by dashed lines, denotes a component/module dependency.

    • Implementation Issues Three Layer Design (Week 10): Lists Responsibilities of the View Layer for handling user interactions and reports, displaying data as well as receiving and validating user input.

    • Agile Development (Week 11): A philosophy and guidelines, emphasizing responding to change and customer collaboration over plans and documentation in a rapidly changing environment. Chaordic projects, as a guide, refer to chaotic yet ordered projects.

    • Agile Values (Week 11): Emphasizes customer collaboration and working software, not comprehensive documentation or sticking to strict plans. This leads to flexibility, adapting to changing environments.

    • Agile Principles (Week 11): Describes responsive project design and development values, in contrast to fixed plans, using principles (build only necessary, next effort as secondary goal), minimizing modeling efforts to achieve forward movement, adapting to change, which can reversed if necessary. All build on the fundamentals of understanding and communicating requirements during the software development cycle.

    • SCRUM (Week 11): Combining principles of rugby and agility in software development, using time-boxed projects as important methodologies. Scrum methods are used for project management.

    • Scrum Sprint (Week 12): Project implementation, time-boxed, part of the system.

    • Product Backlog (Week 12): A prioritized list of user requirements for the system, to be followed in the project management cycle.

    • Product Owner (Week 12): The client stakeholder who controls the product backlog, as part of the project management cycle.

    • Scrum Master (Week 12): The project manager who leads and supports the project team, as part of the project management lifecycle.

    • Domain Layer Classes (Week 12): Classes related to the problem being solved. They carry out the business logic and are the core of the system. This can include creating and managing data storage, such as data persistence (database).

    • Data Access Layer Classes (Week 12): Responsible for data interaction with the database. Functions include establishing database connections, executing SQL statements on databases, and converting database result-set information into domain objects.

    • Domain Layer and Data Access Layer Responsibilities (Week 12): Details specific responsibilities of the Domain (business logic) and Data Access layers to be considered.

    • Start and Shutdown (Week 12): The initiation and completion of system operations and activities.

    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

    Test your knowledge on System Analysis and Design concepts with a focus on System Sequence Diagrams (SSD). This quiz covers key topics like interactions, message formats, and UML conventions that are critical for understanding system use-case scenarios. Perfect for Toronto Metropolitan University students preparing for their final exam.

    More Like This

    UML System Sequence Diagrams
    10 questions
    Sequence Diagram Basics
    5 questions

    Sequence Diagram Basics

    GoldenSlideWhistle9745 avatar
    GoldenSlideWhistle9745
    System Sequence Diagrams Overview
    41 questions
    Use Quizgecko on...
    Browser
    Browser