33
Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Embed Size (px)

Citation preview

Page 1: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Final Presentation CSCI 6838

Team: #3

Date: Nov.27, 2001

Page 2: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

General Information

Advisor and mentor: Dr. Yue

Client: Dr. Davari

Nadia Halabi: [email protected]

Daniel Liu: [email protected]

Yifan Wang: [email protected]

Guoying Yang: guoyingyang@hotmail

Page 3: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Team Members and Roles

Nadia Halabi:    Webmaster, documentation, graphic designer/developer

Daniel Liu:    Team Leader, developer

Yifan Wang:    DBA, developer

Guoying Yang:  Webmaster, developer

Page 4: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

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)

Page 5: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

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

Page 6: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

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

Page 7: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

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.

Page 8: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Project Definitions

Faculty Annual Report

Generate and browse report online Replace hard copies submitted by the Faculty:

link Merge reports at different levels Flexible administrative capabilities.

Page 9: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

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

Page 10: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Project Features -- 1Project 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

Page 11: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Project Features -- 2Project Features -- 2 Division Chair can add comment on reports Submit and email acknowledgement Generate statistical data System generate e-mail 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

Page 12: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Project’s Special Features Header template for all pages, 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, example Status line underneath header shows user

where he is.

Page 13: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Requirements & Use Case

Requirements of FAR

Use Case Level 1

Use Case Level 2

Page 14: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Design and Modeling

UML Class Diagram

Database Design

Database Schema

Page 15: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

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

Page 16: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

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

Page 17: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

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

Page 18: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

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

Page 19: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

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

Page 20: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Programming Standards

Hungarian Notations

ASP Standards

Page 21: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Language: Jscript ADO (Active-X Data Object)

Connection Recordset Command

Stored Procedures Usp_GetAllEntriesByUserAndType

Implementation (ASP) -- 1

Page 22: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Implementation (ASP) -- 2

Include Files <!-- #INCLUDE FILE=“File name” --> Adojavas.asp ConString.asp Anchor.asp

Cascading style sheet FARproject.css

Page 23: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Presentation.asp <% @Language=“Jscript” %> <!-- #INCLUDE FILE=“adojavas.inc” --> <!-- #INCLUDE FILE=“ConString.inc” --> <html> <head> <title>Presentation Entries</title> <LINK rel=“stylesheet” type=“text/css” href=“style.css”

title=“h1”> </head>

Implementation (ASP) -- 3

Page 24: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

<body>

<!-- #INCLUDE FILE="anchor.asp" -->

<h5>Report Entry > Presentation</h5>

<%

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

Page 25: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Executing Stored Procedure var Cmd = new ActiveXObject("ADODB.Command");

Cmd.ActiveConnection = Con;

Cmd.CommandType = adCmdStoredProc;

Cmd.CommandText =“Usp_GetAllEntriesByUserAndType”;

Cmd.Parameters.Append(Cmd.CreateParameter

("@vchrUser", adVarChar, adParamInput, 20, "Userid"));

Cmd.Parameters.Append(Cmd.CreateParameter("@vchrEntryType", adVarChar, adParamInput, 20, “Entrytype"));

Set Rs = Cmd.Execute();

Page 26: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

if (Rs.EOF) {

Response.Write (“No entry found!<br>”) }

else {

while ( ! Rs.EOF ) { %>

<%=Rs.fields(“Name”) ;%>

<%=Rs.fields(“Authors”) ;%>

<% Rs.movenext; }

Rs.close; }

Con.close; %>

Implementation (ASP) -- 6

Page 27: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Login Login Program in action

Create Report Entry Add Modify Delete Program in action

Implementation (ASP) -- 7

Page 28: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Example Demo Presentation.asp PresentAction.asp AddPresForm.asp AddPresInfo.asp ModPresentation.asp DelPresentation

Implementation (ASP) -- 8

Page 29: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

Implementation (ASP) -- 9

Current year report

Program in action

Previous year report

Program in action

Page 30: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

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 (3rd) to give more time for implementation

Page 31: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

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

Page 32: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001

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, 3rd ed, Danny Goodman, 1998 Professional Active Server Pages 3.0, Homer, Sussman,

& Francis, 1999

Page 33: Final Presentation CSCI 6838 Team: #3 Date: Nov.27, 2001