310313 requirements capture 1 asu course registration domain model

23
310313 310313 REQUIREMENTS CAPTURE REQUIREMENTS CAPTURE 1 ASU Course Registration ASU Course Registration Domain Model Domain Model

Upload: edward-stevens

Post on 03-Jan-2016

229 views

Category:

Documents


2 download

TRANSCRIPT

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.

310313310313 REQUIREMENTS CAPTUREREQUIREMENTS CAPTURE25

ASU DOMAIN MODEL DETAIL: ASU DOMAIN MODEL DETAIL: CONSTRAINTSCONSTRAINTS