courselist project automated graduate student information system final project for cs 3354

32
Courselist Project Automated Graduate Student Information System Final project for CS 3354

Upload: rachel-bryan

Post on 04-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Courselist Project

Automated Graduate StudentInformation System

Final project for CS 3354

Page 2: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Who is behind Courselist?

Cyclops Group…is an open source project foundation

focusing on the design of common, abstract, simple, and high quality java software that solves real-life complex problemshttp://www.cyclopsgroup.com

The Courselist team: Josh Allen, John Christin, Jarvis Cline, Jiaqi Guo, Chris Menken

Extended documentation and a live demo version are available on the Cyclops Group website.

Page 3: Courselist Project Automated Graduate Student Information System Final project for CS 3354

The Intent of Courselist

Create an easily maintainable system that keeps track of students, teachers, and courses.

Eliminate the need for students and teachers alike to fill out forms, look up courses in catalogs, etc.

Save time, energy, and money Automation of these tasks means more accurate

results

Page 4: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Courselist - Who does what?

System Administrator Create, edit, delete, list, and search courses Create, edit, delete, list, and search users Assign teachers to courses Can perform student, teacher, and

administrative tasks

Page 5: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Courselist - Who does what?

Teachers Drop and add

students Assign grades to

students Finish a course (close

out registration and assign final grades to students)

Page 6: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Courselist - Who does what?

Students Apply to register for

courses View current courses View an unofficial

transcript

Page 7: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Basic User Interface

Enter login and password to enter system Use a tree structure to navigate through

pages to perform various tasks Buttons, drop-down menus, lists that are

easy, self-explanatory Special “System” tab for the administrator

to perform certain tasks

Page 8: Courselist Project Automated Graduate Student Information System Final project for CS 3354

User Requirements

Interface Users

StudentsTeachersAdministrators

Systems

Page 9: Courselist Project Automated Graduate Student Information System Final project for CS 3354

“UML Diagram:” What should users do?

Page 10: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Interface

Navigation: The system shall have quick navigation links to allow users to quickly go

from page to page. Help:

A help page shall be included that provides the user with information on how to use the system.

Log-in: The system shall provide a section for the user to log in to his or her

account for a length that he or she chooses. Course Board:

A list of courses shall be accessible without having to log in. This list shall include information such as: course code, name, teacher name, and requisites.

Page 11: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Users

Students: Transcript:

The CourseList system shall show a list of the courses the student is enrolled in or has completed. This list shall show pertinent information such as; course name, credit received, grade, and current status.

Add / Drop Courses: The student shall have the ability to add or drop courses on

his or her schedule. Students shall not be able to add classes that they do not have the pre-requisites or co-requisites for.

Page 12: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Users

Teachers: Current Courses:

The CourseList system shall show a list of the courses the teacher is currently enrolled in. This list shall show information such as; course name, requisites, and the number of students currently enrolled in the course.

Manage Course: Teachers shall be able to manage courses with such abilities as:

adding or dropping students, updates grades, and finishing courses.

Page 13: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Users

Administrators: Access:

The Administrator shall have access to all parts of the CourseListing site. This includes all student and teacher options and pages, as well as his or her own unique Administrator powers.

Course Board: The Administrators shall be able to add or remove classes from the

course board.

Page 14: Courselist Project Automated Graduate Student Information System Final project for CS 3354

System

Access: The system options shall only be accessible by an Administrator.

Manage Users: The administrator shall be provided a list of all users and he or she shall

have the ability to add, remove, and edit any user. The administrator shall be able to manage information such as: group/role, name, email, password, etc…

Manage Groups and Roles: The administrator shall be able to add and remove groups from the

system. The administrator shall also be able to assign and edit the roles of these groups.

Page 15: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Software architecture

Java web application, a big SERVLET.

3-tier design. Presentation, business logic and database.

SOA container

Page 16: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Database(persistence) layer

Four tables Hibernate as O-R

mapping tool A close look of

Course.hbm.xml, CourseBase.java and Course.java.

Page 17: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Business logic layer

Interface defines the functions. Implementation implements the functions

by talking to database layer. Two services: CourseListService and

StudentService. Specified functions are explained in

Javadoc. Implementations are managed by SOA

container

Page 18: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Presentation(GUI) layer

Views and actions. 90% of the development work. They never talk to database directly. In course list project, GUI is separated into 3

parts based on user role: course management, teacher workbench and student workbench.

Built on top of Tornado project.

Page 19: Courselist Project Automated Graduate Student Information System Final project for CS 3354

SOA and SOA container

What is SOA? What is service. Avalon framework came to be one of the

SOA standards. “Inversion of control” pattern. By the way, Avalon implementation is

Plexus container in this project.

Page 20: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Development environment

The project is hosted in sourceforge.net, under project “cyclops-group”. Module name is courselist.

MySQL 4.1 database driven. Although it should be database neutralized theoretically.

Built and managed by Apache Maven. Tomcat 4.1.x Tornado project is the infrastructure.

