Its design doc

  • View

  • Download

Embed Size (px)

Text of Its design doc

  • 1.Intelligent Tutoring System -User Interface Design TeamSenior Design ProjectSpring 2011 CS 4111 Group CM 20Mae Tidman -Proj. ManagerHarrison Leach -Lead ProgrammerRussell Brooks -DesignerBen McMurray -ProgrammerGreg Krudysz -CustomerDr. Jim McClellan - Faculty AdvisorCapstone Design Document

2. 1 Table of Contents Release notes 2 Installation instructions 3 Objective 6ITS user manual9Student/teacher10 user manualDesign notes 11Testing26Source Code30 3. 2 Release Notes:Intelligent Tutoring System front-end Version 1Status: Near Completion Known Bugs:-Licensing Issues: 4. 3 INSTALLATION GUIDEThis installation goes through installing on a windows OS.INSTALL XAMPP: o Go to download the correct version for you system. o After picking a destination for the XAMMP directory in the next window make sure that Apache and MySQL are selected for installation.INSTALL JAVA o If Java is not installed already installed on this computer go to this site to download the simple installer. o Run the executable and install.INSTALL TOMCAT o Go to to download Tomcat 7.0. Easiest install is the 32-bit/64-bit Windows Service Installer. o Run the executable and install. o For instructions on how to install Tomcat other OS go to MATHEMATICA o Gain a license for Mathematica you can buy it here o Once you have the executable, run and install. o Open Mathematica and put in your user code that comes with the license.INSTALL WEBMATHEMATICA o To get webMathematica you must contact them by phone which you can find on their contact page o webMathematica is more complex to install. To give a good description an excerpt from 5. 4 guide also goes over for different OS how to do these installs.Unpack one of the webMathematica web application archives into thewebMathematica directory located in the Tomcat webapps directory.This is usually found in the top-level directory of Tomcat. You have nowcreated a web application called webMathematica. Some of the contentsof the top directory of Tomcat, along with the location of the webappsdirectory and webMathematica web application, are shown here: o tomcato confo bino logso libo webapps o webMathematicaSecond, configure the file MSPConfiguration.xml, located in the WEB-INF/conf directory. This file holds various site-specific parameters andmay need modification for your site.The most important setting is KernelExecutable, the location of theMathematica kernel. TheMSPConfiguration.xml file that ships withwebMathematica contains settings suitable for a default installation ofMathematica for Windows, Unix, Linux, and Mac OS X. However, if youinstallMathematica into a nondefault location, you will need to modifythis file. For example, if you installed Mathematica into E:Mathematica,make the following setting of KernelExecutable inMSPConfiguration.xml:KernelExecutableE:MathematicaMathKernel.exe/KernelExecutableAnother reason to modify MSPConfiguration.xml is to store yourwebMathematica license information in its own password file, forexample webMathematica/WEB-INF/conf/mathpass. It would then benecessary to modify KernelLaunchFlags in MSPConfiguration.xml toensure thatMathematica uses this location. The following shows how thiscould be done for a typical Windows installation:KernelLaunchFlags-pwfile c:/Program Files/tomcat/webapps/webMathematica/WEB-INF/conf/mathpass/KernelLaunchFlags 6. 5 INSTALL JCONNECTORo You can find the jconnector at the mySQL site In Tomcat 7.0/webapps/ROOT/WEB-INF create a file called lib, ifit does not already exist. Inside that folder put the mysql-javaconnector file.INSTALL ITS-TEMPLATEo Take the ITS-Template file that is provided by us and move it intotomcat/webapps/webMathematicao Open process-login.jsp and slider.jsp with a text editor. Look for aline of code like this. o con = DriverManager.getConnection("jdbc:mysql:///its", "root", "rpox3886");o Replace "root" and "rpox3886" with the login and passwordconnection to the phpserver that you chose when you installedXAMPP. 7. 6 ObjectiveProduct Vision StatementMOTIVATION / OPPORTUNITY:We are building a web-embeddable template that allows for interactive problem-solving while attaching to a larger system - the existing Intelligent TutoringSystem - to mine data about the users learning habits and conceptualunderstanding of the problem. The purpose of the bigger system is to create anenvironment that may potentially adapt to the users learning style in order tofacilitate a stronger understanding and intuition regarding a problem. It is a newapproach to existing learning systems. Our opportunity is to make this feasiblefor the web and student interactions, and is procedurally generated, saving thedevelopers of the Intelligent Tutoring System from having to develop too manyproblems.PROBLEM STATEMENT:The problem of creating a web template that supports data mining (but does notinclude) and graphical interaction for electrical computing engineering (ECE)problem solving affects Georgia Techs Intelligent Tutoring System project theimpact of which is providing an abstract user interface intended to eventuallyplug into the larger system a successful solution would be developing a web-based interactive system built in a way that has the extendibility to easilycustomize it for many types of problems.PROBLEM POSITION STATEMENT:For Georgia Techs Intelligent Tutoring System (ITS) development team who willuse it to connect the ITS database with Mathematica plots and to a login pageand for Georgia Tech ECE who are attempting to solve a problem using ITS. OurSystem is an online interface including a small database, login page, and a pagetemplate loading a plot and displaying GUI that pulls a problem and its variablesfrom a database, procedurally creates inputs/sliders for the variables, updatesthe view with the problem data, sends equation with variable values toMathematica via WebMathematica, and displays the visual generated. Unlikeprevious attempts by the ITS development team to put the system online, ourproduct will be developed with flexibility and future growth in mind and isequipped with the cutting edge Wolfram software. 8. 7 USERSThe primary users of our product are the ITS development team who will use itas a front-end to the existing database for eventual use at the user interface forthe ITS.The eventual end-users of our application will be Georgia Tech students. Theywill be interacting with our product to solve problems using a graphical interfaceand plot to assist them in understanding the solution and type of problem.FEATURE LIST Ability to generate an interactive and graphical problem given an equationand its variables specifications Flexibility to hold many types of problems, meaning an extendable sidebarfor GUI and label placeholders for problem details to be printed from thedatabase Easily readable code that can be quickly understood by another developer Includes a small database and login page for testing the main problemcontainer pages functionality and usabilityCONSTRAINTS To avoid licensing issues and cost, product will primarily depend on free and open-source software and libraries MySQL will be used to store data due to its availability, modifiability, flexibility, and extensibility (free) WebMathematica will be used to connect to Mathematica for creating plots from equations. Wolfram Mathematica was chosen for its availability through Georgia Tech and because of Wolframs reliability and portability Environment must also be able to connect to a database or send information to the server o Mathematica could lead to licensing limitations - however, it is freefor students via Apache HTTP Server must be installed on developers computers, in order to test interaction of the program with a server (open-source) o Apache Tomcat or another servlet container must also be installedin order to support webMathematica and Java Server Pages (open-source) jQuery UI will be used for its flexibility and extensibility with form elements and actions (open-source) 9. 8 Requirements Database to maintain problem data and associated problem variable data Web-embeddable platform capable of connecting to database Must pull data from a formatted model and generate a visual illustratingequation and changes caused by interacting with an interface thatchanges variables 10. 9 ITS User Manual 11. 10 Student/Teacher User Manual 12. 11 Design NotesArchitecturesRationaleData Design InteractionUser Interface Design Validation 13. 12 Architecture (c) Have all necessary diagrams of the problem space been provided(class, sequence, state, activity, deployment, component)? Has the class hierarchy been examined for reuse possibilities? Have potential frameworks been identified and documented? Does the documentation include a description of the collaboration pattern(intra-framework protocol) for the framework? Does the documentation include rationale discussing archtecturaldecisions and trade-offs? Are all required architectural views provided? (conceptual, process,module, physical)? Is there a dynamic description of the architecture that describes how thecomponents will interoperate at runtime? Have the system boundaries been specified? Have appropriate architecural styles been used or considered? Have appropriate design patterns been applied where appropriate? 14. 13 Figure 1 Our software architecture is a version of model-view-controller. 15. 14 Figure 2 - Dynamic architecture Landing PageLogin Processor (HTML)(JSP) Find `user` ofPosts formgiven username variables- Backend logic-Presentation logic - Set session-Username text eldvariables