Next: Lecture 0: Introduction to
Up: Introduction to Software Engineering:
Previous: Introduction to Software Engineering:
-
Contents
-
Lecture 0: Introduction to UML
-
UML Introduction Topics
-
Recommended Books
-
Introduction
-
Notation
-
Modelling Elements: Components
-
Modelling Elements: Relationships
-
Modelling Elements: States & Interactions
-
Modelling Element Diagrams
-
Modelling Elements: Notes
-
Modelling Mechanisms: Adornments
-
Specification
-
Extending Notation: Stereotype
-
Extending Notation: Tagged Values
-
Extending Notation: Constraints
-
Diagrams
-
Use Case Diagram
-
Class Diagram
-
State Diagram
-
Sequence Diagram
-
Collaboration Diagram
-
Activity Diagram
-
Package Diagram
-
Component Diagram
-
Deployment Diagram
-
Views
-
UML Views
-
Use Case View
-
Logical View
-
Concurrency View
-
Concurrency View
-
Component View
-
Deployment View
-
Analysis: Requirements, Risks, Constraints
-
Design: Package, Class, Relationships, User-Interface
-
Design (Dynamic): Sequence, Collaboration, State, Activity
-
Implementation:Components, Codes, Deployment
-
Commentary
-
Lecture 0 Exercise
-
Lecture 1: Use Cases and Use Case Diagrams
-
Lecture 2: Classes, Objects, Packages and Corresponding Diagrams
-
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