Java Application Sequence Diagram(UML) and Object Model(UML), due tonight within 7 hours
Kal Bugrara, Ph.D
Application Engineering Information Systems
The Problem Statement
Build a university-wide student registration and management system. The system must enable the university to manage its operations at the student, department, and college levels. This will allow the university to devise more effective ways of: measuring unit performance, control costs, forecast enrollments, and implementing marketing plans.
Application Engineering Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
Dept
Responsible for
Academic matters such as students and courses
Business matters such as staff, faculty, etc.
Maintain course catalog and schedule courses
Issues important at this level
What are the courses we teach?
What are the courses we offer at any given semester?
Which courses are core and which ones are electives? What are the course requirements?
What are the degree requirements?
What is our current capacity? How many seats are empty?
What is our faculty/student ratio per class? How do we compare with other depts in the college?
What is the average number of students per class? Largest class? Smallest class?
What is the current student enrollment in our department?
What is the administrative staff to faculty ratio?
What is the ratio of full time faculty vs part-time?
What is the percentage of faculty with Ph.Ds?
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
Department Stakeholders and Users
- Students
Needs: Review courses offered, Register for courses, Review Teacher profiles, Graduation Requirements, Review Academic Status, Departmental student portal, etc
- Teachers
Student profiles, Grade submission, Contact Info
- Departmental Staff
Maintain course catalog, Manage course schedule, Student grade submission, course enrollment numbers, student status, Manage Teachers and their profiles
- College Administrators
Department enrollment numbers, Department performance evaluation
- Parents
Real-time access to student class standing?
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
Department
- Has products and services
- Has Demand for its products and services
Customers and course offerings
- Has a service delivery process of how these products and services will be delivered to its customers.
Instructors, instructors teaching classes, evaluating student performance, assigning grades
- Has a way of measuring how it is performing through management and feedback
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
Department
Course Schedule
Student Directory
Department
Faculty Directory
Course Catalog
Degree
Job Position
Department Staff
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
Department
Course Schedule
Student
Student Directory
An Object Model
Faculty Directory
Course
Course Catalog
Degree
Course Offering
Job Position
Person
Department Staff
Faculty Member
Assigned Individual
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
Course Offering vs Course
Course
Course Offering
Course description
Exists in course catalog only
Independent of teacher
Models a specific offering of course
An actual class
Time bound: month and year
Has a teacher
Class room
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
Course Offering vs Course
Course
Course Offering
Course offerings 0..*
The course 1..1
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
Department
Department Manages Course Catalog
Course
Course Catalog
Manage the department course catalog which represent all the courses the department has to offer or the courses the department is capable of teaching (Capability)
Course catalogs are updated once a year (if at all); so course catalogs are independent of time but we keep track of last time the catalog was updated
Example of cc responsibilities:
Find course given the course name
Find course given course number
List all courses
Update course
Attributes:
name, Number, description
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
Department
Department Manages Course Schedule
Course Offering
Course Schedule
Manage the department course schedule which represent all the courses the department is scheduled (committed) to teach in a given semester
Course schedules are created every semester. Course schedules are time dependent
Example of CS responsibilities:
Which courses are taught in a given semester
Add a course to the course schedule
Assign a teacher to teach a scheduled course
Attributes:
name, Number, description
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
Course Offering vs Course
Department
Course Schedule
Course
Course Catalog
Course Offering
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
What is a course offering
Course Offering
It is the actual class being taught at some point in time. It answers questions such as:
What is the course being offering?
Who is teaching the course
When is it offered?
Where is it offered
Who are the students signed up for the class?
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
What is a course offering
Course Schedule
Course
Course Offering
Semester
Person
Att: Number
Room
Building
Teacher
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
What is a course offering
Course Schedule
Course
Course Offering
Semester
Person
Att: Number
Room
Building
Teacher
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
Courses students must take to qualify for degree
Course
Degree
Core *
Degree this course is part of 1..*
Courses that count as electives this degree 1..*
Degree this course is part of 1..*
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
Department-Course-Degree Connection
Department
Course Catalog
Course
Degree
Core *
Degree this course is part of 1..*
Courses that count as electives this degree 1..*
Degree this course is part of 1..*
Degrees offered by department *
Degree issued by department *
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
Department
Student
Student Directory
The Student Dimension
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
Student
Split the student into two concepts
Student Account
Financial matters
Such as credit and debt
Personal/academic achievement information
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
Student
Student carries a course load each semester (a number of courses
Seat Assignment
Course Offering
Course Load
Semester
Course grade goes here
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
Course Load
Seat Assignment
The Course Load class is responsible for the student courses in any given semester. It is the set or collection of courses the student took in a semester. It answers the question “What courses did the student complete in a given semester. Without the Course Load it will very difficult to answer such a reasonable question.
Student
Semester
Semester grade average goes here
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
What is a transcript then?
Student
Transcript
Course Load
Semester
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
What is a transcript then?
Student
Transcript
Course Load
Seat Assignment
Semester
Course Offering
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
The Transcript class is a historical record of all the courses the student took during their stay at the university. The transcript class knows who the student is. It knows the student course load for any given semester.
To find the GPA. retrieve all the course load objects. For each course load object, get all the seat assignments. Iterate over all the seat assignments. For a given seat assignment get the course grade. Total them up grades. Take the average.
Student GPA goes here. It is a calculated attribute (operation).
Transcript
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
The question is usually something like what is Jim’s GPA?
Therefore we need to define an operation of the student class that returns the student GPA. We need to define getGPA() operation on the student class.
The student class has a reference to the transcript instance. The getGPA() operation on the student class calls the operation
transcript.CalculateGPA() which calculates the student GPA when requested. The logic is as follows:
Student
CalculateGPA() operation goes here.
Transcript
getGPA() goes here
The CalculateGPA() operation retrieves all the course load objects. For each course load object, get all the seat assignments. Iterate over all the seat assignments. For a given seat assignment get the course grade. Total them up grades. Take the average.
A reference to the transcript instance is part of the student class
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
How to determine student GPA?
Student
Transcript
Course Load
Seat Assignment
Student Directory
Must iterate over all instances. For example, the transcript class has a list of course loads over a number of semesters. So we need to consider all instances of course load.
The order of search or navigation
Start her (find student)
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
Course
Degree
Course Offer
How to determine if a student fulfilled the degree requirements?
Student
Transcript
Course Load
Seat Assignment
Student Directory
Department
Must iterate over all instances. For example, the transcript class has a list of course loads over a number of semesters. So we need to consider all instances of course load.
The order of search or navigation or access
Start her
isCoreCourse()
isElective()
Application Engineering INFO 5100 Information Systems
For a more modular design financial matters are separated from the student class. The result is the addition of a Student Account class.
We extracted the following classes from the original model.
The focus is on classes to do with revenues.
Department related questions start here
Student related questions start here
Operations and Strategy for answering quiz question
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
University:
Responsible for
academic matters such as colleges and students
Business matters such as marketing, financials, course pricing, etc.
Administrative matters such as Human Resources
Issues important at this level
Are we profitable?
What is the faculty/student ratio per class broken down by college? What is the current student enrollment in our university broken down by college?
Application Engineering INFO 5100 Information Systems
Kal Bugrara, Ph.D
Application Engineering INFO 5100 Information Systems
College:
Responsible for
Academic matters such as departments and students
Business matters such as staff, faculty, etc.
Issues important at this level
What is the faculty/student ratio per class broken down by Department? How do we compare with other colleges?
What is the average number of students per class? Largest class? Smallest class?
What is the current student enrollment in our college broken down by department?
What is the administrative staff to faculty ratio?
What is the ratio of full time faculty vs part-time?
What is the percentage of faculty with Ph.Ds?
Application Engineering INFO 5100 Information Systems