There are two textbooks for 5828 this semester.


Pfleeger and Atlee's book "Software Engineering: Theory and Practice" is in its third edition and will be our guide through the concepts and techniques of traditional software engineering. It contains chapters on all aspects of software development including software process, software architecture, requirements, design (both functional and object-oriented), implementation, and testing. We will be covering a majority of the book this semester and students will have a chance to apply many of the techniques discussed in the book via the semester project and homeworks.


Magee and Kramer's book "Concurrency: State Models & Java Programming" is in its second edition and presents a model-based approach to designing and implementing multi-threaded systems. It nicely complements Jalote's book as it demonstrates the power that can be had by applying traditional software engineering techniques in a disciplined fashion. It also shows students the utility of software models and how such models can be implemented. Finally, it provides software that allows us to construct, analyze, and visualize models of concurrent behavior for multi-threaded systems.

Kenneth M. Anderson, 2008.