Developing Web-Enabled Decision Support Systems

acceptableseashoreΑσφάλεια

5 Νοε 2013 (πριν από 4 χρόνια και 9 μέρες)

89 εμφανίσεις

Developing Web
-
Enabled Decision Support Systems

Developing Web
-
Enabled
Decision Support Systems

Ravindra K. Ahuja

Industrial & Systems Engineering,

University of Florida, Gainesville

ahuja@ufl.edu




Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

2

JULY 9, 2004

Overview


Introduction to Decision Support Systems



Building a Web
-
Enabled Decision Support System



Integrating DSS in Business Curriculum

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

3

JULY 9, 2004

Decision Support Systems (DSS)


A decision support system is an information
system that assists the user in decision
-
making.


Database



Model Base



GUI



User



Knowledge

Base


Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

4

JULY 9, 2004

Developing Interactive Systems


Practical decision making requires developing
man
-
machine interactive systems.


The Model



Input

Data



Output,

Reports



User Interface,

Re
-
optimization


Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

5

JULY 9, 2004

Importance of DSS Development Skills


Help us package models and algorithms.



Combine modeling with human experience



Highly desirable for consulting jobs for students



Useful for academics to get industry grants



New consulting opportunities for faculty
members

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

6

JULY 9, 2004

DSS Development Process


Data Storage Mechanism


MS Excel
, Lotus 123


MS Access
, Oracle, MS SQL Server, Dbase



Data Manipulation


Visual Basic for Applications (VBA)


Visual Basic .NET (VB .NET)


Java, C/C++



Data Presentation


VBA, VB .NET, MS Access, ASP .NET


Java Applets

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

7

JULY 9, 2004

Two Common Ways to Develop DSS


Spreadsheet
-
Based Decision Support
Systems


Spreadsheets


Excel features


VBA for Excel



Web
-
Enabled Decision Support Systems


Databases


Microsoft Access


VB .NET


ASP .NET

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

8

JULY 9, 2004

Overview


Introduction to Decision Support Systems



Building a Web
-
Enabled DSS



Integrating DSS in the Business Curriculum

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

9

JULY 9, 2004

Components of a Web
-
Enabled DSS


Databases



Database Management System

(Access DBMS)




Developing GUI



Web
-
Enabling the Application

Users

Database

Application


DBMS

Database

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

10

JULY 9, 2004


Data Modeling


Systematically converts
E
-
R Diagram into Relations

Portfolio

PID

Name

DateAdded

Stock

Company

Symbol

PORTFOLIO

STOCK

PID

Name

Symbol

Company

Type

DateAdded

Has

Quantity

Quantity

Symbol

PID

Portfolio

Details

Type

Object Data Model

Relational Data

Model

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

11

JULY 9, 2004

Access DBMS: Developing Environment

Main

Menu

Toolbar

Database

Window

Database

View

Object

Bar

Table

Objects


Access Environment:
Facilitates development process.

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

12

JULY 9, 2004

Tables and Relationships

Database Tables

Attributes


Tables:

Stores data


Relationships Window:

Relates data

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

13

JULY 9, 2004

Queries

Table

Pane

Design

Grid

Query

Output


Queries:

Processes data

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

14

JULY 9, 2004

Data Manipulation using SQL


Structured Query Language (SQL)

is the most
powerful and commonly used query language.



Sample

SQL

Command
:


SELECT

PorfolioID,

Name,

Type

FROM

tblPortfolio

WHERE

Type

Like

“Auto*”

OR

Like

“Insurance*”

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

15

JULY 9, 2004

Components of a Web
-
Enabled DSS


Databases



Database Management System
(DBMS)




Developing GUI

(VB .NET)



Web
-
Enabling the Application

(ASP .NET)

Users

Database

Application


DBMS

Database

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

16

JULY 9, 2004

What is .NET ?


.NET is a

set of Microsoft software technologies

for connecting information, people, systems,
and devices.


Windows Operating System


Common Language Runtime (CLR)

Class Library

Other Components


VC++

VB

C#

Other

. Net Applications

.NET
Frame
work


.NET Framework

is a
common layer between
.NET applications and
Windows OS.



.NET Applications

are
VB / VC++ / C#
programs written on
.NET Framework.

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

17

JULY 9, 2004

VB .NET Developing Environment


Visual Studio .NET

is the
I
nteractive
D
evelopment
E
nvironment (IDE) for .NET applications.

Design

Window

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

18

JULY 9, 2004

Exploring VS .NET IDE Features …


Solution explorer

lists all
the files for the current
solution.
(Double click
‘Welcome.vb’ file to view
its design.)


Create

new/open existing
projects.
(Open the existing
portfolio application.)

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

19

JULY 9, 2004


Design Window
is the
actual work place; displays
form design and VB .NET
code.
(Double click
anywhere on this form to
open its code window.)


