Use Case Diagram

advertisement
4. SYSTEM SPEC
4.1 Use Case Diagrams (UCD)
Level 1 UCD 1
ALCA System
UC 1 Configure System
System
Administrator
UC 2 User Login
UC 3 Configure Pesonal
Information
<<extends>>
UC 5 Take T est
<<extends>>
UC 4 Manipulate T est Data
Teaching Assistant
UC 5.1 Take Adaptive T est
UC 5.2 Take T raditional Test
<<extends>>
UC 7 Take T utorial
UC 6 Manipulate T utorial Data
UC 7.1 Take Customized T utorial
Student
<<extends>>
Teacher
UC 7.2 Take T raditional Tutorial
<<extends>>
UC 8 View Grade
<<extends>>
UC 8.1 Student View
UC 8.2 Teacher View
UC 9 Adjust Grade
UC 11 Get Study Suggestion
UC 10 Track Performance
The arrows mean that the actor initiated the action. Therefore, unidirectional arrows were used.
Level 2 UC1 Configure System Refinements
UC 1.1 Administrator Login
System
Administrator
UC 1.2 Initialize Class
Teacher
UC 1.3 Configure Class
Level 2 UC4 Manipulate Test Data Refinement
UC 4.1 Add Test
UC 4.2 Add Test Data
Teacher
UC 4.3 Delete Test
Teaching
Assistant
UC 4.4 Delete Test Data
UC 4.5 Update Test
Level 2 UC6 Manipulate Tutorial Data Refinement
UC 6.1 Add Tutorial
UC 6.2 Add Tutorial Data
Teacher
UC 6.3 Delete Tutorial
Student
UC 6.4 Delete Tutorial Data
UC 6.5 Update Tutorial Data
ALCA has four potential types of users: System Administrator, Teacher, and Student, and
Teaching Assistant (TA).
 System Administrator: The System Administrator’s role is to take care of technical
details such as set up the initial system on the web server and create the teacher’s profile
for the class.

Teacher: Teacher has read-and-write access privilege that allows him/her to add
students to class, create tests and tutorials and adjust students’ grades. Teacher can also
be a Teaching Assistant.

Student: Students have limited privilege in ALCA. They only can view their own
grades, reports, and take tests and tutorials.

