Upload
edward-stevens
View
230
Download
2
Embed Size (px)
Citation preview
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE1
ASU Course RegistrationASU Course Registration
Domain ModelDomain Model
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE2
ASU — COURSE REGISTRATION PROBLEM STATEMENTASU — COURSE REGISTRATION PROBLEM STATEMENT
At the beginning of each semester, students may request a course catalog containing a list of course offerings needed for the semester. Information about each course, such as instructor, department, and prerequisites are included to help students make informed decisions.
The new system will allow students to select four course offerings for the coming semester. In addition, each student will indicate two alternative choices in case a course offering becomes filled or is canceled. No course offering will have more than forty students or fewer than ten students. A course offering with fewer than ten students will be canceled. Once the registration process is completed for a student, the registration system sends information to the billing system so the student can be billed for the semester.
Professors must be able to access the online system to indicate which courses they will be teaching, and to see which students signed up for their course offerings.
For each semester, there is a period of time that students can change their schedule. Students must be able to access the system during this time to add or drop courses.
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE4
ASU: POSSIIBLE CLASSES
At the beginning of each semester, students may request a course catalogue containing a list of course offerings needed for the semester.
classes: Semester, Student, CourseCatalogue, CourseOffering
Information about each course, such as instructor, department, and prerequisites are included to help students make informed decisions.
classes: Course (Information), Instructor, Department, Prerequisite,
Informed Decision
The new system will allow students to select four course offerings for the coming semester.
classes: System
In addition, each student will indicate two alternative choices in case a course offering becomes filled or is canceled.
classes: AlternativeChoice
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE5
ASU: POSSIIBLE CLASSES
No course offering will have more than forty students or fewer than ten students.
classes: no new classes
A course offering with fewer than ten students will be canceled.
classes: no new classes
Once the registration process is completed for a student, the registration system
sends information to the billing system so the student can be billed for the semester.
classes: RegistrationProcess, Information, BillingSystem
Professors must be able to access the online system to indicate which courses they
will be teaching, and to see which students signed up for their course offerings.
classes: Professor
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE6
ASU: POSSIIBLE CLASSES
For each semester, there is a period of time that students can change their schedule.
classes: PeriodOfTime, Schedule
Students must be able to access the system during this time to add or drop courses.
classes: no new classes
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE7
ASU — ASU — KEEPIING THE RIIGHT CLASSESKEEPIING THE RIIGHT CLASSESSemester attribute (of course offering)
Student O.K.
Course catalog irrelevant (physical system generated entity)
Course offering O.K.
Course (information) O.K.
Instructor redundant (same as professor)
Department O.K.
Prerequisite role (of course)
Informed decision vague (mental process of students)
System implementation construct
Alternative choice redundant (same as course offerings)
Registration process operation (activity of using the system)
Information vague (need to specify more clearly)
Billing system irrelevant (external system)
Professor O.K.
Period of time vague (related to processing constraints)
schedule redundant (same as course offerings)
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE9
ASU — ASU — POSSIBLE ASSOCIATIONSPOSSIBLE ASSOCIATIONS
At the beginning of each semester, students may request a course catalogue
containing a list of course offerings needed for the semester.
associations: Student Requests CourseCatalogue
CourseCatalogue Contains CourseOffering
Semester Needs CourseOffering
Information about each course, such as instructor, department, and prerequisites
are included to help students make informed decisions.
associations: CourseCatalogue Includes Course(Information)
CourseCatalogue Helps Student
Student Makes InformedDecision
The new system will allow students to select four course offerings for the coming
semester.
associations: System Allows Student
Student Selects CourseOffering
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE10
ASU — ASU — POSSIBLE ASSOCIATIONSPOSSIBLE ASSOCIATIONS
In addition, each student will indicate two alternative choices in case a course
offering becomes filled or is canceled.
associations : Student Indicates AlternativeChoice
? Fills CourseOffering
? Cancels CourseOffering
No course offering will have more than forty students or fewer than ten students.
associations : CourseOffering Has Student
A course offering with fewer than ten students will be canceled.
associations: no new associations
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE11
ASU — ASU — POSSIBLE ASSOCIATIONSPOSSIBLE ASSOCIATIONS
Once the registration process is completed for a student, the registration system
sends information to the billing system so the student can be billed for the semester.
associations: Student Completes RegistrationProcess
System Sends Information To BillingSystem
BillingSystem Bills Student
Professors must be able to access the online system to indicate which courses they
will be teaching, and to see which students signed up for their course offerings.
associations: Professor Accesses System
Professor Indicates Course
Professor Teaches Course
Professor Sees Student
Student SignsUpFor CourseOffering
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE12
ASU — ASU — POSSIBLE ASSOCIATIONSPOSSIBLE ASSOCIATIONS
For each semester, there is a period of time that students can change their
schedule.
associations: Student Changes Schedule
Students must be able to access the system during this time to add or drop courses.
associations: Student Accesses System
Student Adds Course
Student Drops Course
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE13
ASU — POSSIBLE ASSOCIATIONSASU — POSSIBLE ASSOCIATIONSstudent — requests — course catalog class eliminatedcourse catalog — contains — course offering class eliminatedsemester — needs — course offering class eliminatedcourse catalog — includes — course information class eliminatedcourse catalog — helps — student class eliminatedstudent — makes — informed decision class eliminatedstudent — selects — course offering operationstudent — indicates — alternative choice operation? — fills — course offering operation? — cancels — course offering operationcourse offering — has — student O.K.student — completes — registration process class eliminatedsystem — sends — information — to — billing system class eliminatedbilling system — bills — student class eliminatedprofessor — accesses — system class eliminatedprofessor — indicates — course operationprofessor — teaches — course O.K.professor — sees — student operationstudent — signs up for — course offering operationstudent — changes — schedule operationstudent — accesses — system class eliminatedstudent — adds — course operationstudent — drops — course operation
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE14
ASU: ASU: DOMAIIN MODEL DOMAIIN MODEL
Classes Associations
Student Department CourseOffering Has Student
Course Professor Professor Teaches Course
CourseOffering
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE15
ASU — ASU — DOMAIN MODELDOMAIN MODEL
prerequisite
Student
CourseOffering
Teaches
Appointed
Offers
Professor Department
Course
IsPrerequisiteFor
EnrollsIncourse
Association information in red is inferred from
domain knowledge.
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE16
ASU DOMAIN MODEL DETAIL— ASU DOMAIN MODEL DETAIL— GENERALIZATIONGENERALIZATION
userID :Stringpassword : StringuserGroup : Integersurname : StringotherNames : Stringaddress : StringDOB : DatedateOfAdmission : DatelevelOfStudy : StringmodeOfStudy : StringyearOfStudy : Integer
Student
CourseOffering
offeringId : Stringsemester : Stringyear : Integer
Course
code : Stringtitle : Stringdescription: Stringcredits : Integer
userID : Stringpassword : StringuserGroup : Integersurname : StringotherNames : Stringaddress : StringDOB : Datequalification : String
Professor
Departmentcode: Stringtitle : String
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE17
ASU — DOMAIN MODEL DETAILSASU — DOMAIN MODEL DETAILS
prerequisite
Student
CourseOffering
Teaches
AppointedIn
Offers
Professor Department
Course
IsPrerequisiteFor
*
*
1..*
1*
*
11..*
0..4
0..40
EnrolledIngrade : String
1..*
Association information in red is inferred from
domain knowledge.
course
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE18
ASU Course Registration System ASU Course Registration System
Domain Model Detail Domain Model Detail
GeneralizationGeneralization
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE19
ASU DOMAIN MODEL DETAIL— ASU DOMAIN MODEL DETAIL— GENERALIZATIONGENERALIZATION
userID :Stringpassword : StringuserGroup : Integersurname : StringotherNames : Stringaddress : StringDOB : DatedateOfAdmission : DatelevelOfStudy : StringmodeOfStudy : StringyearOfStudy : Integer
Student
CourseOffering
offeringId : Stringsemester : Stringyear : Integer
Course
code : Stringtitle : Stringdescription: Stringcredits : Integer
userID : Stringpassword : StringuserGroup : Integersurname : StringotherNames : Stringaddress : StringDOB : Datequalification : String
Professor
Departmentcode: Stringtitle : String
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE20
ASU DOMAIIN MODEL DETAIIL ASU DOMAIIN MODEL DETAIIL:: GENERALIIZATIIONGENERALIIZATIION
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE21
ASU DOMAIIN MODEL DETAIIL ASU DOMAIIN MODEL DETAIIL:: GENERALIIZATIIONGENERALIIZATIION
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE22
prerequisite
ASU — COURSE REGISTRATION DOMAIN MODELASU — COURSE REGISTRATION DOMAIN MODEL
Student
CourseOffering
Teaches
AppointedIn
Offers
Professor Department
Course
IsPrerequisiteFor
*
*
1..*
1*
*
11..*
0..*
0..40
EnrolledIngrade : String
Person
1..*
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE23
ASU Course Registration System ASU Course Registration System
Domain Model Detail Domain Model Detail
ConstainsConstains
310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE24
ASU DOMAIN MODEL DETAIL: ASU DOMAIN MODEL DETAIL: CONSTRAINTSCONSTRAINTS
Is the multiplicity of the CourseOffering end of the EnrollsIn
association realistic?
– A student can enroll in at most four course offerings during their enti re time at the university.
Actually, the constraint should be:
– A student can enroll in at most four course offerings in one semester.
It is actually unknown the total number of course offerings in whi ch a student will enroll.
– - The max card should be*.
To document the fact that enrollment in a semester should not b e more than four course offerings an OCL constraint is needed.