february 26 2008 andy chang osei simba hinds rachal royce
Download
Skip this Video
Download Presentation
Nutlog Design

Loading in 2 Seconds...

play fullscreen
1 / 14

Nutlog Design - PowerPoint PPT Presentation


  • 103 Views
  • Uploaded on

February 26, 2008 Andy Chang · Osei Simba Hinds · Rachal Royce. Nutlog Design. From the Requirements:. Personal accounts Registration Login Manage account settings Log functionality Exercise activity entry Food item entry Item entry assistance Field selection Goal functionality

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Nutlog Design' - lela


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
february 26 2008 andy chang osei simba hinds rachal royce
February 26, 2008

Andy Chang· Osei Simba Hinds · Rachal Royce

Nutlog Design

from the requirements
From the Requirements:
  • Personal accounts
    • Registration
    • Login
    • Manage account settings
  • Log functionality
    • Exercise activity entry
    • Food item entry
    • Item entry assistance
    • Field selection
  • Goal functionality
    • Goal entry
    • Goal progress tracking
  • Reporting functionality
    • Tables
    • Graphs
  • Other
    • Web-based
    • Database
    • Specific pages, i.e. User Homepage (Summary Page) and Welcome/Help Page
system architecture
System Architecture
  • Multi-tier, not Model-View-Controller architecture
    • User interface tier (presentation layer)
    • Processing tier (application layer)
    • Data storage and access (data layer)

Model-View-Controller

Three-tier

presentation layer
Presentation Layer
  • User interface
    • Accepts requests from the user
    • Displays page contents and its layout
    • Renders output to the screen
  • Passes requests to the application layer
application layer
Application Layer
  • Handles requests
    • Processes input from presentation layer
      • Checks for validity
      • Converts to system format
      • Performs calculations
    • Calls data layer to retrieve data if necessary
    • Returns output to presentation layer
data layer
Data Layer
  • Accepts calls from application layer
  • Generates database queries to retrieve the necessary data or to update the necessary tables
  • Returns requested output or errors to the application layer
class design
Class Design
  • Use of Abstract Factory Pattern
  • Each layer divided up so that the classes correspond to the main pages/functions from the requirements
  • Presentation Layer
  • Dispatcher
  • ControllerFactory
  • AbstractController
  • HomepageController
  • AccountController
  • GoalsController
  • ReportsController
  • Application Layer
  • ApplicationFactory
  • HomepageApplication
  • AccountApplication
  • GoalsApplication
  • ReportsApplication
  • Data Layer
  • DataAccessFactory
  • AccountDAO
  • ExerciseLogDAO
  • FoodLogDAO
  • ExerciseDAO
  • NutritionDAO
  • GoalsDAO
  • SessionDAO
request cycle2
Request Cycle

Client

Navigates to www.nutlog.com. inputs an invalid username and password combination and presses <<GO>>

Slams keyboard and mutters “nutlog is a piece of [email protected]#%!”

Presentation Layer

Sends the inputted information to Application Layer and requests for login validation

Generates to the output conveying the result of the request, i.e. “Invalid username or password”

Application Layer

Calls account data access object in the data layer to retrieve login information pertaining to the inputted username

Compares the user input with the retrieved information and returns an error signal to the presentation layer

Data Layer

Sends a query to the database to retrieve the username’s data from the accounts table

Returns the query result to the application layer

testing plan
Testing Plan
  • Tools
    • Mock Database
      • Store initial state information
  • Strategies
    • Unit Testing
      • Test each subsystem in isolation
    • Integration Testing
      • Top-down integration strategy
    • Performance Testing
      • Simulate stress situations through automation
    • Regression Testing
      • Regular compilation and running of tests
    • Manual Testing
      • Customers as testers
implementation plan
Implementation Plan
  • Six builds, incrementally adding features
    • Build 1: Shell System
    • Build 2: Log System for Single User
    • Build 3: User Accounts/Multiple Logs
    • Build 4: User Guide and Help System
    • Build 5: Goals
    • Build 6: Reports
    • Build n: More features
problems
Problems
  • Design
    • Not specific and comprehensive enough
    • Cannot know exact design until implementation
  • Implementation Plan
    • Dividing work equally
      • How to calculate time

units accurately

  • Security
    • Password encryption
    • Storing sessions
ad