diagrams in Chapter 5: TanSSe-L System Requirement Specifications and Analysis. Only four operation contracts were included in the chapter, while some more few selected operation contracts are included in this appendix “A” as shown in Table A.01 through A.15.
Table A.01: Contract for “logout()” operation Name: Logout (username, password)
Responsibilities: Disconnect the user with the given login information from the system. If logout is successful, record the logout information
Type: System
Cross References: System function: F8, F18, F19 Use case: login/logout
Note: Use relational SQL database access Excepti-
ons: If the system fails to logout the user display an error message Output: Display TanSSe-L system home page
Pre-conditions: User login information is known to the system
Post-conditions: • The LogInOutRec.LogoutTimeStamp was set to current date and time (attribute set) • The User.Status was set to Inactive (attribute modification)
Table A.02: Contract for “registerUser()” operation Name: registerUser(userID, username, password, role, gender, email)
Responsibilities: If the given information is valid create a new user and record the infor-mation into user object Type: System
Cross References: System function: F2, F3 Use case: Register system users Note: Use relational SQL database access Excep-
tions: If the entered information is not correct, stop recording and display the error message Output: Display list of system users
Pre-conditions: The identified information for the privileged user to create user is known to the system
Post-conditions:
• A new user was created (instance creation)
• The new user was associated with the e-LMS object (association formed)
Table A.03: Contract for “updateUser()” operation Name: updateUser(userID, username, password, role, gender, email)
Responsibilities: Find a user with the given information from user database, allow update of the information and record the update information into user database. Type: System
Cross References: System function: F2, F3 Use case: View/update particulars Note: Use relational SQL database access Excep-
tions: If the entered user information is not correct stop recording and display the error message Output: Display list of system users
Pre-conditions: The identified information for the privileged user to create/update user is known to the system
Post-conditions: • The userRecord was modified (instance modification) Table A.04: Contract for “registerSubjectUser()” operation Name: registerSubjectUser(userID, subjectCode, formID, regDate)
Responsibilities: Find the user and the subject. If the given information is valid create a new subject user and record the information into subjectUser object Type: System
Cross References: System function: F6, F7 Use case: Register users to subject Note: Use relational SQL database access Excep-
tions: If the entered information is not correct, stop recording and display the error message Output:
Pre-conditions: User and subject are registered into a system and the identified informa- tion for privileged user to register users to subjects is known to the system
Post-conditions:
• A new subjecUser was created (instance creation).
• The new subjectUser object was associated with the subject object (association formed)
• The new subjectUser object was associated with the user object (as- sociation formed)
• The new subjectUser object was associated with the e-LMS object (association formed)
Table A.05: Contract for “selectSubjectChapter()” operation Name: selectSubjectChapter(chapterNo, chapterTitle)
Responsibilities:
Find chapter of a subject with the chapterNo, and chapterTitle informa- tion from the chapter object. If the chapter is found, display links to the chapter components: chapter document notes, chapter topics, chapter extra exercises, self test questions and chapter exercise solutions. Also record the chapter interaction into chapTrachRec object
Type: System
Cross References: System function: F14, F15Use case: View/download learning materials, View/download assessment activities
Note: Use relational SQL database access Excep-
tions: If the entered subject chapter information is not correct display the error message Output:
Pre-conditions: Subject chapter information is known to the system
Post-conditions:
• A chapter object was associated with chapTopic object (association formed)
• A chapter object was associated with chapExtraExerc object (associa- tion formed)
• A chapter object was associated with selfTestQuest object (association formed)
• A chapter object was associated with chapExerSoln object (association formed)
• A chapter object was associated with learning material repository object (association formed)
• A chapTrackRec was created (instance creation)
• The new chapTrackRec was associated with the InteractionController object (association formed)
• The ChapTrackRec.visitTimeStamp for keeping interaction record was set to current date and time (attribute set).
Table A.06: Contract for “selectPastPaper” operation Name: selectPastPaper(subjectCode, paperID,)
Responsibilities: Find subject past paper with the given information from the pastPaper object. If the past paper is found, record the user interaction with past paper and display past paper document
Type: System
Cross References: System function: F17, F24, F25
Use case: View/download assessment activities Note: Use relational SQL database access
Exceptions: If the entered past paper information is not correct and the past paper is not found display the error message
Pre-conditions: Past paper information is known to the system
Post-conditions:
• PastPaper object was associated to learning material repository object (association formed)
• A pastPaperTrackRec was created (instance creation)
• The new pastPaperTrackRec was associated with the InteractionCon- troller object (association formed)
• The pastPaperTrackRec.visitTimeStampfor keeping interaction record was set to current date and time (attribute set)
Table A.07: Contract for “selectSelfTestExerc” operation Name: selectSelfTestExerc(exercNo, chapNo, subjectCode, form)
Responsibilities: Find self test exercise with the given information from the selfTestExerc object. If the self test exercise is found, record the user interaction and display self test exercise sheet
Type: System
Cross References: System function: F17, F24, F25
Use case: View/download assessment activities Note: Use relational SQL database access
Excep-
tions: If the entered self test information is not correct and the self test exercise is not found display the error message Output: Display self test exercise
Pre-conditions: Self test exercise information is known to the system
Post-conditions:
• A selfTestTrackRecord was created (instance creation)
• selfTest object was associated with learning material repository object
(association formed)
• The new selfTestTrackRec was associated with the InteractionController object (association formed)
• The selfTestTrackRecord.visitTimeStamp for keeping interaction record was set to current date and time (attribute modification)
Table A.08: Contract for “makeAnswer()” operation
Name: makeAnswers(QuestionNo, ExercNo, ChapterNo, , SubjectCode, Form)
Responsibilities: Provide the student with the selected self test exercise and the correspond- ing exercise answer sheet for the self test exercise
Type: System
Cross References: System function: F17, F24, F25
Use case: View/download assessment activities, send answers, view per- sonal performance report
Note: Use relational SQL database access Excep-
tions: If the entered information is not correct or not found display the error message Output: Display performance report for the exercise
Pre-conditions Chapter self test exercise information and the answer sheets information are known to the system
Post-conditions:
• An selfTestExercRecord was created (instance creation)
• The answerSheet object was associated with selfTest object (Associa- tion formed)
• The new selTestTrackRec was associated with the InteractionController object (association formed)
• The selfTestTrackRec.visitTimeStamp for keeping interaction record was set to current date and time (attribute set)
Table A.09: Contract for “createSubjectChapter()” operation Name: createSubjectChapter(chapterNo, subjectCode, form, chapTitle)
Responsibilities: If the given information is valid create a new subject chapter and record the information into chapter object.
Type: System
Cross References: System function: F4, F5 Use case: create/update subject Note: Use relational SQL database access Excep-
tions: If the entered subject chapter information is not correct, stop recording and display the error message
Output:
Pre-conditions: The concerned subject and the identification information for the permit- ted user to create/update subject is known to the system
Post-conditions:
• A new subject chapter was created (instance creation).
• The new chapter was associated with the subject object (association formed).
• The Chapter.DateCreate was set to current time (attribute modifica- tion)
• The Chapter.Status was set to Active (attribute modification) Table A.10: Contract for “createChapterTopic()” operation
Name: createChapterTopic(TopicNo, chapterNo, subjectCode, form, topicTitle, createDate)
Responsibilities: If the given information is valid create a new chapter topic and record the information into chapterTopic object
Type: System
Cross References: System function: F4, F5 Use case: create/update subject Note: Use relational SQL database access
Exceptions: If the entered chapter topic information is not correct and/or incomplete, stop recording and display the error message
Pre-conditions: The concerned subject, concerned chapter The identified information for the permitted user to create/update subject are known to the system Post-conditions:
• A new chapterTopic was created (instance creation).
• The new chapterTopic was associated with the chapter object (associa- tion formed).
• The ChapterTopic.DateCreate was set to current time (attribute modification).
Table A.11: Contact for “updateSubject()” operation Name: updateSubject(subjectCode, form)
Responsibilities: Find a subject with the given information from the database, allow update of the information and record the update information
Type: System
Cross References: System function: F4, F5 Use case: create/update subject Note: Use relational SQL database access Excep-
tions: If the entered subject information is not correct stop recording and dis-play the error message Output:
Pre-conditions: The identification information for the permitted user to create/update subject is known to the system
Post-conditions: • The subjectRecord was modified (instance modification) • The subject.UpdateDate was set to current time (attribute set). Table A.12: Contact for “updateSubjectChapter()” operation
Name: updateSubjectChapter(chapterNo, subjectCode, form)
Responsibilities: Find a subject chapter with the given information from the database, al- low update of the information and record the update information Type: System
Cross References: System function: F4, F5 Use case: create/update subject Note: Use relational SQL database access Excep-
tions: If the entered subject chapter information is not correct stop recording and display the error message Output:
Pre-conditions: The identification information for the permitted user to create/update subject is known to the system
Post-conditions: • The subjectchapterRecord was modified (instance modification) • The subjectChapter.ModifyDate was set to current time (attribute set).
Table A.13: Contact for “updateChapterTopic()” operation Name: updateChapterTopic(TopicNo, chapterNo, subjectCode, form)
Responsibilities: Find a chapter topic with the given information from the database, allow update of the information and record the update information
Type: System
Cross References: System function: F4, F5 Use case: create/update subject Note: Use relational SQL database access Excep-
tions: If the entered chapter topic information is not correct and/or incomplete, stop recording and display the error message Output:
Pre-conditions: The identification information for the permitted user to create/update subject is known to the system
Post-conditions: • The chapterTopicRecord was modified (instance modification) • The ChapterTopic.UpdateDate was set to current time (attribute set).
Table A.14: Contact for “getUserList()” operation Name: getUserList(userID, username, role, gender, email)
Responsibilities: Find all users of the system from user object. It can be all users or catego- rized users based on role, school etc and display the list of users
Type: System
Cross References: System function: F30 Use case: Get list of users
Note: Use relational SQL database access Excep-
tions: If the system fails to display user list, stop and display the error message Output:
Pre-conditions: Users are registered into the system and the identified information for the privileged user to view user list is known to the system
Post-conditions: • A user object is associated to e-LMS object (association formed). Table A.15: Contact for “getSubjectList()” operation
Name: getSubjectList(subjectCode, form, name, category, RegDate)
Responsibilities: Find subjects registered into the system from subject object. It can be all subjects or categorized subjects based on category, form, registration date etc and display the list of subjects
Type: System
Cross References: System function: F31 Use case: Get list of subjects Note: Use relational SQL database access
Excep-
tions: If the system fails to display subject list, stop and display the error mes-sage Output:
Pre-conditions: Subjects are registered into the system and the identified information for the privileged user to view user list is known to the system
Post-conditions: A subjectController object was associated with the e-LMS object (associa- tion formed).