developing web-enabled decision support systems

54
Developing Web-Enabled Decision Support Systems Developing Web-Enabled Developing Web-Enabled Decision Support Systems Decision Support Systems Ravindra K. Ahuja Industrial & Systems Engineering, University of Florida, Gainesville [email protected]

Upload: xena-henry

Post on 02-Jan-2016

38 views

Category:

Documents


0 download

DESCRIPTION

Developing Web-Enabled Decision Support Systems. Ravindra K. Ahuja Industrial & Systems Engineering, University of Florida, Gainesville [email protected]. Overview. Introduction to Decision Support Systems Building a Web-Enabled Decision Support System Integrating DSS in Business Curriculum. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Developing Web-Enabled Decision Support Systems

Developing Web-Enabled Decision Support Systems

Developing Web-Enabled Developing Web-Enabled Decision Support SystemsDecision Support Systems

Ravindra K. AhujaIndustrial & Systems Engineering,

University of Florida, Gainesville

[email protected]

Page 2: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 2

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

OverviewOverview

Introduction to Decision Support SystemsIntroduction to Decision Support Systems

Building a Web-Enabled Decision Support System

Integrating DSS in Business Curriculum

Page 3: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 3

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Decision Support Systems (DSS)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

Page 4: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 4

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Developing Interactive SystemsDeveloping Interactive Systems

Practical decision making requires developing man-machine interactive systems.

The ModelInputData

Output, Reports

User Interface,Re-optimization

Page 5: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 5

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Importance of DSS Development SkillsImportance 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

Page 6: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 6

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

DSS Development ProcessDSS 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

Page 7: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 7

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Two Common Ways to Develop DSS Two Common Ways to Develop DSS

Spreadsheet-Based Decision Support Spreadsheet-Based Decision Support SystemsSystems Spreadsheets Excel features VBA for Excel

Web-Enabled Decision Support SystemsWeb-Enabled Decision Support Systems Databases Microsoft Access VB .NET ASP .NET

Page 8: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 8

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

OverviewOverview

Introduction to Decision Support Systems

Building a Web-Enabled DSSBuilding a Web-Enabled DSS

Integrating DSS in the Business Curriculum

Page 9: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 9

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Components of a Web-Enabled DSSComponents of a Web-Enabled DSS

Databases

Database Management System (Access DBMS)

Developing GUI

Web-Enabling the Application

Users

Database Applicatio

n

DBMS

Database

Page 10: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 10

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Data ModelingData Modeling

Systematically converts E-R Diagram into Relations

Portfolio

PID Name DateAdded

Stock

CompanySymbol

PORTFOLIO STOCK

PID

NameSymbol

Company

TypeDateAdded

Has

Quantity

QuantitySymbolPID

PortfolioDetails

Type

Object Data Model

Relational DataModel

Page 11: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 11

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Access DBMS: Developing Environment Access DBMS: Developing Environment

Main Menu Toolbar

DatabaseWindow

DatabaseView

Object Bar

Table Objects

Access Environment: Facilitates development process.

Page 12: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 12

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Tables and RelationshipsTables and Relationships

Database Tables

Attributes

Tables: Stores data Relationships Window: Relates data

Page 13: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 13

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

QueriesQueries

Table Pane

Design Grid

Query Output

Queries: Processes data

Page 14: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 14

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Data Manipulation using SQLData Manipulation using SQL

Structured Query Language (SQL) is the most powerful and commonly used query language.

Sample SQL Command:

SELECT PorfolioID, Name, TypeFROM tblPortfolioWHERE Type Like “Auto*” OR Like “Insurance*”

Page 15: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 15

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Components of a Web-Enabled DSSComponents of a Web-Enabled DSS

Databases

Database Management System (DBMS)

Developing GUI (VB .NET)

Web-Enabling the Application (ASP .NET)

Users

Database Applicatio

n

DBMS

Database

Page 16: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 16

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

What is .NET ? 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 Framework

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

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

Page 17: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 17

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

VB .NET Developing EnvironmentVB .NET Developing Environment

Visual Studio .NET is the Interactive Development Environment (IDE) for .NET applications.

Design Window

Page 18: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 18

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Exploring VS .NET IDE Features …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.)

Page 19: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 19

