February 26 2008 andy chang osei simba hinds rachal royce
This presentation is the property of its rightful owner.
Sponsored Links
1 / 14

Nutlog Design PowerPoint PPT Presentation


  • 77 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Nutlog Design

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


Database design

Database Design


Request cycle

Request Cycle


Request cycle1

Request Cycle


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 $@#%!”

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


  • Login