Developing Web-Enabled Decision Support Systems Ravindra K

advertisement
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
Overview
Introduction to Decision Support Systems
 Building a Web-Enabled Decision Support System
 Integrating DSS in Business Curriculum
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
2
Developing Web-Enabled Decision Support Systems
Decision Support Systems (DSS)
 A decision support system is an information
system that assists the user in decision-making.
Knowledge
Base
Database
Model Base
GUI
User
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
3
Developing Web-Enabled Decision Support Systems
Developing Interactive Systems
 Practical decision making requires developing
man-machine interactive systems.
Input
Data
The Model
Output,
Reports
User Interface,
Re-optimization
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
4
Developing Web-Enabled Decision Support Systems
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
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
5
Developing Web-Enabled Decision Support Systems
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
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
6
Developing Web-Enabled Decision Support Systems
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
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
7
Developing Web-Enabled Decision Support Systems
Overview
 Introduction to Decision Support Systems
Building a Web-Enabled DSS
 Integrating DSS in the Business Curriculum
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
8
Developing Web-Enabled Decision Support Systems
Components of a Web-Enabled DSS
Users
 Databases
 Database Management System
(Access DBMS)
Database
Application
DBMS
 Developing GUI
 Web-Enabling the Application
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
Database
9
Developing Web-Enabled Decision Support Systems
Data Modeling
 Systematically converts E-R Diagram into Relations
Company
Name
DateAdded
Symbol
Type
PID
PORTFOLIO
STOCK
Has
Object Data Model
Quantity
Portfolio
PID
Name
DateAdded
Portfolio
Details
PID
Symbol
Quantity
Relational Data
Model
Stock
Symbol
JULY 9, 2004
Company
Type
INFORMS TEACHING MS WORKSHOP 2004
10
Developing Web-Enabled Decision Support Systems
Access DBMS: Developing Environment
 Access Environment: Facilitates development process.
Toolbar
Main Menu
Database
Window
Object
Bar
Table
Objects
Database
View
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
11
Developing Web-Enabled Decision Support Systems
Tables and Relationships
 Tables: Stores data
 Relationships Window: Relates data
Database Tables
Attributes
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
12
Developing Web-Enabled Decision Support Systems
Queries
 Queries: Processes data
Table
Pane
Design
Grid
Query
Output
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
13
Developing Web-Enabled Decision Support Systems
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*”
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
14
Developing Web-Enabled Decision Support Systems
Components of a Web-Enabled DSS
Users
 Databases
 Database Management System
(DBMS)
 Developing GUI
(VB .NET)
 Web-Enabling the Application
(ASP .NET)
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
Database
Application
DBMS
Database
15
Developing Web-Enabled Decision Support Systems
What is .NET ?
 .NET is a set of Microsoft software technologies
for connecting information, people, systems,
and devices.
 .NET Framework is a
common layer between
.NET applications and
Windows OS.
. Net Applications
VC++
VB
C#
Other
Other Components
Class Library
Common Language Runtime (CLR)
Windows Operating System
JULY 9, 2004
.NET
Frame
work
 .NET Applications are
VB / VC++ / C#
programs written on
.NET Framework.
INFORMS TEACHING MS WORKSHOP 2004
16
Developing Web-Enabled Decision Support Systems
VB .NET Developing Environment
 Visual Studio .NET is the Interactive Development
Environment (IDE) for .NET applications.
Design
Window
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
17
Developing Web-Enabled Decision Support Systems
Exploring VS .NET IDE Features …
 Create new/open existing
projects. (Open the existing
portfolio application.)
 Solution explorer lists all
the files for the current
solution. (Double click
‘Welcome.vb’ file to view
its design.)
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
18
Developing Web-Enabled Decision Support Systems
Exploring VS .NET ID Features
(Contd…)
 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.)
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
19
Developing Web-Enabled Decision Support Systems
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.)
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
20
Developing Web-Enabled Decision Support Systems
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
A
Loop
False
True
Conditio
n
Else
Condition
If
B
JULY 9, 2004
True
False
B
INFORMS TEACHING MS WORKSHOP 2004
21
Developing Web-Enabled Decision Support Systems
Programming…Interactive Process
 VB .NET is event driven
programming. (Double click
the button control and add
following code for its
OnClick event.)
Event List
 Code window lists all the
controls and their events
for us. (Browse the combo
boxes on top of the code
window.)
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
22
Developing Web-Enabled Decision Support Systems
Programming...Interactive Process (Contd)
 Programming is even
