Next: Static Modelling: Classes, Objects,
 Up: Introduction to Software Engineering:
 Previous: Lecture 1 Exercises:
 
- 
Static Modelling: Classes, Objects, Packages, Diagrams
 - 
Classes
 - 
Commentary: Class
 - 
Commentary: Finding classes
 - 
Commentary: Class Name
 - 
Commentary: Class Attributes
 - 
Commentary: Operations
 - 
Commentary: Type
 - 
Example Structure of Class Course
 - 
Commentary
 - 
Creating Operations
 - 
Commentary
 - 
Example: Car Class Details
 - 
Example Class: Class Car
 - 
Example: Invoice Class Details
 - 
Commentary
 - 
Documenting Attributes & Operations
 - 
Example Class Diagram: Class Documentation
 - 
Stereotype Classes
 - 
Entity Class: StudentInformation Class & Specification
 - 
Template Example: Class Instantiation by name and by Refinement
 - 
Commentary
 - 
Class Relationships
 - 
Commentary
 - 
Association
 - 
Commentary
 - 
Naming Relationships
 - 
Commentary
 - 
Multiplicity Indicators
 - 
Commentary
 - 
Association Role Name at one end
 - 
Commentary
 - 
Association Role Name at both ends
 - 
Navigable Association
 - 
Aggregation
 - 
Commentary
 - 
Shared Aggregation
 - 
Composition Aggregation
 - 
Commentary
 - 
Composition Aggregation: One solid Diamond for each Part
 - 
Composition Aggregation: One solid diamond and Parts tree
 - 
Composition Aggregation: Parts inside whole class
 - 
Composition Aggregation: Two or more parts
 - 
Qualified Association
 - 
Commentary
 - 
Or-Association
 - 
Commentary
 - 
Ordered Association
 - 
Commentary
 - 
Reflexive Relationships: Recursive Association
 - 
Commentary
 - 
Recursive Association
 - 
Commentary
 - 
Recursive Association of Courses & Prerequisites
 - 
Commentary
 - 
Association Class
 - 
Commentary
 - 
Ternary Association
 - 
Commentary
 - 
Class Diagrams
 - 
Commentary
 - 
Example: A class diagram to model an Insurance Business
 - 
Commentary
 - 
Example Class Diagram: Order
 - 
Commentary
 - 
Example: Order with navigability
 - 
Object Diagram
 - 
Example Object Diagram with Roles
 - 
