project assignment

Gergő Pintér, PhD

gergo.pinter@uni-corvinus.hu

the project

An event organizer company entrusts your software development company to create a choreography designer software for drone shows. They have just bought 768 drones and they want to be able to do smaller-scale drone shows on parties, birthdays, and weddings.

The software should be able to manage the position of every drone in a given space in respect of the time. Every drone is capable of switch on RGB LEDs with a given light intensity. The software should be able to manage not just the position, but the state (light) of the drone.

The software generates a trajectory for every drone that it will follow.

Your task is to design this software.

drone show example

Drone Show at Sydney (2023) by Leoxiong | CC-BY-SA

choreography design in focus

  • the client company wants to design and operate the show
  • the software has to focus on the choreography design
    • not the software running on the drone
  • you can assume there’s a software (SDK) from the drone manufacturer
    • which deals with the hardware
    • it is an external “component” of the software system
AI generated | GPT Image2

architecture sketch

shape design

  • responsible for creating models/shapes/objects
    • saving, loading, modifying
  • 3D sculpting
  • the exported model is used by the animation component

DEMO: Nomad Sculpt – a web-based sculpting and painting application

shape design GUI mockup

animation

  • responsible for animating premade models
    • in a 3D space and time
  • handles a timeline, which consist of frames
  • each frame holds some models in a position, orientation, color
  • allows modifications of a model
  • computes transformations between frames

animation GUI mockup

geo-mapping

  • responsible for determining the location of the drone show
  • using GPS coordinates
  • saving/loading/editing area description files
  • mapping the animation trajectory to real world (GPS) coordinates
  • DEMO: geojson.io
screenshot of geojson.io

operation

  • responsible for starting / stopping the show
  • monitoring the drones during the show
  • check the status of the drones / environment
  • makes it possible to preview the show
  • initiate uploading trajectories
    • show choreography
  • download telemetry from the drones
operation GUI mockup

contents – outline

  • introduction
    • what the software is – practically the project assignment
    • team members – students working on the assignment
  • stakeholder identification
  • methodology
  • detailed requirements
    • functional requirements
    • non-functional requirements
  • diagrams and models
  • prioritization of requirements
  • constraints and assumptions
  • acceptance criteria
  • appendices
  • version history and approvals

diagrams

  • user stories
    • user story maps
  • flowcharts
  • first 3 level of C4
  • UI mockups

diagrams details

overview first, zoom and filter, then details on demand

– Ben Shneiderman

  • create a user story map in details for one role’s set of features
    • for example the choreography design
  • you don’t have to detail every single role
    • but give an overview of the system
    • illustrate the every roles and the connections between them

work in agile methodology

  • imagine how you would use a software like this
    • what functions would you need
  • identify dependencies between the features / modules
  • plan sprints with usable increments
  • deadline: 2 December 2026 (week 12)
    • when the team also presents the work as a presentation (10 minutes)
  • practical classes are workshops
    • main source of feedback from the instructor
  • NO CODING

suggested software for

submission

  • you have to submit the main design document
  • you may indicate who was responsible for each part
  • including every diagram
    • please keep every version of the diagrams and attach them to the submission as I would like to see the evolution of your design
  • and the presentation

you have to submit these (zipped) by 2 December 2026 via Moodle, when you also present your work

it is enough to upload it by one person from each team

presentation

  • the presentation should contain the purpose of the software component
    • based on the project assignment
    • but with your interpretation
  • team members
    • with responsibilities
  • the introduction of your design
    • from high level to the low level (according to C4)
    • describe the overall design
    • highlight on the interactions / interfaces between the components
    • attach UI mockups when necessary

presentation

  • you may separate the presentation by target audience
    • for the customer almost as if you wanted “sell” the software and introduce it from the user’s perspective
      • C4 system context, use case, user story flows with UI mockups and explanation
    • and a more technical part focusing on the internal structures
      • zoom into the system as C4 modelling propagates
      • detail the interfaces and the environments where a software will operate