Data Analysis & Design with UML
Course Description
The course starts by introducing the fundamentals of object oriented technology, demonstrating the vocabulary and concepts with many concrete examples. It then presents the UML notational diagrams and discusses how to get the best from these together with today’s technology. The course is delivered as a series of lectures, discussions and individual exercises, consolidated with a comprehensive team-based case study.
Course Duration
3 days
Course Objectives
On completion of this course delegates will be able to:
• Apply the theory and practice of object-oriented development using UML within the context of an iterative, incremental and architecture-centric development process.
• Understand how to use UML to capture, model and document system requirements and follow this through with creation of and refinement of the class diagram and behavioral models.
• Appreciate the architectural and design decisions required and their implications for the system under development.
• Apply the theory and practice of object-oriented development using UML within the context of an iterative, incremental and architecture-centric development process.
• Understand how to use UML to capture, model and document system requirements and follow this through with creation of and refinement of the class diagram and behavioral models.
• Appreciate the architectural and design decisions required and their implications for the system under development.
Course Content
OBJECT TECHNOLOGY CONCEPTS
Classes and objects; Abstraction and encapsulation; Class and object relationships; Attributes and operations; Inheritance and polymorphism.
THE UNIFIED PROCESS
Iterative and incremental development; Architecture-centric development; Risk analysis; Inception; Elaboration; Construction; Transition.
CAPTURING SYSTEM REQUIREMENTS
System scope; The Use Case model; Identifying Actors; Use Case realisations; Use Case relationships; Scenarios and sequence diagrams; Best practice guildelines.
SYSTEM ACTIVITIES
Activity diagrams; Concurrent processing; Swimlanes; Decisions.
CREATING THE CLASS DIAGRAM
Identifying classes, operations, associations and attributes; Class relationships; Aggregation; Inheritence; Multiplicity; Multiple inheritance; Visibility; Interfaces; Parameterised classes.
OBJECT DYNAMICS
Using detailed sequence diagrams; Collaboration diagrams; Statechart diagrams.
OBJECT STATES
Definition of state; Statecharts; State concurrency; State generalisation and specialisation.
STARTING DESIGN
Analysis deliverables; Refining the analysis models.
DESIGN CLASSES
Looking for completeness; Coupling and cohesion; Association navigation; Implementing associations; Aggregation by-value and by-reference; Interface Design; Delegation.
SYSTEM ARCHITECTURE
Packages; Components; Component and deployment diagrams; Dependencies and interfaces; Physical and logical partitioning; Allocating software to hardware.
IMPLEMENTACION TECHNOLOGY AND TECHNIQUES
Languages - C#, Java, C++, Visual Basic; Class libraries; Client server architecture; N-tier architectures; Middleware; COM(+); .NET; CORBA; J2EE; CASE tools; Patterns; Testing; Re-factoring; Extreme programming and agile development.
Classes and objects; Abstraction and encapsulation; Class and object relationships; Attributes and operations; Inheritance and polymorphism.
THE UNIFIED PROCESS
Iterative and incremental development; Architecture-centric development; Risk analysis; Inception; Elaboration; Construction; Transition.
CAPTURING SYSTEM REQUIREMENTS
System scope; The Use Case model; Identifying Actors; Use Case realisations; Use Case relationships; Scenarios and sequence diagrams; Best practice guildelines.
SYSTEM ACTIVITIES
Activity diagrams; Concurrent processing; Swimlanes; Decisions.
CREATING THE CLASS DIAGRAM
Identifying classes, operations, associations and attributes; Class relationships; Aggregation; Inheritence; Multiplicity; Multiple inheritance; Visibility; Interfaces; Parameterised classes.
OBJECT DYNAMICS
Using detailed sequence diagrams; Collaboration diagrams; Statechart diagrams.
OBJECT STATES
Definition of state; Statecharts; State concurrency; State generalisation and specialisation.
STARTING DESIGN
Analysis deliverables; Refining the analysis models.
DESIGN CLASSES
Looking for completeness; Coupling and cohesion; Association navigation; Implementing associations; Aggregation by-value and by-reference; Interface Design; Delegation.
SYSTEM ARCHITECTURE
Packages; Components; Component and deployment diagrams; Dependencies and interfaces; Physical and logical partitioning; Allocating software to hardware.
IMPLEMENTACION TECHNOLOGY AND TECHNIQUES
Languages - C#, Java, C++, Visual Basic; Class libraries; Client server architecture; N-tier architectures; Middleware; COM(+); .NET; CORBA; J2EE; CASE tools; Patterns; Testing; Re-factoring; Extreme programming and agile development.
Who should attend?
This course has been created for anyone with an interest in learning more about the UML. It is applicable to analysts, designers, developers, project managers, business analysts, test engineers and system architects.
Pre-requisites
The course is suitable for anyone involved in software development. Students are not required to have any prior experience of object-oriented technology but will benefit from having had some exposure to basic software engineering techniques and vocabulary.