Example Class Diagram: Object Diagram (Bob's Computer)
 - 
Interfaces
 - 
Packages: Example
 - 
Commentary
 - 
Package Classes: Example
 - 
Package Classes: Example
 - 
Example Packages: Class Dependence on Package Interface
 - 
Package Relationships
 - 
Commentary
 - 
Example Packages: Subsystem Dependence
 - 
Example Packages: Subsystem Importing
 - 
Example Packages: Subsystem Generalisation and Dependence
 - 
Generalisation (Inheritance) Relationships
 - 
Commentary
 - 
Example: Vehicles
 - 
Inheritance Relationship: Vehicle Tree
 - 
Inheritance Relationship: Vehicle Hierarchy
 - 
Inheritance Relationship: Vehicle abstract, with abstract ops.
 - 
Commentary
 - 
Inheritance Relationship: Person assoc. drive with Vehicle
 - 
Example: Hierarchy with attribs. and assocs. for children
 - 
Inheritance Relationship with class attribs. and assocs.
 - 
Example: Hierarchy with relocated attribs. and opers.
 - 
Inheritance Relationship with reallocated attribs. and ops.
 - 
Inheritance vs Aggregations
 - 
Example: Inheritance vs Aggregate Contd.
 - 
Inheritance vs Aggregation
 - 
Constraint Generalisations: Inheritance Constraints
 - 
Constraint Generalisations: Alternative Inheritance Constraints
 - 
Class Diagrams: Overlapping
 - 
Disjoint Generalisation
 - 
Complete Generalisation: No other Sub-class
 - 
Dependency Relationship
 - 
Refinement Relationship
 - 
Commentary
 - 
Derived Association
 - 
Commentary
 - 
Constraint Association
 - 
Commentary
 - 
Constraint Attribute
 - 
Commentary
 - 
Derived Attribute
 - 
Commentary
 - 
Lecture 3: Sequences, Collaborations, Activities, States, and corresponding Diagrams
 - 
Sequences, Collaborations, Activities, States and Diagrams
 - 
Commentary
 - 
Sequence Diagrams
 - 
Sequence Diagrams Cont'd.
 - 
Example: Printer Service
 - 
Example: Use of Label for Time Constraint
 - 
Example: Use of Label for Iteration
 - 
Example: Recursion
 - 
Example: Creating a Course
 - 
Example: Add a Course Offering
 - 
Example: Order Sequence
 - 
Example: Transaction Sequence
 - 
Example: Transaction Check
 - 
Commentary
 - 
Collaboration Diagram
 - 
Commentary
 - 
Message Flow: message label syntax
 - 
Message Flow: message label syntax (cont'd.)
 - 
Links
 - 
Lifetime of Object
 - 
Example: Print Service
 - 
Example: Iteration and Return value
 - 
Example: Elevator - Calling a Lift by pressing a button
 - 
Example: Elevator - Explanation
 - 
Example: Summarising Sales Result
 - 
Example: Sales Result Explanation
 - 
Example: Add A Student
 - 
Example: Add A Student Explanation
 - 
Example: Add a Course Offering
 - 
Example: Add Course Offering Explanation
 - 
Example: Create A Course
 - 
Example: Create A Course Explanation
 - 
Example: Orders with Simple Numbering
 - 
Example: Orders Simple Numbering Explanation
 - 
Activity Diagrams
 - 
Commentary
 - 
Transitions
 - 
Commentary
 - 
Activity Diagram: Concurrent actions
 - 
Commentary
 - 
Activity Diagram: Swim Lanes
 - 
Commentary
 - 
Activity Diagram: Using Objects with Activity Diagram
 - 
Commentary
 - 
Activity Diagram: Passing Signals in Activity Diagram
 - 
Commentary
 - 
Activity Diagram: Receiving An Order
 - 
Activity Diagram: Receiving A Supply
 - 
Activity Diagram: Swim Lane for Order Processing
 - 
Activity Diagram: Decomposing Activity Diagram
 - 
Commentary
 - 
State
 - 
Commentary
 - 
State Activities
 - 
Commentary
 - 
State Transitions without Events
 - 
Transitions
 - 
Commentary
 - 
Events for a transition: 4 kinds
 - 
State Diagrams
 - 
Example State Diagram: Invoice
 - 
Example States: CourseOffering
 - 
Example Transition: Add Student/Set Count=0
 - 
Commentary
 - 
Example Transitions: CourseOffering
 - 
Example State Diagram: CourseOffering
 - 
Sending message between State Diagrams
 - 
Sending Messages to States
 - 
Commentary
 - 
Signals & States
 - 
Or State
 - 
And State
 - 
Install State
 - 
Order Processing
 - 
Order Processing with Cancellation
 - 
Order Processing with SuperState
 - 
Authorising Order
 - 
Concurrent States in Order Processing
 - 
Lecture 4: Components, Deployment, Collaborations, Patterns, Frameworks
 - 
Components, Deployment, Patterns, Frameworks
 - 
Architectural Views
 - 
Logical View
 - 
Logical View of Package in Course Registration
 - 
Logical View of Package in Course Registration
 - 
Component View & Diagrams
 - 
Component Name, Tagged Value, Realized Interfaces
 - 
Component and Classes
 - 
Components and Interfaces
 - 
Components and Interfaces Cont'd.
 - 
Binary Replaceability
 - 
Kinds of Components
 - 
Component View of Package in Course Registration
 - 
Software Components of University Class
 - 
Process View of Lecturer Executables
 - 
Process View of Lecturer Executables
 - 
Deployment View of Course Registration
 - 
Collaboration
 - 
Patterns and Frameworks
 - 
Design Patterns
 - 
Mechanisms
 - 
Architectural Patterns - Frameworks
 - 
Frameworks
 
Ananda Amatya
11/3/1999