Student Attendance System

Post on 02-Jan-2016

101 views 5 download

Tags:

description

Student Attendance System. Design Document Group #1. Background. Customer: Miami Dade College 6 Campuses and Multiple outreach centers Largest College in the US (> 160,000 Students per year) Problem: New Federal Government regulations regarding the disbursement of Financial Aid funds. - PowerPoint PPT Presentation

Transcript of Student Attendance System

Student Attendance SystemDesign Document

Group #1

Background

Customer: • Miami Dade College

– 6 Campuses and Multiple outreach centers– Largest College in the US (> 160,000

Students per year)

Problem:• New Federal Government regulations

regarding the disbursement of Financial Aid funds

Objectives

• Provide a system that allows the college to meet federal financial aid requirements

• Allow for the electronic collection of student attendance data without direct instructor intervention

• Make the collected data available to both Staff and Students

• Leverage the College’s existing technology investments

Target Technology Environment

• Microsoft Windows 2000/2003 Platform

• .NET Framework

• Internet Information Server (IIS) (ASP.NET)

• Web interface for students / faculty

• College ID Card (Magstripe)

• Ethernet & TCP/IP for connectivity

The Customer’s Expectation

Student / Employee Web Portal

Database

Data Collection Process

Network

College Enterprise System

Web Clients Web Clients Web Clients

Students Faculty Administrators

Student

Student

Student

Student

Hardware Selection

• Approx 800 Classrooms (some with 2 readers)

• Total 1,000 Check-In Terminals

• Very small off-the-shelf market

• Closest Vertical Market is Employee Time & Attendance

• T&A has several key differences

Hardware Selection

• Typical hardware architecture found in T&A was 1 of 2 types.– Network Attached Smart Devices

(~$1000/unit)– Network Attached Smart Controllers

(~$12,000/20 units = $600/unit)

• Price point of both approaches was very high.

Hardware Selection

• Existing solutions would cost between $1,000,000 - $600,000 for hardware alone.

• Needed to reduce hardware cost.• Build on success of smart controllers and

consolidate processing.• Selected “dumb” Readers ($100) and

Network attached Terminal Servers ($1200/32 readers) = $140/Unit = $140,000

Hardware Selection

• Digi PortServer TS

• IBC SmartMag J

Software Design Considerations

• High Data Volume / Data-Driven Application• Performance Expectations/Requirements and Scalability • Interaction with existing systems at the database level• Initial Attempts at a Pure OO design were inefficient and

offered sub-optimal performance• Final design focuses on a three-tier approach allowing

data-tier to be implemented by off-the-shelf components. • New model offers needed performance at the expense of

OO model at the data layer

«subsystem»AttendanceHistory SubSystem

«subsystem»CollegeData Subsystem

«subsystem»ReaderConfiguration SubSystem

«subsystem»CheckInProcessing SubSystem

«subsystem»WebPortal SubSystem

«subsystem»CommandLineUtility SubSystem

«topLevelPackage»Static Model::Student Attendance System

«subsystem»PersistentDataStore SubSystem

«subsystem»DirectorySecurity SubSystem

Data Layer

Data Layer

• PersistentDataStore– Microsoft SQL Server 2000– ADO.Net

• DirectorySecurity– Microsoft Active Directory 2003– ADSI / System.DirectoryServices

Business Layer

Business Layer

• Divided into three subsystems by functionality– CollegeData

• Responsible for providing read-only access to required College data.

– AttendanceData• Responsible for the management of attendance

data collected by the system

– ReaderConfiguration• Responsible for the management of

CollegeData SubSystem

«subsystem»CollegeData Subsystem

+FormatClassId(in ClassId : String) : String+IsValidClassId(in ClassId : String) : Boolean+IsExistingClassId(in ClassId : String) : Boolean+GetClass(in ClassId : String) : SqlDataReader

CollegeData Subsystem::Classes

