MIS507A Project Presentation1 Survey Builder Team 10 Brian Ong Egan Park Harry Wang Xin Wang Alan Yip.

Post on 23-Dec-2015

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

MIS507A Project Presentation 1

Survey Builder

Team 10 Brian Ong Egan Park Harry Wang Xin Wang Alan Yip

MIS507A Project Presentation 2

Problems with “Traditional” Surveys

Costs Paper Scantron machine

Time wasted Passing out and filling out surveys/scantr

ons Must use class time

MIS507A Project Presentation 3

Problems with “Traditional” Surveys

Lack of convenience If student misses class or employee misses work Less time to think about questions Administrative tasks (collecting surveys, taking to

office, manually (or use of scantron) check results Limited use of statistics

Paper surveys lack statistics (ex. average, standard deviation, median, etc.)

MIS507A Project Presentation 4

Web-based Survey

Eliminates paper costs No class or work time wasted Can be taken from anywhere where there is

an Internet connection Administrative tasks done by application Convenient

Allows people to take the survey at their convenience

Allows computation of survey results (stats)

MIS507A Project Presentation 5

Problems with Web-based Survey

Person making the survey may not be computer-savvy

Time consuming to make Web-based survey

Time consuming to make an application to compute mathematical statistics

MIS507A Project Presentation 6

Solution: Our Survey Builder

Using our survey builder is easy, convenient, fast and FREE!!!

Non-savvy computer users can easily build a survey with our survey builder

Mathematical computations done automatically through our application

MIS507A Project Presentation 7

Flexibility

Our survey builder can be used for a wide range School surveys Work surveys Voting Consumer feedback

MIS507A Project Presentation 8

Example

Go!

MIS507A Project Presentation 9

System Architecture

User Interface

MVC Controller

Middleware

Database

MIS507A Project Presentation 10

Elements of Good Webpage Design

Good Contents Clear Navigation Aids No Dead-end Pages Simple and Consistent

MIS507A Project Presentation 11

“Inheritance”

Template Page

Different Page has different contents

MIS507A Project Presentation 12

CSS Pattern

We use CSS to separate the appearance of web pages from the content of web pages.

An efficient way to design, modify and update website.

MIS507A Project Presentation 13

A Big Abstract Class

We separate the static web pages from dynamic pages.

Pure HTML + ? = Dynamic Web Page? = JSP, ASP, CGI, Perl…

MIS507A Project Presentation 14

Web Application Framework

Model 1 approach Page centric

Model 2 approach MVC Struts

Design issue Decouple view from business logic

MIS507A Project Presentation 15

Model View Controller (MVC)

ModelController

View

Client request

Result page

Request

Result

Result

MIS507A Project Presentation 16

Template Method PatternController

-eventHandlers:Hashtable

+init:void+doGet:void+doPost:void#validateEvent:String#getEventHandler:EventHandlerBase+destroy:void

EventHandlerBase

#writer:Debug

+init:void+process:void+forward:void+getURL:String

LoginEventHandler

+process:void+getURL:String

AboutEventHandler

+getURL:String

MIS507A Project Presentation 17

Middleware

Design Goals Extensibility Implementation Independence

Functions Get and Insert Survey Information for Data

Layer Pass and Receive information to the User

Interface

MIS507A Project Presentation 18

Survey Builder Packages

MIS507A Project Presentation 19

QandR Package

MIS507A Project Presentation 20

Datalayer Package

MIS507A Project Presentation 21

Middleware Design Issue

Middleware needs to retrieve all Questions for a single survey

Questions are of different types, and need to exhibit different behavior

Solution: Factory and Strategy patterns

MIS507A Project Presentation 22

getSurvey() createSurvey()

MIS507A Project Presentation 23

ER Model

MIS507A Project Presentation 24

Relational Schema

Survey (Survey #, Survey Name, Active)

Question (Survey #, Question #, Question, Type, Possible Answers)

Response (Auto #, Survey #, Question #, Numeric Response, Textual Response)

User (User ID, Name, Login Name, Password, User Level)

MIS507A Project Presentation 25

Lessons Learned

Lesson 1

We initially sought to do a project related to web services.

Lesson learned: Use technologies to solve problem, not vice versa

Lesson 2:

The Survey Builder is extensible and easy to maintain.

Lesson learned: The extra time spent in the beginning to create a proper design is definitely worth it.

MIS507A Project Presentation 26

Conclusion

Our design philosophy is to maximize the extensibility of the system. Apply design patterns is key to a good design Use abstract coupling

Establishing an effective way for the team to communicate is proven to be productive

The project is a success!

MIS507A Project Presentation 27

Questions?

MIS507A Project Presentation 28

Homepage

MIS507A Project Presentation 29

Login

MIS507A Project Presentation 30

Question Type

MIS507A Project Presentation 31

Build question

MIS507A Project Presentation 32

Anonymous Setup

MIS507A Project Presentation 33

Link

MIS507A Project Presentation 34

Confidential

Back

top related