FreeShell Live Final Presenation Jonathan Birch | Greg Chabala | Bryan Kimbro | Mark Sparks.

Slides:



Advertisements
Similar presentations
P5, M1, D1.
Advertisements

CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Web Forms and ASP.NET Programming Right from the Start with Visual Basic.NET 1/e 12.
Alternate Software Development Methodologies
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Chapter 6: Design of Expert Systems
1 Chapter 9 Rules and Expert Systems. 2 Chapter 9 Contents (1) l Rules for Knowledge Representation l Rule Based Production Systems l Forward Chaining.
EXPERT SYSTEMS Part I.
Interpret Application Specifications
CS 898N Advanced World Wide Web Technologies Lecture 1: Introduction Chin-Chih Chang
Problem with Software Requirements are complex The client does not know the functional requirements in advance Requirements may be changing Technology.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
Planning. SDLC Planning Analysis Design Implementation.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee.
Sepandar Sepehr McMaster University November 2008
Software Developer Career. ◦ Desktop Program development ◦ Web Program Development ◦ Mobile Program Development.
1 Introduction to Web Development. Web Basics The Web consists of computers on the Internet connected to each other in a specific way Used in all levels.
HTML Comprehensive Concepts and Techniques Intro Project Introduction to HTML.
Systems Analysis And Design © Systems Analysis And Design © V. Rajaraman MODULE 14 CASE TOOLS Learning Units 14.1 CASE tools and their importance 14.2.
Computers & Employment By Andrew Attard and Stephen Calleja.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Avalanche Internet Data Management System. Presentation plan 1. The problem to be solved 2. Description of the software needed 3. The solution 4. Avalanche.
SDMAY02 Personal Effort James McCollum (leader) EE 180 hours Scott Seieroe EE 165 hours Josh Nielsen EE 165 hours Scott Keister (reporter) EE 120 hours.
Incell Phonium Processor Project Plan Document Dale Mansholt Aaron Drake Jon Scruggs Travis Svehla.
ISU Alumni Association Online Store Abstract The Iowa State University Alumni Association desires a complete overhaul of their online store. The current.
Course Instructor: K ashif I hsan 1. Chapter # 2 Kashif Ihsan, Lecturer CS, MIHE2.
End HomeWelcome! The Software Development Process.
School of Computer Science and Technology, Tianjin University
Motoring a Web Cam By Kevin Papreck. Definition & Requirements I had to develop a two-axis web cam that can be controlled over the internet. Along with.
Integrated Development Environment (IDE)
Chapter 11 An Introduction to Visual Basic 2008 Why Windows and Why Visual Basic How You Develop a Visual Basic Application The Different Versions of Visual.
Tutorial 1: An Introduction to Visual Basic.NET1 Tutorial 1 An Introduction to Visual Basic.NET.
FotoGazmic Software (From left to right: Chad Zbinden, Josey Baker, Rob Mills, Myra Bergman, Tinate Dejtiranukul)
May05-36: Boone Cemetery Management Software Boone Cemetery Management Software May05-36 Greg Thede, Director, Boone Parks Department Dr. Kothari Joseph.
1 3. Computing System Fundamentals 3.1 Language Translators.
1 R.O.M.P Robot Orientation Mapping Project (Project Plan) Team Evolution Peri Subrahmanya: Lead Designer Michael Lazar: Project Manager Sean Hogan: Lead.
UML based expert system generation Using Enterprise Architect to model and generate a web-based expert system.
By Matt Baker Eric Sprauve Stephen Cauterucio. The Problem Advisors create a sign-up sheet to be posted on the door of their office. These sign-up sheets.
 Architecture and Description Of Module Architecture and Description Of Module  KNOWLEDGE BASE KNOWLEDGE BASE  PRODUCTION RULES PRODUCTION RULES 