+FormatEmployeeId() : String+IsValidEmployeeID(in EmployeeID : Integer) : Boolean+IsExistingEmployeeId(in EmployeeID : Integer) : Boolean+GetEmployee(in EmployeeID) : SqlDataReader+GetEmployee(in PersonID) : SqlDataReader+FormatEmployeeId() : String

+CurrentUserEmployeeID : String

CollegeData Subsystem::Employees

+IsFacultyMember(in EmployeeID : String) : Boolean

CollegeData Subsystem::Faculty

+GetFacultyClasses(in EmployeeID : String) : SqlDataReader+GetFacultyClasses(in EmployeeId : String, in TermId : String) : SqlDataReader

CollegeData Subsystem::FacultyClasses

+GetStudentEnrollment(in StudentID : String) : SqlDataReader+GetStudentEnrollment(in StudentID : String, in TermID : String) : SqlDataReader

CollegeData Subsystem::StudentEnrollment

+FormatStudentId(in StudentId : Integer) : String+IsValidStudentId(in StudentID : Integer) : Boolean+IsExistingStudentId(in StudenId : Integer) : Boolean+GetStudent(in StudentId : Integer) : SqlDataReader

+CurrentUserStudentID : String

CollegeData Subsystem::Students

+FormatTermId(in TermID : String) : String+IsValidTermId(in TermId : String) : Boolean+IsExistingTermId(in TermId : String) : Boolean+GetTermId(in TermDate : Date) : String

+CurrentTermID : String

CollegeData Subsystem::Terms

AttendanceHistory Subsystem

+GetCurrentUserStudentAttendance() : SqlDataReader+GetStudentAttendance(in ClassID : String) : SqlDataReader+GetClassAttendance(in ClassId : Integer) : SqlDataReader+GetClassAttendance(in ClassId : Integer, in StartDate : Date, in EndDate : Date) : SqlDataReader+GetSystemAttendanceHistory(in StartDate : Date, in EndDate : Date) : SqlDataReader+GetSystemAttendanceHistory(in TermId : String) : SqlDataReader+CreateAttendanceEntry(in ClassId : Integer, in StudentId : Integer, in Campus, in Room, in Date) : Integer+CreateSystemAttendanceEntry(in ClassId : Integer, in StudentId : Integer) : Integer+EditAttendanceEntry(in EntryID : Integer, in Campus : String, in Room : String, in EntryDate : Date)+LogAttendanceHistorySwipe(in ISO : String, in CampusId : String, in Room : String) : AttendanceHistorySwipeResponse

AttendanceHistory SubSystem::AttendanceHistory

+ResponseStatus : ResponseStatuses+ResponseException : Exception+StudentId : String+ClassId : String+LastName : String

AttendanceHistory SubSystem::AttendanceHistorySwipeResponse

«subsystem»AttendanceHistory SubSystem

+-10 = Error+0 = OK+10 = InvalidISO+20 = UnknownISO+30 = NotEnrolled

«enumeration»AttendanceHistory SubSystem::ResponseStatuses

ReaderConfiguration Subsystem

«subsystem»ReaderConfiguration SubSystem

+AddConfiguration(in ReaderConfigurationGroupID : Integer, in HostAddress : String, in Port : Integer, in CampusCode : String, in Room : String) : Integer+EditConfiguration(in ReaderConfigurationID : Integer, in ReaderConfigurationGroupId : String, in HostAddress : String, in Port : Integer, in CampusCode : String, in Room : String)+GetConfigurations() : SqlDataReader+GetConfigurations(in ReaderConfigurationId : Integer) : SqlDataReader+IsExistingConfiguration(in ReaderConfiguration : Integer) : Boolean+DeleteConfiguration(in ReaderConfigurationID : Integer)+GetConfigurations(in ReaderConfigurationID : Integer) : SqlDataReader+GetConfigurations(in HostAddress : String, in Port : Integer) : SqlDataReader+GetConfigurations(in HostAddress : String) : SqlDataReader

ReaderConfiguration SubSystem::ReaderConfiguration

