Adobe Systems PB007 Software Engineering I — Package, Component, Deployment Diagram 1 Package, Component, Deployment Diagram PB007 Software Engineering I Lukáš Daubner daubner@mail.muni.cz A picture containing text Description automatically generated Adobe Systems PB007 Software Engineering I — Package, Component, Deployment Diagram 2 Package Diagram ̶Groups related elements and depicts dependencies between them ̶The elements can be classes, use cases, etc… ̶It includes: ̶Packages – represents logical grouping of elements and define their namespace ̶Dependencies – indicates dependency of elements form one package to another ̶ ̶From object point of view, it is package/namespace like it is in OOP programing languages ̶Dependencies are then usage of “include/using” keywords Adobe Systems PB007 Software Engineering I — Package, Component, Deployment Diagram 3 Package Diagram – Example Diagram, schematic Description automatically generated Diagram Description automatically generated Adobe Systems Package Diagram – Circular dependency PB007 Software Engineering I — Package, Component, Deployment Diagram 4 ̶All circular dependencies must be resolved ̶They can’t be implemented ̶ ̶Either by merge or split A picture containing object, clock Description automatically generated Adobe Systems PB007 Software Engineering I — Package, Component, Deployment Diagram 5 Component Diagram ̶Captures architecture of the system ̶Modeled all parts of system ̶Executable files ̶Libraries ̶Static files ̶Database schema ̶Etc… ̶Captures dependencies between components, especially interface ̶Interface is contract used for communication between components ̶Provided interface – What the component can do ̶Required interface – What the component need Adobe Systems PB007 Software Engineering I — Package, Component, Deployment Diagram 6 Component Diagram – Example Diagram Description automatically generated Adobe Systems PB007 Software Engineering I — Package, Component, Deployment Diagram 7 Deployment Diagram ̶Depicts mapping of architecture on infrastructure ̶Hardware ̶Virtual servers ̶Containers ̶You can model elements like backups, load balancing, mapping on cloud services, etc… ̶It includes: ̶Nodes – General computational resources, specified by stereotypes ̶Components, Artifacts ̶Interfaces ̶Links, Dependencies – Connection between the components. They should include information about used communication protocol Adobe Systems PB007 Software Engineering I — Package, Component, Deployment Diagram 8 Deployment Diagram – Example Adobe Systems PB007 Software Engineering I — Package, Component, Deployment Diagram 9 Task for this week ̶Process the feedback ̶Copy the Design Class Diagram and add packages (move classes inside them). Next, create separate Package Diagram consisting only of the packages and dependencies (without classes) ̶Mind the cycles! Directions of associations/dependencies will tell you ̶For bonus points - create either Component Diagram or Deployment Diagram ̶Component Diagram •Think about components of your system and how they communicate •You might need some database schema, caches, web pages, sensors, etc… •Interfaces are important ̶Deployment Diagram of the proposed system •The system must run/be hosted somewhere