You are on page 1of 2

First semester 2021/2022

Advanced software development


Homework Assignment # 5
ETA: 2 Dec midnight.
___________________________________________________________

In the last lecture, we drew a conceptual architecture for an application to control


printers. These were the requirements:
The software handle different jobs :
● Print
● Scane
● Copy
● Upgrade
The printer can handle scan and (print or copy ) jobs or restart job at a time, however,
users still can send an order to execute jobs for the printer while it is running. The
printer will handle the jobs sequentially based on job schedule details which are:
1. User can schedule a job to run now
2. User can set time to run job, like restart tomorrow at 12:00
3. Users can create a recurring Job which is set to automatically repeat based on
the job schedule.
Only authorized users should be able to submit a job.
The user should be able to get a status or result for their job.

The screen below shows the conceptual architecture. We created a job component that
contains an interface called job and other operations that implement the job. We also
created a factory so other competents will not access directly to the concrete classes.
What you will submit:
Part 1: As you can see the connectors are not completed and some of the arrows are
incorrect, so you need to complete them. We talked in the lecture how to complete them
so you can watch the recording: shorturl.at/FJKWY

Part 2: You need to draw the level 4 which contains the class diagrams for Job
components. You should also show the class diagrams and how class diagrams
interact with other components outside if any.
Part 3: Show on example for the following view points:
1. Logical View
2. Process View
3. Use Case View

You might also like