+AddConfigurationGroup(in GroupName : String) : Integer+EditGroup(in ReaderConfigurationGroupID : Integer, in GroupName : String)+GetGroups() : SqlDataReader+GetGroups(in ReaderConfigurationGroupID : Integer) : SqlDataReader+DeleteGroup(in ReaderConfigurationGroupID : Integer)+IsExistingReaderConfigurationGroup(in ReaderConfigurationGroupId : Integer) : Boolean

ReaderConfiguration SubSystem::ReaderConfigurationGroups

+IsAllowedToManageSystem() : Boolean

ReaderConfiguration SubSystem::User

Presentation Layer

User Web Portals

• The Student Attendance System provides users access via four role focused portals:

– Student Portal– Faculty Portal– Financial Aid Administrative Portal– Administrative Portal

– Each portal is focused on the needs of the particular user

Presentation LayerStudent Web Portal

S_GetCurrentTerm

S_ListClassEnrolled

S_ShowAttendanceDetail

Student Attendance SystemStudent Web Portal

Student Attendance System – Student WebsiteStudent Attendance System – Student Website

Welcome to the Student Attendance SystemStudent Website

Select Term Select

To view your attendance history, please select a term below.

S_GetCurrentTerm

Student Attendance History – View My Class ScheduleStudent Attendance History – View My Class Schedule

Welcome Joe Smith

Student Attendance System

To review your attendance history, please select a course from the list below.

Your Class Schedule:

COP-5991

CEN-5011

Course Number

Advanced Operating Systems

Advanced Software Engineering

Title

R

W

Days

6:25pm

6:25pm

Start Time

9:00pm

9:00pm

End Time

S_ListClassEnrolled

Student Attendance System – View My Attendance HistoryStudent Attendance System – View My Attendance History

COP-5991 Advanced Operating Systems

Student Attendance System

Your Attendance History:

10/28/2004

10/21/2004

10/14/2004

10/7/2004

9/30/2004

9/23/2004

9/16/2004

9/9/2004

9/2/2004

Class Date

--

--

--

--

6:23:07

6:25:48pm

6:27:09pm

Absent

6:15:03pm

Check-In Time

S_ShowAttendanceDetail

-InitializeComponent()#OnInit()-Page_Load(in sender : Object, in e : EventArgs)-Select_Click(in sender : Object, in e : EventArgs)

-designerPlaceholderDeclaration : Object#Select : Button#TermSelection : ComboBox

S_GetCurrentTerm

-InitializeComponent()-Page_Load(in sender : object, in e : EventArgs)-CourseGrid1_Click(in sender : object, in e : EventArgs)

-StudentName : Label#CourseGrid1 : DataGrid

S_ListClassEnrolled

-InitializeComponent()-Page_Load(in sender : object, in e : EventArgs)

-CourseName : Label#TimeGrid1 : DataGrid

S_ShowAttendanceDetail

«subsystem»WebPortal SubSystem

Student Web Classes

Presentation LayerFaculty Web Portal

F_GetCurrentTerm Student Attendance SystemFaculty Web Portal

F_ListClassTaught

F_ListClassDetail

F_EditStudentAttendanceEntry

F_ExportClassAttendanceHistory

Student Attendance System – Faculty WebsiteStudent Attendance System – Faculty Website

Welcome to the Student Attendance SystemFaculty Website

Select Term Select

To access attendance history for the courses you are teaching, please select a term below.

F_GetCurrentTerm

Student Attendance System - View Classes TaughtStudent Attendance System - View Classes Taught

Welcome Dr. Jones

Student Attendance System

To review Class attendance history, please select a course from the list below.

List of Classes Taught

COP-5991

CEN-5011

Course Number

Advanced Operating Systems

Advanced Software Engineering

Title

R

W

Days

6:25pm

6:25pm

Start Time

9:00pm

9:00pm

End Time

F_ListClassTaught

Student Attendance System - View Class Attendance HistoryStudent Attendance System - View Class Attendance History

