developing web-enabled decision support systems
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 PresentationTRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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.
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
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
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*”
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
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.
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
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.)
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…)
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.)
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
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.)
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.)
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)
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
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.)
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.)
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.)
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.)
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..)
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)
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.)
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.)
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
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.)
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.
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
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.)
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.)
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
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
INFORMS TEACHING MS WORKSHOP 2004 42
Developing Web-Enabled Decision Support Systems
JULY 9, 2004
How This Works?How This Works?
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.
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
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
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.
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
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
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
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
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
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
INFORMS TEACHING MS WORKSHOP 2004 53
Developing Web-Enabled Decision Support Systems
JULY 9, 2004
DSS Development WorkshopDSS Development Workshop
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