Presentation is loading. Please wait.

Presentation is loading. Please wait.

CIT3100 – Internet Programming III Web Applications Lesson 1 (28 Sep 05) Fernando J. Maymí

Similar presentations


Presentation on theme: "CIT3100 – Internet Programming III Web Applications Lesson 1 (28 Sep 05) Fernando J. Maymí"— Presentation transcript:

1 CIT3100 – Internet Programming III Web Applications Lesson 1 (28 Sep 05) Fernando J. Maymí fernando@maymi.net

2 Agenda for tonight Introductions  Who we are, and  What do we want to be when we grow up? World-Wide Web Communications Web Application Development User Interface Design

3 How the World Wide Web Communicates

4 Hyper-Text Transfer Protocol Defined in RFC 2616 (for version 1.1) Encapsulated in a TCP segment Request/response message protocol  Command  Blank line  Header fields  Blank line  Message GET /file.html HTTP/1.1 Host: www.google.com HTTP/1.1 200 OK Content-Type: text/html...

5 Internet Web Client Web Server Simple HTTP Request GET HTTP/1.1HTTP/1.1 200 OK Content-Type: text/html... HTTP/1.1 200 OK Content-Type: img/gif /9j/4AAQSkZJRgABAQAAAQABAAD/2w BDAAgGBgcGBQgHBwcJCQgKDBQND... GET img/happyface.gif HTTP/1.1 Hello

6 Client-Side Scripting Client scripts are interpreted by the web browser Client scripts can:  Alter the appearance of the document  Validate form fields  Perform general computational tasks Client scripts can be embedded or attached

7 Internet Web Client Web Server HTTP With JavaScript GET /hello.html HTTP/1.1HTTP/1.1 200 OK Content-Type: text/html <!-- alert(“Welcome to my world”) -->... The client browser parses the HTML, finds the script and executes it locally JS

8 Server-Side Scripting Server scripts are interpreted by the web server Common languages are  PHP  ASP  JSP  Perl Server scripts produce HTTP data

9 Internet Web Client Web Server HTTP on Demand GET /hello.php HTTP/1.1HTTP/1.1 200 OK Content-Type: text/html... 4. The web server blindly passes the output to the client 1. Web server loads the script from its file system 2. Web server passes the script to the interpreter 3. The interpreter runs the script and passes its output to the web server

10 3-Tier Architectures 3 Tiers are:  Web Client  Web Server  Database Server Essential for scalability Enhances security

11 Internet Web Client Web Server Data-driven HTTP Request Items GET items.php HTTP/1.1HTTP/1.1 200 OK Content-Type: text/html Items Widget $50. SELECT name, price FROM items Database Server Widget,50.0 Nails,0.05 Bolts,0.10 PHP Engine

12 Your Turn… Download and install the Paros proxy  http://www.parosproxy.org/download.shtml http://www.parosproxy.org/download.shtml Setup your browser to use it as a proxy Enable trapping of both requests and responses Visit your favorite web site and see what happens

13 Web Application Development

14 Project Phases Planning  Why build the system? Analysis  Who, what, when, where will the system be? Design  How will the system work? Implementation  System delivery

15 Identifying business value Analyze feasibility Develop work plan Staff the project Control and direct project Planning

16 Analysis Information gathering Process modeling Data modeling Analysis

17 Physical design Architectural design Interface design Database and file design Program design Design

18 Construction Installation Implementation

19 Processes and Deliverables ProcessProduct Planning Analysis Design Implementation Project Plan System Proposal System Specification New System and Maintenance Plan

20 Designing the User Interface

21 Principles of UI Design Layout Content awareness Aesthetics User experience Consistency Minimal user effort

22 Layout The screen is often divided into three boxes  Navigation area (top)  Status area (bottom)  Work area (middle) Information can be presented in multiple areas Like areas should be grouped together

23 Layout (cont’d) Areas and information should minimize user movement from one to another Ideally, areas will remain consistent in  Size  Shape  Placement for entering data  Reports presenting retrieved data

24 Layout Example 1

25 Layout Example 2

26 Content Awareness All interfaces should have titles Menus should show  where you are  where you came from to get there It should be clear what information is within each area Fields and field labels should be selected carefully Use dates and version numbers to aid system users

27 Aesthetics Interfaces need to be functional and inviting to use Avoid squeezing in too much, particularly for novice users Design text carefully  Be aware of font and size  Avoid using all capital letters

28 Aesthetics (cont’d) Colors and patterns should be used carefully  Test quality of colors by trying the interface on a black/white monitor  Use colors to separate or categorize items

29 User Experience How easy is the program to learn? How easy is the program to use for the expert? Consider adding shortcuts for the expert Where there is low employee turnover, some training can lessen the impact of less precise interfaces

30 Consistency Enables users to predict what will happen Reduces learning curve Considers items within an application and across applications Pertains to many different levels  Navigation controls  Terminology  Report and form design

31 Minimize Effort Three clicks rule  Users should be able to go from the start or main menu of a system to the information or action they want in no more than three mouse clicks or three keystrokes

32 UI Design Process

33 Use Scenario Development An outline of steps to perform work Presented in a simple narrative Document the most common cases so interface designs will be easy to use for those situations

34 UI Structure Design Window navigation diagram (WND)  Shows how all screens, forms, and reports are related  Shows how user moves from one to another  Like a state diagram for the user interface Boxes represent components Arrows represent transitions Stereotypes show interface type  Remember the diagram represents what will be shown to the user, NOT what the system is doing to make it work!

35 WND Example

36 Your Turn… Develop the WND for the Online Banking system


Download ppt "CIT3100 – Internet Programming III Web Applications Lesson 1 (28 Sep 05) Fernando J. Maymí"

Similar presentations


Ads by Google