COP-5991 Advanced Operating Systems

Student Attendance System

Class Attendance History

Phillips, Yukon

Zucker, Brian

Smith, Joe

Doe, John

Mann, Fredrick

Miller, Dennis

Jones, Tommy

Smith, Sally

Tucker, Andrew

Student

6:55:00pm

6:35:45pm

6:22:44pm

6:12:09pm

6:23:07pm

6:25:48pm

6:27:09pm

Absent

6:15:03pm

9/ 2/ 2004

6:55:00pm

6:15:45pm

6:22:44pm

6:54:09pm

6:21:07pm

6:26:28pm

6:27:56pm

Absent

6:25:03pm

9/ 9/ 2004

6:33:34pm

6:35:45pm

6:22:44pm

Absent

6:23:07pm

6:25:48pm

6:27:09pm

Absent

6:15:03pm

9/ 16/ 2004

6:55:00pm

6:35:45pm

6:22:44pm

6:12:09pm

6:23:07pm

6:25:48pm

6:27:09pm

Absent

6:23:05pm

9/ 23/ 2004

6:55:22pm

6:25:15pm

6:22:44pm

6:12:09pm

6:23:07pm

Absent

6:27:09pm

Absent

6:15:03pm

9/ 30/ 2004

Close Export / Save

Instructions: To correct/override select a link above.

F_ListClassDetail

Student Attendance System - Update/OverrideStudent Attendance System - Update/Override

Override

Enter Text

System Record:

New Value:

6:25:05pm

Show as Absent

Cancel

Update/Override

F_EditStudentAttendanceEntry

«subsystem»WebPortal SubSystem

-InitializeComponent()#OnInit()-Page_Load(in sender : object, in e : EventArgs)-Select_Click(in Sender : Object, in e : EventArgs)

-designerPlaceholderDeclaration : Object#Select : Button#TermSelection : ComboBox

F_GetCurrentTerm

-InitializeComponent()-Page_Load(in sender : object, in e : EventArgs)-CourseGrid2_Click()

-ProfName : Label#CourseGrid2 : DataGrid

F_ListClassTaught

-InitializeComponent()-Page_Load(in sender : object, in e : EventArgs)-TimeGrid2_Click(in sender : object, in e : EventArgs)-Close_Click(in sender : object, in e : EventArgs)-Export_Save(in sender : object, in e : EventArgs)

#CourseName : Label#TimeGrid2 : DataGrid#Close : Button#Export_Save : Button

F_ListClassDetail

-Page_Init(in Sender : Object, in e : EventArgs)-Page_Load(in Sender : Object, in e : EventArgs)-Initialize Component()-designerPlaceholderDeclaration()-Override_button_Click(in Sender : Object, in e : EventArgs)-Cancel_cutton_Click(in Sender : Object, in e : EventArgs)

#Override_button : Button#Cancel_button : Button#OriginalCheckIn_Label : Label#Override_TextBox : Textbox#Absent_CheckBox : CheckBox

F_EditStudentAttendanceEntry

-Page_Init(in Sender : Object, in e : EventArgs)-Page_Load(in Sender : Object, in e : EventArgs)-Initialize Component()

-designerPlaceholderDeclaration : Object

F_ExportClassData

Faculty Web Classes

Presentation LayerFinancial Aid Administrative Web Portal

FA_GetCurrentTerm

FA_DownloadAttendanceExtract

Student Attendance SystemFinancial Aid Web Portal

Student Attendance System - Financial Aid AdministratorStudent Attendance System - Financial Aid Administrator

Welcome to the Student Attendance SystemFinancial Aid Website

Select Term Export

To export attendance history, please select a term below.

-Page_Init(in Sender : Object, in e : EventArgs)-Page_Load(in Sender : Object, in e : EventArgs)-Initialize Component()-Export_button_Click(in Sender : Object, in e : EventArgs)

#Export_button : Button#DropDownList_AttendanceHistory : DropDownList-designerPlaceholderDeclaration : Object

