SENG 401 Software Architecture Lecture Slides PDF

Document Details

CleanestJasper9407

Uploaded by CleanestJasper9407

University of Calgary

Dr. Ronnie de Souza Santos

Tags

UML diagrams software architecture requirements traceability matrix class diagrams

Summary

This document consists of lecture slides for a course on Software Architecture, covering UML diagrams, class diagrams, and Requirements Traceability Matrix (RTM) components. The content focuses on visualizing design, managing system complexity, and ensuring that requirements are met.

Full Transcript

Lecture 3 SENG 401 – SOFTWARE ARCHITECTURE COMMUNICATION Dr. Ronnie de Souza Santos https://www.drdesouzasantos.ca/ UML Unified Modeling Language (UML) is a standardized way to visualize the design of a system. It helps in un...

Lecture 3 SENG 401 – SOFTWARE ARCHITECTURE COMMUNICATION Dr. Ronnie de Souza Santos https://www.drdesouzasantos.ca/ UML Unified Modeling Language (UML) is a standardized way to visualize the design of a system. It helps in understanding, documenting, and communicating the structure and behavior of software systems. BLUEPRINT OF VISUALIZE IMPROVE SOFTWARE ARCHITECTURE COMMUNICATION UML USE CASE DIAGRAM CLASS DIAGRAM USE CASE DIAGRAM Visually represents the interactions between actors (which can be users, external systems, or any entity outside the system) and the functionalities of system being developed (functional requirements). LOGIN ACTORS USE CASES RELATIONSHIPS USE CASE DIAGRAM Include adds mandatory functionality and represents additional behaviors that are always part of the base use case. Extends adds additional functionality to a use case, typically representing alternative or optional flows. Generalization pass along characteristics and behaviours of use cases and actors. USE CASE DIAGRAM * USE CASE DIAGRAM The information in the scheme is related to the development of a new app to be used for booking hotel reservations. By using this app, users can create a profile, search for rooms, book a room, manage reservations, and post reviews about the rooms. To search for a room, users are required to provide a location, along with check-in and check- out dates. After booking a room, users are given the option to make a payment using a valid credit card or pay upon arrival at the hotel. Managing reservations means dealing with two types of reservation actions: changing or canceling it. Using the same app, the hotel manager can view reservations, manage them, and receive payments. In addition, the hotel manager can upload information about the hotel and the rooms to the app. REQUIREMENTS TRACEABILITY MATRIX [RTM] · PROVIDES ACCOUNTABILITY TO PROJECT REQUIREMENTS BY MAPPING OUT THE RELATIONSHIP BETWEEN REQUIREMENTS, LINK TO DESIGN COMMUNICATION ARCHITECTURE AND PROJECT WORK. MOTIVATION Proves that predetermined project requirements are met while providing a record completed items. CHANGES MANAGEMENT RTM COMPONENTS Requirement ID: A unique identifier for each requirement (e.g., REQ-001). Requirement Description: A clear statement of what the requirement entails. Source: Where the requirement originated from (e.g., stakeholder, regulation). Design Reference: The part of the system or document that addresses the requirement (e.g., use case diagram, code module). Test Cases: Tests that validate the requirement has been met. Status: Current status of the requirement (e.g., In Progress, Completed, Verified). RTM PROCESS UML & RTM UML diagrams help to visualize how requirements are implemented in the system’s design. RTM ensures that all the components in UML diagrams (e.g., use cases, classes) are tied back to specific requirements. FORWARD BACKWARD BILATERAL TRACEABILITY TRACEABILITY TRACEABILITY UML & RTM CHALLEGES Combining UML Diagrams and RTM creates a strong link between requirements and system design, ensuring that all functional and non-functional requirements are met and validated. UML NEED FOR RTM UPDATES COMPLEXITY BREAK! 14 DIAGRAM TYPES: UML HAS A TOTAL OF 14 DIAGRAM TYPES, RANGING FROM CLASS DIAGRAMS TO SEQUENCE DIAGRAMS. MANY DEVELOPERS JOKE THAT MASTERING ALL 14 IS LIKE BECOMING FLUENT IN A COMPLEX NEW LANGUAGE! CLASS DIAGRAMS & S VISUAL REPRESENTATION OF THE KEY COMPONENTS OF A SYSTEM, INCLUDING CLASSES, ATTRIBUTES, METHODS, AND RELATIONSHIPS BETWEEN CLASSES. SYSTEM UNITS DATA FLOW MOTIVATION Make it easier to manage the complexity of a system by organizing it into logical units. RESTRICTIONS CLASSES Class Name: Representing an entity or concept in the system. Attributes: Characteristics or properties of the class (e.g., name, email, price). Attributes represent the state of the class. Methods/Operations: Functions or behaviors the class can perform. Methods represent the behavior of the class. CLASS RELATIONSHIPS Association: Represents a general Generalization: Represents a relationship between two classes where hierarchical relationship where one objects of one class interact with class (subclass) inherits attributes and objects of another. Use multiplicity to methods from another class indicate how many instances of one (superclass). Used to separate similar class can be associated with another entities by types. CLASS RELATIONSHIPS Aggregation: Represents a whole- Composition: A stronger form of part relationship where the part (a aggregation where the part cannot exist class) can exist independently of the without the whole. whole. CLASS DIAGRAM CLASS DIAGRAM Using the Hitchin a Ride by Green Day app, users register using name and email, and can log in and log out of the system. Riders are users that can request rides (one at the time) by providing their pick up location and drop of location, and they have credit card information stored for payments. Drivers are users who have a driver license and can accept ride requests (up to 3 simultaneously) or decline them. Each ride has a fare, and the app tracks the ride from start to finish. Vehicles are registered in the system by their drivers, with details like license plate number, make, and model. After a ride, riders and drivers can leave reviews with comments about their experience. CLASS DIAGRAM Source: https://venngage.com/blog/class-diagram/ ATTRIBUTES PUBLIC (+) PRIVATE (-) PROTECTED (#) Accessible by any class in Accessible only within the Accessible by the class and the project. class itself. any subclasses. QUESTIONS? SENG 401 – SOFTWARE ARCHITECTURE COMMUNICATION Dr. Ronnie de Souza Santos https://www.drdesouzasantos.ca/

Use Quizgecko on...
Browser
Browser