To provide students with an appreciation for software engineering tools and methodologies in the construction of computer-based systems.
This course will be of interest to students desiring exposure to the design,implementation and maintenance stages of software development, includingmanagement issues. The analysis stage of software development is discussed insome detail in CS 432, Business Systems Analysis.
Prerequisites: CS 330 or permission of instructor, and third-yearstanding. Not open to Computer Science students.
Antirequisite: CS 446/ECE 452, SE 464.
Object-Oriented & Classical Software Engineering 8th ed., by S.R. Schach, McGraw Hill. (required)
3 hours of lectures per week. Normally available in Fall and Winter.
The nature of the software development process, systems life cycle, economicsand management of software development.
A selection from: Structure charts, data flow diagrams, data dictionaries,HIPO sheets, SADT diagrams, box diagrams, class and object diagrams, finitestate diagrams.
A selection from: data flow, data structured, object-oriented, userinterface, real-time design methodologies.
Algorithmic cost models. Software metrics. CPM and Gantt charts. Developmentstandards, project organizations.
Advantages/disadvantages of various languages from a software engineeringperspective. Portability, programming environments.
White box, black box testing. Alpha, beta testing. Unit, integration testplanning and documentation. Development support libraries.
Software quality assurance. Formal reviews and walkthroughs. Economics andmanagement of maintenance, maintainability, reverse engineering andre-engineering, software complexity, version and change control.
Examples of software engineering issues in various application areas.
CASE and integrated CASE tools, code generators, fourth-generation languages,configuration control, development libraries.
Changes in information technology. Importance of software. Human andcommunication factors. New software engineering processes. Uses of information.Technology as a driver.