CS 425 – F ALL 09 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION.

Slides:



Advertisements
Similar presentations
Developed by Reneta Barneva, SUNY Fredonia
Advertisements

Water Rights Accounting. New Accounting Model New Technology: 1979 versus 2011 – Faster processors – Faster graphics – Larger, faster, memory – Larger,
Ch 3 System Development Environment
18-1 Verifying Object Behavior and Collaboration Role playing – the act of simulating object behavior and collaboration by acting out an object’s behaviors.
Alternate Software Development Methodologies
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Design Patterns CS is not simply about programming
1 CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
Chapter 1 Program Design
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Project Management and Scheduling
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
UNIT 21 Software Engineering.
Annual SERC Research Review - Student Presentation, October 5-6, Extending Model Based System Engineering to Utilize 3D Virtual Environments Peter.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION.
CIS 321—IS Analysis & Design
Chapter 2 The process Process, Methods, and Tools
Managing the development and purchase of information systems (Part 1)
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
T Project Review RoadRunners [PP] Iteration
CIT241 Prerequisite Knowledge ◦ Variables ◦ Operators ◦ C++ Syntax ◦ Program Structure ◦ Classes  Basic Structure of a class  Concept of Data Hiding.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
System Design: Designing the User Interface Dr. Dania Bilal IS582 Spring 2009.
1 UNIT 20 Software Engineering Lecturer: Ghadah Aldehim.
Design patterns. What is a design pattern? Christopher Alexander: «The pattern describes a problem which again and again occurs in the work, as well as.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
SPSS Presented by Chabalala Chabalala Lebohang Kompi Balone Ndaba.
SOEN 6011 Software Engineering Processes Section SS Fall 2007 Dr Greg Butler
CONTENTS:  Introduction  What is neural network?  Models of neural networks  Applications  Phases in the neural network  Perceptron  Model of fire.
LINEAR CLASSIFICATION. Biological inspirations  Some numbers…  The human brain contains about 10 billion nerve cells ( neurons )  Each neuron is connected.
Chapter 12: Systems Investigation and Analysis. Agenda  How to Develop a CBIS?  Systems Development Life Cycle (SDLC)  Prototyping  Join Application.
Software Life Cycle Requirements and problem analysis. –What exactly is this system supposed to do? Design –How will the system solve the problem? Coding.
School of Computer Science & Information Technology G6DICP - Lecture 9 Software Development Techniques.
CSE 219 Computer Science III Program Design Principles.
Introduction to Software Engineering ECSE-321 Unit 4 – Project Management 10/19/2015Introduction to Software Engineering – ECSE321Unit 4 – Project Management/1.
Verb Expansion Game Team 3 Bryan Bloss Jeremy Comardelle Gordon Gable Gleyner Garden Sponsored By: Dr. Beth Young.
1 Extend is a simulation tool to create models quickly, with all the blocks you need and without even having to type an equation. You can use a series.
MODELING COGNITIVE DISSONANCE IN NEURAL NETWORKS Progress Report.
Quality Software Project Management Software Size and Reuse Estimating.
Handwritten Recognition with Neural Network Chatklaw Jareanpon, Olarik Surinta Mahasarakham University.
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
ANU COMP2110 Software Design in 2003 Lecture 10Slide 1 COMP2110 Software Design in 2004 Lecture 12 Documenting Detailed Design How to write down detailed.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
May08-21 Model-Based Software Development Kevin Korslund Daniel De Graaf Cory Kleinheksel Benjamin Miller Client – Rockwell Collins Faculty Advisor – Dr.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Intelligence and Information Systems 1 3/17/2004 © 2004 Raytheon Company USC/CSE Executive Workshop on Agile Experiences March 17, 2004 A Raytheon Agile.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 Unified Modeling Language Michael K. Wildes University of California, Riverside – Extension Program Presentation 2.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Elaboration popo.
System.
Component Based Software Engineering
Agile Process: Overview
Chapter 1 Introduction(1.1)
Algorithms and Problem Solving
What is a System? A system is a collection of interrelated components that work together to perform a specific task.
Presentation transcript:

CS 425 – F ALL 09 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

P ROJECT O UTLINE CS Team Neurotic 2 Cognitive Dissonance Reduction in Neural Networks

Participants CS Team Neurotic 3 Manager Dr. Fujinoki Manager Dr. Fujinoki Client/User Dr. Watson Client/User Dr. Watson Members Tim Meyer Jarrod Capps Jonathan Bridges Members Tim Meyer Jarrod Capps Jonathan Bridges Team Leader Cory Lehan Team Leader Cory Lehan

Team Roles CS Team Neurotic 4 Team Leader Customer Interface Support Cory Lehan Test Manager Process Manager Tim Meyer Implementation Manager Plan Manager Jarrod Capps Design Manager Quality Manager Jonathan Bridges

Ethical Considerations CS Team Neurotic 5 Client Relations  Bi-weekly meetings at client’s discretion. Individual Accomplishments  Author and Co-author tags. Academic Awareness  Put forth best effort, due to the sharing of a group grade.

Background Cognitive Dissonance  A cognition can be a belief or attitude a person holds.  Dissonance occurs when cognitions contradict each other.  Very uncomfortable feeling in humans. 6 CS Team Neurotic Responsibility Cognition 2 Cognition 1 BeliefDissonance Reduction occurs to reduce the unpleasant feeling.

Background CS Team Neurotic 7 Neural Networks  Two main groups: A.I. & Cognitive Modeling. Artificial Intelligence with Neural Networks  Problem solving.  Pattern recognition.  Can be trained or learn. Cognitive Modeling in Neural Networks  Models biological neural systems.  Heavy use of mathematical models.

