Home
CS372_Final_Doc2015-02
Contents
1. deployment diagram and component diagram Creately is very simple when compared to StarUML in terms of sophistication It has very limited choices of attributes that can be set for the different components of diagrams 27 and does absolutely no code generation with the diagrams created It is effectively a visual tool only but it does very well in this respect The diagrams created in Creately can be easily modified to fit new themes appear to be very polished and professional visually and can be edited easily by anyone with access to a web browser Since code generation was not part of our requirements when searching for a UML tool we opted to use one that would produce documents of a higher aesthetic quality than that of StarUML Since the functionality of Creately is limited certain parts of our diagrams to not match up with the conventions laid out in class This is because the tool did not allow us to edit the necessary components they were not programmed into the application to begin with This can be seen in our object diagrams X uru 6 1 Register pp Getting The requested format for links in an object diagram is the image on the left This was not possible with Creately and so was approximated as closely as possible pictured on the right Another issue we had with Creately was with the Component diagram The graphics syntax taught in class were different from the ones used in Creately so our c
2. Oms Oms Oms Oms Oms Oms Oms Oms Oms Oms Oms Oms 57 ms 53 ms 24 ms 23 mc Timeline 200 ms 300 ms 400 ms 500 ms 600 ms Aum 0ms 4y 0 ms 46 RAP x V d CS 372 Project Google D x E Software Testing Google x VPageSpeed Insights x Vy eua https developers google com speed pages peed insights url httpX3AX2FX2F2 04 83 93 143 3A10080 2 F amp tab desktop Apps Learn Python Free SGI Employee Login HTPC m Battlestation 7 A naive simulator o EY Clone a Hard Drive Flightradar24 com ex RUFEOV h Nutella Stuffed Bro Fr Rotini Area 52 Home Products Conferences Showcase Live Groups PageSpeed Insights 3 14 204 83 93 143 10080 Mobile Eyl Desktop oxla vl Suggestions Summary El Consider Fixing Eliminate render blocking JavaScript and CSS in above the fold content Show how to fix Leverage browser caching Show how to fix Optimize images Show how to fix Minify CSS Show how to fix v 6 Passed Rules Show details Welcome to R A P 47 8 9 Group Member Contributions 8 All code should be handed in on a flash drive see User Documentation for instructions to access the website Chris Database Management Database Diagrams documentation Implementation debugging Technical Documentation Project Proposal Software Testing Nathan Basically everything Implementation
3. List Scenario 2 student course Student Info request list of student current degree status couses as well as course yet to be taken and are required List of courses taken __ in students current degree student searchs for courses by faculty and subject display search results fo student to review and student selects a course to add to degree verify student selection of course based on student infromation verify the course not been taken Hyh user and that the grade enteredis a passing grade if all pass add the course to the students taken courses list 2 update students degree table online diagramming amp design creately com 20 C Class Diagrams bulas Avandojuppyajeas04 Avanb sasuno9pasanbayo Loyurppe spekserduoypap 35 10 0 1195 02 JunupyAyuan 2 Ojupasunod asuno2paysanbay ojujasinoo UanQuowalayayea o 10559201d 5 n0 ys nb yl si Avanb asunoypaysanbayyoalauy kaaa 8 asuno9pagsanbay oupasunoa anhojurppyayeauo 1 I S bulag nb sino o oju ppe spjalgayajdwoyrayp sauang aSeQEJEUTOS sayan Jabego Lojuruimass 1 1 fung Alandasunoypaysanbayanaujayajea o bulas Anoe sjpafqns uanyaueasayeaso x I 1 asinoppagsanbay uanb ojujasuno gt paysanbayanauqa as noyyas nb y yas n n fung euayiAyme
4. A disadvantage of PHP is that it is not object oriented meaning that the code can t be as organized as compared to it being object oriented 4 CSS We used CSS on the web pages to create the look and format of them It was used to create a professional and clean looking website that is well formatted CSS was a good use since it has multiple libraries that can provide a variety of designs and formats to make a professional looking website Using CSS also provides cross browser functionality to ensure the design and format of the website is available on multiple browsers A drawback of using CSS is that we are limited to the frameworks and designs available in it 29 B Reused algorithms and programs 1 JQuery JQuery is a JavaScript library that simplifies the use of JavaScript code It provides more advanced and cross browser functions that minimize any browser incompatibilities We used JQuery on our web pages to minimize the amount of code and to enhance the functionality of the pages 2 AJAX AJAX enables the ability to send and retrieve data from the server without interfering the display of the current page This means that information can be passed back and forth in the background to and from the server without inconvenience to the student We used AJAX on our web pages to pass information back and forth on our web pages to the server to keep everything up to date as the student edits their courses and degree information 3
5. PHP CRYPT The PHP crypt function encrypts a string using DES Blowfish or MD5 algorithms We used the crypt function to encrypt the passwords for students accounts when being passed back and forth from the students browser to the web server The function enabled us to keep the website secure and safe for all users 4 Reused Code We reused the HTML code from the computer science web page of the bachelor of computer science degree The code was used as the format of the class degree table on the students degree overview page Code was taken from http www cs uregina ca UndergradProgram programs academpro html JQuery DataSheet 5 Mechanize Mechanize is a cross platform library that emulates a web browser In our case we used the Python version to scrape an initial course set from the University course catalog web pages We then used custom Python scripts to analyze the gathered data and generate SQL statements to populate our database with an initial set of course information 30 C Tools environments Web services etc System information for the webserver and database server Ubuntu Server 12 04 4 LTS 64 Bit 1GB RAM 21GB HD Intel R Core TM i3 3220T CPU 2 80GHz One Thread Web Server Apache 2 2 22 Database mysql Ver 14 14 Distrib 5 5 35 1 WinSCP We used WinSCP to connect to the web server and edit our HTML JavaScript and PHP documents 2 HeidiSQL HeidiSQL was used to connect to the database and create an
6. and a 300 level CS course MATH 105 or 110 ATH 111 YU LEN po 5 375 Database and information Retrieval A Ha D Adding a course to a degree Users will navigate to the side bar indicated by the blue arrow and select one or 37 more faculties by clicking and holding the command key this will populate the subject field with subjects from those faculties Science A Selecting one or more subjects and clicking the button labeled pu submit vvill then populate the course table vvith courses of the selected subject From here the user can click the add button indicated by the green arrovv and if the course has not yet been taken the course vvill then be added to the users S 110 Programming and Problem Solving taken course list ge c11N Drneramminc and E Request a Course to be added to Database Users can navigate to the request a course page through the main page Submit A Course tab This will bring up a page that will allow the user to enter information pertaining to each course This My Degree information includes to which Faculty and Subject the course belongs Modify Degree including the prerequisites associated Submit A Course 2 g with the course the course number and a short description of the course To add prerequisites to your submission follow the same procedure for adding a course to a degree Upon clicking the add button the cours
7. courses are still necessary in order to graduate The system accepts completed courses submitted by the user as well as their associated grades Combined with a standard framework the system will return to the user a graphical representation of their current progress through the degree as well as a list of required course that still need to be completed Functional Requirements Two types of Users Admins and Students Functional Requirements for Students gt Sign Up Create account A student is prompted to sign up for an account by filling in appropriate information pertaining to themselves and their education The information they enter will be stored and used to identify the student when they attempt to log in during succeeding sessions 2 Log In If student has previously signed up and created an account they can enter their password and username to access the information they have already supplied as well as manage course schedule If they enter the wrong information display a warning If they reach a threshold for failed attempts lock them out temporarily gt Course Selection A student selects the courses that they have taken and adds grades from a list of courses that the University offers which are filtered by the user gt Search For Courses students should be able to use simple tools to search the given list of courses in order to quickly and easily find the course they are looking for gt Modify Taken Courses Students sh
8. password information is secure Scalability A large number of users accessing our site concurrently is made possible with minimal data queries in order to reduce time spent accessing the database Also since interaction with the database is minimal most of the users time is spent interacting with their own view of the site thus not tying up server resources 15 3 Design Specification Document A Software Architecture System Top Level Architecture Presentation Layer Input from il r User Input Module Display Module information Business Logic Layer Presentation Analysis Processing Logic Module Data Bank Analysis Data Bank Presentation Layer Top Level Architecture from user Input Module e Intended to receive and pre process form information Display module e Intended to take information provided by the transfer module and display it to the screen information Transfer Module e Intended to take information from the presentation layer and transfer it to the business logic Business Logic Business Layer Top Level Architecture information from a Presentation nformation Transfer Layer Module e Intended to receive information from the presentation layer and transfer information back Processing module up to the presentation layer e Intended to take information provided by the transfer module apply Query Module e Intended to take information from the processing module
9. possible pages once logged in so the user will easily be able to see their options Course information pertaining to each student is shown upon login so the user has an immediate view of what they logged in to see Adding courses to a user s degree is accessible from the same page as the degree overview so users can see what classes they need to add as they add them Our software also includes search criteria which can be used so that users can conveniently find a class based on a chosen faculty and subject Robustness Informative error messages are produced when a user tries to submit a form with invalid information This is checked on the submit a course login signup and modify degree forms If a user tries to go straight to a certain page without logging in they are redirected to our login page User requested information is also checked before it is stored in a database so that no unexpected outputs occur Efficiency Our software involves simplistic querying of data so that no bottlenecking occurs Also in an attempt to remove computations AJAX and javascript is only used in situations where it is truly needed like when a form is submitted AJAX and javascript is used to minimize database access when incorrect 14 form information is entered Security User entered information such as login information and grades are stored safely in a database that cannot be maliciously accessed Encryption is also used to make sure that
10. subjectField ANTH facultyField Arts CourseSearchOfUser1 2 StudentPaqeSearchFrameGUl username TheBestStudentEver password email theBest uregina ca searchResults CS100 CS110 CS115 CS201 C8215 C8301 5499 subjectField CS facultyField Science line diagramming amp design creately coin 24 E Component Diagram 102 lufis p y Buruuieieid EM E sfydnbuls dud dnufis 8 duyd asunogyjwans duyd asinogajepn 8 8 sfyuibo dud ulfo E z dud sseloppe 8 s 1eguoJeas sP lqel sinoolil 8 sfasunogueye 10 ppe s apeigajepdn E dudx pul sTAypow m 8 dyd ssegabueyo E E dyd anosdde 8 8 SASINOJMB ABI dydinobo 8 z 8 sf ec dde E dyduaspApow dud esinonMel el weibeig juauodwo F Deployment Diagram promote php modifyUser php submitCourse php Presentation Module ES searchBar js formvalidation is Deployment Diagram PHP SQL lt lt HTML TCP IP E Device User s Computer web browser addToTakenCourses js online diagramming amp design creately com 25 26 4 UML Tools For our profect vve used tvvo distinct UML diagram tools StarUML and Creately StarUML This tool was used to create our use case diagrams and class diagrams StarUML is a povverful an
11. timed out Student is directed to login page Postconditions Users view of courses taken includes newly added course OR Users view of courses taken remains the same Benefiting Actor Student Their course taken page is updated 3 Use Case Review Requested Course Initiating Actor Student wanting to add a non existing course to a list of course options Precondition Student has already logged in Scenario 1 Verify Course Accepted Student views Submit a course page Student enters course number faculty subject prerequisites and a brief description of the course Student presses submit and course is added to pending courses Admin logs on and accesses verify course page in which all pending courses are listed Admin selects a course to verify all information entered by student is displayed Admin believes it s a reasonable course request that is missing from current list of available courses they accept the request and pending course is added to approved course database table Student logs on Course requested becomes a searchable course Scenario 2 Verify Course Rejected Student views course request page Student enters course number faculty subject prerequisites and a brief description of the course Student presses submit and course is added to pending courses Admin logs on Admin accesses verify course page in which all pending courses are listed Admin selects a cours
12. CS372 Software Engineering Project Documentation Registration Assistance Program R A P Dr Samira Sadaoui March 24th 2014 Group Members Anthony Nguyen Chris Arnold Nathan Cherwaty Dawn Buttazoni Mark Comte lan Hauser TI a Table of Contents Eroblem DOPO aanak aaa aaa g 3 Software Requirement Specification Document ak Use Cases AAP ANAN aE Y R 5 b Software Q alitieS uice cu vtto idet Er d aaa tr rre a R 13 Design Specification Document d Software Architecture maa estt rH uin EROR yal 15 bi Sequence dbi is 17 Cs Glass DIaBEAms oar ouai b ta NANAIG 20 d Object Dia orang cn NA NIA LAAN 23 Component Dla ST ams sss aiid a d d fle one SAA 24 f Deployment Diagram mGA GABI BN ANNA NANA 25 UME Tol 26 Technical Documentation a Programming languages b LARDA NGABA AA 28 b Reused algorithms and programs aaa aaa eb need 29 Tools environments Web services etc s s 30 d Database management systems sse nennen 31 User Docurmentatloll ceto teer net er nrbe ki ea edd Por eive a De ua I ECT 33 SoTtuyare Tesiin 42 gp m 47 1 Problem Definition Develop a web based tool for University of Regina Computer Science students capable of tracking a student s progress through their degree giving a list of courses that can be taken and showing which
13. and query the Data Bank and receive the results of query Data Bank 16 Information Screen B Sequence Diagrams Use Case 1 Senario 2 Edit Garde Student Infromation In DataBase Request users taken courses degree table showing taken courses and those still 2 required Return courses taken Student Enters anew grade for a course New Grade is stored in the Students course infromation i Updated course display the ev taken infromation table vvith the updated grade offe online diagramming amp design creately com 17 student er Presentation Request Class addition store request in admin class table bi load user requests table mt with requested courses 1 1 Request table of requested class aditions student fills Dt form with necessary infromation Request table of requested class additions Verify a class of the requested class adition table by accepting or denying the class request load the updated requested class addition table add the course to the pool of avaible courses __loadupdatedrequestedclass ___ table x load updated request class addition table load updated requested class addition table to Student 1 the requestp l searchable and able to be added to a Studnents degree fe online diagramming 4 design creately com 18 Use Case Change taken Course
14. andon this tool early on 10 Google Chrome We used Google Chrome and the Google Chrome developer tools to view and run the test cases for our implemented website The developer tools made it simple to check the performance and network activity of the site and to check and debug the JavaScript and PHP code D Database management system We used MySQL as our database management system MySQL is one of the most used database management systems making it a good choice Since it s so widely used there are a lot of tutorials on how to use it and there are very few bugs Another reason why we chose a MySQL database was because we already learnt how to use it from CS215 m courses taken Y user id INT 10 course id INT 10 grade TINYINT 3 204 83 93 143 PuTTY prerequisites v prereq id INT 10 O course id INT 10 z 2 O prereq course id INT 10 Ps 7 A 2 Cu 2 isRequired TINYINT 3 ional no TINYINT 3 pom course id INT 10 af G course no VARCHAR 5 i oo 9 subject VARCHAR 4 m 9 short description VARCHAR 250 Wag TA _ long description VARCHAR 500 i note VARCHAR 500 1 1 Lul request course prereq Y o request id INT 10 oo kam prereq course id INT 10 users v co 1 1 user id INT 10 ka oo Q first name VARCHAR 50 last name VARCHAR 50 o email VARCHAR 50 o password VARCHAR 128 o isAdmin BIT 1 2 add
15. ctor Student viewing their course page Precondition Student has already logged in Scenario 1 View Student Course Page without the Course Search box populated Student clicks the button to view their course page The web server contacts the database to load the course table of the student 11 The business layer checks the students course table against the current courses required for the degree they have selected if a course in the students course table matches a course in the degree then the course overvievv table on the students vveb page is shovvn vvith course as being taken if all the courses are checked in the students course table against the degree and there are unmatched courses in the degree table then the course overview table on the students web page is show with the unmatched courses as not taken Once all the students courses have been checked the course overview table on the students vveb page is updated Scenario 2 View Student Course Page with the Course Search box populated Student clicks the button to vievv their course page The vveb server contacts the database to load the course table of the student The business layer checks the students course table against the current courses required for the degree they have selected f a course in the students course table matches a course in the degree then the course overview table on the students web page is shovvn vvith course as being taken if all
16. d edit the database tables 3 Notepad Notepad was used to edit HTML JavaScript and PHP files 4 Google Drive All of the group documentations and files were uploaded or created on Google Drive to a shared folder between all the group members Group members were able to edit modify and create documents Using Google Drive ensured that only one document was created between group members and the finished document was worked on and built by multiple members 5 Eclipse Eclipse was used to edit HTML JavaScript and PHP files 6 PuTTY PuTTY was used to connect to the webserver and database server to edit the various files and to test PHP code 31 7 MySQL Workbench MySQL Workbench was used to generate our ERD 8 Sublime Text 2 Sublime Text 2 was used to edit HTML JavaScript and PHP files 9 Drupal Framework Drupal is a free open source web based content management system used as a back end framework providing structure to common web structures such as menu and user management tools Drupal is coded with PHP ensuring cross platform compatibility Drupal offers many features to developers such as code generation automatic web page theming and responsive web page structuring To be able to take full advantage of the benefits of Drupal however requires extensive knowledge of Drupal syntax and file structure Our team attempted to utilize Drupal to aid our development but found the learning curve too steep and decided to ab
17. d free UML toolset that facilitates the creation of 10 different types of UML diagrams Overall vve found it to be fairly simple to learn and easy to use The tool allovvs for extensibility in the form of plugins and supports a Model Driven Architecture MDA approach natively StarUML has a very large problem for our purposes hovvever the diagrams it generates are not at all visually appealing It seems that emphasis is put completely on functionality of this UML tool it has an incredible number of options and properties that can be used to create very complex diagrams This comes at the cost of visual fidelity since the diagrams it produces are very limited in terms of what can be done to make them look professional They generally have a sharp single colour cell shaded appearance that makes the diagrams appear to have been made in a very old program This is why for the most part we chose to use our second UML tool whenever possible Creately This is an online diagram creation application that gives users the ability to easily create diagrams including UML diagrams in their web browser It contains many templates for commonly used diagrams of different kinds and has a very intuitive interface It can be purchased monthly if certain more advanced features are needed however we chose to create free accounts and utilize only the basic functionality that this provides This tool was used to create our sequence diagrams object diagrams
18. debugging Sequence Diagrams Technical Documentation Project Proposal Component Diagram User Documentation Software Architecture Mark Sequence Diagrams Technical Documentation Project Proposal Component Diagram Anthony Class Diagrams Technical Documentation Implementation debugging Project Proposal compiling final project document Dawn Implementation debugging Use Case Diagrams Use Case Specifications Technical Documentation Project Proposal Component Diagram Software Qualities Ian Object diagrams Use Case Diagrams UML tools documentation Technical Documentation Project Proposal Deployment Diagram compiling final project document
19. ding a course to the database Giving a user administrative rights Changing a users password Logging out 34 Regular Users actions A Logging in All users are able to accesses rap through the IP address of http 204 83 93 143 10080 Users will be brought to figure 1 and are able to sign in with an email indicated by the red arrow and password specified by the blue arrow Both email and password are consistent with the indicated email and password combination specified at the time of signup Upon ensuring correct information and clicking the button labeled submit the user will be taken to the home page If the information is incorrect error messages will be displayed above the field that is incorrect If the user is new to R A P they can navigate to the sign up page indicated by the green arrow Don t have an account pas Welcome to R A P 35 B Sign Up Users can sign up for R A P by filling in the information on the sign up page that can be accessed through the login page under the sign up tab Users must enter a first name last name and valid email address in the input boxes The user must select a degree from the drop down box labeled degree type They must also enter their date of birth by selecting a month day and year from the drop down boxes as well as choose a password that must be at least 8 characters long and contain at least one non letter character Upon clicking the
20. e to verify all information entered by student is displayed Admin believes it s an unreasonable course request and presses the deny button Scenario 3 Verify Course Accepted Modify Course request Student views course request page Student enters course number faculty subject prerequisites and a brief description of the course Student presses submit and course is added to pending courses Admin logs on and accesses verify course page in which all pending courses are listed Admin selects a course to verify all information entered by student is displayed 10 Admin changes some of the information entered by user Admin now believes it s a reasonable course request that is missing from current list of available courses they accept the request and pending course is added to approved course database table Student logs on Course requested becomes a searchable course Scenario 4 User isn t logged in Student attempts to view course request page Redirected to login page See login use case Postconditions Course is added to list of courses all Students can choose from Course table in database contains new course Pending course table contains record of student s request OR Pending course table contains record of student s request OR User must login Benefiting Actor Students courses to choose from having taken is now more accurate 4 Use Case View Student Course Page Initiating A
21. e will be shown within the prerequisite area Upon clicking submit and as long as the information is correct the course will be added to a table for an administrator to review Users can review their submissions as 38 well as other users pending requests in the Review Submitted Courses link in the sidebar Submit a Course A Course you ve already taken is missing from our list Adi y id ere Modify Degree Submit A Course Please select the course faculty Science Review Submitted Arts Fine Arts Courses Ed Modify User Please select the course subject Math Stat Log out ENGL Chem Prerequisites Dynamically added from selections Course Number Please entera brief description of the class amp 110 Praarammina and F Review Submitted Courses Users can review the status of their request for course addition by navigating to the Review Submitted Courses tab This page consists of a table of pending request for course additions If a user s course is no longer listed an admin has either accepted the course or rejected the course In the case that a course is accepted it will be added to the pool of valid courses and will be available to be added to a user s degree In the case a course is rejected by the admin the course will no longer be shown in the request course addition table and will not be available to be added to a degree G Log out Once a user is done using R A P they can l
22. ed date TIMESTAMP m grade requirement Y 7 grade id INT 10 Na 9 prereq id INT 10 gt min grade TINYINT 4 CJ subjects v m faculty VARCHAR 30 gt arts elective BIT 1 2 fine arts elective BIT 1 science elective BIT 1 natural science elective BIT 1 1 request course subject VARCHAR 4 kum request id INT 10 9 user id INT 10 9 subject VARCHAR 4 2 course no VARCHAR 5 short description VARCHAR 250 o long description VARCHAR 500 gt note VARCHAR 500 isApproved BIT 1 request date TIMESTAMP 32 33 6 User Documentation R A P or Registration Assistance Program is a degree tracking system is a system meant to aid University of Regina students in tracking and calculating their degree These include tracking courses taken courses needed for completion on the degree and lastly course grades and current GPA Users can access R A P at IP addresses 204 83 93 143 10080 R A P has three main pages in which the user can access as well as two additional pages for administrators This user manual will describe the operations and basic actions available on each page such as A Regular Users Logging in Signing up Viewing your degree Adding a course and or grade to your degree Request a Course to be added to Database Viewing requested course table Logging out Administrators Reviewing the requested course additions submitted by users Ad
23. information relating to the course Courses requested by all users Admin view C Giving a user administrative rights An administrator can grant user administrative rights by navigating to the Modify User tab in the sidebar This will load a page that populates a table full of users The administrator can browse all of the users and grant administrative rights to a user by clicking a promote button next to a user s name Administrators can also demote users taking away administrative rights by clicking the demote button next to their name Promote a User modify users permissions fester meTesterson kecreu2etesccom Pb lus hoop yuxun uu re EESE A Changing a users password Administrators can also change a users password on the same webpage modify User by clicking changePass button next to the users name and entering the a new password in the pop up box A Logging out Administrators can log out the same way regular users log out by navigating to and clicking the log out tab 41 42 7 Software Testing Software Test Cases a Correctness testing with some data tests at least 5 test cases 1 Arequired class when added should appear on main screen with correct color An added elective should appear in the correct spot on the main screen The same course should not appear more than once on a degree listing Overall average should be correctly co
24. j euayiopalgns 1055320495INO0 MA1ABYUNUPY Salant 108592044 5 0 saua saand T T0 T uoissag as Buts pewa Buys puomssed Huys sawewasn uanduasp ppyayeaso uus l n l n p n lasnpper fung asino ppvojasunoo uentojurppvaneene A uonewoyupyuen DUNG jeu bulas gms LOJUTppe4 T powssed ung puomssed spjetaagapduuorypape lt ug aueujesn Buys awewasn asinoppagsanbay ojuresinoo 8 Jossan0squibo n si Jossan0 quonensibaysash Jossano gasunogppyulupy Ko Q Processing 21 Interface Analysis 22 23 D Object Diagrams Instance of Student registration and simple Course request verification CS372 TakenCourse Reqistration1 UserReqistrationProcessor grade 79 0 username TheBestStudentEver subject Computer Science 3 j ComputerScienceBachelor Degree classNumber 372 faculty Computer Science coursesRequired prerequisite C9215 1 5110 5115 ENGL100 ENGL 150 note CS408 OR 5409 OR CS 415 Registers Student1 Student classesTaken CS110 CS115 CS201 ENGL100 ENGL150 C8215 degree ComputerScienceBachelor password email theBest uregina ca CS411 RequestedCourse creator Student1 approver default accepted false username TheBestStudentEver Review1 AdminReviewCourseProcessor password email theBest uregina ca course
25. lnfo 5411 Admin1 Admin Review1 AdminReviewCourseProcessor username TheBestAdminEver courselnfo CS411 subject Computer Science RequestFor classNumber 411 faculty Computer Science prerequisite CS280 5301 note password email theBestAdmin uregina ca online diagramming amp design creately com Instance of Session and Frame classes RequestPageOfStudent1 UserRequestCoursePaqeGUl CS411 RequestedCourse subjectField Computer Science courseNumberField 411 facultyField Computer Science prerequisiteFields CS280 CS301 courseSearch CourseSearch1 LoginPageOfStudent1 UserLoqinPaqeGUl usernameField TheBestStudentEver passwordField attempts 3 creator Studenti approver default accepted false OverviewPageOfStudent1 StudentOverviewPageGUI currentUser Studenti subject Computer Science classNumber 411 faculty Computer Science prerequisite CS280 5301 note PartOfSession currentUser Student1 currentUser Student CoursesOfUser1 CoursesTakenFrameGUl coursesTaken 4C8110 C8115 C8201 ENGL100 ENGL150 C8215 CourseSearchOfUser1 1 CoursePaqeSearchFrame Session1 Session currentUser Student1 Student1 Student classesTaken CS110 CS115 CS201 ENGL100 ENGL150 CS215 BelonasTo degree ComputerScienceBachelor searchResults ANTH100 ANTH101 ANTH120 ANTH407 7 ANTH498 ANTH499
26. mputed and displayed UB ww Search menu should correctly filter and display courses b Robustness testing with some incorrect data at least 5 test cases 1 Try to login with incorrect password Try to login with incorrect username Try to enter invalid grade Request a missing course that already exists UB wN Request a missing course with incorrect data Admin Rejection c Performance testing with some benchmarks at least 5 test cases 1 Handle 2 number of simultaneous users 2 Pages should load in at least 2 seconds 3 Search menu should be fast and responsive 4 Database should be able to respond and load requests from the web server in at least 2 seconds Test Input Data Output Data Correct Behaviour Case a1 Add CS 110 CS 110 Changes from red to Yes green Add ASTR 101 ASTR 101 appears as Natural Yes Science elective Add CS 110 twice It only shows up as CS 110 Yes and not as an elective as well Input class grades Computed average displayed Click Science faculty Then Class number only shows CS e las l Test Input Data Output Data Correct Case Behaviour Enter incorrect Re direct to home page and display passvvord and try to incorrect login message login b2 Enter incorrect Re direct to home page and display Yes username and try to incorrect login message login b3 Try to enter grade less Display incorrect grade error message Yes than 50 or a string l l Submit a missing course Page submit
27. og out of their 39 session by navigating to the log out tab located in the side bar above the filter course area Administrative Actions Administrators may perform all the actions of a regular user by following the same procedures However administrators have special rights while adding a course to the database as well as reviewing the requested course addition table Administrators are also able to promote and demote users to administrators Administrators are also able to change the password of a user A Adding a Course to the database Administrators follow the same procedure as regular users when it comes to adding a course to the database on the Request a Course Addition page However instead of the course being added to the request a course addition table it will be added straight to the pool of available courses B Reviewing requested Course Addition table Administrators will navigate to the same Review Submitted Courses tab in which all users are able to see courses submitted for review The administrator will have an additional table column however with accept or deny buttons If the information is correct the administrator can add the course to the pool of available courses by clicking the accept button Conversely if the information is not correct the administrator can reject and delete the course request by clicking the deny button Or Administrators can click 40 modify to change the
28. omponents do not appear as they should This shows how both tools have usefulness but lacked important aspects preventing us from making all of our diagrams using a single tool 28 5 Technical Documentation A Programming languages 1 HTML5 We used HTML to create our web pages that are displayed on the students machine HTML is the latest adaptation of HTML making it much more versatile It enables cleaner and neater code from being able to use the semantic HTML5 elements Since HTML5 is being used on more and more websites it creates consistency between sites allowing developers and programmers to understand the code a lot better Using HTML5 helped us create a more versatile website that is consistent well formatted and easy to understand 2 JavaScript We used JavaScript on our web pages to make them more functional in their responses to the students actions Since JavaScript is on the client side it can run functions immediately instead of having to contact the server to run functions JavaScript is relatively simple to learn and can be easily implemented A disadvantage of JavaScript are its lack of security since itis run on the student s computer 3 PHP We used PHP to interact with our MySQL database It enabled us to pass information back and forth between the students browser the web server and the database with relative ease PHP provides of a variety of security functions to ensure secure transfer of information
29. ould be able to remove their previously added courses or update their marks for those courses gt Request Course If a course that is not among the list of offered courses students should be able request that an admin add this course Functional Requirements for Admins gt Log in An admin responsible for software maintenance can log in using a special admin account gt Add Course add a new course to the system easily 2 Reset Passwords If a user or other admin has forgotten a password an admin could reset it gt Review Requested Course Admin should be notified in list format when users create new courses The admin can then review the information and add a verification stamp if the course information is correct edit the submitted course or delete the course if the information is incorrect 2 Promote Users An admin should be able to change the roles of a user from student to admin or demote an admin to a student Qualities Required gt Correctness Software produces the correct averages and course information pertaining to each student Display prerequisites to the user when adding courses that require other classes 2 User Friendly The software displays the information in a logical manner that makes it easy to read and manage the user s information The software must also make it easy to view and add new courses 2 Robustness Errors such as improper login produce messages to the user and don t cause unexpected result
30. ropriate grade Scenario 4 Student session timed out Student is directed to login page Scenario 5 Student has no courses taken No option to modify courses displayed Postconditions Student removes a course from course taken list OR Student successfully edits grade on a taken course OR Student list of taken classes remains the same Benefiting Actor Student Their course taken page is updated 2 Use Case Add Course Initiating Actor Student wants to add a course to taken course list Preconditions User has already logged in Scenario 1 Add Course List of courses student has previously specified as taken is shown as well as courses that are still required a course search bar is displayed Student specifies search criteria from the corresponding menus A list of courses corresponds to the search criteria is populated in the search sidebar Student selects the course from the list of populated courses Specified course is verified and added to list of courses taken by student Scenario 2 Desired Course does not exist List of courses student has previously specified as taken is shown as well as courses that are still required a course search bar is displayed Student specifies search criteria from the corresponding menus A list of courses corresponds to the search criteria is populated in the search sidebar Course that student is searching for is absent from populated list Scenario 3 Student session
31. s Web based input should be cleaned and trimmed to accepting erroneous input as valid gt Scalability Software must be able to accommodate a large number of users concurrently gt Security User information such as login information is stored safely in a database that cannot be maliciously accessed 2 Software Requirement Specification Document A Use Cases Student Use Case Diagram Administrator Use Case Diagram 1 Use Case Modify Course Initiating Actor Student wants to remove class from classes taken list or add a mark Preconditions User has already logged in and has previously added classes Scenario 1 Remove Course Student views course page List of courses student had previously specified as taken is shown Student selects a course from the list of courses they have taken Specified course is removed from list of courses taken by student Scenario 2 Edit Grade Student views course page List of courses student had previously specified as taken is shown Student selects a course from the list of courses they have taken and enters their grade received Specified course is updated to contain the grade entered Scenario 3 Invalid Grade Entered Student views course page List of courses student had previously specified as taken is shown Student selects a course from the list of courses they have taken and enters an invalid grade Error message is displayed to student requesting app
32. s and is added to the Y using the missing course administrators add course queue page Correct data Admin then accepts valid request and it appears as an addible course Submit a missing course Page submits and is added to the Y using the missing course administrators add course queue page Incorrect data Admin then rejects invalid request and itis not added as an addible course Test Input Data Output Data Correct Case Behaviour 2 users logged in at the Each user should have full access to same time the site and not notice diminished performance c2 Web page is requested Page completely loads in under 2 Yes seconds Click a faculty and The menu appropriately loads the list subject and the boxes in real time appropriate menu Fill in a submit a course After the submit button the next page Y web page should load in under 2 seconds 43 An extra testing method was used for the efficiency and organization of our code This was done through Google Developper s PageSpeed Insights giving us an overall rating of 83 100 and showing the access speeds for the different pages of our system 44 45 6 Y Preserve log Name Path Method index php GET test css familysSource Sans Pro 400 400it css GET fonts googleapis com jquery min js cer test js skel min 5 skel min js GET test js skel panels min js 35 GET test js init js GET test js css style c
33. ss GET test css css style desktop css GT test css wide css style vvide css GET test css jquery min js 2 ajax googleapis com ajax libs jquery 1 1 VET fillCourseTable js JS GET test js addToTakenCourses js 35 GET test js UpdateGrade pdateGrade js GET test js 3 searchbar js GET test js J jquery min map ajax googleapis com ajax libs jquery 1 1 ti ph p courses php POST tact nhn 17 requests 3 8KB transferred 529 ms load 630 ms Status Text 200 OK 200 OK 304 Not Modified 304 Not Modified 304 Not Modified 304 Not Modified 200 OK 200 OK 200 OK 304 Not Modified 304 Not Modified 304 Not Modified 304 Not Modified 304 Not Modified 304 Not Modified 200 nv Type text html text css application application application application text css text css text css text javasc application application application application application text html DOMContentLoaded 533 ms Initiator Size Content 3 2KB 1L4KB from cache from cache from cache from cache from cache from cache from cache from cache from cache from cache from cache from cache from cache 164B 137KB 431B 1n Time Latency 84ms 39ms Oms Oms Oms Oms Oms Oms Oms Oms Oms Oms Oms Oms Oms Oms
34. submit button the user will be redirected to the login page however if any information is rejected an error message will be displayed above the corresponding field Features of R A P Track your degree Please fill out the following information to sign up progress First Name Manage your marks and averages Last Name View classes still required fordegree Email Address Degree Type B Sc Major in Computer Science Date of Birth Month January Day 1 Year 2012 Password Re Type Password C Viewing your degree Once logged in users will be able to view their main page Users can begin to add courses to their degree from this page Courses taken will be indicated by the green tint within the course cell Courses that have yet to be taken are indicated by red tint My Degree testing Modify Degree Submit A Course Review Submitted imani ay 5 201 introduction to Digital Systems Courses Modify User 5 210 Data Structures and Abstractions Log out S 215 Web Oriented Programming d 5 280 Risk and Reward in the information Society S 301 Digital Systems Architecture zm S 310 Discrete Computational Structures Science Arts Fine Arts Ed S 330 Introduction to Operating S puter Networks S 340 Advanced Data Structures and gorithm Design 5 350 Programming Language Concepts 5 372 Software Engineering Methodolog O level CS course S 110 Programming
35. the courses are checked in the students course table against the degree and there are unmatched courses in the degree table then the course overview table on the students web page is show with the unmatched courses as not taken Once all the students courses have been checked the course overview table on the students vveb page is updated Student chooses the faculty and subject to search in the search field Based on what the student chose as the faculty and subject the web server 12 contacts the database and requests all the courses in the subject selected The database sends the information to the web server The web server then populates the search table with the courses received from the database Postconditions View of courses is up to date Student can search for classes Benefiting Actor Students they have a graphical view of their degree 13 B Software Qualities Correctness Our software demonstrates correctness by always displaying proper information This means once the user logins in it produces the correct average and course information pertaining to that particular student as outlined in our functional requirements Also when the user tries to find courses to take no courses are suggested unless the required prerequisites are met User Friendliness The graphical interface of our software has a very clean look and easy for users to navigate through A sidebar on the left will be used to navigate between all
Download Pdf Manuals
Related Search
CS372_Final_Doc2015 02
Related Contents
MANUAL DO UTILIZADOR PRINCIPAL Sony 53S75 Projector User Manual Technoline KT-100 Originalbetriebsanleitung ZapfpistOlEn Operating instructions SYBR® Premix Ex Taq ™ II (Tli RNaseH Plus) Untitled Sartorius WDS 400 Alpine IDA-X305S car media receiver American Sensor SA379 User's Manual Copyright © All rights reserved.
Failed to retrieve file