550 likes | 829 Views
Developing Web-Enabled Decision Support Systems. Ravindra K. Ahuja Industrial & Systems Engineering, University of Florida, Gainesville ahuja@ufl.edu. Overview. Introduction to Decision Support Systems Building a Web-Enabled Decision Support System Integrating DSS in Business Curriculum.
E N D
Developing Web-Enabled Decision Support Systems Ravindra K. Ahuja Industrial & Systems Engineering, University of Florida, Gainesville ahuja@ufl.edu
Overview • Introduction to Decision Support Systems • Building a Web-Enabled Decision Support System • Integrating DSS in Business Curriculum INFORMS TEACHING MS WORKSHOP 2004
Model Base Knowledge Base Database GUI User Decision Support Systems (DSS) • A decision support system is an information system that assists the user in decision-making. INFORMS TEACHING MS WORKSHOP 2004
Developing Interactive Systems • Practical decision making requires developing man-machine interactive systems. Input Data The Model Output, Reports User Interface, Re-optimization INFORMS TEACHING MS WORKSHOP 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 INFORMS TEACHING MS WORKSHOP 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 INFORMS TEACHING MS WORKSHOP 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 INFORMS TEACHING MS WORKSHOP 2004
Overview • Introduction to Decision Support Systems • Building a Web-Enabled DSS • Integrating DSS in the Business Curriculum INFORMS TEACHING MS WORKSHOP 2004
Users Database Application DBMS Database Components of a Web-Enabled DSS • Databases • Database Management System (Access DBMS) • Developing GUI • Web-Enabling the Application INFORMS TEACHING MS WORKSHOP 2004
Company Name DateAdded Symbol Type PID Object Data Model PORTFOLIO STOCK Quantity Portfolio PID Name DateAdded Has Relational Data Model Portfolio Details PID Symbol Quantity Stock Type Symbol Company Data Modeling • Systematically converts E-R Diagram into Relations INFORMS TEACHING MS WORKSHOP 2004
Toolbar Main Menu Database Window Object Bar Table Objects Database View Access DBMS: Developing Environment • Access Environment: Facilitates development process. INFORMS TEACHING MS WORKSHOP 2004
Database Tables Attributes Tables and Relationships • Tables: Stores data • Relationships Window: Relates data INFORMS TEACHING MS WORKSHOP 2004
Table Pane Design Grid Query Output Queries • Queries: Processes data INFORMS TEACHING MS WORKSHOP 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*” INFORMS TEACHING MS WORKSHOP 2004
Users Database Application DBMS Database Components of a Web-Enabled DSS • Databases • Database Management System (DBMS) • Developing GUI(VB .NET) • Web-Enabling the Application(ASP .NET) INFORMS TEACHING MS WORKSHOP 2004
. Net Applications VC++ VB C# Other .NET Framework Other Components Class Library Common Language Runtime (CLR) Windows Operating System What is .NET ? • .NET is aset 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. INFORMS TEACHING MS WORKSHOP 2004
Design Window VB .NET Developing Environment • Visual Studio .NET is the Interactive Development Environment (IDE) for .NET applications. INFORMS TEACHING MS WORKSHOP 2004
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.) INFORMS TEACHING MS WORKSHOP 2004
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.) INFORMS TEACHING MS WORKSHOP 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.) INFORMS TEACHING MS WORKSHOP 2004
A A Loop False True Condition True Condition Else If False B B 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 INFORMS TEACHING MS WORKSHOP 2004
Event List Programming…Interactive 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.) INFORMS TEACHING MS WORKSHOP 2004
IntelliSense Online tip Programming...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.) INFORMS TEACHING MS WORKSHOP 2004
VB .NET Forms & Controls Datasets (Stores query output) Databases Data Adaptor (SQL Query) Connection 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 INFORMS TEACHING MS WORKSHOP 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 adata adaptor with desired SQL statement • Create adataset to store query results • Bind the control to the dataset • Run the query by writing VB .NET code INFORMS TEACHING MS WORKSHOP 2004
Drag & Drop Connection, 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.) INFORMS TEACHING MS WORKSHOP 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.) INFORMS TEACHING MS WORKSHOP 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.) INFORMS TEACHING MS WORKSHOP 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.) INFORMS TEACHING MS WORKSHOP 2004
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.) INFORMS TEACHING MS WORKSHOP 2004
Me.BindingContext(DsInvInfo,"tblInvestor") .CancelCurrentEdit() OleDbInvInfo.Update(DsInvInfo) Me.BindingContext(DsInvPort, "tblPortfolio") .RemoveAt (lstPort.SelectedIndex) 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.) INFORMS TEACHING MS WORKSHOP 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.) INFORMS TEACHING MS WORKSHOP 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.) INFORMS TEACHING MS WORKSHOP 2004
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 INFORMS TEACHING MS WORKSHOP 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.) INFORMS TEACHING MS WORKSHOP 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. INFORMS TEACHING MS WORKSHOP 2004
Results Optimization Code On Click Dataset has Data From Database User Input Portfolio Optimization Problem INFORMS TEACHING MS WORKSHOP 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.) INFORMS TEACHING MS WORKSHOP 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.) INFORMS TEACHING MS WORKSHOP 2004
Working with Crystal Reports(Contd..) Dataset with data to plot VB .NET Code Chart Expert Wizard Final Graph INFORMS TEACHING MS WORKSHOP 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 INFORMS TEACHING MS WORKSHOP 2004
How This Works? INFORMS TEACHING MS WORKSHOP 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. INFORMS TEACHING MS WORKSHOP 2004
Overview • Introduction to Decision Support Systems • Building a Web-Enabled DSS • Integrating DSS in Business Curriculums INFORMS TEACHING MS WORKSHOP 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 INFORMS TEACHING MS WORKSHOP 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. INFORMS TEACHING MS WORKSHOP 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 INFORMS TEACHING MS WORKSHOP 2004
Web-Enabled DSS Textbook Abhijit Pol Ravindra K. Ahuja INFORMS TEACHING MS WORKSHOP 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 INFORMS TEACHING MS WORKSHOP 2004
Case Studies • NASA’s Rocket Science • University Student Information System • TV Channel Project • Airline Scheduling • Portfolio Management • Online Shopping INFORMS TEACHING MS WORKSHOP 2004