Java Application Sequence Diagram(UML) and Object Model(UML), due tonight within 7 hours

profileCharlieeeee
INFO5100-University-Example.ppt

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