the full document report

advertisement
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
Download