more fun now. Get all the
help online as you code.
IntelliSense
Online
tip
 Organize your code in
nice and neat format
using region feature of
IDE. (Browse through to
play with these features.)
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
23
Developing Web-Enabled Decision Support Systems
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
JULY 9, 2004
Data Adaptor
(SQL Query)
Datasets
(Stores query
output)
INFORMS TEACHING MS WORKSHOP 2004
VB .NET
Forms &
Controls
24
Developing Web-Enabled Decision Support Systems
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
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
25
Developing Web-Enabled Decision Support Systems
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.)
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
26
Developing Web-Enabled Decision Support Systems
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.)
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
27
Developing Web-Enabled Decision Support Systems
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.)
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
28
Developing Web-Enabled Decision Support Systems
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.)
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
29
Developing Web-Enabled Decision Support Systems
VB .NET Events & Data Retrieval (Contd..)
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.)
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
30
Developing Web-Enabled Decision Support Systems
Add/Update/Delete Records from DB
 Data adaptor, dataset and their methods makes
altering database very easy. (Add these one liners
to OnClick event of respective buttons.)
Me.BindingContext(DsInvInfo,"tblInvestor") .CancelCurrentEdit()
Me.BindingContext(DsInvPort, "tblPortfolio")
.RemoveAt (lstPort.SelectedIndex)
JULY 9, 2004
OleDbInvInfo.Update(DsInvInfo)
INFORMS TEACHING MS WORKSHOP 2004
31
Developing Web-Enabled Decision Support Systems
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.)
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
32
Developing Web-Enabled Decision Support Systems
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.)
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
33
Developing Web-Enabled Decision Support Systems
VB .NET and OOPS
 VB .NET is a complete Object Oriented
Programming Language (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
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
34
Developing Web-Enabled Decision Support Systems
Other Supported Features
 Exception Handling:
Preparing for worse!!
(Browse through the code
for portfolio form for Try...
Catch ... End Try blocks.)
 Code Debugging: Towards
perfection! (Press F5 and
click for optimization,
debugging window pops up,
press F8 to step through.)
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
35
Developing Web-Enabled Decision Support Systems
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.
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
36
Developing Web-Enabled Decision Support Systems
Portfolio Optimization Problem
Optimization Code
Results
On Click
User Input
JULY 9, 2004
Dataset has Data From Database
INFORMS TEACHING MS WORKSHOP 2004
37
Developing Web-Enabled Decision Support Systems
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.)
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
38
Developing Web-Enabled Decision Support Systems
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.)
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
39
Developing Web-Enabled Decision Support Systems
Working with Crystal Reports
Dataset with data to plot
(Contd..)
VB .NET Code
Chart Expert Wizard
Final Graph
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
40
Developing Web-Enabled Decision Support Systems
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
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
41
Developing Web-Enabled Decision Support Systems
How This Works?
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
42
Developing Web-Enabled Decision Support Systems
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.
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
43
Developing Web-Enabled Decision Support Systems
Overview
 Introduction to Decision Support Systems
 Building a Web-Enabled DSS
Integrating DSS in Business Curriculums
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
44
Developing Web-Enabled Decision Support Systems
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
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
45
Developing Web-Enabled Decision Support Systems
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.
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
46
Developing Web-Enabled Decision Support Systems
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
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
47
Developing Web-Enabled Decision Support Systems
Web-Enabled DSS Textbook
Abhijit Pol
Ravindra K. Ahuja
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
48
Developing Web-Enabled Decision Support Systems
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
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
49
Developing Web-Enabled Decision Support Systems
Case Studies
 NASA’s Rocket Science
 University Student Information System
 TV Channel Project
 Airline Scheduling
 Portfolio Management
 Online Shopping
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
50
Developing Web-Enabled Decision Support Systems
Additional Course Material
 PowerPoint Presentations
 Review Questions and Hands-On Exercises
 Solution Manual for Instructors
 Student Team Projects
 Web Resources
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
51
Developing Web-Enabled Decision Support Systems
Another DSS Textbook
 Michelle M. Hanna
 Ravindra K. Ahuja
 Wayne L. Winston
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
52
Developing Web-Enabled Decision Support Systems
DSS Development Workshop
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
53
Developing Web-Enabled Decision Support Systems
Additional Information
Course material website:
www.ise.ufl.edu/IT
Workshop website:
www.ise.ufl.edu/DSS
Interested in course material?
Please give us your card or email address.
JULY 9, 2004
INFORMS TEACHING MS WORKSHOP 2004
54
Download