Web Engineering

 

Web Engineering > Lectures

INFSCI 2955 - Lectures

Here is a tentative schedule for the semester. I'll make every effort to have the slide sets available by noon on the day of each lecture.

 

May 12 - Overview of the Course.
Introduces Web Engineering, a sub-discipline of Software Engineering whose methods and techniques are adapted to the special characteristics of Web-based applications. Also discusses the critical initial stage of the Web application development process – gathering requirements – and adapting traditional practices to the unique challenges of the Web.

  • Chapter 1: An Introduction to Web Engineering
  • Chapter 2: Requirements Engineering for Web Applications


May 19 - Modeling Web Applications.
Introduces modeling techniques inspired by object-oriented design models found in traditional software engineering, but are adapted to the particular needs of web engineering. Topics include content, hypertext, and customization modeling; use cases, class diagrams, and sequence diagrams

  • Chapter 3: Modeling Web Applications


May 26 - No Class – Memorial Day Holiday


June 2 - Web Architectures, Application Design, and Accessibility
****ASSIGNMENT 1 DUE****
Reviews general architectures and design considerations for Web applications. Discusses the concepts and techniques for engineering and evaluating user interfaces appropriate for a Web application’s intended audience. Explores the interaction between users and the application’s user interface. Special attention will be paid to Web technologies and standards available for audiences with special needs.

  • Chapter 4: Web Application Architectures
  • Chapter 11: Usability and Accessability of Web Applications


June 9 - Client-Side Technologies
The lecture provides a brief review of CSS, cookies, and the Document Object Model. The majority of the lecture is devoted to introducing JavaScript, the language reference, and how JavaScript can be used to manipulate the DOM.

Slides

  • Cascading Style Sheets
  • JavaScript (Part 1)
  • JavaScript (Part 2)


June 16 – Developing Web Applications
In this lecture we discuss the web application development process on how web application projects are managed. Tasks and challenges in project management, managing teams, and risk management. Iterative development, development cycles, Rational Unified Process (RUP), Extreme Programming (XP).

  • Chapter 9: Web Project Management
  • Chapter 10: The Web Application Development Process


June 23 - Mid-Term Exam
****ASSIGNMENT 2 DUE Thursday, June 26th****

  • No Readings


June 30 - Server-Side Technologies: PHP
July 7 - Server-Side Technologies: PHP (continued)
Introduces the PHP5 scripting language. Syntax, language reference, libraries, file access, DBMS access (esp. MySQL), form processing, and other techniques will be presented/demonstrated.


July 14 - Security
****ASSIGNMENT 3 DUE****

This lecture provides a discussion of the various aspects of web application security. Topics include encryption techniques (digital signatures, certificates, PKI), securing client/server interactions, vulnerabilities at the client (desktop security, phishing, etc.) and the server (cross-site scripting, SQL injections, etc.).

  • Chapter 13: Security for Web Applications


July 21 – Testing, Operation & Maintenance
Discusses testing methods for functional and non-functional requirements. Also discusses the operation & maintenance phase of the Web application development, including Web site promotion, content management, and usage analysis.

  • Chapter 7: Testing Web Applications


July 28 - Introduction AJAX
This lecture introduces and demonstrates Asynchronous Java and XML (AJAX), a technique for combining JavaScript, the HTML DOM, and server-side scripting for building highly interactive web applications.

  • Chapter 8: Operation & Maintenance of Web Applications
  • Introduction to AJAX


August 3 - ****FINAL PROJECT DUE at 11:59PM****