Fin_Aid_Admin_Export

-Page_Init(in Sender : Object, in e : EventArgs)-Page_Load(in Sender : Object, in e : EventArgs)-Initialize Component()

-designerPlaceholderDeclaration : Object

Export_Page

Presentation LayerAdministrative Web Portal

AD_GetCurrentTerm

Student Attendance SystemAdministrative Web Portal

F_ListClassTaught

F_ListClassDetail

F_EditStudentAttendanceEntry

F_ExportClassAttendanceHistory

AD_ListAssociatedTerminalServers

AD_AddNewTerminal

AD_AdministrativeMenu

Student Attendance System – Administrative WebsiteStudent Attendance System – Administrative Website

Welcome to the Student Attendance System Administrative Website

AD_AdministrativeMenu

Associate Readers

Manage Attendance History

Student Attendance System - Associate Terminal ServersStudent Attendance System - Associate Terminal Servers

Student Attendance System

You may utilize this page to associate Check-In terminals to the classroom in which they are located.

Known Terminals:

10.70.10.6/2001

10.70.10.5/2001

10.70.10.1/2002

10.70.10.1/2001

Terminal Address

Room: Wolfson 5420

Room: North 1200

Room: Kendall 9004

Room: Kendall 9001

Terminal Location

[DELETE]

[DELETE]

[DELETE]

[DELETE]

Delete

Add New Terminal Done

AD_ListAssociatedTerminalServers

Student Attendance System - Add New TerminalStudent Attendance System - Add New Terminal

Select Campus Enter Room

OK Cancel

Enter IP Address Enter PortTerminal Address

Location

Student Attendance System - Add New Terminal

AD_AddNewTerminal

-InitializeComponent() : void#OnInit() : void-Page_Load(in sender : object, in e : System.EventArgs) : void-AssociateReaders_Click(in sender: object, in e: System.EventArgs)() : void-ManageHist_Click(in sender: object, in e: System.EventArgs)() : void

-designerPlaceholderDeclaration : object#AssociateReaders : Button#ManageHist : Button

AD_AdministrativeMenu

-InitializeComponent() : void#OnInit() : void-Page_Load(in sender : object, in e : System.EventArgs) : void-AddNewTerminal_Click(in sender: object, in e: System.EventArgs)() : void-DoneTerminals_Click(in sender: object, in e: System.EventArgs)() : void-Delete_Click(in sender: object, in e: System.EventArgs)() : void

-designerPlaceholderDeclaration : object#TerminalAddressGrid : DataGrid#AddNewTerminal : Button#DoneTerminals : Button

AD_ListAssociatedTerminalServers

-InitializeComponent() : void#OnInit() : void-Page_Load(in sender : object, in e : System.EventArgs) : void-OK_Click(in sender: object, in e: System.EventArgs)() : void-Cancel_Click(in sender: object, in e: System.EventArgs)() : void

-designerPlaceholderDeclaration : object#OK : Button#Cancel : Button#IPAddress : TextBox#PortNum : TextBox#CampusSelection : DropDownList#RoomNum : TextBox

AD_AddNewTerminal

Deployment

The Customer’s Expectation

Student / Employee Web Portal

Database

Data Collection Process

Network

College Enterprise System

Web Clients Web Clients Web Clients

Students Faculty Administrators

Student

Student

Student

Student

Deployment DiagramDatabaseServer1

PersistentDataStore

CommandLineUtility

ApplicationServer1

AttendanceHistory

ReaderConfiguration

CheckInProcessing

ApplicationServer2

AttendanceHistory

ReaderConfiguration

CheckInProcessing

WebPortal1

WebPortal

CollegeData

AttendanceHistory

ReaderConfiguration

WebPortal1

WebPortal

CollegeData

AttendanceHistory

ReaderConfiguration

WebPortal1

WebPortal

CollegeData

AttendanceHistory

ReaderConfiguration

DirectoryServer1

DirectorySecurity

Student Attendance System

Thank You