Lectures
The course is lectured in Finnish.
Lecture slides in
printable form. (in English)
Lecture
notes. (in
Finnish)
UML-reference used in course book
Other UML-quick references: Google UML Cheatsheet.
Materials by Bennett (chapters 1-14, 16-18, selected parts from
15-16, 19-21) & Cockburn, as well as ICONIX process is included
in exam, other links and materials are useful additional
information.
Lecture 1 - Ti 16.3.2010 klo 12:15, Ag Aud. 3
- Introduction to the course &
general information. Object orientation.
- Bennett, chapter 4: What Is Object-Orientation
Lecture 2 - To 18.3.2010 klo 08:30, Ag Aud. 3
(Eetu Luoma)
- Information systems development, software processes
- Bennett, chapters 1-3: What Are Information Systems?, Problems in Information Systems Development, Avoiding the Problems
Lecture 3 - Ti 23.3.2010 klo 12:15, Ag Aud. 3
- UML modeling concepts,
activity diagrams
- Bennett, chapter 5: Modelling Concepts, Activity Diagrams
- UML diagrams and other techiques used in the course in one table
- Agate case - overview
- Additional material
-
- Agile Modeling: Activity Diagrams + Style Guidelines
Lecture 4 - To 25.3.2010 klo 08:30, Ag Aud. 3
- RUP preliminaries, requirements
- Bennett, chapters 5-6 (continued), 21: Development Process, Requirements Capture, Software Development Processes (partial)
- ICONIX-process (similarities to process used in the course project)
- The issues discussed in the course grouped by activities in the development process (cf.
chapters in Bennett's book)
- Bennett's detailed development process represented as activity diagrams (can be used as an alternative model for use case -based requirements gathering and analysis)
- Additional material
-
- RUP-summary
- Example for documenting requirements (in Finnish): UCOT - requirements
specification
Lecture 5 - Ti 6.4.2010 klo 12:15, Ag Aud. 3
(Tommi Kärkkäinen)
- Use case diagrams, writing use cases
- Bennett, chapter 6 (continued): Use Case Diagrams
- Cockburn's style guidelines for writing use cases
- Additional material
-
- Cockburn: Alternative template for use cases + longer example
- Wikipedia: use cases
- Bittner: Why Use Cases Are Not "Functions"
- Agile Modeling: Use Case Diagrams + Style Guidelines
Lecture 6 - To 8.4.2010 klo 08:30, Ag Aud.
3
- Class diagrams, data
dictionary, on models and patterns
- Bennett, chapters 7, 8: Requirements Analysis, Refining the
Requirements Model
- Agate case - requiremens specification and use cases
- Additional material
-
- SourceMaking: Mushroom Management -antipattern
- Agile Modeling: Class Diagrams + Style Guidelines
- Martin Fowler: Transaction–Transaction Line Item, analysis pattern
Lecture 7 - Ti 13.4.2010 klo 12:15, Ag Aud. 3
- Collaboration (robustness) diagrams
- Bennett, chapter 9 (partial): Object Interaction: Communication
Diagrams
- Rosenberg: Successful Robustness Analysis (i.e. ICONIX-style high-level collaboration diagram)
- Agate case - models in analysis phase (collaboration diagram, standard uml style)
- Additional material
-
- Agile Modeling: Robustness Diagrams
- Agile Modeling: Communication Diagrams + Style Guidelines
- ICONIX: Analysis Paralysis -warnings
- SourceMaking: Analysis Paralysis -antipattern
Lecture 8 - To 15.4.2010 klo 08:30, Ag Aud.
3
- On design, CRC-cards, specifying
operations
- Bennett, chapter 13, 9: System Design, Specifying Operations
- Additional material
-
- C++ FAQ: Is Circle an Ellipse? (example on applying substitution principle)
- HotDraw-CRC examples
- Agile Modeling: Class
Responsibility Collaborator (CRC) Models
Lecture 9 - Ti 20.4.2010 klo 12:15, Ag Aud. 3
- Sequence
diagrams
- Bennett, chapters 7 (continued): Object Interaction: Sequence Diagrams
- ICONIX: detailed design
- Additional material
-
- TraceModeler: introduction to sequence diagrams
- informIT: example of conditional calls in sequence diagrams
- developerWorks: another sequence diagram tutorial
- Agile Modeling: Sequence Diagrams + Style Guidelines
Lecture 10 - To 22.4.2010 klo 08:30, Ag Aud.
3
- Architecture
- Bennett, chapter 12: System Architecture
- Additional material
-
- Kruchten: Architectural Blueprints—The "4+1" View Model of Software Architecture
- Tyree & Akerman: Demystifying Architecture
- Parnas: On the Criteria To Be Used in Decomposing Systems into Modules
- Coplien:
Architect Also Implements -pattern + c2 wiki: Architects
Don't Code -antipattern
- SourceMaking: The Grand Old Duke of York -antipattern ("implementationists outnumber abstractionists approximately 4 to 1")
- Trygve Reenskaug: Model-View-Controller, architectural pattern
- Steve Burbeck: How
to use Model-View-Controller (MVC)
- SourceMaking: Observer, design pattern
- Anoop Madhusudanan:
Applying The Observer Pattern
- vico.org: Broker,
architectural pattern
Lecture 11 - Ti 27.4.2010 klo 12:15, Ag Aud. 3
- Detailed
design
- Bennett, chapter 14: Detailed Design
Lecture 12 - To 29.4.2010 klo 08:30, Ag Aud. 3
- Reuse (components, design patterns
and application frameworks), component and deployment
diagrams
- Bennett, chapters 15, 19-20 (selected parts): Design Patterns, Implementation, Reusable Components
- Additional material
-
- SourceMaking: Singleton,
design pattern
- SourceMaking: Composite,
design pattern
- Agile Modeling: Component Diagrams + Style Guidelines
- Agile Modeling: Deployment Diagrams + Style Guidelines
- GOF quick
reference
- Robert Martin:
Design Principles and Design Patterns
- SourceMaking: Singleton,
design pattern
Lecture 13 - Ti 4.5.2010 klo 12:15, Ag Aud. 3
- State
diagrams
- Bennett, chapter 11: Specifying Control
- Agate case - models in analysis and design
phase
- Additional material
-
- dummies.com: Building Protocol State Machines in UML 2
- SourceMaking: Facade, design pattern
Lecture 14 - To 6.5.2010 klo 08:30, Ag Aud. 3
- User interfaces, designing boundary classes
- Bennett, chapters 16-17 (selected parts): Human–Computer Interaction, Designing Boundary Classes
Lecture 15 - Ti 11.5.2010 klo 12:15, Ag Aud. 3
- Data management design
- Bennett, chapter 18 (selected parts): Data Management Design
Lecture 16 - Ti 18.5.2010 klo 12:15, Ag Aud. 3 (Sami
Äyrämö)
- UML in real-time systems, applying UML in industrial environment
- Additional material
-
- Modeling a
real-time system with UML (in Finnish)
- Modeling a
real-time system with UML (in Finnish)
Lecture 17 - To 20.5.2010 klo 08:30, Ag Aud.
3
- On implementation,
recap
- Bennett, chapter 19 (selected parts): Implementation
- Agate case - models in detailed design phase
- Additional material
-
- Joseph Bergin: Understanding Object Oriented Programming
