CSC589: UML and Pattern Design

Programming is fun, but developing quality software is hard. In between the nice ideas, the requirements, and a working software product, there is much more than programming. Analysis and design, defining how to solve the problem, what to program, capturing design in the ways that are easy to communicate, to review, to implement, and to evolve are topics that you will learn in this class. UML becomes the universally-accepted language for software design and patterns are what allow us to describe design fragments precisely and reuse design ideas easily.