E3: Define architecture and design

Model the structure and behavior of the Dronology drone system in UML. Software Engineering 2026W, JKU.

10.11., 23:59One PDF on Moodle, uploaded by one team member. The slide says 2024, so confirm the year on Moodle.
taskWhat you hand in
1team
Class diagram
Classes with attributes, operations and relationships including multiplicities. Start from the basic class diagram XML.
2each
Sequence diagrams
Two supporting use cases per member, all different across the team, so a team of 5 hands in 10. Never SC11; it's the lecture example.
1team
State-machine diagram
States of a UAV, tied to at least one of your sequence diagrams. Name the supporting use case(s) it is based on.

Grading: correct UML notation and nothing missing

Class 40%
Sequence 40%
State 20%

Every part is graded once for the whole team.

ruleConsistency

Every class, method and relationship in a sequence or state-machine diagram must exist in the class diagram. Not everything has to appear everywhere, but nothing may contradict.

Class diagram
UAV declares +takeOff()
⟶
Sequence
a service calls takeOff()
⟶
State machine
Ready to Flying on takeOff
archDronology layers
UIRouteCreationUAVRealTimeFlightViewUAVControlUAVVideoFeedMapsRouteAssignment
ServicesRouteManagementServiceFlightManagementServiceAreaMappingServiceRegistrationManagementService
CoreFlightRouteManagerFlightManagerAreaMappingCreatorFlightZoneManagerUAVRegistrationManagerRuntimeMonitoringUAVGCSMiddleware

Who may message whom

  • UI talks only to Services
  • Core talks only to Services
  • UI never talks to Core directly
  • Calls inside one layer are fine
  • An actor can also be a component, like the UAV

Keep these colors for lifelines and classes so the layer is visible at a glance, as in the lecture examples.

cdClass diagram
Associationobjects are related
Generalizationsubclass is a superclass
Realizationimplements an interface
Dependencyone uses another
Aggregationshared part, book on a shelf
Compositionowned part, dies with the whole

Multiplicity: 1 exactly one, 0..1 optional, 0..* any number, 1..* at least one.

What every class needs

FlightManagementService
 
+ victimFoundAlert()
10..*
UAV
- uavId
- status
+ takeOff()
  • Name, - attributes, + operations()
  • Relationships with multiplicity on both ends, including zero
  • Classes for real entities or responsibilities, not every noun in the text
sdSequence diagram
uav: UAV fms: FlightMgmtService uvf: UAVVideoFeed victimFoundAlert() ack raiseVictimFoundAlert() confirmation victim confirmed

The lecture's SC11 example, trimmed. Time runs downward.

Lifelinename: Class box with a dashed line down; actors as stick figures
Activationnarrow bar while the object is busy
Callsolid line, filled arrowhead
Returndashed line, open arrowhead; answer every call
Createdashed arrow into a new lifeline box
Destroy✕ at the end of the lifeline
Self callarrow looping back to the same lifeline
altif / else, mutually exclusive
optruns only if the guard is true
looprepeats while the condition holds

From use case to diagram

  1. Pick a supporting use case and read its main success scenario.
  2. Take the actors from Primary and Supporting actors.
  3. Map each system part to an architecture component: "DroneResponse" is a service, "video stream" is UI UAVVideoFeed.
  4. Turn each scenario step into a message, respecting the layers.
  5. Add every message as an operation on the receiving class in the class diagram.
stmUAV state machine
Registered Ready Flying Landed assignRoute takeOff [checks ok] land / clearRoute()

Illustrative. Use only states your chosen use cases support.

Statecondition over time, rounded box: Flying
Eventtriggers a transition: takeOff
Guardcondition that allows it: [checks ok]
Effectaction on the transition: / clearRoute()
Start, endfilled dot, ringed dot

An event is not a state. takeOff happens; Flying is where the UAV is. Model one UAV only, and match every event to an operation in the class diagram.

tooldiagrams.net
  1. Download the basic class diagram XML from Moodle.
  2. In diagrams.net: File, Import from, Device.
  3. Use only the UML/SysML shape library.
  4. File, Export as, PDF (all pages), then merge into one PDF.

Documentation

checkBefore you upload