1 / 13

Web Application Design

Web Application Design. Web Application Design. Data What data is available? How do we store it or how is it stored in the DB? Schema Data types Etc. Where is the data?. Web Application Design. Define Use cases What are the use cases? What services are provided for each use case?

munizr
Download Presentation

Web Application 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. 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. Web Application Design

  2. Web Application Design • Data • What data is available? • How do we store it or how is it stored in the DB? • Schema • Data types • Etc. • Where is the data?

  3. Web Application Design • Define Use cases • What are the use cases? • What services are provided for each use case? • Define generic and specific services • Accomplish tasks of use cases • Define flow through use cases • Not pages, just flow of operations • Also flow of data • This stage may force changes in data

  4. Web Application Design • Organize flow through use cases into pages • Be sensible, follow good examples • Remember front controller design • Access to pages should flow through front controllers • Front controllers should • Determine use • Do any necessary filtering • pass necessary arguments to view • Design exception handling • Part of normal flow

  5. Web Application Design • Look and feel • Define a consistent look and feel • Banners, contents, etc. • All views • Based on one view • Include appropriate elements • Using info from front controller

  6. Web Application Design • Design Data Access Objects • Contain all database interaction • Keep View and Controller as separate as possible • Design functions that interact with controller • View contains as little code as possible • Function calls, etc. • Keep code away from web designer

  7. Design Document • Data Definition • Database schema • Data description • Use Cases • Definition & Description • Controller Functionality and API • Define interface to Data (Data Access Object) • Define interface to Views • View & Data Flow • Define necessary page elements • Define data flow through pages • Define AJAX elements • Layout

  8. Project • Team Building & Psychology Website • Users take Personality Quizzes that are analyzed and then suggestions are made to team supervisors and users to improve team relationships, etc.

  9. Data Definition • Database Schema • Quiz Answers • uid, specializer, harmonizer, organizer, and analyzer • Users • uid, name, password, address, company, and whether or not this UID has administrative privileges. • Analyses • uid, analysis • Describe each • More detail • Type, • purpose, • use, etc. +------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | username | varchar(255) | YES | | NULL | | | password | varchar(255) | YES | | NULL | | | name | varchar(255) | YES | | NULL | | | address | varchar(255) | YES | | NULL | | | phone | varchar(255) | YES | | NULL | | | company | varchar(255) | YES | | NULL | | | department | varchar(255) | YES | | NULL | | | role | varchar(255) | YES | | NULL | | +------------+--------------+------+-----+---------+----------------+

  10. Use Cases • Administrative Use Case • Do Analysis • List users that need analysis • Record analysis • Manage Users • Add, Modify, Delete Users • Registered User Case • Take Quiz • See resulting analysis (upon later login) • See group members analysis if group admin • Guest User • Register

  11. Controller Functionality & API • Data Access Object • getAnalysisList • getUsers • updateUser • recordAnalysis • Front Controllers • Administrator • Assure login as admin • User • Assure login • Next View • State always contains userid, role, page id and link id Define full calls parameters, etc.

  12. = AJAX View & Data Flow Username Passwd LoginMessage Login Admin Menu Logged In? No Yes Admin Users Do Analysis Menu User Menu UserRole = ? Take Quiz View Analysis Home Page Guest Menu Register About Us Quiz1 Take Quiz View Analysis Registration Admin Users Do Analysis Quiz2 Username Passwd Name, Address, Etc. Session Info Quiz3 UserID UserRole Page Link Quiz1 Ans Quiz2 Ans Quiz3 Ans

  13. Layout

More Related