CS540 - Advanced Topics in Software Engineering

Textbook

Design patterns: Elements of reusable object-oriented software, by E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Addison-Wesley, 1995.

Description

This class covers three main subjects. Each of these subjects has been the subject of active research investigations in recent years. Two of the subjects are concerned with the objectoriented paradigm, the last subject is concerned with the development of software for realtime systems. The first subject is object-oriented design. Design notations, such as UML, and methodologies for reuse, such as design patterns will be examined in detail. Next, the course will cover elements of object-oriented testing. Finally, the course will discuss techniques for formal modeling and verification of real-time systems. In particular, hybrid models, which have recently emerged as a natural framework for these systems, will be covered in some detail.

Lecture Notes

Refer to http://www.cs.uic.edu/~i540 for detailed lecture notes.

In-class Presentation

Algorithmic Analysis of Nonlinear Hybrid Systems. Thomas A. Henzinger, Pei-Hsin Ho, Howard Wong-Toi. Proceedings of the 7th International Conference On Computer Aided Verification, 1996. (slides in pdf)

Final Paper

A Survey on Web Services Testing - This paper aims to give a general idea of Web Service testing. Web Services are a collection of standards and protocols that allow us to make processing requests to remote systems by speaking a common, non-proprietary language and using common transport protocols such as HTTP or SMTP. Although web services are becoming more and more popular as an emerging technology, few papers and stuffs are published about its testing. In this paper, we discussed in detail the architecture and features of Web Services, and classes of testing technologies on web services, and we gave a typical toolkit for each sort of testing. (electronic version)