Module: Software Engineering of Web Applications Dr. Samer Odeh Hanna 1.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Chapter 10: Architectural Design
1 Introduction to Web Development. Web Basics The Web consists of computers on the Internet connected to each other in a specific way Used in all levels.
Chapter 10 Architectural Design
An Introduction to Software Architecture
Web Designing By Bhupendra Ratha, Lecturer School of Library & Information Science D.A.V.V., Indore.
Architecting Web Services Unit – II – PART - III.
Introduction To System Analysis and Design
These slides are designed to accompany Web Engineering: A Practitioner’s Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David Lowe, copyright.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Knowledge Representation of Statistic Domain For CBR Application Supervisor : Dr. Aslina Saad Dr. Mashitoh Hashim PM Dr. Nor Hasbiah Ubaidullah.
Slide 12.1 Chapter 12 Implementation. Slide 12.2 Learning outcomes Produce a plan to minimize the risks involved with the launch phase of an e-business.
CPSC 372 John D. McGregor Module 3 Session 1 Architecture.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Module: Software Engineering of Web Applications Dr. Samer Odeh Hanna 1.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
What Is Enterprise Computing?
Big Data Enterprise Patterns
Web Engineering CS-4513 Prepared By: Junaid Hassan Lecturer at UOS M.B.Din Campus
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Chapter 2 Database System Concepts and Architecture
Database System Concepts and Architecture
The Development Process of Web Applications
Module: Software Engineering of Web Applications
Architecting Web Services
Module: Software Engineering of Web Applications
Architecting Web Services
Software Design and Architecture
Distribution and components
Distributed web based systems
Module: Software Engineering of Web Applications
Web Engineering.
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
Ch > 28.4.
Textbook Engineering Web Applications by Sven Casteleyn et. al. Springer Note: (Electronic version is available online) These slides are designed.
Protocol Architectures
Module: Software Engineering of Web Applications
Module: Software Engineering of Web Applications
Human Complexity of Software
Lecture 1: Multi-tier Architecture Overview
Design and Implementation
CS240: Advanced Programming Concepts
An Introduction to Software Architecture
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Chapter 9 Architectural Design.
4+1 View Model of Software Architecture
Module: Software Engineering of Web Applications
Module: Software Engineering of Web Applications
Database Management Systems
4+1 View Model of Software Architecture
Applying Use Cases (Chapters 25,26)
Team Skill 6 - Building The Right System Part 1: Applying Use Cases
Applying Use Cases (Chapters 25,26)
Chapter 5 Architectural Design.
Producing Web Course Material with IBM Knowledge Factory Team
Client-Server Model: Requesting a Web Page
Software Design Lecture : 6
COMPONENT – BASED SOFTWARE ENGINEERING MODULE 2 – SECOND SEMESTER MKHIZE, BSC HONS COMPUTER SCIENCES, DIP IT, ICDL.
Module: Software Engineering of Web Applications
Presentation transcript:

Module: Software Engineering of Web Applications Dr. Samer Odeh Hanna 1

1.1 The Web Engineering Scenario Nowadays, there is a huge variety of Web products, ranging from simple collections of static HTML pages to full-fledged, distributed applications using the Web as execution platform. The average Web user is not really able to infer the actual complexity of a Web application by just looking at its front end rendered through the Web browser. These slides are designed to accompany module: Software Engineering of Web Applications2

The HTML markup defining the presentation of Web pages is nothing but the surface of an application, while the actual application logic is running on a remote Web server or, in some cases, on multiple distributed remote servers. What the user directly perceives is the look and feel of the application, its usability, its accessibility, response times, and similar. These slides are designed to accompany module: Software Engineering of Web Applications3

Behind the scenes, that is, below the surface, there is the Web developer who constructs the application trying to satisfy the user's needs and expectations. Typically, this is a non-trivial task because developing good Web applications requires a profound knowledge of principles driving the Web, architectural patterns, communication techniques, design methods, and so on. These slides are designed to accompany module: Software Engineering of Web Applications4

Figure 1.1 (see textbook) illustrates the described scenario and provides some more insights into the design decisions that a developer must be able to take during Web application development. Commonly, Web applications are divided into several layers, typically a data layer, and application layer, and a presentation layer. These slides are designed to accompany module: Software Engineering of Web Applications5

Data layer At the data layer, the developer needs to understand how to best structure the data underlying the application under development, which data formats or database management systems to use, and whether external data sources might be used as well. These slides are designed to accompany module: Software Engineering of Web Applications6

Application layer At the application layer, things get more complex, and the developer needs to decide on the programming and markup languages, models, protocols, and application architectures to be used. He also defines the navigation structure of the application, i.e., the paths the user can follow (navigate) in order to explore the content of the application and to enact or use implemented operations. If the application also integrates application logic that is sourced from third parties, remote (Web) services might be used as well. These slides are designed to accompany module: Software Engineering of Web Applications7

Presentation layer Finally, at the presentation layer the developer focuses on “external" concerns, such as the layout of the application front ends, HTML templates and styles. All the decisions taken should foster appeal, usability, and accessibility, in order for the end users to “like" the application and to be satisfied, without encountering any hurdles in using it. These slides are designed to accompany module: Software Engineering of Web Applications8

The Web developer is not only subject to these architectural concerns. As in software development in general, developing a Web application implies following methodologies or development processes that allow one to master the overall complexity of Web application design. That is, the developer must be able to properly elicit and analyze requirements, translate them into corresponding designs of the application, implement the application by choosing the right technologies and instruments, test and validate the result, operate, maintain, and evolve the application as needed. These slides are designed to accompany module: Software Engineering of Web Applications9

Most of the above problems and tasks are addressed by software engineering. However, given the peculiarities of the Web, the underlying assumptions and architectural conventions, the standards, and the characteristic technologies, we think Web engineering is peculiar in its nature. These slides are designed to accompany module: Software Engineering of Web Applications10

In this book we aim at conveying the important aspects that a developer must take into account, the conceptual instruments addressing them, and the modeling techniques and methodologies that may aid development. In other words, we aim at providing the reader with the necessary knowledge to understand Web engineering, by emphasizing concepts, methods, processes and instruments that characterize Web application development, while focusing less on specific technologies, which we think are adequately covered by the huge variety of specific books already available on the market. These slides are designed to accompany module: Software Engineering of Web Applications11

QUESTIONS? These slides are designed to accompany module: Software Engineering of Web Applications12