Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001
General Information Advisor and mentor: Dr. Yue Client: Dr. Davari Nadia Halabi: Daniel Liu: Yifan Wang: Guoying Yang:
Team Members and Roles Nadia Halabi: Webmaster, documentation, graphic designer/developer Daniel Liu: Team Leader, developer Yifan Wang: DBA, developer Guoying Yang: Webmaster, developer
Table of Contents Project Background (Nadia) Project Introduction/Goals (Nadia) Project Features (Nadia) Requirements/Use Case (Nadia) Design / Modeling (Yifan) Technical Decisions/Problems Faced (Yifan/Daniel) Programming Standards (Daniel) Implementation (Guoying) Conclusion/Comments (Daniel) Future Enhancements (Daniel) References (Daniel)
Project Background -- 1 NAS Has 2 divisions: Natural Sciences Computing and Mathematics (We are here) 8 Programs in Division of Computing and Mathematics: Software Engineering Computer Information System Computer Science Computer Engineering Systems Engineering Mathematical Sciences Statistics
Project Background -- 2 We have four types of users: Faculty members Division Chairs/ Program Chairs Associate Dean Administrators (super user) 3 levels of Report merging : program --> division --> school
Project Background -- 3 Hard copy submitted by the Faculty Faculty follows guidelines in the faculty handbook No standard format Process is tedious, un-controlled Not easy for division chair to monitor who is late, who didn’t submit his/her report Faculty members need to get in touch with division chair to know the status of the report.
Project Definitions Faculty Annual Report Generate and browse report online Replace hard copies submitted by the Faculty: link link Merge reports at different levels Flexible administrative capabilities.
Goals Remove some of the manual work Speed up process. Keep DB updated Integrate the Process Avoid Incorrect data Make the life of the Division chair easier
Project Features -- 1 “Save to work later" feature Update, Add and Delete Capabilities Authentication done on username & password View an already submitted report from a previous year Flag a user from the system if he left
Project Features -- 2 Division Chair can add comment on reports Submit and acknowledgement Generate statistical data System generate to remind the faculty of submitting their report Two types of comments: personal/feedback Check status of the annual report A user may play multiple roles Merge reports on several levels
Project’s Special Features Header template for all pages, example:example User id and info displayed on the top of the header: example Navigation is done through the main menu Use of a CSS style sheet: unified design Nice Graphic background/design, exampleexample Status line underneath header shows user where he is.
Requirements & Use Case Requirements of FAR Requirements of FAR Use Case Level 1 Use Case Level 1 Use Case Level 2 Use Case Level 2
Design and Modeling UML Class Diagram UML Class Diagram Database Design Database Design Database Schema Database Schema
SQL Server 2000 Advantages Instead of Triggers Validate data while inserting Indexed Enhancements: On computed columns Ascending / Descending SQL Profiler Enhancement XML Support Take XML as input / Output Technical Decisions -- 1
SQL Server 2000 Advantages Stored Procedure Better Performance: Precompiled, ready for use. Reduced network traffic: Resides on the Server. Only name sent. Object Security: Prevent direct access. User-Defined Function Code reuse. So far, we have 36 stored procedures and 3 functions. Technical Decisions -- 2
Technical Decisions -- 3 ASP Advantages Currently more stable than ASP.NET Faster development time than ASP.NET Rich literature resources Jscript Microsoft’s implementation of JavaScript ASP.NET will not support VBScript
Problems Faced -- 1 One item may appear in multiple reports. Multiple authors Non Faculty CoAuthor One faculty has multiple role in multiple academic unit Comments can be made at report level or at item (entry) level Comments may for private use or for feedback
Problems Faced -- 2 Faculty can be deactivated from the system Tree structure of academic units Little experience with Jscript on server side Most ASP literatures were written primary in VBScript Limited communication during development due to physical distance
Programming Standards Hungarian Notations Hungarian Notation ASP Standards ASP Standards
Language: Jscript ADO (Active-X Data Object) Connection Recordset Command Stored Procedures Usp_GetAllEntriesByUserAndType Usp_GetAllEntriesByUserAndType Implementation (ASP) -- 1
Implementation (ASP) -- 2 Include Files Adojavas.asp Adojavas.a ConString.asp ConString.a Anchor.asp Anchor.asp Cascading style sheet FARproject.css FARproject.css
Presentation.asp Presentation Entries Implementation (ASP) -- 3
Report Entry > Presentation <% var Userid = Session(“logineid”); var Entrytype = Request.form(“Type”); var Con = new ActiveXObject("ADODB.Connection"); Con.Open(ConnString); var Rs = new ActiveXObject("ADODB.Recordset"); Implementation (ASP) -- 4
Executing Stored Procedure var Cmd = new ActiveXObject("ADODB.Command"); Cmd.ActiveConnection = Con; Cmd.CommandType = adCmdStoredProc; Cmd.CommandText =“Usp_GetAllEntriesByUserAndType”; Cmd.Parameters.Append(Cmd.CreateParameter adVarChar, adParamInput, 20, "Userid")); Type", adVarChar, adParamInput, 20, “Entrytype")); Set Rs = Cmd.Execute();
if (Rs.EOF) { Response.Write (“No entry found! ”) } else { while ( ! Rs.EOF ) { %> <% Rs.movenext; } Rs.close; } Con.close; %> Implementation (ASP) -- 6
Login Login Program in action Program in action Create Report Entry Add Modify Delete Program in action Program in action Implementation (ASP) -- 7
Example DemoDemo Presentation.asp PresentAction.asp AddPresForm.asp AddPresInfo.asp ModPresentation.asp DelPresentation Implementation (ASP) -- 8
Implementation (ASP) -- 9 Current year report Program in action Program in action Previous year report Program in action Program in action
Conclusion/Comments Enriching experience with new technologies: UML, ASP, Jscript, SQL server Good team dynamics among members Challenges in dealing with time constraints Spent time on Course Inventory Preliminary Design Reduce one presentation (3 rd ) to give more time for implementation
Future Enhancements Implementation of current menu functions and advanced features Improve user friendliness Project will have to continue after the semester to be rolled out by January
References Beginning Active Server Pages 2.0, Francis, Kauffman, Llibre, Sussman and Ulman, June 1998 Beginning ASP Databases, John Kauffman, October 2000 Beginning ASP 3.0, Ulman Buser, Duckett, Frabcis, Kauffman, Llibre, Sussman, August 2000 SQL Server 2000: Administrator’s Pocket Consultant, William R. Stanek, 2000 SQL Server 2000 Developer’s Guide, M. Otey & P.Conte, 2001 Mastering JavaScript and Jscript, James Jaworski, 1999 JavaScript Bible, 3 rd ed, Danny Goodman, 1998 Professional Active Server Pages 3.0, Homer, Sussman, & Francis, 1999