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

Preview:

Citation preview

Final Presentation CSCI 6838

Team: #3

Date: Nov.27, 2001

General Information

Advisor and mentor: Dr. Yue

Client: Dr. Davari

Nadia Halabi: nadiahalabi@hotmail.com

Daniel Liu: jiandliu@yahoo.com

Yifan Wang: yfw@hotmail.com

Guoying Yang: guoyingyang@hotmail

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 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 -- 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

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

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.

Requirements & Use Case

Requirements of FAR

Use Case Level 1

Use Case Level 2

Design and Modeling

UML Class Diagram

Database Design

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

ASP Standards

Language: Jscript ADO (Active-X Data Object)

Connection Recordset Command

Stored Procedures Usp_GetAllEntriesByUserAndType

Implementation (ASP) -- 1

Implementation (ASP) -- 2

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

Cascading style sheet FARproject.css

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

<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

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();

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

Login Login Program in action

Create Report Entry Add Modify Delete Program in action

Implementation (ASP) -- 7

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

Implementation (ASP) -- 8

Implementation (ASP) -- 9

Current year report

Program in action

Previous year report

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

& Francis, 1999

Recommended