Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design and Planning Presenter: Mike Team Members: Casey Kaushik Danny.

Similar presentations


Presentation on theme: "Design and Planning Presenter: Mike Team Members: Casey Kaushik Danny."— Presentation transcript:

1 Design and Planning Presenter: Mike Team Members: Casey Kaushik Danny

2 Requirements Review Offer a web-based interface for NYU students to conveniently find buyers for their used books Students will be able to offer their used books for sale at their own prices Students wishing to buy used books will be able to search the listings for the desired book and order it from any seller that is offering the book The service is free for NYU students

3 Major Subsystems

4 Typical Request Cycle 1. The user clicks on a link or a button 2. The controller subsystem makes calls to the model to complete the request 3. The business logic subsystem makes calls to the database to store/retrieve data 4. The data access subsystem acts on the database and returns data back to the business logic layer. 5. The business logic subsystem does something more and forwards the requested data to the controller 6. Based on the response from the business logic layer, the controller picks a view and passes any needed information to it that it got from the business logic layer 7. The view simply presents the data by sending back HTML to the browser Database Controller Model View 1 2 34 5 6 7

5 Controller Coordinates HTTP requests Parse request Make calls to business logic layer Select appropriate view in the presentation layer ControllerFactory Interface Provides access to all concrete implementations of the AbstractController interface Controller Classes Functionality is distributed among four different modules (controller classes), each responsible for a certain portion of the system.

6 Business Logic Business Logic Package Concerned with the various business rules. For example, implements the rule that only NYU students with valid @nyu.edu email addresses can register. The only subsystem that depends on the Data Access subsystem directly. ManagerFactory interface Abstract factory that returns concrete implementations of the sub- components.

7 Data Access Access the database directly Hides all the details about accessing the database Provides a convenient interface for the business logic layer to access the database Does not implement any business rules. Example - Retrieve an array of all books that a certain person is selling Pass the id of the seller to the appropriate function in Data Access Get back an array of book offers Data access subsystem will take care of running the appropriate select query and populating the array of objects with the data contained in the result set.

8 Presentation Layer Generates dynamic HTML Called by the Controller All information needed to display the page is passed directly to the function Highly decoupled No need to make calls to any other subsystems

9 Beans Plain structs All fields public No member functions Data Objects Roughly correspond to tables in the database Some are composed of other simpler data objects Form Objects Mainly used for passing around HTML form data

10 Sitemap

11 Database Schema

12 Implementation and Testing Plan The system is almost completely stateless Easy to test Unit Testing All major subsystems are very loosely coupled Alternative implementations or stubs can be easily plugged in for unit tests Integration Testing Top-Down Integration strategy Simple stub implementations for all major interfaces Get a basic system working right away Incrementally add real functionality System Testing Manual testing by the customers Use case acceptance tests Regression Testing Automatically build the system every night Run unit tests that exhibit previously discovered bugs every night Load Testing Some kind of automated load testing Must be able to operate with up to 50,000 users.


Download ppt "Design and Planning Presenter: Mike Team Members: Casey Kaushik Danny."

Similar presentations


Ads by Google