FotoGazmic Software Project Plan Senior Project: CS 425 Spring 2003.
Slide 12.1 Chapter 12 Implementation. Slide 12.2 Learning outcomes Produce a plan to minimize the risks involved with the launch phase of an e-business.
Expert System Job Offer Evaluation Software May Abstract The project’s focus is to decide what criteria should be used to determine which job offer.
Module 2: Using Microsoft Visual Studio.NET. Overview Overview of Visual Studio.NET Creating an ASP.NET Web Application Project.
Controlling Computer Using Speech Recognition (CCSR) Creative Masters Group Supervisor : Dr: Mounira Taileb.
Jin-Ning TiohComputer Engineering Tony RossComputer Engineering Dave ZajicekComputer Engineering Alex BurdsComputer Engineering Abstract In recent years,
Faculty Coach: Professor Martinez  Justin Mahar  Chris Baum  Greg Schmitz  Adam Abdelhamed.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
The Juggernaut Team Tyler Douthitt  Project Manager  Lead Website Developer Mike Harman  Lead Programmer Eric Rakers  Lead Documenter  Lead Analyst.
Web-based Front End for Kraken Jing Ai Jingfei Kong Yinghua Hu.
PRESENTED BY GRADUATE DESIGN GROUP 2 MEREDITH, JENNIFER, CAMMAY AND DIANE How to build a web site in Dreamweaver.
Artificial Intelligence
ITEC 1010 Information and Organizations Chapter V Expert Systems.
Word Guess Team (Team #4) October 8, Word Guess Team  Team Members  Chakib Kouhel:  Steve Mattingley:
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
ICAD3218A Create User Documentation.  Before starting to create any user documentation ask ‘What is the documentation going to be used for?’.  When.
Capstone Project W-CMS `.
CST 1101 Problem Solving Using Computers
Chapter 1 Introduction to HTML
Computer Aided Software Engineering (CASE)
Architecture Components
Software Documentation
Chapter 10 Development of Multimedia Project
Implementation and Maintenance
Mission Science By Team 07.
Gathering Systems Requirements
Gathering Systems Requirements
Intro Project Introduction to HTML.
Presentation transcript:

FreeShell Live Final Presenation Jonathan Birch | Greg Chabala | Bryan Kimbro | Mark Sparks

Overview Introduction Introduction Expert systems Expert systems Expert system shells Expert system shells Original FreeShell Original FreeShell Requirements Requirements Project design and plan Project design and plan Demo Demo Retrospective Retrospective

Introduction FreeShell Live is an upgrade of FreeShell, an expert system shell program developed as a senior project in FreeShell Live is an upgrade of FreeShell, an expert system shell program developed as a senior project in 2003.

Client / Management Client - Dr. Xudong Yu Client - Dr. Xudong Yu Uses expert system shell to teach CS 490 – Expert Systems Uses expert system shell to teach CS 490 – Expert Systems Upper Management – Dr. Bernard Waxman / Dr. Bryon Ehlmann Upper Management – Dr. Bernard Waxman / Dr. Bryon Ehlmann

What is an Expert System? Software that contains a collection of rules Software that contains a collection of rules Helps users to form conclusions from known facts Helps users to form conclusions from known facts Used to stand in for trained experts in situations where it would be inconvenient to use a human Used to stand in for trained experts in situations where it would be inconvenient to use a human

Here’s an example: User: Should I carry an umbrella? User: Should I carry an umbrella? System: Is it raining? System: Is it raining? User: No User: No System: What does the sky look like? System: What does the sky look like? User: Cloudy User: Cloudy System: What is the barometric pressure in µPa? System: What is the barometric pressure in µPa? User: 1000 User: 1000 System: There is a 90% chance you should carry an umbrella. System: There is a 90% chance you should carry an umbrella.

How do they work? Expert systems have two main parts: Expert systems have two main parts: The Knowledge Base - a database of variables and rules relating to a problem The Knowledge Base - a database of variables and rules relating to a problem The Inference Engine - software that uses logic techniques to “solve” the knowledge base The Inference Engine - software that uses logic techniques to “solve” the knowledge base

How do they work? When a question is answered, the software uses the rules to forward chain and deduce new information. When a question is answered, the software uses the rules to forward chain and deduce new information. Afterwards, the inference engine backward chains to decide what new information would be most useful. The system then asks the user for this information. Afterwards, the inference engine backward chains to decide what new information would be most useful. The system then asks the user for this information.

What does FreeShell do? FreeShell is an expert system shell. It provides an interface for users to build knowledge bases. FreeShell is an expert system shell. It provides an interface for users to build knowledge bases. Once a knowledge base is complete, users can run the system through the interface. Once a knowledge base is complete, users can run the system through the interface.

Why make FreeShell Live? Old interface was hard to use Old interface was hard to use Wanted ability to publish expert systems as web pages Wanted ability to publish expert systems as web pages Old program had major bugs Old program had major bugs Limited editing ability Limited editing ability

Functional Requirements Knowledge base editor with a GUI that allows expert users to create knowledge bases Knowledge base editor with a GUI that allows expert users to create knowledge bases Web-based GUI that allows casual users to run the expert system Web-based GUI that allows casual users to run the expert system Certainty factor algebra to deal with uncertainty and probability Certainty factor algebra to deal with uncertainty and probability

Functional Requirements Completeness Checking Completeness Checking Contradiction Checking Contradiction Checking Ability to ask “Why?” Ability to ask “Why?”

Design system must run on Windows (2000/NT/XP) platform Design system must run on Windows (2000/NT/XP) platform Web-based GUI must run in Internet Explorer 6.0 or higher Web-based GUI must run in Internet Explorer 6.0 or higher GUIs must be designed for ease of use GUIs must be designed for ease of use System must be designed to respond quickly to users System must be designed to respond quickly to users Non-Functional Requirements

System must be well documented and easy to modify System must be well documented and easy to modify Documentation must include a tutorial and sample knowledge bases Documentation must include a tutorial and sample knowledge bases

Use Case Model

Design - Tools Software Software Microsoft Visual Studio.NET Microsoft Visual Studio.NET Languages Languages Visual Basic.NET Visual Basic.NET Visual C++.NET Visual C++.NET JavaScript JavaScript HTML HTML

Design – System Interface design Interface design Largely carried over from previous system Largely carried over from previous system Some major screen changes and additions Some major screen changes and additions Persistent data Persistent data Flat text file corresponding to knowledge base Flat text file corresponding to knowledge base HTML file for Publish-to-Web functionality HTML file for Publish-to-Web functionality

Design - Interface Knowledge Base Editor

Design - Interface

Design – Test Plan Module Testing Module Testing Integration Testing Integration Testing After the knowledge base editor and publish-to-web functionality is completed, integration testing will be performed After the knowledge base editor and publish-to-web functionality is completed, integration testing will be performed System Testing System Testing After each development cycle, the system will be testing using HCI methods After each development cycle, the system will be testing using HCI methods Acceptance Testing Acceptance Testing Throughout the development cycle, the system will be exhibited to our client to ensure his needs are met Throughout the development cycle, the system will be exhibited to our client to ensure his needs are met

Team Organization

Planned Project Lifecycle Modified Evolutionary Delivery

Planned Schedule

What we produced Demonstrate system here.

Actual Schedule

Retrospective – Publish Implemented using Dynamic HTML Implemented using Dynamic HTML No experienced team members No experienced team members Unable to find useful reference – what we were doing was original Unable to find useful reference – what we were doing was original Tried to use a self-submitting form - this was impossible Tried to use a self-submitting form - this was impossible Found a solution using Document.InnerHTML, but time was lost Found a solution using Document.InnerHTML, but time was lost

Retrospective – Publish Intended to use inference engine logic from FreeShell Intended to use inference engine logic from FreeShell FreeShell code was poorly commented / formatted FreeShell code was poorly commented / formatted Once code was understood, it was discovered to be incorrect Once code was understood, it was discovered to be incorrect Successfully coded a new inference engine from scratch, but more time lost Successfully coded a new inference engine from scratch, but more time lost

Retrospective - Interface Planned interface was found to lack necessary features, this forced a redesign Planned interface was found to lack necessary features, this forced a redesign After review of interface, a more significant overhaul was found to be necessary After review of interface, a more significant overhaul was found to be necessary

What is an expert system? Expert System Expert System Expert System Expert System Emulates the knowledge of real expert Emulates the knowledge of real expert Consists of a knowledge base and an inference engine Consists of a knowledge base and an inference engine Often used for diagnosis – a nurse can use an expert system to make a diagnosis that would normally require a doctor Often used for diagnosis – a nurse can use an expert system to make a diagnosis that would normally require a doctor

Interface Design

Testing Code reading Code reading Acceptance testing Acceptance testing Usability testing Usability testing Tyler ran the system and broke it Tyler ran the system and broke it

Reflections We used the old KBE to start developing. We should have scrapped it. We used the old KBE to start developing. We should have scrapped it.