360 likes | 382 Vues
Kevin Sung's master's project involves creating a comprehensive Student Curriculum Planning System (SCPS) to streamline course planning and communication between advisors and students. The system, implemented under the .NET Framework, provides auto-generated course plans, real-time prerequisite checks, and user-friendly interfaces for course selection and modification. SCPS ensures efficient communication and planning processes for CIS advisors and students. The project includes component design, a user manual, assessment, and project evaluation.
E N D
Student Curriculum Planning System MSE Project Presentation III Kevin Sung
Overview • Component Design • User Manual • Assessment Evaluation • Project Evaluation • Demonstration
Project Overview • Providing curriculum planning service to CIS Advisor and Student. • SCPS provides auto-generated course plan function for user. • SCPS can perform real-time prerequisite check for user. • Three course plans per student • Student and Faculty can communicate through the same system. • The system is implemented under the .NET Framework. • ASP.NET, C# and SQL server
SCPS Class • This class provide interface for user to login to the system.
PlanView Class • This class provide interface for user to elect course plan to be view. • Advisors are provided with extend function of electing which advisee to work with.
CourseView Class • The Course Plan view for CS student or CS advisee • User can start add or drop course from the active course plan by clicking on “Add course” or “Drop Course” button of the individual course
CourseViewIS Class • The Course Plan view for CS student or CS advisee • User can start add or drop course from the active course plan by clicking on “Add course” or “Drop Course” button of the individual course
CourseContainer Class • This is a custom web control that is use to represent a course in the course plan. • Main logics of adding and dropping courses are coded in the this class
ContainerView and PrintView classes • The ContainerView class provides a “zoom in” view of the course when it is selected from the course plan to be added. • The PrintView class provides a printable table view pf the active course plan.
User Classes—User, Faculty and Student classes • The User class is a super class to the Faculty and Student classes. • These classes represent the user of the system—the advisor and the CIS students
User Manual • The setup instruction and basic operation are included in the documentation
Assessment Evaluation • Unit Testing • Testing through individual web form's functions • Integration Testing • Main test cases are tested from here
Unit Testing • SCPS Web Form • btnSubmit Passed • Login Process execute successfully • PlanView Web Form • Page_Load Passed • grdSelectStudent Passed • DataGrid displays correctly the advisee information for advisor to select. • Search Passed • Successfully Execute query enter by the advisor and display the result on the grdSelectStudent. • ddlPlan Passed • The DropDownList successfully let user to select plan to load. • btnLoadPlan Passed • User prompt to the Course Plan View and the correct course plan is loaded
Unit Testing (Cont.) • CourseView Web Form • Save Passed • The course plan will be save back to the database. • Back Passed • The user is successfully lead back to the PlanView.aspx • Clear Passed • The new course plan is automatic generated and loaded. • Print Passed • A table view of the course plan is successfully shown by opening a new window of the PrintView.aspx webform
Unit Testing (Cont.) • CourseViewIS Web Form • Save Passed • The course plan will be save back to the database. • Back Passed • The user is successfully lead back to the PlanView.aspx • Clear Passed • The new course plan is automatic generated and loaded. • Print Passed • A table view of the course plan is successfully shown by opening a new window of the PrintView.aspx webform
Unit Testing (Cont.) • CourseContainer Class • btnAddCourse Passed • User is leaded to ContainerView.aspx and the list of courses is generated for user to select. • listCourse Passed • The DropDownList has provided courses for user to select. • listTime Passed • The DropDownList has provided available times for user to select. • btnSubmit Passed • The button that has added the course to the active course plan when clicked. • btnDropCourse Passed • The button that has dropped the course to the active course plan when clicked.
Integration Testing • T-001 Login System • Passed • T-002 Add Course to Course Plan • Passed • T-003 Drop Course from Course Plan • Passed • T-004 Generate Report • Passed • T-005 Save Course Plan • Passed • T-006 Load Course Plan • Passed
Project Evaluation • Usefulness of the methodologies used • Unified Modeling Language • Object Constraint Language
Project Evaluation (Cont.) • Accuracy of the estimations • Line of Code • Estimate line of code=3000 • Actual line of code=4977 • C# code=4468 • Auto-Generated Code=823 • Developer Written=3645 • Web Form (HTML, ASP, JavaScript)=509 • Auto-Generated Code=227 • Developer Modified=282 • Auto Generation code from IDE used attribute to the difference of estimation
Project Evaluation (Cont.) • Time Estimation • Estimate • 6.18 staff months • 4.99 months • Actual • Phase I ~55.17 hours (74 days, 592 hours est.) • Phase II ~39.42 hours (31 days, 279 hours est.) • Phase III ~82.42 hours (37 days, 333 hours est.) • Total 177 hours, ~1 week • 10 calendar months
Project Evaluation (Cont.) • Time Estimation (Cont.) • Reason of Difference • Difference in working hours per day. • Slack time are not counted. • Inexperience of the developer on estimating the schedule of the project.
Lessons Learned • Good understanding of the tool used and system component employed give a good head starts for the project. • Don’t underestimate the complexity of the business logic. • Using good tools and having a good design are critical to the successful conclusion of the project.
Future Work • Upgrading Software Used during deployment • Boost Performance • More Resources • Import Data from the Better Data Source • Better Data Integrity • Always up-to-date data