By the end of the course the students will be able to
- define iterative incremental software development process
- define fundamental concepts in the Unified Process
- use the Unified Process in object oriented software development
- create requirements, analysis and design artifacts using UML
- understand dynamic and static object modeling using UML sequence, communication and class diagram notations
- interpret UML diagrams
- identify and write use cases at an appropriate level of detail
- relate use case analysis to iterative development and utilize use case driven development approach
- define object oriented analysis and object oriented design and related concepts
- identify conceptual classes and model their attributes and associations to create a model of the problem domain
- analyze use case scenarios to identify system operations that become starting events to design for and create contracts for system events
- understand the responsibility driven design (RDD) approach and create object design using RDD
- design software by using the basic object oriented design principles
- assess the qualities of object design alternatives
- map designs to code