ToolBox

is a gazette of
controls: forms building
blocks.
(Add a button
and label controls to the
form.)

Exploring VS .NET ID Features

(Contd…)

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

20

JULY 9, 2004

Exploring VS .NET ID Features
(Contd…)


Properties Window

sets
properties for controls and in
a way their appearance and
behavior.
(Set Name, Text,
Font, Back Color properties
on these controls.)


Menu bar and Toolbars
are
handy for supporting
operations like save, run,
add items.
(Save the project
and run the application.)

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

21

JULY 9, 2004

VB .NET Programming Language


Like other programming languages VB .NET
supports:


Interaction with user (user input / output)


Arithmetic, logical, and string operations


Control structures


Modules, Classes, Procedures, Methods


Data structures like arrays

A

Condition


B

True

False

Loop

A

Conditio
n

Else

If

B

True

False

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

22

JULY 9, 2004

Programming…Interactive Process

Event

List


VB .NET is
event driven
programming
.
(Double click
the button control and add
following code for its
OnClick event.)


Code window lists all the
controls and their events
for us.
(Browse the combo
boxes on top of the code
window.)

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

23

JULY 9, 2004

Programming...Interactive Process

(Contd)


Programming is even
more fun now. Get all the
help online

as you code.

Online

tip

IntelliSense


Organize your code in
nice and neat format
using
region feature

of
IDE.
(Browse through to
play with these features.)

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

24

JULY 9, 2004

ADO .NET: Database Connectivity


ADO .NET
structure makes is easy to:


Connect to a database


Run SQL queries against it


Store and further process query results


Add/Update/Delete records from database

Databases

Connection

VB .NET

Forms &

Controls

Data Adaptor

(SQL Query)

Datasets

(Stores query

output)

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

25

JULY 9, 2004

ADO .NET: Database Connectivity
(Contd..)


Steps

for querying a database and showing
results on VB .NET form:



Connect

to a database
(once for a project)


Create a

data adaptor

with desired SQL statement


Create a

dataset

to store query results


Bind the control

to the dataset


Run the query by
writing VB .NET code

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

26

JULY 9, 2004

Connection, Adaptor, and Dataset


Server Explorer

makes it
easy to connect to a
database.
(Connect to
the Portfolio database.)

Drag & Drop


Toolbox assists in the creation
of
data adaptors, and data
sets
.
(Portal form: Add an
adaptor and a dataset to get
the list of portfolios.)

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

27

JULY 9, 2004

Binding Controls to Dataset


We then bind controls to datasets
to show query results

on
forms using property window for a control.
(Bind the dataset
created to the list box on Portal form.)

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

28

JULY 9, 2004

Writing Code to Execute a Query?


Next we run the query and display the data.
It is
done by writing 2 lines of VB .NET code.

(Write this
code for list box control on page load event.)

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

29

JULY 9, 2004

VB .NET Events and Data Retrieval


Data retrieval (using adaptor and datasets) and VB
.NET events can be combined together for
interesting functionalities.
(On selection of
portfolio from list display its details in the data grid
control.)

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

30

JULY 9, 2004

Steps:


Create adaptors and datasets and bind them to
respective controls.
(Bind to list box and data grid.)



Execute a
parameter query

for second control on
some event of first control.
(Here we execute
parameter query for data grid on selection change
event of list box.)

VB .NET Events & Data Retrieval
(Contd..)

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

31

JULY 9, 2004


Data adaptor, dataset and their methods makes
altering database

very easy.
(Add these one liners
to OnClick event of respective buttons.)

Add/Update/Delete Records from DB

Me.BindingContext(DsInvPort, "tblPortfolio")
.RemoveAt (lstPort.SelectedIndex)

Me.BindingContext(DsInvInfo,"tblInvestor") .CancelCurrentEdit()

OleDbInvInfo.Update(DsInvInfo)

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

32

JULY 9, 2004

Using VB .NET’s Advance Controls


We can use advance
controls like
Check List
Box, Trees

controls for
nice
functionalities.



(Use check list box to
display list of stocks
allowing multiple
selections, then display
data for all selected
stocks in the data grid.)

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

33

JULY 9, 2004

Using VB .NET’s Advance Controls
(Contd..)



We can use advance
controls line
Date Time
Picker

for professional
looks.


(Use this control to
allow user choose year
for performance graph.)

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

34

JULY 9, 2004

VB .NET and OOPS


VB .NET is a complete
O
bject
O
riented
P
rogramming
L
anguage

(OOPL).



VB .NET with its Class structure now supports all
three basic OOP principles:


Encapsulation


Inheritance


Polymorphism



What it is good for?


Data hiding and data encapsulation


Code reusability


Split the development task into independent
modules

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

35

JULY 9, 2004

Other Supported Features


Code Debugging:
Towards
perfection!

