CS 430 Applications Software Engineering


Objectives

To provide students with an appreciation for software engineering tools and methodologies in the construction of computer-based systems.

Intended Audience

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.

Related Courses

Prerequisites: CS 330 or permission of instructor, and third-yearstanding. Not open to Computer Science students.

Antirequisite: CS 446/ECE 452, SE 464.

References

Object-Oriented & Classical Software Engineering 8th ed., by S.R. Schach, McGraw Hill. (required)

Schedule

3 hours of lectures per week. Normally available in Fall and Winter.

Notes

  1. CS 430 cannot be counted for credit by students in a CS major plan.

Outline

Introduction (3 hours)

The nature of the software development process, systems life cycle, economicsand management of software development.

Design Documentation Techniques (3 hours)

A selection from: Structure charts, data flow diagrams, data dictionaries,HIPO sheets, SADT diagrams, box diagrams, class and object diagrams, finitestate diagrams.

Design Techniques (6 hours)

A selection from: data flow, data structured, object-oriented, userinterface, real-time design methodologies.

Estimating, Planning and Scheduling (3 hours)

Algorithmic cost models. Software metrics. CPM and Gantt charts. Developmentstandards, project organizations.

Source Languages (3 hours)

Advantages/disadvantages of various languages from a software engineeringperspective. Portability, programming environments.

Software Testing Techniques and Strategies (6 hours)

White box, black box testing. Alpha, beta testing. Unit, integration testplanning and documentation. Development support libraries.

Software Maintenance and Configuration Management (3 hours)

Software quality assurance. Formal reviews and walkthroughs. Economics andmanagement of maintenance, maintainability, reverse engineering andre-engineering, software complexity, version and change control.

Case Studies (3 hours)

Examples of software engineering issues in various application areas.

Software Tools (3 hours)

CASE and integrated CASE tools, code generators, fourth-generation languages,configuration control, development libraries.

The Future of Software Development (3 hours)

Changes in information technology. Importance of software. Human andcommunication factors. New software engineering processes. Uses of information.Technology as a driver.