1 / 32

Algovision

Algovision. Implementation and Testing. Development Team. Group Name Jonathan Turel Project Manager Justin Cowen Chief Designer Pamela Rosoff Quality Assurance Engineer Ash Smith Requirements Engineer. Problem and Objectives.

mirari
Download Presentation

Algovision

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algovision Implementation and Testing

  2. Development Team • Group Name • Jonathan Turel • Project Manager • Justin Cowen • Chief Designer • Pamela Rosoff • Quality Assurance Engineer • Ash Smith • Requirements Engineer

  3. Problem and Objectives • Several core algorithms, mainly taught through Data Structures and Scientific Computing, are essential to a students ability to further develop their programming skills • These are normally very complex and can be difficult to comprehend without a visual demonstration • We provide an abstract and visual way to learn these algorithms • Better understanding of these algorithms will lead to more potential or educational and, thus, career growth

  4. Success Criteria • Program • Ease of use • Accuracy of information • Clarity of text and visualizations • Steady flow of actions • Team • Meet deadlines • Frequent team member communication • Constructive input by all members

  5. Presentation Outline • Team Member Responsibilities • Requirements Models • GANTT Charts • Use Case diagram • Work breakdown structure • Design Models • Architectural • Design class diagram • Example of Pre/post condition of operations • Example of State diagram • Example of Sequence diagram • Implementation • User interface • Test plan • Lessons learned • References • Demp

  6. Team Member Responsibilities • Jonathan – Project Manager • Structure, function and testing of: Bubble Sort page, Stack/Queue page, Binary Tree page • Justin – Chief Designer • Structure, function and testing of: Matrix Algebra Page, requirements models • Pamela – Quality Assurance E. • Structure, function and testing of: Main UI, final document, design models • Ash – Requirements Engineer • Structure, function and testing of: Binary Tree page

  7. Requirements Models

  8. GANTT CHART Overall timeline of project phases and development.

  9. Use Case Diagram

  10. Use Case Example

  11. Work Breakdown Structure • Management • Ensuring Progress • Scheduling Meetings • Peer Evaluation • Cost and Time Minimization • Resources • Determine resources and availabilities • Risks • Identify Risks • Create Risk Table • Create Risk Plan • Document risk mitigation/monitoring/management • Requirements • Functional Requirements • Provide list of algorithms • Appropriate input methods • Use input for demonstration • Animate step-through of algorithm execution • Provide extra notifications as needed • Option to repeat execution • Tabbed implementation for multiple algorithm instances • Non-Functional Requirements • Clarity of explanations • Simple, concise pseudocode • System Design • User Interface • Tabs for each algorithm instance • Specialized user input • Start / Pause / Step/ Reset Buttons • Pseudocode Frame • Animation Frame • Toolbar Menu • Status Bar • Implementation • Code main GUI structure • Code individual algorithm panels • Code basis for adding and removing nodes • Code means for moving nodes on screen • Code input mechanisms • Code various algorithms • Implement pseudo-code iteration • Synchronize pseudo-code iteration algorithm execution • Testing and Debugging • Run several test cases for each algorithm • Analyze process steps and final outcome • Non-team member testing for feedback and further testing

  12. Design Models

  13. Architectural Model – Layered Three tiered layered architecture of the AlgoVision system

  14. Architectural Model – Client/server Client/Server architecture of the AlgoVision system

  15. Design Class Diagram

  16. Pre/Post Condition of Operations • Stack/Queue page • Pre-conditions: • Full stack displayed, full queue displayed • Execution of operations • Post-conditions: • Based on user input, modify and accurately display stack and queue visuals

  17. Pre/Post Condition of Operations • Stack/Queue page • Pre-conditions: • Full stack displayed, full queue displayed • Execution of operations • Post-conditions: • Based on user input, modify and accurately display stack and queue visuals

  18. Pre/Post Condition of Operations • Matrix Algebra page • Pre-conditions: • Matrix dimensions, matrix operation and input values selected • Execution of operations • Post-conditions: • Based on user input, correct result matrix displayed

  19. Pre/Post Condition of Operations • Binary Tree page • Pre-conditions: • Default nodes displayed as unsorted array • Execution of operations • Post-conditions: • Balanced binary tree created from nodes • Step through • Search • Find maximum • Find minimum

  20. State Diagram – Example 1 State diagram for bubble sort page

  21. State Diagram – Example 2 State diagram for Stacks/Queues page

  22. Sequence Diagram – Example 1 Binary Tree page sequence diagram

  23. Sequence Diagram - Example 2 Main page sequence diagram

  24. Implementation

  25. User Interface

  26. User Options • Implemented: • File menu options: Exit, About • Binary Tree button • Matrix Algebra button • Bubble Sort button • Stack and Queue button • Step through Bubble Sort • Specify Matrices’ sizes and input • Randomize Binary Tree data nodes • Not Implemented: • Data Structures button: Changed to Stacks and Queues button • Scientific Computing button: functionality implemented in Matrix Algebra page

  27. Test Plan – Testing Approach • Black Box • Using default values to test implementation • Testing all functionality through the GUI • White Box • Individual testing of methods within the code • Testing for bugs and inaccuracies as well as confirming validity of code

  28. Test Plan – Test Cases

  29. Test Plan – Test Cases

  30. What We Learned • Software Engineering involved a lot of documentation • Subversion shared files makes it very easy to share code with a team • You can’t always accomplish all of the goals you set forth • It is important to set goals realistically • Documentation is key to the success of project developmentand requires considering time and resource constraints.

  31. Bibliography • “What is Plagiarism?” Plagiarism.org. Accessed March 28 2011. http://www.plagiarism.org/learning_center/what_is_plagiarism.html> • “Academic Honor Code.” UNCW 2011-2012 Undergraduate Catalogue. Wilmington, North Carolina: Dean of Students, updated 6 Aug 2009. Print • Riklan, David. "The Self Improvement 101: The 62 Essential Truths about Improving Your Life " Editorial. SelfGrowth.com. Self Improvement Online Inc., 2004. Web. 14 Feb. 2011. <http://www.selfgrowth.com/gwlesson3.html>. • Pressman, Roger S. Software Engineering: A Practitioner’s Approach. 7th ed. New York: McGraw-Hill, 2010. Print. • Blaha, Michael, and James Rumbaugh. Object-Oriented Modeling and Design with UML. 2nd ed. Prentice Hall, 2005. Print.

  32. Questions

More Related