Title: Developing Web-Enabled Decision Support Systems
1Developing Web-Enabled Decision Support Systems
- Ravindra K. Ahuja
- Industrial Systems Engineering,
- University of Florida, Gainesville
- ahuja_at_ufl.edu
2Overview
- Introduction to Decision Support Systems
- Building a Web-Enabled Decision Support System
- Integrating DSS in Business Curriculum
3Decision Support Systems (DSS)
- A decision support system is an information
system that assists the user in decision-making.
4Developing Interactive Systems
- Practical decision making requires developing
man-machine interactive systems.
The Model
Input Data
Output, Reports
User Interface, Re-optimization
5Importance 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
6DSS 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
7Two 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
8Overview
- Introduction to Decision Support Systems
- Building a Web-Enabled DSS
- Integrating DSS in the Business Curriculum
9Components of a Web-Enabled DSS
- Databases
- Database Management System (Access DBMS)
- Developing GUI
- Web-Enabling the Application
10 Data Modeling
- Systematically converts E-R Diagram into Relations
11Access DBMS Developing Environment
- Access Environment Facilitates development
process.
12Tables and Relationships
- Tables Stores data
- Relationships Window Relates data
13Queries
14Data 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
15Components of a Web-Enabled DSS
- Databases
- Database Management System (DBMS)
- Developing GUI
(VB .NET) - Web-Enabling the Application (ASP .NET)
16What 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 are VB / VC / C programs
written on .NET Framework.
17VB .NET Developing Environment
- Visual Studio .NET is the Interactive
Development Environment (IDE) for .NET
applications.
18Exploring 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.)
19Exploring 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.)
20Exploring 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.)
21VB .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
22ProgrammingInteractive Process
- 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.)
23Programming...Interactive Process (Contd)
- Programming is even more fun now. Get all the
help online as you code.
- Organize your code in nice and neat format using
region feature of IDE. (Browse through to play
with these features.)
24ADO .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
25ADO .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
26Connection, Adaptor, and Dataset
- Server Explorer makes it easy to connect to a
database. (Connect to the Portfolio database.)
- 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.)
27Binding 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.)
28Writing 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.)
29VB .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.)
30VB .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.)
31Add/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.)
32Using VB .NETs 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.)
33Using VB .NETs 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.)
34VB .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
35Other 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.)
36Plug-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.
37Portfolio Optimization Problem
38Working 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.)
39Working 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.)
40Working with Crystal Reports (Contd..)
Dataset with data to plot
VB .NET Code
Chart Expert Wizard
Final Graph
41ASP .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
42How This Works?
43Developing 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.
44Overview
- Introduction to Decision Support Systems
- Building a Web-Enabled DSS
- Integrating DSS in Business Curriculums
45Teaching 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
46Course 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.
47Outline 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
48Web-Enabled DSS Textbook
- Abhijit Pol
- Ravindra K. Ahuja
49The 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
50Case Studies
- NASAs Rocket Science
- University Student Information System
- TV Channel Project
- Airline Scheduling
- Portfolio Management
- Online Shopping
51Additional Course Material
- PowerPoint Presentations
- Review Questions and Hands-On Exercises
- Solution Manual for Instructors
- Student Team Projects
- Web Resources
52Another DSS Textbook
- Michelle M. Hanna
- Ravindra K. Ahuja
- Wayne L. Winston
53DSS Development Workshop
54Additional Information
www.ise.ufl.edu/IT
Workshop website
www.ise.ufl.edu/DSS
Interested in course material? Please give us
your card or email address.