Contents: We plan to cover Chapters 1 to 10 of the textbook.
Chapter 11 may be covered if time permits.
I. INTRODUCTION.
1. Introduction.
Object-Oriented Software Development.
History of Object-Orientation.
Making up Your Own Methodology.
Holistic Approach.
2. Object-Orientation for Beginners.
Object-Orientation for Beginners.
Classes, Objects, Instances.
Attributes, Operations, Constraints.
Taxonomy and Inheritance.
Abstract Classes.
CRC Cards.
Objects Communicate with Each Other.
Message Exchange.
Collections.
Polymorphism Object Identity.
Persistence.
Design Patterns.
3. The Development Process.
Overview of Development Phases.
Requirement Analysis.
Iterative-Incremental Component Development.
System Introduction.
Project Management.
II. EXAMPLE.
4. Analysis.
Use Case Analysis.
Application Architecture.
Technical Dictionary.
Explorative Prototypes.
CRC Cards.
Identifying Business Classes.
Activity modeling.
Component building.
5. Design.
Component Design.
Specifying Dialogs.
Identifying domain Classes and Relationships.
Domain class Modeling: Business Partner.
Domain Class Modeling Reservation and Contract.
Delimiting Components.
Specifying Operations.
Specifying Attributes.
Modeling Activities.
Modeling States.
Modeling Object Interaction.
Database Connection.
III. FUNDAMENTALS OF THE UNIFIED MODELING LANGUAGE.
6. Use Case Diagrams.
Use Case.
Actors.
Use Case Design.
7. Class Diagrams (Basic Elements).
Classes.
Objects.
Attributes.
Operations, Methods.
Interfaces, Interface Classes.
Constraints.
Tagged Values.
Stereotypes.
Notes.
Cooperation/Design Pattern Notation.
Packages.
8. Class Diagrams (Relational Elements).
Generalization, Specialization.
Association.
Aggregation.
Dependency Relations.
Refinement or Realization Relations.
9. Behavioral Diagrams.
Activity Diagrams.
Collaboration Diagrams.
Sequence Diagrams.
State Diagrams.
10. Implementation Diagrams.
Component Diagrams.
Deployment Diagrams.
11. Object Constraint Language.