CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr

Slides:



Advertisements
Similar presentations
WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
Advertisements

4.01 How Web Pages Work.
The Web Warrior Guide to Web Design Technologies
DT228/3 Web Development WWW and Client server model.
Layer 7- Application Layer
WWW and Internet The Internet Creation of the Web Languages for document description Active web pages.
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
COMPUTER TERMS PART 1. COOKIE A cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information.
The Internet & The World Wide Web Notes
©Brooks/Cole, 2003 Chapter 6 Computer Networks. ©Brooks/Cole, 2003 Understand the rationale for the existence of networks. Distinguish between the three.
Application Layer. Applications A program or group of programs designed for end users. A program or group of programs designed for end users. Software.
UNIT-V The MVC architecture and Struts Framework.
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
Chapter 16 The World Wide Web. 2 The Web An infrastructure of information combined and the network software used to access it Web page A document that.
1 HTML References: A HTML Tutorial: /HTMLPrimer.html
Postacademic Interuniversity Course in Information Technology – Module C1p1 Contents Data Communications Applications –File & print serving –Mail –Domain.
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
20-753: Fundamentals of Web Programming 1 Lecture 1: Introduction Fundamentals of Web Programming Lecture 1: Introduction.
1 Welcome to CSC 301 Web Programming Charles Frank.
Modeling web applications
Application Layer Khondaker Abdullah-Al-Mamun Lecturer, CSE Instructor, CNAP AUST.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
1 Web Servers (Chapter 21 – Pages( ) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3 System Architecture.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
Website Design, Development and Maintenance ONLY TAKE DOWN NOTES ON INDICATED SLIDES.
Chapter 1 Introduction to HTML, XHTML, and CSS HTML5 & CSS 7 th Edition.
Web Programming Java Script-Introduction. What is Javascript? JavaScript is a scripting language using for the Web. JavaScript is a programming language.
HTML PROJECT #1 Project 1 Introduction to HTML. HTML Project 1: Introduction to HTML 2 Project Objectives 1.Describe the Internet and its associated key.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
4.01 How Web Pages Work.
4.01 How Web Pages Work.
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
4.01 How Web Pages Work.
Distributed Control and Measurement via the Internet
Chapter 10: Web Basics.
Objective % Select and utilize tools to design and develop websites.
Instructor Materials Chapter 5 Providing Network Services
Web Engineering CS-4513 Prepared By: Junaid Hassan Lecturer at UOS M.B.Din Campus
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
Technologies and Applications
Web Development Web Servers.
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
E-commerce | WWW World Wide Web - Concepts
Project 1 Introduction to HTML.
Real Life Networking Examples
E-commerce | WWW World Wide Web - Concepts
Publishing and Maintaining a Website
Objective % Select and utilize tools to design and develop websites.
Dynamic Web Pages (Flash, JavaScript)
Web Development & Design Chapter 1, Sections 4, 5 & 6
Chapter 27 WWW and HTTP.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
Web Page Concept and Design :
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
Part of Chapter 1 Key Concepts Networks
Teaching slides Chapter 6.
Introduction to World Wide Web
CIS 133 mashup Javascript, jQuery and XML
An Introduction to JavaScript
4.01 How Web Pages Work.
4.01 How Web Pages Work.
WEB DESIGN Cross 11, Tapovan Enclave Nala pani Road, Dehradun : ,
Presentation transcript:

CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr. Tehseen Riaz Abbasi

Web Technologies and Programming Lecture 04 Modeling web applications

Implementing and testing web applications Modeling web applications Implementing and testing web applications

Summary of the previous lecture Introduction to RE RE basics Requirements specification RE process RE specifics in web engineering System modeling Requirement Modeling use-case diagram activity diagram

Outline Requirement modeling Content modeling Navigation modeling use-case diagram activity diagram Content modeling Navigation modeling Presentation modeling Technologies for web applications Testing web applications

1. Content modeling The information provided by a web application is one of the most important factors for the success of that application Content modeling aims at modeling the information requirements of a web application diagraming the structural and behavioral aspects of the information ignores the navigational information

1. Content modeling Key models Class diagram: to model the structural aspects of information State machine diagram: to model behavioral aspects of information

1.1 Class diagram Class diagram describes the structure of a system by system’s classes class attributes operations (methods) relationship among objects

1.1 Class diagram… Elements of a class diagram: class: class is represented by a rectangle with three compartments name attributes methods Class name Attributes Methods

1.1 Class diagram… Elements of a class diagram: Adding attributes: an attribute describes a piece of information that an object owns specified by name kind (data type) visibility (+, - , #) default value visibility name : type= default value + name : string = ‘ali’ {maximum 25 characters} users + name : String + email : String + password : String methods

1.1 Class diagram… Elements of a class diagram: Adding methods (functions): behaviors (things objects can do or can be done with them) name arguments visibility (+, - , #) return value visibility name (argument_name:type): return_value + userLogin(email:string, password:string):null users attributes - register(name:string, email:string,password:string):bool - login(email:string, password:string):bool

1.1 Class diagram… Elements of a class diagram: Association relationship between classes name of relationship direction of relationship person owns car

1.1 Class diagram… Elements of a class diagram: Association multiplicity How many objects participating in the relation person owns 1 .. 1 0..* car

Elements of a class diagram: Aggregation relation class has features of another class plus some own features

Elements of a class diagram: Composition relation

1.1 Class diagram… users Video Sharing 0..* 1..1 - name : string -email : string -password : string -introduction : string -register -login 1..1 0..* user uploads 0..* Register user video -videoID : int +videoTITLE : string +videoDES : string +upload() +search() 0..*

Use-case diagram : Conference Paper Submission System 1.1 Class diagram… Use-case diagram : Conference Paper Submission System Source: Web Engineering – Kappel et al.

Conference Paper Submission System 1.1 Class diagram… Conference Paper Submission System Source: Web Engineering – Kappel et al.

2. Navigation Modeling Models how web-pages are linked together defines the structure of the hypertext Which classes of the content model can be visited by navigation Content to navigation http://uwe.pst.ifi.lmu.de/teachingTutorialNavigation.html

UWE navigation modeling navigationClass menu Index  query processClass Processlink Navigation link External link

2. Navigation Modeling Online video sharing: Home page video list search video upload video register login upload

2. Navigation modeling… <<navigationClass>> Video Sharing <<processlink>> <<navigationlink>> <<menu>> mainMenu <<navigationClass>> uploadVideo <<query>> searchVideo <<navigationLink>> <<processLink>> <<index>> videolist <<processlink>> <<processlink>> <<navigationlink>> <<processClass>> register <<processClass>> login <<processClass>> upload <<processlink>>

3. Presentation Modeling Purpose: To model the look & feel of the Web application at the page level The design should aim for simplicity and self-explanation Describes presentation structure: Composition & design of each page

3. Presentation Modeling… Levels: Presentation Page page container Presentation Unit A fragment of the page logically defined by grouping related elements

3. Presentation Modeling… Levels: Presentation Element A unit’s informational components Text, images, buttons, fields

<<page>> User registration page 3. Presentation Modeling… <<page>> User registration page <<presentationUnit>> Logo <<image>> logo <<text>> title <<presentationUnit>> <<textinput>> name <<textinput>> email <<textinput>> password <<button>> submit

Implementing and testing web applications

1. Technologies for web applications When we have decided the ‘What’ of the web application i.e. requirements are defined system architecture is decided system model and design is ready We are ready for ‘how’ i.e. to implementation phase

1. Technologies for web applications… The implementation phase begins with deciding the technologies for development Technologies for web application development concerns within three ‘views’ request (client) response (server) rules for communication between them(protocols)

1.1 client/server communication on the web Client/server paradigm forms the backbone between the user and the application This communication model is based on two-layer architecture How ever the web server integrates additional systems i.e. database server, application server etc. Several protocols play an important role to guide this communication

1.1 client/server communication on the web SMTP- simple mail transfer protocol: SMTP along with POP3(post office protocol) or IMAP (internet message access protocol) allows us to send email RTSP- real-time streaming protocol: Designed to facilitate delivery of multimedia data in real time allows transmission in timely manner instead of whole

1.1 client/server communication on the web HTTP- hyper text transfer protocol: Most popular transport protocol for web contents a text based stateless protocol controls how resources are accessed resources are addressed by URL URL is used with domain name system to find the server where the resource is located

1.1 client/server communication on the web Session tracking: Web applications must be able to distinguish requests by multiple simultaneous users also need to identify request from the same user The term session is used to define a sequence of HTTP requests between a specific user and the server Whenever a user sends a request to the server, it identify itself with session id

1.2 Client-side technologies Helper program and plug-in: Applications that can add functionality to browsers When the browser receives a media type included in the helper program or plugin list, the media file is forwarded to external program Installed by the user

1.2 Client-side technologies Java applets: Java applets are programs written in Java that are loaded dynamically into the browser have controlled access to system resources after checking security policies Applets are loaded by server and executed in browser within JVM Can run on all platforms with a JVM

1.2 Client-side technologies Client side scripting:  Refers to the class of computer programs on the web that are executed at client-side, by the user's web browser Usually embedded in HTML code Browser interpret several client side scripting Used to add dynamic affects in HTML page

1.3 Document specific technologies HTML- hypertext markup language HTML describes the element to mark contents Hypertext Defines a large number of tags to denote different semantics

1.4 Server side technologies URL handlers: special applications used to process HTTP requests and to deliver a requested resource Client request for a resource by URL takes the request and forwards it for execution result of this execution is then returned to the web server

1.4 Server side technologies… Server side scripting: Are executed by the web server when the user requests a document Usually embedded in HTML code Server-side scripts require that their language's interpreter be installed on the server

2. Testing web applications Testing is an activity conducted to evaluate the quality of a product and to improve it by identifying defects and problems If we run a program with the intent to find errors, then we talk about testing By testing we determine the quality state of the system which provides a basis for improvement

2. Testing web applications… We say that an error is present if the actual result from a test run does not comply with the expected result each deviation from the requirements definition is an error

2. Testing web applications… Objectives: Finding error instead of showing their absence (defect testing) if no error is found it does not mean that there is no error a test run is successful if errors are detected To demonstrate to the developer and the customer that the software meets its requirements (validation testing)

2. Testing web applications… Testing Levels: Unit tests: test the smallest testable units (Web pages, etc.), independently of one another Unit testing is done by the developer during implementation

2. Testing web applications… Testing Levels: Integration tests: evaluate the interaction between distinct and separately tested units once they have been integrated Integration tests are performed by a tester, a developer, or both jointly

2. Testing web applications… Testing Levels: System tests: test the complete, integrated system System tests are typically performed by a specialized test team

2. Testing web applications… Testing Levels: Acceptance tests: evaluate the system in cooperation with the client Acceptance tests use real conditions and real data The client will test it, in their place, in a near-real-time or simulated environment. Beta tests: let users work with early versions of a product with the goal to provide early feedback

2. Testing web applications… Web application testing: Link testing Browser testing Usability testing Load, stress and continuous testing Security testing Content testing

2. Testing web applications… Link testing: Goals: broken links (linked document does not exist) orphan pages (page does not link any other page) Strategy: All links are systematically visited

2. Testing web applications… Browser testing: Goals: Try to find errors in web application due to incompatibilities between different Web browsers Strategy: Test application on all popular combinations (browser, version, operating system)

2. Testing web applications… Usability testing: Goals: Evaluate ease-of-use, lay-out and navigation structure Strategy: By a set of representative users By one or more HCI specialists

2. Testing web applications… Load testing: Goals: system meets response time requirements Strategy: Identify load profile Identify response time Perform the test

2. Testing web applications… Stress testing: Goals: system reaches the required response times and the required throughput under stress Continuous testing: Testing system behavior over a period of time

2. Testing web applications… Security testing: Goals: Regulate access to information, to verify user identities, and to encrypt confidential information Strategy: A systematic test scheme

2. Testing web applications… Content testing: Goals: Test the quality of contents Strategy: Proofreading

2. Testing web applications… Challenges in web testing: Content testing requires costly manual measures Usability is difficult to measure Divers platforms (devices, operating environment) Globality (understanding cultural differences) Dominance of change makes is more challenging

Summary Content modeling Navigation modeling Presentation modeling class diagram state machine diagram Navigation modeling Presentation modeling

Summary Technologies for web development Protocol client-side technologies server-side technologies Testing web applications Objectives Levels Web application specifics challenges

THANK YOU