SYSTEM ANALYSIS AND DESIGN 1 1 / 13 M.Sc. (IT) School of Technology and Management SYSTEM ANALYSIS AND DESIGN 1 COURSEWORK SUBMISSION DATE: 3rd March, 2008 PRESENTATION DATE: 3rd March, 2008 Taught and supervised by: Mr. Frank Ekpenyong Coursework topic: Design an analyze a model for the school registration system, Submitted By: Student Name ID Number Yasser Almohammad 0265HWHW1107 School of Technology and Management, M.Sc. IT 1 February 24, 2008 SYSTEM ANALYSIS AND DESIGN 1 2 / 13 Task one: system events Event name Department submits class schedule Student browses course information Student registers a course System closes registration on deadline expiration System sends course register to lecturers Event type External External External Temporal Internal The close registration is temporal, because it happens automatically at a specific time which is the expiration of the dead line, where as distribution of the course register is internal because its initiated by another use case(even if that use case was temporal). Task two: draw event table for the previous extracted events Event No. Event Description System Input 1. Department submits class schedule 2. Student browses course information 3. Student registers a course Schedule submission request Catalog browse request Registration request 4. System closes registration on deadline expiration System sends course register to lecturers 5. Actor Providing Input Department System Output Student course information Student Student Registration confirmation and papers Dead line notification Student Department Course register Lecturer School of Technology and Management, M.Sc. IT 1 Actor Receiving Output confirmations February 24, 2008 SYSTEM ANALYSIS AND DESIGN 1 3 / 13 Task three: use case diagram depending on the previous event list Note: while a student is browsing for course information he might want to register for a course directly from there, which is why (register for a course) <<extends>> (browse course information), but he can also registers directly which is also why it can be a separate usecase. Setting the registration deadline can be considered a use case but since it’s a simple command we didn’t include it, but it will show up as part of the submit class schedule sequence diagram. Task Four: use case narrative for each business event. Use case Actors Overview Type Pre-conditions Post-conditions Submit class schedule Department A department submits a class schedule, along with that it provides the courses offered each semester, plus information about each course such as teacher, department and prerequisites, along with that it sets the registration deadline. Essential Teachers must be available and agree on the schedule Class schedule saved in the system and ready to be browsed by students Special requirements School of Technology and Management, M.Sc. IT 1 February 24, 2008 SYSTEM ANALYSIS AND DESIGN 1 4 / 13 Flow of Event Actor action: System response: 1- All starts by an employee who represents a department at this task(assuming he logged in and got authenticated). 3- Department picks up class name to submit its schedule information . 2- System displays all classes supervised by the current department (every department must be responsible for a specific set of classes only and thus shouldn’t be able to handle any other classes information) 4- a department uploads the class schedule, sets courses to be offered for the specified semester 5- for each course fill in course information: teacher, lead department, prerequisite. 6- set registration dead line 7- create new record for the class, save the schedule and courses offered 8- receive creation, update confirmation of the class and courses records. Alternative flow of events: Use case Actors Overview Type Pre-conditions Post-conditions Special requirements Browse course information Student A student browses the schedule and checks the courses offered for a specific class, checks the information, time, and from there he might choose to register for courses. Essential Class schedule and course information must be submitted already Actor action 1- a student chooses to browse the classes catalog 2- he picks up a class Flow of Event System response 3- the system returns the class schedule and list of courses to be offered 4- he browses through the courses by picking a course to check its information 5- course record is returned 6- course information is checked 7- go to step 4, to check other courses Alternative flow of events: Line 6: he can also choose directly from there to register for the course(and move to the register for a course use case) School of Technology and Management, M.Sc. IT 1 February 24, 2008 SYSTEM ANALYSIS AND DESIGN 1 Use case Actors Overview 5 / 13 Register for a course Student, Department A student can choose to register for a course, if registration period has not expired, he chooses a course, enters his information, and upon the approval of the department his information is submitted and he gets a confirmation If he is a new student then a new student record must be created along with the courses he chose. If he was already a student in the school then a new studentcourse record is created and linked to his record (thus we need to look him up upon his registration request) Type Essential Pre-conditions Course must be of his class level ( cant choose 3rd grade while he is in the 1st grade class), department(on behalf of student board) agrees to his request Post-conditions His registration record is added to the system, and he gets a paper acknowledging his registration Special requirements Registration must happen before the dead line Flow of Event Actor action System response 1- use case initiated by student directly or from the browse catalog use case 2- he provides his information, name and ID number(if available), course chosen. 3- System looks the student up to check if he is in the system or not. 4- the system saves his request and awaits for the department decision 5- upon approval of his registration, and when the student is already registered with the school a new course submission record is created 6- he receives confirmation of his registration and authentic papers Alternative flow of events: Line 1: use case can’t be initiated if registration has expired and in this case a corresponding message is viewed to the student. Line 2: if student has not registered before in the school, he needs to fill a registration form for the school along with the course requested, he must provide full information: first name, last name, address, upload other identification and previous study papers. Line 5: if student has not registered in the school before, then a new student record is created then a new student-course record is created Line 6: if his request was denied then he receives the denial cause and no records are created. Use case Actors Overview Type Close registration Upon the expiration of the dead line the system automatically closes registration and sends a course register to each lecturer with the student information for each course they teach Essential School of Technology and Management, M.Sc. IT 1 February 24, 2008 SYSTEM ANALYSIS AND DESIGN 1 Pre-conditions Post-conditions Special requirements Actor action 6 / 13 Dead line reached Registration closed Use case happens only once each semester Flow of Event System response 1- reaching the dead line launches this uses case 2- registration is closed 3- launch the (receive student register) use case Alternative flow of events Use case Actors Overview Type Pre-conditions Post-conditions Special requirements Receive course register Lecturer Each lecturer will receive a copy of the student register for each course he teaches Not Essential Registration dead line reached, selected course must be taught by the lecturer Course register report sent to lecturer Flow of Event Actor action System response 1- the use case is initiated by the (close registration use case) 2- select a course then select all students enrolled for this course, and format a report of their 3- receive course register report(through his information account in the registration system for example) 4- go to step 2 tell no more courses left Alternative flow of events School of Technology and Management, M.Sc. IT 1 February 24, 2008 SYSTEM ANALYSIS AND DESIGN 1 7 / 13 Task five: sequence diagram for each use case School of Technology and Management, M.Sc. IT 1 February 24, 2008 SYSTEM ANALYSIS AND DESIGN 1 8 / 13 Sequence Diagram for register for a course use case with three difference routes School of Technology and Management, M.Sc. IT 1 February 24, 2008 SYSTEM ANALYSIS AND DESIGN 1 9 / 13 Task six: produce the domain model Roles: Student, Lecturer, Department Events: RegistrationProcess, BrowsingCoursesCatalog, RegistratoinDeadLine Tangibles: Class, Course, Schedule Specifications: Aggregates or Composition: same as in tangibles Specializations: EnrolledStudent (in the school already), NewStudent(new to the school) School of Technology and Management, M.Sc. IT 1 February 24, 2008 SYSTEM ANALYSIS AND DESIGN 1 Task Seven: 10 / 13 write a contract for each system operation (considering the most significant operations) Use Case: Contract Name: Responsibilities: Type: Exceptions: Output: Pre-conditions: Post-conditions: Submit class schedule requestScheduleSubmition(department) For a certain department get all classes which it supervise System Class list Class list must exist and department must be authorized None School of Technology and Management, M.Sc. IT 1 February 24, 2008 SYSTEM ANALYSIS AND DESIGN 1 11 / 13 Use Case: Contract Name: Responsibilities: Type: Exceptions: Output: Pre-conditions: Post-conditions: Submit class schedule pickUpClass(class) Choose a class from the class list to update its information System Use Case: Contract Name: Responsibilities: Type: Exceptions: Output: Pre-conditions: Post-conditions: Submit class schedule uploadClassSchedule(schedule) Upload a file representing the schedule System File doesn’t exist confirmation Use Case: Contract Name: Responsibilities: Submit class schedule saveClassRecord(class, courseList, deadLine) Using the previous information(dead line, course list, schedule…) save the record for the current chosen class System Type: Exceptions: Output: Pre-conditions: Post-conditions: Schedule available to the system, and ready for submission Confirmation Class chosen to update its info new class record is created or existing one updated Use Case: Contract Name: Responsibilities: Type: Exceptions: Output: Pre-conditions: Post-conditions: Submit class schedule setRegistrationDeadLine(DateTime:deadLine) Set registration dead line for the current class System Use Case: Contract Name: Responsibilities: Type: Exceptions: Output: Pre-conditions: Post-conditions: Register for a course register NewStudent(fnam, lname, address, phoneNum, papersFilePath) Register a new student in the school System Student registered already Confirmation The student is new to the school student record saved when success School of Technology and Management, M.Sc. IT 1 February 24, 2008 SYSTEM ANALYSIS AND DESIGN 1 Use Case: Contract Name: Responsibilities: Type: Exceptions: Output: Pre-conditions: Post-conditions: Use Case Contract Name: Responsibilities Type: Exceptions: Output: Pre-conditions: Post-conditions: 12 / 13 Register for a course approveRegistration(stuent, course) Provides approval for the student registration on the accompanied course System Deadline reached for the registration Registration confirmation and registration papers when approved RegistrationRequest have been created and sent to the department Register for a course lookUpStudent(studentID, studentName) Find the student record in the system Sys Student record or Null Use Case: Contract Name: Responsibilities: Type: Exceptions: Output: Pre-conditions: Post-conditions: Close registration closeRegistration() Close the registration applications System Dead line not reached Use Case: Contract Name: Responsibilities: Type: Exceptions: Output: Pre-conditions: Post-conditions: closeRegistration initiateCourseRegisterDistribution() Initiates the distribution of course register process System Dead line not reached Use Case: Contract Name: Responsibilities: Type: Exceptions: Output: Pre-conditions: Post-conditions: Browse course information getCourseInfo(course) Get course information for a specific course System Course doesn’t exist Course information report A class has been selected and a course has been selected to check its info Dead line reached Registration closed School of Technology and Management, M.Sc. IT 1 February 24, 2008 SYSTEM ANALYSIS AND DESIGN 1 13 / 13 Use Case Contract Name: Responsibilities Type: Exceptions: Output: Pre-conditions: Post-conditions: Browse course information pickUpClass(class) Choose a class from the course catalog System Classes not found because they havnt been submitted Class schedule and list of courses Classes, schedules, course are submitted Use Case Contract Name: Responsibilities Type: Exceptions: Output: Pre-conditions: Post-conditions: receive course register formatRegister(studentList,course) Format a report to send it to the lecturer Use Case Contract Name: Responsibilities Type: Exceptions: Output: Pre-conditions: Post-conditions: receive course register sendCourseRegister(courseRegister) Send the course register to the lecturer Lecturer not available yet A report Registration must be closed, Lecturer must be available Lecturer not available Receive confirmation Registration is closed and lecturer available School of Technology and Management, M.Sc. IT 1 February 24, 2008