Developing Web-Enabled Decision Support Systems

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 FeaturesExploring VS .NET ID Features (Contd…)(Contd…)

Page 20: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 20

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Exploring VS .NET ID Features Exploring VS .NET ID Features (Contd…)(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.)

Page 21: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 21

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

VB .NET Programming LanguageVB .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

LoopA

Condition

Else If

B

TrueFalse

Page 22: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 22

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Programming…Interactive ProcessProgramming…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.)

Page 23: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 23

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Programming...Interactive ProcessProgramming...Interactive Process (Contd)(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.)

Page 24: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 24

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

ADO .NET: Database ConnectivityADO .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

DatabasesDatabases ConnectionConnection

VB .NET Forms &Controls

VB .NET Forms &Controls

Data Adaptor(SQL Query)

Datasets(Stores query

output)

Page 25: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 25

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

ADO .NET: Database Connectivity ADO .NET: Database Connectivity (Contd..)(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

Page 26: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 26

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Connection, Adaptor, and DatasetConnection, 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.)

Page 27: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 27

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Binding Controls to DatasetBinding 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.)

Page 28: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 28

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Writing Code to Execute a Query?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.)

Page 29: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 29

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

VB .NET Events and Data RetrievalVB .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.)

Page 30: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 30

Developing Web-Enabled Decision Support Systems

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 VB .NET Events & Data Retrieval (Contd..)(Contd..)

Page 31: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 31

Developing Web-Enabled Decision Support Systems

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 DBAdd/Update/Delete Records from DB

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

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

OleDbInvInfo.Update(DsInvInfo)

Page 32: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 32

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Using VB .NET’s Advance ControlsUsing 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.)

Page 33: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 33

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

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

We can use advance controls line Date Time Picker for professional looks.

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

Page 34: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 34

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

VB .NET and OOPSVB .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

Page 35: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 35

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Other Supported Features 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.)

Page 36: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 36

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Plug-in Optimization/Simulation PackagesPlug-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.

Page 37: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 37

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Portfolio Optimization ProblemPortfolio Optimization Problem

Optimization Code

User Input Dataset has Data From Database

Results

On Click

Page 38: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 38

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Working with Crystal ReportsWorking 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.)

Page 39: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 39

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Working with Crystal Reports Working with Crystal Reports (Contd..)(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.)

Page 40: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 40

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Working with Crystal ReportsWorking with Crystal Reports (Contd..)(Contd..)

Chart Expert Wizard

Dataset with data to plot

Final Graph

VB .NET Code

Page 41: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 41

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

ASP .NET – Web Connectivity 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

Page 42: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 42

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

How This Works?How This Works?

Page 43: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 43

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Developing ASP .NET ApplicationDeveloping 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.

Page 44: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 44

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

OverviewOverview

Introduction to Decision Support Systems

Building a Web-Enabled DSS

Integrating DSS in Business CurriculumsIntegrating DSS in Business Curriculums

Page 45: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 45

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Teaching DSS Development CoursesTeaching 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

Page 46: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 46

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Course DeliveryCourse 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.

Page 47: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 47

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Outline of Web-Enabled DSS CourseOutline 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

Page 48: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 48

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Abhijit Pol

Ravindra K. Ahuja

Web-Enabled DSS TextbookWeb-Enabled DSS Textbook

Page 49: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 49

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

The Book OutlineThe 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

Page 50: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 50

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Case StudiesCase Studies

NASA’s Rocket Science

University Student Information System

TV Channel Project

Airline Scheduling

Portfolio Management

Online Shopping

Page 51: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 51

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Additional Course MaterialAdditional Course Material

PowerPoint Presentations

Review Questions and Hands-On Exercises

Solution Manual for Instructors

Student Team Projects

Web Resources

Page 52: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 52

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Another DSS TextbookAnother DSS Textbook

Michelle M. Hanna

Ravindra K. Ahuja

Wayne L. Winston

Page 53: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 53

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

DSS Development WorkshopDSS Development Workshop

Page 54: Developing Web-Enabled Decision Support Systems

INFORMS TEACHING MS WORKSHOP 2004 54

Developing Web-Enabled Decision Support Systems

JULY 9, 2004

Additional InformationAdditional 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/DSSwww.ise.ufl.edu/DSS