Course Outline:
History and Background:
- Principles and benefits of OO
- Background to UML
- OMG-UML specification
- Overview of UML diagrams
Process and Diagrams:
- Core features of real-time embedded systems
- Models of Software Development
- An Incremental and iterative development
process for UML
- The importance of diagrams
Classes, Objects and Code:
- Objects and their features
- The class and how it relates to an object
- Software templates
- Encapsulation
- Interfacing
- Information hiding
- The three basic models of an OO design
- UML class and object notation
- Association and multiplicity
Inheritance and Aggregation:
- Concept of aggregation
- UML notation for aggregation
- Composite aggregation
- How Inheritance simplifies design change
- Classes and sub-classes
- Inheritance notation
- Benefits of inheritance
- Interface classes
- Polymorphism
Interaction Diagrams:
- Collaborating objects
- The sequence diagram
- The collaboration diagram
- Active and passive objects
- Active and passive object communication
State and Activity:
- Concept of states
- Introduction to the state diagram
- Relating the state diagram to the other UML
diagrams
- The activity diagram
Use Cases:
- Basic use case notation
- Identifying use cases
- Use case text descriptions
- Scenarios
- The extend relationship
- The include relationship
- The CRC technique
- Object stereo types
- How use cases relate to interaction diagrams
and classes
Issues:
- Problems of applying UML to real-time
embedded systems
- Semantic problems
- Modelling concurrency and distribution
- Notation issues
- Missing diagrams
- Process issue
- Case-tool vendors
- Further reading |