This question relates to the administrative part of an online (i.e. web based) assignment marking tool that might be suitable for marking university level assignments at USQ such as those in CSC2407. The question provides a narrative, which you must turn into specifications.
Narrative: The examiner of the course offering must set up the assignment before markers can begin marking using the software. He or she needs to create an assignment to be marked, and input each assignment submission. The examiner will select markers for the assignment, and specify how many assignment submissions each marker will mark. The examiner will then use the software to allocate assignment submissions to each marker.
Human roles, computing systems, or concepts referred to in the narrative are not explained. For example, the software developers who are one of the target audiences of these specification may not have studied at USQ, and may not understand terms like "course", "subject", "semester" or "examiner".
You must provide a glossary that explains any such term that will be mentioned in your specifications that might not be clear. Again, you may have to be creative whenever something is unclear, but the terms mentioned above should already be known to you. In your definition, as well as explaining the concept, you should list what properties or attributes define or uniquely identify such an entity as well as other important attributes. This will help you to know how the system will work and what needs to be entered. For example, given an assignment, what else is needed to define an assignment submission.
Your specifications should be more physical than the narrative. For example, just how does the examiner input the assignment submissions? Clearly the examiner is not entering the student's work, but is telling the system about each assignment to be marked. What exactly must be entered? How does he enter it? Does he create a text file, and upload it? Does the software present the examiner with a form with tick boxes associated with each student, and the examiner ticks the appropriate one? There are plenty of other possibilities. You may find that you need to add things to the glossary that were not mentioned in the narrative.
Your answer must take the form of a numbered (numbered using a letter) goals, which you must identify from the narrative, followed by a glossary, followed by numbered requirement specifications. The requirement specifications should reference the goals.
Class Diagram
Draw a UML class diagram that models the aspects of job agencies that are described below:
Hints
Statechart Diagram
In this question you are asked to design a floating point calculator. see image.
As a starting point, you have been provided with a calculator that is only capable of entering integers. The design consists of a statechart, a description of the data and some pseudocode that describes the methods invoked or referred to by the statechart. You should verify that the design works as expected.
Design of a calculator that only handles integers
Data
input: The character pressed that caused the event.
A: This is used to hold the number while the user is entering it. The contents of A is displayed on the screen.
B: This is used to hold the number that was previously entered or accumulated.
pendop: This is used to hold the pending binary operation that will be applied to A and B.
Statechart see image.
Methods
doInitialise()
doFirstDigit()
doPendOp()
doAddDigit()
Note that this design does not respect order of precedence. For the sake of this assignment it is acceptable if your diagram does not respect order of precedence also.
Your Task
Your task is to enhance the statechart diagram so that you can potentially enter floating point numbers. Your diagram must not allow the entry of an invalid floating point number. An attempt to enter a second decimal point, for example, should be ignored, as should an attempt to add a second "E" or a decimal point after the "E". Pressing "+-" changes the sign of the number, but after the "E", pressing "+-" changes the sign of the exponent. The following are examples of valid floating point numbers:
Hints