(Press F5 and
click for optimization,
debugging window pops up,
press F8 to step through.)


Exception Handling:
Preparing for worse!!

(Browse through the code
for portfolio form for Try...
Catch ... End Try blocks.)

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

36

JULY 9, 2004

Plug
-
in Optimization/Simulation Packages

Some of the available options are:



Optimization code using VB .NET language.
(Illustrated next.)



Use VB .NET to connect to C/C++ code.
(Using DLL
files or through flat text files.)



Use MS Excel functionalities. For example, we can
use Excel Solver functionality to solve small to
medium size optimization problems through VB
.NET.

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

37

JULY 9, 2004

Portfolio Optimization Problem

Optimization Code

User Input

Dataset has Data From Database

Results

On Click

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

38

JULY 9, 2004

Working with Crystal Reports


Crystal reports are used to produce professional
quality
reports/graphs

to summarize information.
(Plot the pie chart for the output of the portfolio
optimization result.)

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

39

JULY 9, 2004

Working with Crystal Reports
(Contd..)


Steps for displaying crystal report on VB .NET
form:



Have the data to plot in a
dataset
.
(This might be
from database or result of some operation like
optimization.)



Create the
crystal report

layout using “Report
Expert Wizard”
(Select type, fields, format etc. for
graph.)



Associate the crystal report and the dataset in
VB
.NET code
.
(This requires only 3 lines of code.)

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

40

JULY 9, 2004

Working with Crystal Reports

(Contd..)

Chart Expert Wizard

Dataset with data to plot

Final Graph

VB .NET Code

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

41

JULY 9, 2004

ASP .NET


Web Connectivity

ASP .NET = Internet + HTML + VB .NET




Knowledge of Web Terms and
Internet



Hypertext Manipulation Language
(HTML)

-

for
data presentation



Visual Basic .NET
(VB .NET)

-

code behind
web pages,
for data manipulation


Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

42

JULY 9, 2004

How This Works?

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

43

JULY 9, 2004

Developing ASP .NET Application


Developing ASP .NET Application is very similar to VB
.NET Application development.
(Make Portal form of VB
.NET application web
-
enabled using ASP .NET.)



We use
Web Controls and HTML controls

for Windows
controls used in VB .NET application.



VB .NET code with minor additions can be used as
‘code behind’
for ASP .NET pages.



HTML code is
automatically generated

by the Visual
Studio .NET IDE.

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

44

JULY 9, 2004

Overview


Introduction to Decision Support Systems



Building a Web
-
Enabled DSS



Integrating DSS in Business Curriculums

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

45

JULY 9, 2004

Teaching DSS Development Courses


The University of Florida is currently offering two
separate courses on DSS Development:



Developing Spreadsheet
-
Based DSS


Developing Web
-
Enabled DSS



3
-
credit courses



Project
-
oriented courses


Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

46

JULY 9, 2004

Course Delivery


Hands
-
on course


Students bring laptops


Instructor uses LCD Projector



After basic topics from PowerPoint
presentations are taught, we do

in
-
class assignments.



Weekly homework assignments.



Students do semester
-
long team projects in
which they develop full DSS applications.

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

47

JULY 9, 2004

Outline of Web
-
Enabled DSS Course


Part 1:

(3 weeks)


Database design principles


Microsoft Access, Tables, Queries, SQL



Part 2:

(6 weeks)


.Net Platform, VB .Net programming Language


Windows forms and controls, Database connectivity


Crystal reports



Part 3:

(3 weeks)


HTML, ASP .Net, Database connectivity in Web forms



Part 4:

(2 weeks)


Project work


Developing and presenting DSS applications

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

48

JULY 9, 2004

Abhijit Pol





Ravindra K. Ahuja




Web
-
Enabled DSS Textbook

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

49

JULY 9, 2004

The Book Outline


Part I
: Principles of Database Design


Part II
: MS Access: A DBMS


Part III
: DB Programming using VB .NET


Part IV
: Web
-
Connectivity using ASP .NET


Part V
: Case Studies


Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

50

JULY 9, 2004

Case Studies


NASA’s Rocket Science


University Student Information System


TV Channel Project


Airline Scheduling


Portfolio Management


Online Shopping

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

51

JULY 9, 2004

Additional Course Material


PowerPoint Presentations



Review Questions and Hands
-
On Exercises



Solution Manual for Instructors



Student Team Projects



Web Resources

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

52

JULY 9, 2004

Another DSS Textbook



Michelle M. Hanna







Ravindra K. Ahuja







Wayne L. Winston

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

53

JULY 9, 2004

DSS Development Workshop

Developing Web
-
Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004

54

JULY 9, 2004

Additional Information

Course material website:

www.ise.ufl.edu/IT

Interested in course material?



Please give us your card or email address.

Workshop website:

www.ise.ufl.edu/DSS