Uploaded by Arturs Sitdikovs

SE CA1 Arturs Sitdikovs D18124810

Ship Cargo System
Software Engineering
Today cargo shipment is constantly increasing industry which requires sufficient software to handle with
different types of problems (loading/unloading,mooring operations, navigation, Machine Room sensors
that check main engines and other mechanic equipment etc.) In my project, I tried to reproduce real life
cargo managment system.
Mostly this software will be used by qualified maritime specialists who one of main responsibilities is to
calculate how many cargos a ship can load and transport from point A to point B. Also, the system must
be monitored by an owner of the company and ship engineers to control and getting reports for
company achieve. Term owner also includes any company office worker who is responsible to look after
company’s ships.
Examples what tasks can be achieved by user case:
Owner wishes to check ship systems data by main application display data and if the owner wants to
speak with any ship officer, he or she might use internal application chat or voice call. Also the Owner
can access any ships where the application was installed.
Deck Officer wants to calculate how much cargo a ship can take and calculate others ship data like ship
stability with the cargo during the voyage, ship trim etc.
Ship Engineers can monitor ship machinery by sensors. Still if something will happen with the equipment
it has to be fix manually, thus this use case ir more about control and report to owner and captain
about the situation and not about actually fixing it but in the future the sensors data might be used in
other potencial application for engineers ( for example the sensor data can be saved and analyzed later
by this application).
High Level Description
Comms via ship internal chat
This use case is shared with all actors. Communication is implemented by online chat or voice call. In
submenu users can see who online or offline, current conversations, chat and voice calls history is. Any
user can add additional members to chat.
Insert or delete loading parameters
Deck Officer who is responsible for loading inserts cargo type (gas for tankers, containers for container
ship or bulk cargo for bulk carriers) then sub menu appears where the officier inserts particular data
like weight per unit,cargo frigability.
Print Cargo plan
Special button in main ship menu which can print data like cargo plan or calculation results.
3d Graphic Engine
3d graphic module which recreates a ship in 3d. After that it will mark all relevant to loading parts of the
ship and let Deck Officer to manipulate with the cargo values.
Ship hardware sensors
Sub menu created for engineers to monitor ship machinery during the loading.
Calculate a ship stability, trim, check if cargo is suitable for ship type
After the officier inserted the data main perpose of the system happens. After complex math calculation
on the main display will appear the result ( ship stability, time for loading, trim, etc) and 3d graphic
modulation of the ship with capability to change the cargo position in the ships hold. Ship module will
also show which part of the ship will be overloaded if the cargo will exidently move in the hold during
the voyage.
Extended step by step discription of the main flow
Actor Action
System Response
1 Deck Officer opens loading menu on the main
2 Sub menu opens and ready to get initial data.
application screen for specific ship.
3 Deck Officer enter the cargo specific values size, 4 Loading menu accepts the data and try to
weight etc and press calculate.
calculate the result and send it to 3d engine and
display menu.
4a If arithmetic error appears the program will
ask to recheck the data and insert it again.
5 Deck Officer waits until 3d engine will process
the data.
7 Deck Officer can manage cargo values, approve
the cargo plan, or send it to an owner of approval
6 3d Engine recreates 3d module of the ship with
cargo init.
6a if 3d engine error appears the program will
show error code and how to deal with the error.
8 3d Engine will process any changes to cargo
values by changing 3d module
8a Any error with loading such as too much cargo
on any part of the hold might occur and Deck
Officer has to fix it before the cargo plan approval
Engineer controls flow
Actor Action
System Response
1 Engineer looks after engine room sensors. He
or she opens the engine room sub menu in the
2 Menu shows sensors which will constanly
changing values during loading operations.
2a If some sensons will show any number that is
not usual and towards to critical point it will pop
up the warning sign
4 Engineer opens the chat menu with option to
make video call.
3 Engineer might contact Deck Officer to handle
the problem with loading. If the problem is about
machinery, Engineer should try to fix it inside
engine room.
5 Engineer sends a message about the problem
7 Engineer gets the respond and order how to
solve the problem
6 Chat notification pops up in the Deck Officer
8 Both persons can print the report by Print
Owner description
Actor Action
System response
1 Owner sends the cargo details to the Deck
Officer PC via chat ( similar with Skype function)
2 Officer receive it and can make comments if
needed ( notification will pop up)
3 Owner requests the approximate calculations
from the Officer.
4 Insert or delete loading parameters use case
5 Officer sends the results back to the Owner to
approval via chat
6 Owner choose which ship has the report and
then analyze it
Use case diagram