SPECIFICATION--Online Registration System proposed by Ning Ge (nige) 1) overview of the project 2) system model diagram 3) user interface diagrams 4) descriptions of diagrams above 6) non-functional requirements 7) Updated requirements (with priorities) 8) Risks 1 Overview As Internet become more and more important in people's life, universities throughout the country are moving their administrative services online. Brown University students can now check their fellow student's current phone number, dorm location, concentration and graduation date, etc online. They can also view the grades and registration status online. But to register for classes, Brown students still have to go to the registrar's office multiple times every semester. This project is intended to move the whole registration process online, including the pre-registration process and the add/drop of courses at the beggining of every semester. With this system, students can not only register for courses online, but also check their grades, order transcripts online. Professors can also use this system to post grades and access course registration information. --Target Users The system is targeted at students and professors of universities throughout the country. Many universities, including Brown, are not yet providing this service to students and faculty members. --------------------------- 2 System Model Diagram database | | __________________________ | | | | | | | | Registration Grades Security Admin | (login) | | | | | | | | | __________________________ | | Server | | Web 2.1 Database This database should be designed so that access to database could be fast and efficient. Since each Brown student has a unique ID, student ID and Course numbers could be used as KEYs of the database. Administrators should be able to update and maintain the information in the database. 2.2 Registration This module is the most important part of this project, after all this is the online registration system. This module handles requests from the server and allows users to view and change registration information. This includes courses, grade options, sections, permission, waitlist, and possible lottery information. Students could add/drop courses, change grade options, add to waitlist and view lottery results. Professors could view the number of students registered in the course they are teaching, set up waitlist and conduct lotteries if neccessary. Professors could also view their advisee's pre- registration information and sign it. Everytime a student change his/her registration information, an conformation e-mail will be sent to his/her mailbox. 2.3 Grades This module handles requests from the server and allows users to view and change grade information. Students can view grades from past years and order transcripts online. Professors can posts grades online. 2.3 Security (login) This module will handle the security part of this system. It will use username and passward to allow access to valid users. Once users login, they will be given a one time random id. 2.4 Admin This module will allow administrators to access and update information in the database. Administrators will be able to add/delete and update databases. 2.5 Server The server handles user requests, parses them and then call corresponding methods in other modules in order to get information from the database. 2.6 Web (UI) The web, or UI, is very important. It's going to be done in HTML and data will be handled using CGI script. 3 User Interface Diagram After login -------------------------------------------- | menu | | | | | Reg(pic) | Grade(pic) | | Reg | | | | Grade|-----------------------------------| |logout| | | | | | | | | | | -------------------------------------------- registration -------------------------------------------- | | Student name(etc) | | Reg | Cour# GraOp. Sect. Per. | | Grade| CS190 G 01 N/A drop? | |logout| EC179 G 01 N/A drop? | | | | | | add ______(course number) | | | | -------------------------------------------- 4 Brief Description This is a web-based interactive CGI system. The UI is intended to be simple and user friendly. Once a user get to the web page, he/she can use NetID and passward to log on to the page. Then user can choose what modules they are interested in and click on the corresponding link. The link will bring the user to the page containing user's information. If the user changed any info, a confirmation e-mail will be sent to the user's chosen mail-box. --------------------------------- 5 Non-functional requirements 5.1 Performance --the response speed should be fast --this system should be reliable and secure --this system must be easy to intergrate with existing database --all the requirements mentioned above should be fully functioning 5.2 Testing Brown students, as potential target users, could help to test this system so that we can find out if it is stable under heavy load. Permission to link to the student and course database may be neccessary for testing, or we can make some dummy data for testing purpose. --a dummy database and some dummy data could be used to test the modules --brown students could help to test and web page and server 5.3 Reliability Since this program is designed to view/update important information, it's important that it's reliable. Information read from and written to the database has to be accurate and the server should be able to hold a fare number of users. Concurrent executions are possible, so it's neccessary to keep the database in consistency. 5.4 Ease of use The web page design is intended to be simple and user friendly. My vision of the web page doesn't contain a lot of fancy graphics. Most information is displayed using simple tables that are clear and easy to read. 5.5 Portability This is a web-based program, any valid user with internet access should be able to access this web page. 5.6 Documentation Documentation will be mostly focused on the back end, since there is not much to say about the interactive web page. Most documentation will be on modules that access the database. These modules have scripts that read from/write into the database and thus are very important in making the program reliable. 5.7 Dependencies on other systems This program does depend on the database and how it's designed. Within the CS190 scope, we will probably make up a dummy database with some fake data. But we should definitely try to make the database structure efficient and easy to maintain. -------------------------- 7 Updated Requirements and Features (with priorities) --For Students --Online course registration. - course pre-registration Top priority - adding, dropping, changing sections Top priority - changing grade options of a course Top priority - adding to wailists Mid priority - get permission for a course Mid priority --Access to registration information - courses registered Top priority - grade option Top priority - permission Mid priority --Access to student grades for past semesters. - grades from past semesters Top priority - GPA calculator low priority --Ability to order transcripts and requests for verifications of enrollment. - number of copies, address mid priority --Online concentration declaration. low priority --For Professors --Access to registration information Top priority - number of students registered in the course and their information (year, concentrator or not, etc) --View advisee's pre-registration profile and sign it online Top priority --set up waitlist and lottery Mid priority --post grades online Top priority --For Administrators --Update database Top priority * Extended feature: --could be linked with existing systems, such as BOCA, so that students can register for a course when surfing the course announcement website. --could warn user if user is registering courses that have conflict schedule --have nicer UI with more graphics ------------------------------ 8 Risks Security is a big problem in this project. Since posting grades online is one of the requirements of this project, some really important information is now accessable online. I am not very familiar with web page security issues, but it seems to be quite difficult to make it 100 percent secure.