This course presents an overview of object-oriented analysis and design methods and techniques. The focus will be on analyzing problems and designing solutions. Students will learn to use the Unified Modeling Language (UML) as well as other object-oriented tools and techniques to document the results of their analysis and design. Topics will include object-oriented concepts, object-oriented methods, business and system modeling, static and dynamic analysis, system design, subsystem design, design patterns, and testing. By the end of the semester, students should understand object-oriented analysis and design methods and techniques and be able to apply these methods and techniques to medium to large software development projects.
Students should be familiar with at least one object-oriented programming language (e.g., C++ or Java).
Object-Oriented Analysis and Design: Understanding System Development with UML 2.0 by Mike O'Docherty.
Grading is not on a curve. Everyone is capable of getting in A.
Late assignments will receive -20% per week past due.
I am happy to write a recommendation letter (for jobs, fellowships, etc.) for students that have taken a course that I taught so long as the student received an A in the course.