Teaching Assistant: Teaching Assistant has the privilege to add, delete, and update test
and tutorial related data.
We have grouped all of the use cases into seven use case categories: System Initialization
Operations, Authentication Operations, Profile Operations, Tutorial Operations, Testing
Operations, Grade Book Operations, and Report Operations.
System Initialization Operations
In the system initialization operations, The System Administrator logs in using a unique
administrator password and initializes the ALCA system. Once this is done, the System
Administrator then adds the Teacher’s profile. The teacher then can initialize the class, configure
and add materials for the class. The system administrator can create multiple classes in ALCA.
Therefore, students and teachers can select from different classes that they belong to.
Authentication Operations
The users enter login information at the login prompt. Their information will be verified with the
University’s Single Sign-On System to make sure that they are students. The Profile System will
use the Authentication System to verify that the student is registered for this class. This is done
by checking student’s login ID with the login ID in a profile database. Authentication System
also allows a user to log out.
Profile Operations
Teacher can use the Profile system configure personal information such as adding a student to the
profile database. Students can configure simple settings such as preferred nickname to be used in
the class.
Testing Operations
Students can only take the adaptive and traditional tests. Teacher and TA can configure test
contents. Grade Book System will get the test scores from the Adaptive Testing System.
Tutorial Operations
Students can only take the adaptive and traditional tutorials. Teacher and TA can configure
tutorial contents.
Grade Book Operations
The Grade Book System provides two types of views: Teacher View and Student View, where
the Teacher View allows the Teacher to view all students’ grade in the class. The Student View
allows the students to view their individual grades. Teacher can adjust a student’s grade.
Report Operations
The Report System provides two types of views: Teacher View and Student View, where the
Teacher View allows the Teacher to view the overall class report such as analysis about tests and
tutorial contents, class performance and feed back. The Student View allows the students to get
individual reports such as performance in class and feedback on tests. Teacher can adjust a
student’s grade.
4.2 Sequence Diagram (SD)
(Note: The DB’s mentioned in the sequence diagrams are tables in a single database system.)
Configure System SD 1
: System
Administrator
Administrator
Login
System
Management
Course Profile
DB
User Profile DB
1: Login in with administrator ID and password
2: Login verified
3: Create new course
4: Save course
5: Success
6: Success
7: Create teacher's profile for course
8: Save teacher's profile
9: Success
10: Success
11: Assign teacher to course
12: Save profile
13: Success
14: Update teacher profile
15: Success
16: Success
17: Modify teacher profile
18: Save change
19: Success
20: Success
Configure Class SD 2
User Login
: Teacher
1. Login
Single Sign-On
System
Course
Profile DB
1.1. Validate user
1.1.1. Success
1.2. Authenticate for the course
1.2.1. Success
1.3. Success
2. Add student
2.1. Store in DB
2.1.1. Success
2.2. Success
Login SD 3
User Login
: User
1. Login
Single Sign-On
System
1.1. Validate user
1.1.1. Success
1.2. Authenticate for course
1.2.1. Success
1.3. Success
2. Access course
2.1. Success
Profile DB
Course
Add Test SD 4.1
: Teacher/TA
Test Processor
1. Add new test
Test DB
1.1. Save
1.1.1. Success
1.2. Success
Add Test Data SD 4.2
: Teacher/TA
Test Processor
1. Add test data
Test DB
1.1. Save
1.1.1. Success
1.2. Success
Delete Test SD 4.3
: Teacher/TA
Test Processor
1. Delete entire test
Test DB
1.1. Save change
1.1.1. Success
1.2. Success
Delete Test Data SD 4.4
: Teacher/TA
Test Processor
Test DB
1. Delete test question 1.1. Save changes
1.1.1. Success
1.2. Success
Update Test Data SD 4.5
Test Processor
: Teacher/TA
1. Update test data
Test DB
1.1. Save changes
1.1.1. Success
1.2. Success
Take Adaptive Test SD 5.1
Test Processor
: Student
Test DB
1. Request test.
1.1. OK
1.2. Generate test question. Loop for duration of test
1.2.1. Test question
1.3. Format and display to user
2. User response
2.1. Evaluate user's answer
2.2. Generate next question based on user response
2.2.1. Test question
2.3. Format and display to user
2.4. Save test results to user profile
Profile DB
Take Traditional Test SD 5.2
Test Processor
: Student
Test DB
1. Request test.
1.1. OK
1.2. Generate test
1.2.1. Transmit test
1.3. Format and display to user
2. User response
2.1. Store user reponse
2.2. Evaluate test
2.3. Save test results to user profile
2.3.1. Success
2.4. Display results to user
Add Tutorial SD 6.1
: Teacher/TA
Tutorial
Generator
1. Add new tutorial
Tutorial DB
1.1. Save
1.1.1. Success
1.2. Success
Profile DB
Add Tutorial Data SD 6.2
: Teacher/TA
Tutorial
Generator
1. Add tutorial data
Tutorial DB
1.1. Save
1.1.1. Success
1.2. Success
Delete Tutorial SD 6.3
: Teacher/TA
Tutorial
Generator
1. Delete tutorial
Tutorial DB
1.1. Save change
1.1.1. Success
1.2. Success
Delete Tutorial Data SD 6.4
Tutorial
Generator
: Teacher/TA
1. Delete tutorial data
Tutorial DB
1.1. Save changes
1.1.1. Success
1.2. Success
Update Tutorial Data SD 6.5
: Teacher/TA
Test Processor
1. Update test data
Test DB
1.1. Save changes
1.1.1. Success
1.2. Success
Taking Customized Tutorials SD 7.1
: Student
Tutorial
Generator
1. Request tutorial
Profile DB
Tutorial DB
1.1. Get pre-test results
1.1.1. Success
1.2. Generate customized tutorial
1.2.1. Success
1.3. Format and display tutorial
Taking Traditional Tutorials SD 7.2
: Student
Tutorial
Generator
Profile DB
1. Request tutorial
1.2. Retrieve tutorial
1.2.1. Success
1.3. Format and display tutorial
Tutorial DB
Student View Grade SD 8.1
Student
GradeBook
GradeBookTemplate
1. View grade
Profile DB
1.1. Get grades
1.1.1. Return grades
1.2. Get student display template
1.2.1. Return template
1.3. Format and display
Teacher View Grade SD 8.2
Teacher
GradeBook
1. View grades
GradeBookTemplate
1.1. Get grades
1.1.1. Return grades
1.2. Get teacher's display template
1.2.1. Return template
1.3. Format and display
Profile DB
Adjust Grade SD 9
Teacher
GradeBook
1. Select student
GradeBookTemplate
1.1. Get score for the selected test
1.1.1. Return student's score
1.2. Test display template
1.2.1. Return template
1.3. Format and display scores
2. Adjust score(s)
2.1. Save change
2.1.1. Success
2.1.1.1. Success
Profile DB
Student View Report SD 10.1
Reporter
: Student
ReportTemplate
1: View report
2: Get test results
3: Return test results
4: Get test data
5: Return test data
6: Get student's display template
7: Return template
8: Generate report
9: Format and display
Teacher View Report SD 10.2
Profile DB
Test DB
Reporter
: Student
ReportTemplate
1. View report
Profile DB
Test DB
1.1. Get test results
1.1.1. Return test results
1.2. Get test data
1.2.1. Return test data
1.3. Get teacher's display template
1.3.1. Return template
1.4. Generate report
1.5. Format and display
4.3 Operation Specification
Action ALCA : : AddCourse(courseID: CID, courseName: CourseName, teacherID: TRID)
Pre:
True
Post:
Initialize the other attributes of the course as default. A link created for the
course with courseID
Action ALCA : : DeleteCourse(courseID: CID)
Pre:
The course has been created in ALCA system
Post:
All the course content spread in tutorial, testing, grade book and report is
deleted; the framework (configuration for tutorial, testing, grade book
and report) for the course is deleted.
Action ALCA : : AddTeacher (teacherID: TRID, firstName: FirstName, lastName: LastName)
Pre:
True
Post:
The teacher information is added into teacher profile.
Action ALCA : : DeleteTeacher(teacher ID: TRID)
Pre:
The teacher information exists in ALCA
Post:
Delete teacher’s profile.
Action ALCA : : AssignTeacher(teacherIDPrev: TRID, teacherIDSubs: TRID, courseID:
CID)
Pre:
The previous teacherID and courseID exists in ALCA
Post:
Teacher with teacherID is added to class profile for the course with courseID.
Action ALCA : : AddStudentCourseAssociation(studentID: UID, courseID: CID, student:
Type, firstName: FirstName, lastName: LastName)
Pre:
The courseID exists in ALCA
Post:
The student information is added into the class profile
Action ALCA : : DeleteStudentClassAssociation(studentID: StudentID, courseID: CourseID)
Pre:
The courseID and studentID exist in ALCA
Post: The corresponding courseID is assigned to default value for the student with
studentID
Action ALCA : : DeleteStudent(studentID: StudentID)
Pre:
The studentID exists in ALCA
Post: The student profile is deleted.
Action ALCA : : TakeTraditionalTest(studentID: StudentID, date: Date, courseID: CID, status:
Status, testType: TestType)
Inv:
testType must be traditional
Pre:
Provided that test has been active indicated by status
Post:
Total score, fail questionID, and students’ answers are recorded.
Action ALCA : : TakeAaptiveTest(studentID: CID, date: Date, courseID: CID, testID:
TID, testType: TestTyoe)
Inv:
testType must be adaptive
Pre:
Provided that test questions have been added.
Post:
Based on each answer the student reply, create next question. Total score, fail
questionID, and students’ answers are recorded.
Action ALCA : : ViewTraditionalTutorial(studentID: UID, courseID: CID, tutorialID: TUTID,
tutorialType: TutorialType, status: Status)
Inv:
tutorialType must be traditional
Pre:
Provided that tutorial status is active.
Post:
Display the tutorial with tutorialID of the course for the student
Action ALCA : : ViewCustomizedTutorial(studentID: UID, courseID: CourseID, tutorialID:
TUTID, tutorialType: TutorialType)
Inv:
tutorialType must be customized tutorial
Pre:
Provided that at least one test has been taken by the student for this course and
tutorial status is active
Post:
Display the tutorial with tutorialID for the student
Action ALCA : : AddTutorial(couseID: CID, tutorialID: TUTID, tutorialType: TutorialType,
tutorialStatus: Status)
Pre:
The tutorial is active.
Post:
A tutorial frame for courseID has been created.
Action ALCA : : DeleteTutorial(couseID: CID, tutorialID: TUTID, tutorialType: TutorialType,
tutorialStatus: Status)
Pre:
The tutorial has been created.
Post:
A tutorial frame is deleted.
Action ALCA : : AddTutorialData(couseID: CID, tutorialID: TUTID, tutorialType: tutorialType,
content: Content, subjectID: SID, tutorialStatus: Status)
Pre:
The tutorial framework has been created
Post:
A tutorial item for courseID has been added.
Action ALCA : : DeleteTutorialData(couseID: CID, tutorialID: TUTID, tutorialType:
tutorialType, content: Content, subjectID: SID, tutorialStatus: Status)
Pre:
The tutorial item has been created
Post:
A tutorial item for is deleted.
Action ALCA : : UpdateTutorialData(couseID: CID, tutorialID: TUTID, tutorialType:
tutorialType, content: Content, subjectID: SID, tutorialStatus: Status)
Pre:
The tutorial item has been created
Post:
A tutorial item is modified.
Action ALCA : : AddTest(couseID: CID, testID: TID, testType: TestType, testStatus: Status)
Pre:
The test with test status is active.
Post:
A test frame for courseID has been created.
Action ALCA : : DeleteTest(couseID: CID, testID: TID, testType: TestType, testStatus: Status)
Pre:
The test has been created
Post:
A test frame for courseID is deleted.
Action ALCA : : AddTestData(teacherID: TRID, courseID: CourseID, questionID: qname:
Qname, questionID: QID, format: Format; sujectID: SID, rank: Rank, question:
text, answer: Answer, possiblepoint: Ppoint, explanation: Explanation)
Pre:
The test with testID has been configured
Post:
A new test question with all its information is added.
Action ALCA : : DeleteTestData(teacherID: TRID, courseID: CourseID, questionID:
qname: Qname, questionID: QID, format: Format; sujectID: SID, rank: Rank,
question: text, answer: Answer, possiblepoint: Ppoint, explanation: Explanation)
Pre:
The test question with questionID has been created. Teacher doesn’t delete a
question during a test.
Post:
The test question with questionID is deleted.
Action ALCA : : UpdateTestData(teacherID: TRID, courseID: CourseID, questionID:
qname: Qname, questionID: QID, format: Format; sujectID: SID, rank: Rank,
question: text, answer: Answer, possiblepoint: Ppoint, explanation: Explanation)
Pre:
The test question with questionID has been created. Teacher doesn’t delete a
question during a test.
Post:
One or more attributes of a test question have been updated. For example:
format : Format; rank: Rank, question: Text, answer: Answer, possiblepoint:
Ppoint, explanation: Explanation
Action ALCA : : StudentViewGrade(studentID: UID, courseID: CID, testID: TID)
Pre:
True
Post:
Display the test grade of the class for the student with studentID
Action ALCA : : TeacherViewGrade(teacherID: TRID, courseID: CourseID, testID: TID)
Pre:
Post:
True
Display the test grades of the all the students
Action ALCA : : AdjustGradingMechanism(teacherID: TRID, courseID: CID, testID:
TID, gradingMech: GradingMech)
Pre:
True
Post:
new grading mechanisms applied to future tests.
Action ALCA : : StudentViewReport(studentID: UID, courseID: CID)
Pre:
True
Post:
Display all the test grades of the course and suggestions for the student with
studentID
Action ALCA : : TeacherViewReport(teacherID: TRID, courseID: CID)
Pre:
True
Post:
Display the analysis report of the class for the teacher
4.4 Some Concrete Scenarios
Suppose the CS201 class is going to use ALCA for the class. The following scenarios will occur.
(Note: The DB’s mentioned in the scenarios are tables in a single database system.)
Configure System
Before ALCA can be used for the class, the system administrator has to create an instance of
ALCA in the schools server system. The school server can have many instances of ALCA, one
for each class that uses it.
1. System administrator logs into ALCA using a special administrator login.
2. The Administrator Login validates the username and password.
3. Once the login is validated, the administrator will go to the UI for System Management to
create a new class profile for the CS201 class.
4. The newly created class is saved in the Course Profile DB.
5. The administrator creates the teacher’s profile.
6. This profile is saved in to the User Profile DB.
7. The administrator assigns this teacher to the specific class.
8. The update is saved in the Course Profile DB and User Profile DB.
9. The administrator can also modify the teacher profile, and the changes are saved in the
User Profile DB.
Configure Class
Once the above actions are done, the teacher can log into ALCA to configure the CS201 class in
ALCA.
1. The teacher goes to the course login website and enter the login information such as the
his/her university username and password.
2. The User Login sends these information to the university’s Single Sign-On System to
validate if this teacher is associated with the university.
3. If the teacher is associated with the university, then User Login check with the Profile DB
to see if this teacher is teaching this course.
4. Login result is shown to the teacher.
5. If login was successful, then the teacher can access the teacher view of the course content
to use the configuration features to create new student accounts. Here, the teacher must
add the students’ user names. TA’s account is the same as the Student account except
he/she can add tutorial and test related data to the course. So, TA can be added here, too.
6. The account information for each student is saved in the Profile DB.
Login
Log in is used by students, teachers, and TAs.
1. The user goes to the course login website and enter the login information such as the
his/her university username and password.
2. The User Login sends this information to the university’s Single Sign-On System to
validate if this student is associated with the university.
3. If the user is associated with the university, then User Login check with the Profile DB to
see if this user is associated with this class.
4. Login result is shown to the user.
5. If login was successful, then the user can access his/her profile-oriented course features.
For example, the access rights to the ALCA features are different for students, teacher,
and TA.
Add Test
This assumes that the Teacher/TA has already successfully logged in.
1. Teacher/TA can add a test.
2. The Test Processor will save the test in Test DB.
Add Test Data
This assumes that the Teacher/TA has already successfully logged in.
1. Teacher/TA can add test questions to the question pool for use in tests.
2. The questions are saved in the Test DB.
Delete Test
This assumes that the Teacher/TA has already successfully logged in.
1. Teacher/TA chooses to delete an entire test.
2. The test is deleted from the Test DB.
Delete Test Data
This assumes that the Teacher/TA has already successfully logged in.
1. Teacher/TA can delete a test question.
2. The question is deleted from the Test DB.
Update Test Data
This assumes that the Teacher/TA has already successfully logged in.
1. Teacher/TA can make changes to specific test questions.
2. The change is saved in the Test DB.
Add Tutorial
This assumes that the Teacher/TA has already successfully logged in.
1. Teacher/TA adds a tutorial, which consists of many tutorial items.
2. The tutorial is saved in the Tutorial DB.
Add Tutorial Data
This assumes that the Teacher/TA has already successfully logged in.
1. Teacher/TA adds a tutorial item, which combined with other tutorial items can make a
tutorial.
2. The tutorial item is saved in the Tutorial DB.
Delete Tutorial
This assumes that the Teacher/TA has already successfully logged in.
1. Teacher/TA deletes an entire tutorial.
2. The tutorial is deleted from the Tutorial DB.
Delete Tutorial Data
This assumes that the Teacher/TA has already successfully logged in.
1. Teacher/TA deletes a specific tutorial item.
2. The tutorial item is deleted from the Tutorial DB.
Update Tutorial Data
This assumes that the Teacher/TA has already successfully logged in.
1. Teacher/TA makes changes to tutorial items in a particular tutorial.
2. The change is saved in the Tutorial DB.
Taking Adaptive Tests
Adaptive test questions are composed of questions of varying difficulties. Each question has a
unique question ID (QID) and rank of difficulty. The question is also related to a subject area
with a subject ID (SID). These questions are stored in a database
1. The Testing System gives the student a few standard questions to learn about how much
the student understands about the basic concepts.
2. After the benchmark questions, the Test Processor will analyze the score and calculates
what should be the difficulty of the next question.
3. The question is then presented to the student.
a. If the student answers correctly, then a more difficult question will be given. The
more difficult questions will earn the student more points.
b. If the student answers incorrectly, then an easier question will be given.
4. Step 3 will be repeated until the number of questions that was expected to be on the exam
is given. When the test is complete, the Test Process will:
a. Grade the test by comparing student’s answer with the correct answer in the Test
DP.
b. Save the detailed test results and score in the student’s profile.
Taking Traditional Tests
Traditional test shows to the student the entire test all at once.
1. Once the student selects to take the traditional test, the Test Processor will generate the
test from the questions from the Test DB.
2. The entire test is shown to the student.
3. Student answers all of the questions and submit the test.
4. Test Processor
a. Stores the user response
b. Evaluates the test
c. Save the test results to the user profile.
5. Result is displayed to the student.
Taking Customized Tutorials
The customized tutorials can be thought of as “adaptive” because it is recommended to the
student based on the student’s test results.
1. The student request for the recommended tutorials from the Tutorial UI.
2. The Tutorial Generator
a. Checks in the Profile DB for the student’s pre-test results.
b. Generates the customized tutorial recommendation based on the test results
c. Get the tutorial from the Tutorial DB.
d. Format and display the tutorial to the student.
Taking Traditional Tutorials
Traditional tutorials are the complete set of tutorials.
1. The student selects a traditional tutorial topic to view.
2. The Tutorial Generator gets the all the related tutorial item of that topic from the Tutorial
DB, format and display it to the student.
Student View Grade
1. Student can select to view test grade.
2. The Grade Book will:
a. Get the grade from the student’s profile.
b. Get the student display template.
c. Format and display grade to the student.
Teacher View Grade
1. Teacher can select to view the students’ grades.
2. The Grade Book will send:
a. Get the grades from the Profile DB.
b. Get the teacher display template.
c. Format and display the grades to the teacher.
Adjust Grade
1. Teacher selects to adjust a particular grade of a student.
2. The Grade Book will:
a. Get the specified score from the Profile DB.
b. Get the teacher display template.
c. Show the grade to the teacher by using the specific display template.
3. Teacher adjusts the score.
4. The Grade Book will save the change to the Profile DB.
Student View Report
The report for student includes information such as what area that he/she is weak in, study
suggestions, and performance tracking.
1. Student chooses to view his/her report.
2. Report UI forwards the request to the Reporter.
3. Reporter will:
a. Get the test results for the student from the Profile DB.
b. Get the test data from the Test DB.
c. Get the student’s display template
d. Generate and display the report to the student.
Teacher View Report
Report for teacher includes information such as feedback about test questions and class
performance.
1. Teacher chooses to view report.
2. Reporter will:
e.
f.
g.
h.
Get the test results for all students from the Profile DB.
Get the test data from the Test DB.
Get the teacher’s display template.
Generate and display the report to the teacher
Download