Background CS Team Neurotic 8 Neural Network for this project  Concerned with modeling, not problem solving.  Based off the Consonance Model from “Connectionist Models of Social Reasoning And Social Behavior”.  Will attempt to simulate dissonance reduction.

Background CS Team Neurotic 9 The Consonance Model.  Cognitions  Two nodes at polar ends.  Resistance to change  Nodes contain an activation level.  Firing rate of neuron.  Represents direction and strength of the attitude or belief (the cognition) Cognition

Background CS Team Neurotic 10 The Consonance Model.  Cognitions are connected through their nodes bi-directionally.  Connections are weighted positively or negatively.  Cognitions are related positively or negatively Cognition 2Cognition 1

R EQUIREMENTS CS Team Neurotic 11

Hardware Environment CS Team Neurotic 12 What They Are  Windows Environment (XP, Vista, 7)  Minimum disk storage ~50mb  1 GHz Pentium III, or greater, processor. How We Know  Based off requirements of similar software the client runs.

Software Requirements CS Team Neurotic 13 Requirements Gathering  Repeated meetings with the client.  Use Cases  Interface Mock-up to gather features for.

Software Requirements CS Team Neurotic 14 Feature Priority List  Generated from gathering phase.  Priority assigned based off client need, and risk assessment.  Estimates are conservative, and based off previous experience. PriorityItem#Description Est. (days) Very High Neural network components with attributes- 1 Cognitions, Nodes2 2 Connections2 3 Update algorithm for iterations4 4 Neural network creation wizard3 Feature Priority List Example:

Software Requirements CS Team Neurotic 15 Key Features  User created neural network.  Ability to load/save past creations.  Ability to edit properties of a created neural network.  Start/Pause the neural network simulation.  Graphical representation of the neural network.  Graph output of dissonance.

D EVELOPMENT E NVIRONMENT CS Team Neurotic 16

Programming Language CS Team Neurotic 17 What is it?  Java Why?  Helpful Neural Network books with Java.  JFreeChart and JOGL Java libraries.  Java SWING provides interface creation.

Libraries CS Team Neurotic 18 JFreeChart  Allows dynamically created charts.  Meets requirements based off tested code in High-Fidelity prototype. JOGL (Java OpenGL)  Allows the graphical representation of the neural network.  Certain it meets required needs based off previous experience.

Software Tools CS Team Neurotic 19 Subversion  Used with all documents and code. NetBeansIDE  Java support.  JUnit  Subversion support. Doxygen  For generating software reference documentation.

Coding & Documentation Standards CS Team Neurotic 20 Code Comments  Javadoc style comments Indentation  Standard 4 space “hanging paragraph” style. Naming  Camel Casing (e.g. camelCasing)  Noun phrases for class names.  Verb phrases for method names.

D EVELOPMENT P LAN CS Team Neurotic 21

Software Engineering Methodology CS Team Neurotic 22 Based off certain agile “Best Practices”  Customer Involvement  Test Before Code  Code Review and Refactor  Stand-up Meetings  Problem Solving with Patterns

Developed in iterations. Gather RequirementsDesign - System StructureIncremental DevelopmentSystem TestingReview & Release Software Process CS Team Neurotic 23

Software Process CS Team Neurotic 24 Incremental Development  Begins by converting features to tasks. Design Implementation & Unit Testing System Testing Review Feature-to- Task

Software Process CS Team Neurotic 25 Reasons for Process Choice  Adaptability to changing requirements.  Iterative nature gives an early working build.  Allows for a lot of testing.  Keeps client involved through iteration reviews.

Risk Analysis CS Team Neurotic 26 R ISK M ITIGATION T ACTIC Dissonance reduction algorithm doesn’t work. Design pseudo-code of algorithm. Priority of first iteration. Interface and Graph Output don’t interact with one another correctly. Extensive documentation purchased on JFreeChart. Implemented chart in high-fidelity prototype. No working product early enough for client to begin research. The first iteration will contain only the bare and highest-priority items.

Project Plan CS Team Neurotic 27 Iteration #1 – Very High Priority Features

Project Plan CS Team Neurotic 28 Iteration #2 – High Priority Features

Project Plan CS Team Neurotic 29 Iteration #3 – Moderate Priority Features

Project Plan CS Team Neurotic 30 Iteration #4 – Low Priority Features (Optional)

Testing Plan CS Team Neurotic 31 Testing will be done in 3 phases:  Phase 1: Functionality Testing. Done by individual programmer.  Phase 2: Requirements testing. Done by majority of the team including Client.  Phase 3: Final testing of Program. Done by the majority of the team. Unit testing will be done in all Phases.

D ESIGN CS Team Neurotic 32

CS Team Neurotic 33 Static class diagram of system structure Observer Pattern Displays are updated when new data is available. Allows dynamic addition or remove of observing displays. Singleton Pattern Only one instance of the network data can exist. Gives a global access point to the data.

Graphics CS Team Neurotic 34 Displays the Neural Network in a graphical, user-friendly way Takes mouse input for easily modifying the network Tasks are divided into separate classes for expandability

Algorithm CS Team Neurotic 35 Current algorithms are rather simple  Formulas contained in texts Client may need more advanced algorithms  Dynamic connection weights are desired  Both client and team will work together to develop a more advanced algorithm to simulate these changes

Algorithm CS Team Neurotic 36 Pseudo-code created of simple dissonance reduction algorithm, and calculating consonance/dissonance. calculateConsonance { float consonance; for(... Node i) { for(... Connection j) { consonance += Node[i].con[j].weight * Node[i].activation * Node[j].activation; } Sample of calculating consonance:

P ROTOTYPE D EMO CS Team Neurotic 37

Questions? CS Team Neurotic 38 Cory Lehan Tim Meyer Jarrod Capps Jonathan Bridges