Student Information Management System
Design Document
Spring Quarter, 2001
April 16, 2001 SIMS Team:
Diahann Witter, Team Leader
Document author: Altaf Ahmad, Programmer
Altaf Ahmad Richard Connelly, Programmer
Richard Connelly Amy Rathay, Programmer
Amy Rathay
Diahann Witter
Project Sponsor:
English Language Center at Rochester Institute of Technology
Contents
Proposed System Description
High-Level Architecture Design
Design Specification – Class Diagrams
User Interface
The Proposed Student Information Management System
Physical System
The proposed physical system will be the same as the current system.
Logical System
The proposed logical system will keep the information centralized on a single machine while allowing users to access that information from their own workstations. There will be an optimized database on the server and an improved user interface on each client machine.
Functional Specifications
The system will allow multiple users to view English Language Center data from their own PC through an intuitive user interface. Selected users will also be able to add and update information in the system.
The system will be used to keep information the following types of information:
· Students
· Instructors
· Classes
· Test scores
· Grades
· Recommendations
· Billing
· Course registration
· Quarterly information
The system will also generate printable reports for use by ELC staff.
· Class List
· Class Counts
· Maximum test scores by quarter and level
· Final grade report
· Bar Graphs indicating attendance by quarter, year, full or part time status
· Tracking report of a potential student’s first inquiry to actual registration, inclusive of any information required.
The system must also implement a secure log in system with the following categories of user access level:
1) Admin – can perform administration duties like assigning new log-ins
2) Data Entry – can enter data into the database
3) View – can only view reports
Data Dictionary
Table: CLASS
Properties
Date Created: 8/28/00 9:47:29 AM Def. Updatable: True
Description: ELC courses Last Updated: 3/23/01 10:17:42 AM
OrderByOn: False RecordCount: 70
Columns
Name Type Size
ClassID Text 3
Descrip Text 50
Hours Number (Integer) 2
ChrgAmt Currency 8
Table Indexes
Name Number of Fields
PrimaryKey 1
Fields: ClassID, Ascending
Table: GRADE
Properties
Date Created: 8/28/00 10:01:08 AM Def. Updatable: True
Description: Grades for courses Last Updated: 3/23/01 9:49:19 AM
OrderByOn: False RecordCount: 5
Columns
Name Type Size
Grade Text 1
QualityPts Number (Long) 4
Table Indexes
Name Number of Fields
PrimaryKey 1
Fields: Grade, Ascending
Table: INSTRUCTOR
Properties
Date Created: 8/28/00 9:48:11 AM Def. Updatable: True
Description: All teaching instructors. Last Updated: 3/23/01 9:24:37 AM
OrderByOn: False RecordCount: 10
Columns
Name Type Size
InstructNum Number (Long) 4
InstructorName Text 50
FirstName Text 50
Table Indexes
Name Number of Fields
InstructNum 1
Fields: InstructNum, Ascending
PrimaryKey 1
Fields: InstructNum, Ascending
Table: LEVEL
Properties
Date Created: 8/31/00 9:21:23 AM Def. Updatable: True
Description: Possible student levels Last Updated: 3/22/01 4:32:02 PM
OrderByOn: False RecordCount: 10
Columns
Name Type Size
LevelAbbreviation Text 5
FullText Text 50
Table Indexes
Name Number of Fields
PrimaryKey 1
Fields: LevelAbbreviation, Ascending
Table: MOP
Properties
Date Created: 3/22/01 5:20:03 PM Def. Updatable: True
Last Updated: 3/23/01 9:25:23 AM OrderByOn: False
RecordCount: 6
Columns
Name Type Size
MOP Text 2
Descrip Text 20
MOPNum Number (Long) 4
Table Indexes
Name Number of Fields
MOPNum 1
Fields: MOPNum, Ascending
PrimaryKey 1
Fields: MOP, Ascending
Table: PAYMENT
Properties
Date Created: 3/22/01 5:19:14 PM Def. Updatable: True
Last Updated: 3/23/01 10:17:22 AM OrderByOn: False
RecordCount: 2
Columns
Name Type Size
PayNum Number (Long) 4
PayDate Date/Time 8
PayAmt Currency 8
MOP Text 50
StudentNum Number (Long) 4
Table Indexes
Name Number of Fields
MOPPayment 1
Fields: MOP, Ascending
PayNum 1
Fields: PayNum, Ascending
PrimaryKey 1
Fields: PayNum, Ascending
StudentNum 1
Fields: StudentNum, Ascending
STUDENTPayment 1
Fields: StudentNum, Ascending
Table: QUARTER
Properties
Date Created: 8/28/00 9:58:10 AM Def. Updatable: True
Description: RIT quarter & code Last Updated: 3/23/01 10:37:01 AM
OrderByOn: False RecordCount: 13
Columns
Name Type Size
QtrCode Text 5
FullText Text 30
Table Indexes
Name Number of Fields
PrimaryKey 1
Fields: QtrCode, Ascending
QtrCode 1
Fields: QtrCode, Ascending
Table: QUARTERLY_COURSE_INFO
Properties
Date Created: 8/28/00 9:51:39 AM Def. Updatable: True
Description: Courses and their instructors Last Updated: 3/23/01 10:36:33 AM
OrderByOn: False RecordCount: 3
Columns
Name Type Size
QCINum Number (Long) 4
QtrCode Text 3
ClassID Text 3
Section Text 2
InstructNum Number (Long) 4
Table Indexes
Name Number of Fields
InstructNum 1
Fields: InstructNum, Ascending
INSTRUCTORQUARTERLY_COURSE_I 1
Fields: InstructNum, Ascending
ItemNum 1
Fields: ClassID, Ascending
PrimaryKey 1
Fields: QCINum, Ascending
QCINum 1
Fields: QCINum, Ascending
QtrCode 1
Fields: QtrCode, Ascending
Table: QUARTERLY_STUDENT_INFO
Properties
Date Created: 8/28/00 9:44:53 AM Def. Updatable: True
Description: Student's rec., advisor, level, RIT Last Updated: 3/23/01 10:36:28 AM
dept by quarter
OrderByOn: False RecordCount: 9
Columns
Name Type Size
QSINum Number (Long) 4
StudentNum Number (Long) 4
QtrCode Text 3
Department Text 4
Advisor Text 50
Level Text 5
Recommendation Text 1
Comments Text 255
FurtherStudy Text 175
Table Indexes
Name Number of Fields
LEVELQUARTERLY_STUDENT_INFO 1
Fields: Level, Ascending
PrimaryKey 1
Fields: QSINum, Ascending
QtrCode 1
Fields: QtrCode, Ascending
RECOMMENDATIONQUARTERLY_STU 1
Fields: Recommendation, Ascending
StudentNum 1
Fields: StudentNum, Ascending
STUDENTQUARTERLY_STUDENT_INF 1
Fields: StudentNum, Ascending
Table: RECOMMENDATION
Properties
Date Created: 8/28/00 10:56:09 AM Def. Updatable: True
Description: Possible recommendations Last Updated: 3/22/01 4:31:48 PM
OrderByOn: False RecordCount: 6
Columns
Name Type Size
RecCode Text 1
Sentence Text 225
Table Indexes
Name Number of Fields
PrimaryKey 1
Fields: RecCode, Ascending
RecCode 1
Fields: RecCode, Ascending
Table: REGISTRATION
Properties
Date Created: 8/28/00 9:54:30 AM Def. Updatable: True
Description: Students and their courses by Last Updated: 3/23/01 10:36:26 AM
quarter
OrderByOn: True RecordCount: 7
Columns
Name Type Size
RegNum Number (Long) 4
StudentNum Number (Long) 4
RegDate Date/Time 8
QtrCode Text 3
ClassID Text 3
Section Text 2
MidtermHomework Text 2
MidtermTest Text 2
MidtermAttendance Text 2
MidtermParticipation Text 2
MidtermGrade Text 2
FinalGrade Text 1
Table Indexes
Name Number of Fields
ClassID 1
Fields: ClassID, Ascending
CLASSREGISTRATION 1
Fields: ClassID, Ascending
GRADEREGISTRATION 1
Fields: FinalGrade, Ascending
PrimaryKey 1
Fields: RegNum, Ascending
QtrCode 1
Fields: QtrCode, Ascending
STUDENTREGISTRATION 1
Fields: StudentNum, Ascending
Table: STUDENT
Properties
Date Created: 8/28/00 9:35:51 AM Def. Updatable: True
Description: Student personal information Last Updated: 3/23/01 9:32:52 AM
OrderByOn: False RecordCount: 79
Columns
Name Type Size
StudentNum Number (Long) 4
StudentID Text 11
FirstName Text 20
LastName Text 20
Country Text 15
NativeLanguage Text 15
LocalAddr Text 40
LocalCity Text 10
LocalState Text 2
LocalZip Text 5
LocalPhone Text 12
HomeAddr1 Text 50
HomeAddr2 Text 50
HomeAddr3 Text 25
HomePhone Text 15
Email Text 25
Picture OLE Object -
BirthDate Date/Time 8
Sex Text 1
Table Indexes
Name Number of Fields
PrimaryKey 1
Fields: StudentNum, Ascending
StudentID 1
Fields: StudentID, Ascending
StudentNum 1
Fields: StudentNum, Ascending
Table: TEST_SCORE
Properties
Date Created: 8/28/00 9:39:21 AM Def. Updatable: True
Description: Students test scores by quarter Last Updated: 3/23/01 9:44:32 AM
(pre & post)
OrderByOn: False RecordCount: 33
Columns
Name Type Size
TestNum Number (Long) 4
StudentNum Number (Long) 4
QtrCode Text 3
PreOrPost Text 4
Michigan Number (Long) 4
Ilyin Number (Long) 4
Writing Number (Single) 4
LA Number (Long) 4
Table Indexes
Name Number of Fields
PrimaryKey 1
Fields: TestNum, Ascending
QtrCode 1
Fields: QtrCode, Ascending
StudentNum 1
Fields: StudentNum, Ascending
STUDENTTEST_SCORE 1
Fields: StudentNum, Ascending
TextNum 1
Fields: TestNum, Ascending
File Structure
Clients
Two files: executable user interface and active X .dll for user interface business logic
Server
The Access database will reside on the server with an active X .dll that the client side .dll will access the database through.
Non-functional Requirements
Because there is data still being used in the current database, the existing data will have to be imported into the new database when the system is completed.
System Evolution
Although it’s not possible to anticipate all the possible changes and problems that will effect the system in the future, there are a few foreseeable improvements that can be made.
The billing included in the proposed system is simplified because of time constraints. The proposed system will provide the ELC with what they need to track billing in the system. However, it’s foreseeable that billing methods may change or become more complex in the future. Therefore billing is an area that may need remodeled or added to later on.
ELC administrators and employees may find that they would like additional reports or graphs available to them. Once the groundwork is laid for providing the reports proposed for the system, it will be simple to add addition reports or graphs that are requested. On a similar note, the proposed system will track the number of students who register with the ELC, but never sign up for instruction. It may become necessary in the future to track students in other ways as well. The complexity of adding the new tracking methods will vary according to each method.
This proposed system does not include a web interface. The world is becoming very web oriented and it’s highly likely that there will be need for a web interface in the future. Because of the design of the proposed system, a web interface can be added later. The proposed system is designed in such a way that the user interface is separate from all the business logic and data processing parts of the program and can easily be replaced. Therefore the only foreseeable difficulty in adding web capabilities is that additional hardware and software configuration will be required for the web server.
The Student Information Management System uses the Component-based Scalable Logical Architecture to modularize the information allowing easy maintenance and a high degree of scalability. A set of clients are connected to a server that provides a gateway to the information stored in a Database that contains information about students, the classes they are taking, test scores, etc.
The SIMSManager provides a User Interface that allows an ELC employee to request data about a particular student. That request is sent to the appropriate object in the SIMSObjects component, and the object’s state is serialized by a Buffer and sent across the network. Another Buffer in the SIMSServer component de-serializes the object’s state and updates the appropriate object’s Persist object by querying the ELC Database. Once the data is populated in the object’s Persist object, the SIMSServer Buffer serializes the data and sends it back over to the SIMSObjects Buffer. That Buffer de-serializes the data and populates the appropriate object, which is then sent back to the SIMSManager and displayed to the user.
The user may request a report to be generated that requires information about many different objects, so a collection is used to hold all the information of a particular object. For example, an ELC employee may request a report that includes a list of all students enrolled in a particular class. The request is sent through as above, however instead of being displayed to the user at the end, for each record returned from the database a student object gets added to the Students collection. That collection, in turn, is used to generate the report.
Design Specification – Class Diagrams
The user interacts with student object almost exclusively. All other objects are valued and measured by their relationship with the student object.
The class object can be updated and utilized without reference to a student or students, but it is only significant to the user when the class object is related to the student(s) through the Registrations.
All tables (and objects) are updateable. Some tables are static with most actions. However, the most often cases are described here.
The User Interface
The Student Information Management System (SIMS) will be implemented in a Multiple Document Interface (MDI) style. The picture below is illustrative of the type of content screen
that the users will see. There will be added enhancements on the welcome screen.
The start-up screen of the SIMS will display a logon form for signing into the system. Upon authorization, a form showing the high-level system functions will be shown.
All of the functions in the GUI will be available through a set of menu items on the main menu bar of the application.
Most of the functions in the SIMS application will be available through a series of child forms.
Users will be able to look up individual student records by going through a prompt for the ID number. The record will be displayed in a pop-up child form with the information categorized according to topic in a tabbed-panel fashion.