This course provides an overview of the software engineering discipline: software requirements, software design, software construction, software management, and software quality. Testing and validation techniques will be emphasized throughout the course. Programs and program fragments will be developed and studied throughout the course to illustrate specific problems encountered in the lifecycle development of software systems.
At least nine hours of graduate computer science courses.
The student is expected to be familiar with programming in a object-oriented language, have studied algorithms and data structures, and have completed at least 9 credits hours of graduate level computer science.
Students will learn software engineering techniques useful for the development of large software/hardware projects. Experience will be gained in working with teams throughout the complete development cycle of a class project.
Software Engineering: A Practitioner's Approach, Fifth Edition
Stephen R. Schach
Classical and Object-Oriented Software Engineering, 4th Edition, WCB
Mythical Man Month, 2nd Edition
Peters and Pedrycz
Software Engineering: An Engineering Approach
John Wiley & Sons
Additional materials in the form of articles and reviews will be supplied by the instructor.