Object Oriented Software Engineering lecture notes
OBJECT-ORIENTED SOFTWARE ENGINEERING PDF
By Professor : Glenn David Blank
Lecture notes and assignments:
- Lecture 1: Software process life cycles (Powerpoint). See an overview of Larman’s UML process.
- Lecture 2: Inception phase.
- Lecture 3: Requirements analysis and specification
- Lecture 4: More about inception, requirements and use cases
- Lecture 5: Domain modeling
- Lecture 6: System Sequence Diagrams
- Lecture 7: Abstract Data Types and Operation Contracts
- Lecture 8: Interaction Diagrams and Domain Class Diagrams (DCDs)
- Lecture 9: GRASP Design Patterns
- Lecture 10: Visibility of messages
- Lecture 11: Mapping Designs to Code
- Lecture 12: Test-driven and Object-oriented Testing. Lecture on Junit testing tools
- Lecture 13: From Iteration-1 to Iteration-2 (more requirements and refactoring)
- Lecture 14: Pure Fabrication and “Gang of Four” Design Patterns
- AWT, Swing and Graphical User Interfaces
- Activity Diagrams and State Charts for detailed modeling
- Lecture on JDK 1.5 (5.0). Lecture on Java Collections. Lecture on Assertions in Java.
- Domain Model Refinement
OBJECT-ORIENTED SOFTWARE ENGINEERING PPT
Professor : Glenn David Blank
- Lecture 1a: Course objectives (Powerpoint).
- Lecture 1b: Classes in C++ (Powerpoint).
- Handout for lecture 1b/c: a few C++ code fragments, illustrating data abstraction, inheritance and dynamic binding (Word document)
- Lecture 2: Why software engineering? (Powerpoint).
- Lecture 3: Requirements and Use Cases(Powerpoint)
- Lecture 4: Software process life cycles(Powerpoint).
- Lecture 5: Use cases to Classes (OOA) (Powerpoint).
- Lecture 6: UML and OO analysis (Powerpoint).
- Kent Beck’s 1989 OOPSLA paper on CRC cards
- Class diagram, Fowler & Scott, Figure 4-1.
- Composition and aggregation arrows, Fowler & Scott, Figure 6-6.
- Composition and aggregation in boxes, Fowler & Scott, Figure 6-7.
- Sequence diagram,Fowler & Scott, Figure 5-1.
- Sequence diagram for concurrency, Fowler & Scott, Figure 5-3.
- Collaboration diagram, Fowler & Scott, Figure 5-4.
- An executable version of FruitBowl, implemented in C++ (zip file)