Page 21: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Related linksMain project websiteApache Avalon frameworkApache MavenPlexus containerApache Commons JellyTornado projectInversion of Control http://www.martinfowler.com/articles/injection.htmlSOA http://www.service-architecture.com/web-services/articles/service-oriented_architecture_soa_definition.htmlHibernate

http://www.cyclopsgroup.com/projects/courselisthttp://wiki.apache.org/excalibur/AvalonFrameworkhttp://maven.apache.orghttp://plexus.codehaus.orghttp://jakarta.apache.org/commons/jellyhttp://www.cyclopsgroup.com/projects/tornado

http://hibernate.org

Page 22: Courselist Project Automated Graduate Student Information System Final project for CS 3354

TestingUse-case Scenarios

Page 23: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Scenario 1: Administrator creates a new course and assigns a teacher to that course

1)Log in as AdministratorSystem Navigation menu shows Course Listing, My Information,

and Waterview Overview directories.Main page displays the list of current users that are able to log in to the system as a student, teacher, or administrator.

2)Click on Course Listing icon to add a course to the course boardCourse Management, Teacher Workbench, and Student

Workbench directories appear under Course Listing.3)Click on Course Management icon:

Course board, Create Course, and Teacher directories appear under Course Management.

4)Click on Create Course:The main page will display fields that ask for the course prefix, title, description, and course number.

5)After filling out the fields, click on create courseMain page will immediately show the updated course board.

Page 24: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Scenario 1 contd..6) Click on course code of newly created course to assign teacher

The Edit course page will be displayed detailing the entire course

7) Use the drop down box to select the teacher

8) Click on Save changes button

The main page will show the updated course board with the teacher assigned to that specific course.

9) Log out as Administrator.

Page 25: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Scenario 2: John Goodman, a teacher, will assign a student to one of his classes

1)Log in as John Goodman

System Navigation menu will show Home directory and the subdirectories of Course Listing, My Information, and Waterview Overview.

Main page displays the current list of users.

2) Click on Course Listing icon:

Course Management and Teacher Workbench directiories will appear under Course Listing directory.

3) Click on Teacher Workbench icon:

My Course directory will appear

4) Click on My Courses directory

A list of classes that John Goodman is teaching will appear on the main page.

Page 26: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Scenario 2 contd..5) Click on one of the course codes to add a student to that class

A detailed description of the course will appear on the main page, as well as a section that allows the teacher to add/drop a student from his class.

6) Use drop down menu to assign a student to that class

7) Click on add student button

The new student will be shown on the list of students for that class.

The student will be given a default grade of F.

8) Log out as John Goodman

Page 27: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Scenario 3: Tim Allen, a student, is going to drop one of his classes

1)Log in as Tim AllenSystem Navigation menu will display Course Listing, My Information, and Waterview Overview directories under the Home directory.

2) Click on Course Listing subdirectory iconCourse Management and Student Workbench directories will appear under Course Listing directory.

3) Click on Student Workbench iconMy Courses and Transcript directories will appear

4) Click on My CoursesAll current courses that Tim is taking is displayed on the main page.

5) Click on one of the check boxes of the class needed to be dropped and click on “drop selected” button.

The Main Page will refresh and show that Tim is no longer taking that class.

6) Log out as Tim Allen

Page 28: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Scenario 4: Verify that Tim Allen, a student, cannot register for a class that he has not

taken the pre-requisite for.

1)Log in as Tim AllenSystem Navigation menu will display Course Listing, My Information, and Waterview Overview directories under the Home directory.

2) Click on Course Listing subdirectory iconCourse Management and Student Workbench directories will appear under Course Listing directory.

3) Click on Student Workbench iconMy Courses and Transcript directories appear

4) Click on My courses A list of courses that Tim Allen is taking appears on the main page

5) Click on Course Management iconCourse board directory appears

Page 29: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Scenario 4 contd…

6) Click on Course board A list of current courses that are offered is displayed

7) Check box that represents CS 5390 and click apply.An error message, which states that Tim must take CS 5343 before he can take CS 5390, appears.

8) Log out as Tim Allen

Page 30: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Scenario 5: Administrator adds a new student profile to the system.

1)Log in as Administrator

Home directory appears

2) Choose System Directory Tab

System Administration and Status directory appears under System directory.

Main page shows some information about the System.

3) Click on System Administration icon

Security and Portal Management directory appears

4) Click on Security icon

Manage User, Create User, Manage Groups, and Manage Roles icons appear

5) Click on Create User

Main page contains fields that ask for information about the new user.

6) After filling out the information, click create button

The fields return to default state.

Page 31: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Scenario 5 contd…

7) Click on Manage User icon

A list of current users are displayed

8) Click on the name of the newly created user.

Displays Basic Information, Edit, and Group/Role Tabs

9) Click on Group/Role Tab

Displays the available groups to assign the new user to.

10) Select Student and click on Join Button

Main page will revert back to Basic Information tab.

11) Click on Group/Role Tab

The system recognizes the new user as a student.

12) Log out as Administrator

Page 32: Courselist Project Automated Graduate Student Information System Final project for CS 3354

Courselist Project

End Presentation