USE CASE DIAGRAM


Use Case: Loading Data

Author: Joseph Robertson

Primary Actor: Data Manager

Goal in context: Import contents of data source

Preconditions: 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: High

Channel to Actor: Graphical User Interface (GUI)

Usage Frequency: Monthly at most

Secondary Actors: Profile Service, Verification Service, Import Plug-in, Database

Channels to secondary actors:

Profile Service: Network, Platform

Verification Service: Network

Import Plug-in: Platform

Database: Network

Open Issues:

1.  What types of data should be handled? Delimited text, free-form text, sound, images?


Use Case: Verse Memory

Author: Joseph Robertson

Primary Actor: Student

Goal in Context: Facilitate learning via prompting and checking the responses.

Preconditions: 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.  Timer Service: Starts prompt GUI with data item id

2.  Prompt GUI: Requests data item from Database

3.  Database: Returns data item identified by data item id

4.  Prompt GUI: Displays prompt portion of data item

5.  Student: Enters the mission portion of the data item as free text

6.  Student: Submits the entered text

7.  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: Medium

Channel to Actor: Graphical User Interface (GUI)

Usage Frequency: Daily – based on user’s preferences

Secondary Actors: Profile Service, Verification Service, Timer Service, Database, Prompt GUI

Channels to secondary actors:

Profile Service: Network, Platform

Verification Service: Network

Timer Service: System Time

Database: 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: Foreign Language

Author: Angelo Welihindha

Primary Actor: Student

Goal in context: To learn the vocabulary of a foreign language quickly.

Preconditions: 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.  Student: Presented with pop-up question.

2.  Student: Enters answer via keyboard.

3.  Program: Verifies the answer.

4.  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: Facial Image Association

Author: Angelo Welihindha

Primary Actor: Human Resources Officer

Goal in context: 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.  Officer: Presented with pop-up image.

2.  Officer: Enters employee name via keyboard.

3.  Program: Verifies the answer.

4.  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.  Would letter accents affect perceived misspelling?

2.  How does postponing the program affect the backlog of questions?

3.  Would skipping middle initial or last name affect the degree of correctness?

4.  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.  Student: Decides to save and quit program.

2.  Student: Clicks 'Yes' to save current data.

3.  Program: Exports all the entered information to a file.

4.  Student: Is given a confirmation of file exported and choice to quit.

5.  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.  Neurotic installed.

2.  Data needed to import to Neurotic in the appropriate format

3.  An application is ready to input lessons to Neurotic

4.  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.  How is database built up?

2.  How much database is shared between users, and to what extent?

3.  User profile.

4.  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 time-consuming 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