Computer Science, asked by fahimminhaz, 7 months ago

instructions: AlL Questions are based on the following case study

Case study

1) You are required to develop a versatile online data annotation tool. The main task of a data annotation tool is to assign a label to a sample, and repeat the process for samples in a data set. Most data annotation tools are restricted to samples of one type. However, you are required to design the system so that it can handle text samples, document samples. images, audio clips, and series data. In the future, other sample types may be added. Each sample type can have different presentations, eg text samples can be shown in total, documents must be shown in parts, images can be viewed, audio must he played on the speakers, etc Labels can also be of different types, but for now, you need to handle integers, real numbers, and text labels. Each sample in a dataset can be associated with one or more labels. A dataset usually has many samples that need to be associated with a label by human beings, which is the crux of an annotation task.

2) The data annotation tools has multiple types of users. The administrators are the super users and have access to almost any functionality However, their main task is related to discipline, which means reviewing offence reports and blocking offending users. They (the admins) can also create new user accounts and give users discounts in their data collection efforts.

3) Anyone who wants to annotate their dataset can use this system. They must sign up to the system with their email addresses or log in if they already have an account. Once logged in, the system should give the users the option to create a new annotation task. The cost of an annotation task depends on the number of samples and the number of annotations per sample required by the creator. This cost deducted from the task creator's credit, which he she can purchase. When creating the new annotation task, the system will ask
for the data set, which has to be uploaded as well as the possible labels. There should also be an option to add a list of annotators to each annotation task. Tasks that do not have a list of annotators are considered to be open and are open for any annotator.

4) The actual annotation task is a multi-step process per sample. This involves the retrieval
of a sample with associated metadata, the display of the sample, the actual input of the annotation, a confirmation that the annotation is indeed the one desired by the annotator, and finally storing the annotation information (data sets, sample number, annotation, annotator). These steps are fixed. However, the actual implementation of each step may vary i.e. the retrieval of a document is different from the retrieval of an image).

5) When an annotator logs into the system, he/she is presented with a list of annotation tasks. After choosing anyone, the system shows one or more samples of the tasks data set and presents labels (for each one) for the annotator to annotate. The inputs are stored in the database. The system should ensure that more than one annotator is annotating each sample in the dataset.

6) The system should keep track of conflicting annotations of the same sample. In such cases, if a correct annotation is decided (usually by the task creator), then the system should record the others as false/wrong annotation. An annotator who has a high frequency of false/wrong annotations should be flagged as an offender and a notification has to be sent to the administrator(s). The threshold frequency for this task should be configurable on a per annotation task basis.
7) The task creator can log in at any time and check the state of the tasks. They can download a snapshot of the current annotations or ask for a summarised view, which essentially gives a list of samples and the percentage of responses for each label.

Questions:

Q1. Draw the use case diagram of the system.

Q2. Assuming an MVC architectural pattern, draw a high-level class diagram depicting your proposed design for the model classes of the system.

Q3. Draw a high-level UML class diagram depicting the design of your solution to the problem described in paragraph 4 (No. 4)*

Q4. Write the code for the controller responsible for annotating an image sample.Your code must be consistent with your answers for Questions 2 and 3. In addition, your code must clearly show the class, method name, parameters, and workflow in order to be eligible for any marks.​

Answers

Answered by patrascheema
9

Answer:

Use case diagrams consists of actors, use cases and their relationships. The diagram is used to model the system/subsystem of an application. A single use case diagram captures a particular functionality of a system. Hence to model the entire system, a number of use case diagrams are used.

Similar questions