sample use cases - Computer Science and Computer Engineering

advertisement
USE CASE DIAGRAM
Use Case:
Author:
Primary Actor:
Goal in context:
Preconditions:
Loading Data
Joseph Robertson
Data Manager
Import contents of data source
User profiles already exist. Authentication is setup for each user, and the
data manager knows the required user/password from which the data should be appended.
Trigger:
Student requests information added to the system.
Scenario:
1. Data Manager: starts the data management console
2. Profile Service: provides complete list of profiles
3. Data Manager: selects a user profile
4. Data Manager: authenticates (enters password) for the profile selected
5. Verification Service: checks authentication parameters against database
6. Data Manager: chooses to import data
7. Data Manager: selects the source type and location
8. Import Plug-in: reads the source and displays a sample
9. Data Manager: selects the delimiter between question and answer
10. Import Plug-in: parses the input and sends each data item to the database
11. Data Manager: closes application
Exceptions:
1. The database is unavailable (in case of remote database). An alert is given, and the Data
Manager must correct network connection before trying again.
2. The password does not match the selected profile. The application changes the password
label to red, and pauses three seconds before allowing another try.
3. The Import Plug-in fails to recognize a repeated pattern in the source. An alert dialogue is
provided with detailed instructions to correct the issue. The Data Manager must then
select a different source, or follow the suggested steps of correction.
4. No Import Plug-in is available to handle the selected input type. A plug-in acquisition
dialogue is displayed to the user.
5. The data source requires authentication. A dialogue prompts the Data Manager for
credentials.
Priority:
Channel to Actor:
Usage Frequency:
Secondary Actors:
High
Graphical User Interface (GUI)
Monthly at most
Profile Service, Verification Service, Import Plug-in, Database
Channels to secondary actors:
Profile Service:
Verification Service:
Import Plug-in:
Database:
Network, Platform
Network
Platform
Network
Open Issues:
1. What types of data should be handled? Delimited text, free-form text, sound, images?
Use Case:
Author:
Primary Actor:
Goal in Context:
Preconditions:
Verse Memory
Joseph Robertson
Student
Facilitate learning via prompting and checking the responses.
Profiles/preferences are setup. Data is loaded. The timer service is running
in the background.
Trigger:
The system time changes to a preset prompt trigger.
Scenario:
1.
2.
3.
4.
5.
6.
7.
Timer Service:
Starts prompt GUI with data item id
Prompt GUI:
Requests data item from Database
Database:
Returns data item identified by data item id
Prompt GUI:
Displays prompt portion of data item
Student:
Enters the mission portion of the data item as free text
Student:
Submits the entered text
Prompt GUI:
Checks word for word the entered text against the answer portion of
the data item returned from the database. When they match, either Prompt GUI closes or
the process starts over at step two. The action taken is based on preferences tied to the
Student’s profile.
Exceptions:
1. The Student enters the wrong answer. Prompt GUI then highlights the incorrect portion of
the answer in red.
2. The Student does not want to answer at this time. In this case, he clicks the Dismiss
button on Prompt GUI.
3. The Student clicks the Hint button because (s)he cannot remember how the answer starts.
Prompt GUI then displays the first word of the answer.
Priority:
Channel to Actor:
Usage Frequency:
Secondary Actors:
Medium
Graphical User Interface (GUI)
Daily – based on user’s preferences
Profile Service, Verification Service, Timer Service, Database,
Prompt GUI
Channels to secondary actors:
Profile Service:
Verification Service:
Timer Service:
Database:
Network, Platform
Network
System Time
Network
Open Issues:
1. Should the preferences include the option of either prompting for more after each correct
answer or auto closing the application once a correct answer is given?
2. What is the best way to provide hints? Should they be in the form of the first letter or the
first word?
Use Case:
Author:
Primary Actor:
Goal in context:
Preconditions:
Foreign Language
Angelo Welihindha
Student
To learn the vocabulary of a foreign language quickly.
Foreign vocabulary and the English translations have already been entered
into the program, and the frequency of reminders / quiz questions.
Trigger:
The student starts the Neurotic program.
Scenario:
1.
2.
3.
4.
Student: Presented with pop-up question.
Student: Enters answer via keyboard.
Program: Verifies the answer.
Student: Presented with result and correction.
Exceptions:
1. Student enters correct answer but misspells it, in which case the program provides the
correct spelling.
2. Question pops up at an inconvenient time, but student can shut down / postpone program.
Priority:
Medium
Channel to actor:
Graphical User Interface (GUI)
Frequency of use:
Up to many times per day
Secondary actors:
Scheduler
Channels to secondary actors: Input via keyboard
Open issues:
1. Would letter accents affect perceived misspelling?
2. How does postponing the program affect the backlog of questions?
Use Case:
Author:
Primary Actor:
Goal in context:
Facial Image Association
Angelo Welihindha
Human Resources Officer
To learn and remember the names of all employees in the San Francisco
office.
Preconditions:
Facial images and corresponding employee names have been stored.
Frequency of reminders and questioning has been set.
Trigger:
The H.R. officer starts the Neurotic program.
Scenario:
1.
2.
3.
4.
Officer: Presented with pop-up image.
Officer: Enters employee name via keyboard.
Program: Verifies the answer.
Officer: Presented with result and / or correction.
Exceptions:
1. Officer enters correct name but misspells it, in which case the program provides the correct
spelling.
2. Question pops up at an inconvenient time, but officer can shut down / postpone program.
Priority:
Medium
Channel to actor:
Graphical User Interface (GUI)
Frequency of use:
Up to many times per day
Secondary actors:
Scheduler
Channels to secondary actors: Input via keyboard
Open issues:
1.
2.
3.
4.
Would letter accents affect perceived misspelling?
How does postponing the program affect the backlog of questions?
Would skipping middle initial or last name affect the degree of correctness?
What about program providing name and officer selecting corresponding facial image from
a pool of multiple choices?
Use Case: Export Data
Author:
Vijay Menon
Primary Actor: Program
Goal in Context: To have a copy of all the information collected by the program as a file that
can be retrieved for future reference.
Preconditions: Program should be loaded and data should be entered.
Trigger: The student is given an option to take the test again or save information. If student
takes test again, program starts new else if student wishes to save, data is exported to file.
Scenario:
1.
2.
3.
4.
5.
Student: Decides to save and quit program.
Student: Clicks 'Yes' to save current data.
Program: Exports all the entered information to a file.
Student: Is given a confirmation of file exported and choice to quit.
Student: Quits Program.
Exceptions:
1. <finish this>
Priority:
Medium
Channel to actor:
Student
Frequency of use:
Up to many times a day.
Secondary actors:
Student
Channels to secondary actors:
Open Issues:
1. What if the student goes ahead and saves the file but for some reason the file does not
save or there is loss of data in the file.
Use Case: A student study "Software Engineering" course, using Neurotic as an aid (Lesson
Learning / Topic Learning category)
Author:
Vinh To
Primary Actors: Student/Learner
Goal in context: Make the job of memorizing and learning more easy and efficient.
Preconditions:
1.
2.
3.
4.
Neurotic installed.
Data needed to import to Neurotic in the appropriate format
An application is ready to input lessons to Neurotic
The program is run in background with its set up
Trigger: Neurotic is turned on once and then stay in background until turned off.
Scenario:
1. Student: * turn on Neurotic, configured it to meet personal needs
a. profile: Name John Smith, Age 18, Occupation Student
b. Interface: choose character font, display font, font color, character size...
c. question form: multiple choice only
d. pop-up frequency: twice every hour when the computer is on from 10:00am 10:00pm
e. exception: not pop up when Visual Studio is on
f. privacy: personal
* Import data. In this case John has to type in all his questions
* Neurotic set to run on background
2. Program: run on background and pop up upon schedule
3. Program: pop up question in a multiple choice form, which is imported before. Prompting
the student to choose one of the four answers
4. Student: pick an answer
5. Program: the answer to wrong. The right answer is... Ask if John wants another question.
6. Student: reject and turn off pop up.
7. Program: pop up at another time...
Exceptions:
1. Neurotic pop ups at while John is chatting. John sets Neurotic so that it does not pop up
when Yahoo Messenger is on.
Priority: Medium
Channel to actor: Graphical User Interface (GUI)
Frequency of use: depending on user preference. This is to be set in configuration
Secondary actors: Database, Timer
Neurotic Program Channels to secondary actors: Network, Format Changing App.,
Platform to control timer
Open issues:
1.
2.
3.
4.
How is database built up?
How much database is shared between users, and to what extent?
User profile.
What other form of questions can be? They can be just a note to read/review, a question to answer.
If the test is asked for content, the questions can be in multiple choice (which may be too timeconsuming for users to make up database) or just a note to read/review. If vocabulary is asked,
question forms can be multiple choice or fill in the blank for exact word match.
Use Case: An architecture student wants to study images (in Architecture
Student Category)
Author:
Vinh To
Primary Actors: An architecture Student
Goal in context: Aid for students in memorizing names and history of buildings. (*)
Preconditions:
1. All data needed can be imported to Neurotic. Neurotic supports images.
2. The program is run in background with its set up.
Trigger: Neurotic is turned on once and then stay in background until turned off.
Scenario:
1. Student: * turn on Neurotic, configuration it to meet personal needs
a. profile: Name Jane Smith, Age 19, Occupation Student
b. Interface: choose character font, display font, font color, character size...
c. question form: multiple choices only, fill in blank for exact match
d. pop-up frequency: 10 times a day, from 12:00pm - 9:00pm
e. exception: no
f. privacy: personal
* Import data. Jane import some questions from the class together with some pictures
on the Net
* Neurotic set to run on background
2. Program: pop up an image and ask for name and year. Fill in the blank form 3. Student: fill in
the blank, but wrong spelling 4. Program: prompt out the correct answer. Ask to continue. 5.
Student: ask for another answer ...
Exceptions:
1. Neurotic pop ups while Jane is sleeping. Jane changes pop up time
2. Jane thinks Neurotic sucks and uninstalls it. Neurotic gives out a feedback form
Priority:
Medium
Channel to actor:
Graphical User Interface (GUI)
Frequency of use:
depending on user preference. This is to be set in configuration
Secondary actors:
Database/Library, Timer
Neurotic Program Channels to secondary actors: Network, Format Changing App.,
Platform to control timer
Open issues:
1. How is database built up? How much database is shared between users, and to what
extent?
2. User profile.
3. (*)What other form of questions can be? This is divided in 2 parts: text lessons and graphic
learning. Text learning is exactly the same as lesson learning Use Case. Graphic Learning
is what makes it different. The questions form can be recognizing a picture by indicating its
name/ properties. This can be in the form of filling in spaces or multiple choices.
4. Library for graphic.
5. Interaction with many sources, via the Net
Download