In this course, the students will learn how to produce detailed object models and designs from system requirements; use the modeling concepts provided by UML; identify use cases and expand into full behavioral designs; expand the analysis into a design ready for implementation and construct designs that are reliable.