Student Information Management System Design Document Spring Quarter, 2001 April 16, 2001 Document author: Altaf Ahmad Richard Connelly Amy Rathay Diahann Witter SIMS Team: Diahann Witter, Team Leader Altaf Ahmad, Programmer Richard Connelly, Programmer Amy Rathay, Programmer 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: Description: OrderByOn: 8/28/00 9:47:29 AM ELC courses False Def. Updatable: Last Updated: RecordCount: True 3/23/01 10:17:42 AM 70 Columns Name ClassID Descrip Hours ChrgAmt Type Text Text Number (Integer) Currency Size 3 50 2 8 Table Indexes Name Number of Fields PrimaryKey Fields: 1 ClassID, Ascending Table: GRADE Properties Date Created: Description: OrderByOn: 8/28/00 10:01:08 AM Grades for courses False Def. Updatable: Last Updated: RecordCount: True 3/23/01 9:49:19 AM 5 Columns Name Type Size Grade QualityPts Text Number (Long) 1 4 Table Indexes Name Number of Fields PrimaryKey Fields: 1 Grade, Ascending Table: INSTRUCTOR Properties Date Created: Description: OrderByOn: 8/28/00 9:48:11 AM All teaching instructors. False Def. Updatable: Last Updated: RecordCount: True 3/23/01 9:24:37 AM 10 Columns Name Type InstructNum InstructorName FirstName Number (Long) Text Text Table Indexes Name InstructNum Fields: PrimaryKey Fields: Table: LEVEL Number of Fields 1 InstructNum, Ascending 1 InstructNum, Ascending Size 4 50 50 Properties Date Created: Description: OrderByOn: 8/31/00 9:21:23 AM Possible student levels False Def. Updatable: Last Updated: RecordCount: True 3/22/01 4:32:02 PM 10 Columns Name Type LevelAbbreviation FullText Text Text Size 5 50 Table Indexes Name Number of Fields PrimaryKey Fields: 1 LevelAbbreviation, Ascending Table: MOP Properties Date Created: Last Updated: RecordCount: 3/22/01 5:20:03 PM 3/23/01 9:25:23 AM 6 Def. Updatable: OrderByOn: True False Columns Name Type MOP Descrip MOPNum Text Text Number (Long) Size 2 20 4 Table Indexes Name Number of Fields MOPNum Fields: PrimaryKey Fields: 1 MOPNum, Ascending 1 MOP, Ascending Table: PAYMENT Properties Date Created: Last Updated: RecordCount: 3/22/01 5:19:14 PM 3/23/01 10:17:22 AM 2 Def. Updatable: OrderByOn: True False Columns Name Type PayNum PayDate PayAmt MOP StudentNum Number (Long) Date/Time Currency Text Number (Long) Table Indexes Name MOPPayment Fields: PayNum Fields: PrimaryKey Fields: StudentNum Fields: STUDENTPayment Fields: Number of Fields 1 MOP, Ascending 1 PayNum, Ascending 1 PayNum, Ascending 1 StudentNum, Ascending 1 StudentNum, Ascending Size 4 8 8 50 4 Table: QUARTER Properties Date Created: Description: OrderByOn: 8/28/00 9:58:10 AM RIT quarter & code False Def. Updatable: Last Updated: RecordCount: True 3/23/01 10:37:01 AM 13 Name Type Size QtrCode FullText Text Text Columns 5 30 Table Indexes Name Number of Fields PrimaryKey Fields: QtrCode Fields: 1 QtrCode, Ascending 1 QtrCode, Ascending Table: QUARTERLY_COURSE_INFO Properties Date Created: Description: OrderByOn: Columns 8/28/00 9:51:39 AM Courses and their instructors False Def. Updatable: Last Updated: RecordCount: True 3/23/01 10:36:33 AM 3 Name Type QCINum QtrCode ClassID Section InstructNum Number (Long) Text Text Text Number (Long) Size 4 3 3 2 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: Description: OrderByOn: 8/28/00 9:44:53 AM Student's rec., advisor, level, RIT dept by quarter False Def. Updatable: Last Updated: True 3/23/01 10:36:28 AM RecordCount: 9 Columns Name Type QSINum StudentNum Number (Long) Number (Long) Size 4 4 QtrCode Department Advisor Level Recommendation Comments FurtherStudy Text Text Text Text Text Text Text 3 4 50 5 1 255 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: Description: OrderByOn: 8/28/00 10:56:09 AM Possible recommendations False Def. Updatable: Last Updated: RecordCount: True 3/22/01 4:31:48 PM 6 Columns Name Type RecCode Sentence Text Text Size 1 225 Table Indexes Name Number of Fields PrimaryKey Fields: RecCode Fields: 1 RecCode, Ascending 1 RecCode, Ascending Table: REGISTRATION Properties Date Created: Description: OrderByOn: 8/28/00 9:54:30 AM Students and their courses by quarter True Def. Updatable: Last Updated: True 3/23/01 10:36:26 AM RecordCount: 7 Columns Name Type RegNum StudentNum RegDate QtrCode ClassID Section MidtermHomework MidtermTest MidtermAttendance MidtermParticipation MidtermGrade FinalGrade Number (Long) Number (Long) Date/Time Text Text Text Text Text Text Text Text Text Table Indexes Name ClassID Fields: CLASSREGISTRATION Number of Fields 1 ClassID, Ascending 1 Size 4 4 8 3 3 2 2 2 2 2 2 1 Fields: GRADEREGISTRATION Fields: PrimaryKey Fields: QtrCode Fields: STUDENTREGISTRATION Fields: ClassID, Ascending 1 FinalGrade, Ascending 1 RegNum, Ascending 1 QtrCode, Ascending 1 StudentNum, Ascending Table: STUDENT Properties Date Created: Description: OrderByOn: 8/28/00 9:35:51 AM Student personal information False Def. Updatable: Last Updated: RecordCount: True 3/23/01 9:32:52 AM 79 Columns Name StudentNum StudentID FirstName LastName Country NativeLanguage LocalAddr LocalCity LocalState LocalZip LocalPhone HomeAddr1 HomeAddr2 HomeAddr3 HomePhone Email Type Number (Long) Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Size 4 11 20 20 15 15 40 10 2 5 12 50 50 25 15 25 Picture BirthDate Sex OLE Object Date/Time Text 8 1 Table Indexes Name Number of Fields PrimaryKey Fields: StudentID Fields: StudentNum Fields: 1 StudentNum, Ascending 1 StudentID, Ascending 1 StudentNum, Ascending Table: TEST_SCORE Properties Date Created: Description: OrderByOn: 8/28/00 9:39:21 AM Students test scores by quarter (pre & post) False Def. Updatable: Last Updated: True 3/23/01 9:44:32 AM RecordCount: 33 Columns Name Type TestNum StudentNum QtrCode PreOrPost Michigan Ilyin Writing LA Number (Long) Number (Long) Text Text Number (Long) Number (Long) Number (Single) Number (Long) Table Indexes Size 4 4 3 4 4 4 4 4 Name PrimaryKey Fields: QtrCode Fields: StudentNum Fields: STUDENTTEST_SCORE Fields: TextNum Fields: Number of Fields 1 TestNum, Ascending 1 QtrCode, Ascending 1 StudentNum, Ascending 1 StudentNum, Ascending 1 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 highlevel 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. Client Server SIMSObjects SIMSServer Student Ethernet Connection Buffer Students Buffer QSI StudentPersist QSIs TestScore QSIPersist TestScores RegistrationPersist Registration Registrations TestScorePersist SIMSManager ELC Database VB GUI