Podcast
Questions and Answers
What is the purpose of a dependency relationship in package diagrams?
What is the purpose of a dependency relationship in package diagrams?
Which of the following responsibilities does the View Layer Class NOT perform?
Which of the following responsibilities does the View Layer Class NOT perform?
Which layer in a three-layer design handles the business rules and logic of the domain?
Which layer in a three-layer design handles the business rules and logic of the domain?
In a use case analysis, what type of classes does the Data Access Layer need to interact with?
In a use case analysis, what type of classes does the Data Access Layer need to interact with?
Signup and view all the answers
What is indicated by the dashed line in a package diagram?
What is indicated by the dashed line in a package diagram?
Signup and view all the answers
What is an appropriate characteristic of a persistent class?
What is an appropriate characteristic of a persistent class?
Signup and view all the answers
Which type of class acts as a mediator between boundary classes and entity classes?
Which type of class acts as a mediator between boundary classes and entity classes?
Signup and view all the answers
In which diagram would you primarily represent use cases?
In which diagram would you primarily represent use cases?
Signup and view all the answers
What does the visibility indicator '+' signify in class attributes?
What does the visibility indicator '+' signify in class attributes?
Signup and view all the answers
What describes a boundary class in object-oriented design?
What describes a boundary class in object-oriented design?
Signup and view all the answers
In object-oriented design, the process of identifying classes and their messages is referred to as?
In object-oriented design, the process of identifying classes and their messages is referred to as?
Signup and view all the answers
What is the primary function of a data access class?
What is the primary function of a data access class?
Signup and view all the answers
What aspect of the design class diagram do stereotypes convey?
What aspect of the design class diagram do stereotypes convey?
Signup and view all the answers
What is the primary function of a base Controller in a system?
What is the primary function of a base Controller in a system?
Signup and view all the answers
In a sequence diagram, what does the activation lifeline represent?
In a sequence diagram, what does the activation lifeline represent?
Signup and view all the answers
Which guideline should be followed when extending input messages in object-oriented design?
Which guideline should be followed when extending input messages in object-oriented design?
Signup and view all the answers
What does the design principle 'Protection from Variations' emphasize?
What does the design principle 'Protection from Variations' emphasize?
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?
When instantiating a new object using the data layer, which method sends a message to the data access object?
Signup and view all the answers
In object-oriented design, what must be identified when choosing a use case?
In object-oriented design, what must be identified when choosing a use case?
Signup and view all the answers
What is the role of messages in a sequence diagram?
What is the role of messages in a sequence diagram?
Signup and view all the answers
What assumption is made regarding technology during the development process?
What assumption is made regarding technology during the development process?
Signup and view all the answers
Which layer is responsible for displaying data fields and capturing input events?
Which layer is responsible for displaying data fields and capturing input events?
Signup and view all the answers
What indicates a dependency relationship in package diagrams?
What indicates a dependency relationship in package diagrams?
Signup and view all the answers
Which responsibility is NOT associated with the Data Access Layer?
Which responsibility is NOT associated with the Data Access Layer?
Signup and view all the answers
In a three-layer design, which layer prepares persistent classes for storage to the database?
In a three-layer design, which layer prepares persistent classes for storage to the database?
Signup and view all the answers
Which class responsibility involves processing the results of executed SQL statements?
Which class responsibility involves processing the results of executed SQL statements?
Signup and view all the answers
What is the role of system operations in system behavior analysis?
What is the role of system operations in system behavior analysis?
Signup and view all the answers
Which class type is primarily responsible for managing communication between the user interface and the data model?
Which class type is primarily responsible for managing communication between the user interface and the data model?
Signup and view all the answers
In a design class diagram, what does the visibility symbol '-' signify for attributes?
In a design class diagram, what does the visibility symbol '-' signify for attributes?
Signup and view all the answers
Which diagram would best represent the flow of actions in a use case?
Which diagram would best represent the flow of actions in a use case?
Signup and view all the answers
What characterizes a persistent class in object-oriented design?
What characterizes a persistent class in object-oriented design?
Signup and view all the answers
Which of the following is NOT a part of the steps of object-oriented design?
Which of the following is NOT a part of the steps of object-oriented design?
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?
In object-oriented design, which of the following elements is categorized by the use of guillemots (>), as seen in stereotypes?
Signup and view all the answers
How is a use case realization typically represented in object-oriented design?
How is a use case realization typically represented in object-oriented design?
Signup and view all the answers
What type of class serves as an identifier for a specific problem domain in object-oriented design?
What type of class serves as an identifier for a specific problem domain in object-oriented design?
Signup and view all the answers
What does a System Sequence Diagram (SSD) primarily represent?
What does a System Sequence Diagram (SSD) primarily represent?
Signup and view all the answers
In message formats for an SSD, how are parameter names formatted?
In message formats for an SSD, how are parameter names formatted?
Signup and view all the answers
What does an asterisk (*) in the message notation of an SSD represent?
What does an asterisk (*) in the message notation of an SSD represent?
Signup and view all the answers
Which of the following best describes the notation '[true/false condition]' in the message format?
Which of the following best describes the notation '[true/false condition]' in the message format?
Signup and view all the answers
What must every outgoing message in an SSD be derivable from?
What must every outgoing message in an SSD be derivable from?
Signup and view all the answers
What is represented by the 'object lifeline' in a System Sequence Diagram?
What is represented by the 'object lifeline' in a System Sequence Diagram?
Signup and view all the answers
Which of the following statements is NOT true about messages in a System Sequence Diagram?
Which of the following statements is NOT true about messages in a System Sequence Diagram?
Signup and view all the answers
What is a concrete class?
What is a concrete class?
Signup and view all the answers
What does 'Separation of Responsibility' achieve in a software design?
What does 'Separation of Responsibility' achieve in a software design?
Signup and view all the answers
Why is it beneficial for classes to be loosely coupled?
Why is it beneficial for classes to be loosely coupled?
Signup and view all the answers
What does high cohesion in a class imply?
What does high cohesion in a class imply?
Signup and view all the answers
What is the principle behind 'Protection from Variations'?
What is the principle behind 'Protection from Variations'?
Signup and view all the answers
Which aspect does encapsulation primarily enhance?
Which aspect does encapsulation primarily enhance?
Signup and view all the answers
What does it mean for a class to have low cohesiveness?
What does it mean for a class to have low cohesiveness?
Signup and view all the answers
What is a characteristic of tightly coupled classes?
What is a characteristic of tightly coupled classes?
Signup and view all the answers
In object-oriented design, what does encapsulation facilitate?
In object-oriented design, what does encapsulation facilitate?
Signup and view all the answers
Which scenario is an example of applying the 'Separation of Concerns' principle?
Which scenario is an example of applying the 'Separation of Concerns' principle?
Signup and view all the answers
What is the main benefit of encapsulation in software design?
What is the main benefit of encapsulation in software design?
Signup and view all the answers
What does a superclass represent in inheritance?
What does a superclass represent in inheritance?
Signup and view all the answers
In indirection, what is the primary role of the intermediate class?
In indirection, what is the primary role of the intermediate class?
Signup and view all the answers
Which of the following best describes polymorphism?
Which of the following best describes polymorphism?
Signup and view all the answers
What does it mean for a class to have low coupling?
What does it mean for a class to have low coupling?
Signup and view all the answers
How does indirection enhance security in software design?
How does indirection enhance security in software design?
Signup and view all the answers
What is meant by method signature in the context of polymorphism?
What is meant by method signature in the context of polymorphism?
Signup and view all the answers
Which statement accurately describes inheritance?
Which statement accurately describes inheritance?
Signup and view all the answers
What is an example of a class that typically utilizes polymorphism?
What is an example of a class that typically utilizes polymorphism?
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.
Related Documents
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.