1-888-THE-TREE (1-888-843-8733)
PRODUCTIVITY THROUGH EDUCATION®
 

Modern Object-Oriented Software Design: Hands-On

 
Course: 1801   Type: Hands-On Training   Duration: 4 Days   PMI: 23
 
 

You Will Learn How To

  • Deliver software on time and within budget using iterative and Agile strategies
  • Capture accurate requirements using user stories and use case refinement
  • Strategically apply UML modeling to add value to the design process
  • Design highly reusable component-based object-oriented architectures
  • Produce flexible and adaptable software systems using iterative and incremental design
  • Guarantee robust implementations with test-driven development, refactoring and design patterns

Course Benefits

In today's rapidly moving business environment, competitive advantage is achieved through the speedy delivery of responsive software that can adapt to evolving technology and changing user requirements. Applying UML modeling and Agile strategies is an industry-proven approach for developing such software. In this course you learn how to analyze, design and implement software using highly efficient, iterative and incremental methods.

Who Should Attend

Software programmers and designers, team leads, project managers and requirements analysts. Basic familiarity with object-oriented concepts is assumed.

Hands-On Training

Hands-on exercises provide experience using iterative and incremental UML and Agile methods. Exercises and demonstrations include:
  • Expanding user stories into use cases
  • Designing use case behaviour using UML sequence and activity diagrams
  • Modeling complex behaviour with state charts
  • Constructing a static architecture using class and component diagrams
  • Producing and improving code using TDD
  • Extracting and identifying design patterns in code

Related Courses

 

Upcoming Dates

Nov 16 - 19Ottawa 
Nov 30 - Dec 3Toronto 
Feb 22 - 25Ottawa 
Mar 1 - 4Toronto 
May 31 - Jun 3Ottawa 
Jun 14 - 17Toronto 

US Dates

Nov 9 - 12Reston, VA
Dec 7 - 10New York 
Dec 14 - 17Rockville, MD
Jan 4 - 7Chicago (Schaumburg)

Live online classroom training.

Attend highlighted events
in person or online with Learning Tree AnyWareTM.


For complete schedule, please visit www.learningtree.ca
http://www.lrntree.ca/courses/1801pf.htm
 
 
1-888-THE-TREE (1-888-843-8733)
PRODUCTIVITY THROUGH EDUCATION®
 

Modern Object-Oriented Software Design: Hands-On

 
Course: 1801   Type: Hands-On Training   Duration: 4 Days   PMI: 23
 
 
Course 1801 Content
 

Introduction

  • Matching the method to the scale of the project
  • Achieving agility through iterative development
  • Modeling designs efficiently with UML
  • Converting designs to software using test-driven development

Adapting the Method to the Project

Appraising traditional approaches

  • Critiquing waterfall and V-model life cycles
  • Responding to change iteratively and incrementally

Exploring the iterative and Agile alternatives

  • Identifying the risks of completely Agile approaches
  • Reducing risk with UML-based design

Gathering Accurate Requirements

Preparing for iterative and incremental development

  • Identifying and involving stakeholders
  • Capturing user stories and filling the backlog
  • Refining requirements by expanding user stories into use cases

Planning an iterative cycle

  • Estimating design and development work for user stories
  • Soliciting priorities from stakeholders
  • Handling incomplete and dependent user stories

Designing User Stories Efficiently with UML

Applying an appropriate amount of modeling

  • Avoiding over- or under-modeling
  • Modeling static structure: class and component diagrams
  • Representing use case behaviour with activity diagrams

Designing the dynamic architecture

  • Modeling use cases in three tiers
  • Realizing use case behaviour with sequence diagrams
  • Controlling alternative flows with UML state charts
  • Mapping use case behaviour to model view controller (MVC)architecture

Representing the static architecture

  • Preparing an entity model using classes and associations
  • Confirming the data structure against the behavioural model

Engineering the Software

Documenting the detailed design with UML

  • Constructing the implemented class diagrams
  • Describing code behaviour with sequence and state diagrams
  • Incorporating CASE tool models in iteration deliverables
  • Specifying and designing method algorithms
  • Improving robustness by modeling constraints

Establishing test-driven best practices

  • Writing executable user story and use case tests
  • Selecting the right unit tests: Equivalence partitions and Boundary values
  • Automating the test process with unit testing and mocking frameworks
  • Isolating components with Mock Objects

Refactoring for software excellence

  • Improving reusability through the open/closed principle
  • Reducing coupling and increasing cohesion through single responsibility
  • Extracting interfaces and handling dependency inversion
  • Segregating interfaces to maximize adaptability

Increasing design granularity by using patterns

  • Decoupling behaviour with the strategy pattern
  • Isolating the three tiers with MVC and observer patterns
  • Centralizing object creation with factories

Integrating subsystems to create a functioning system

  • Isolating tests by mocking downstream interfaces
  • Automating use-case tests

Supporting the Iterative Process

Completing the iteration

  • Validating completed user stories and use cases
  • Delivering models and code into version control
  • Tuning the process for subsequent iterations

Acquiring the right tools

  • Comparing automated testing tools
  • Supporting changes and bugs with tracking tools
  • Replicating version control for requirements, models and code

Implementing UML and iterative best practices

  • Identifying practices that can be utilized in the workplace
  • Assessing which practices fit best in your organization
http://www.lrntree.ca/courses/1801pf.htm
 
 
1-888-THE-TREE (1-888-843-8733)
PRODUCTIVITY THROUGH EDUCATION®
 

Modern Object-Oriented Software Design: Hands-On Tuition

 
Course: 1801   Type: Hands-On Training   Duration: 4 Days   PMI: 23
 
 
Course Tuition
$ 3,095 Standard Tuition
Tuition with a Savings Plan
$ 1,800Flex-Training Pass
$ 1,800Multi-Course Passport
$ 2,650Voucher 5-Pack
$ 2,785Alumni Gold Discount
$ 2,660Government Discount
 

Your Course Tuition Entitles You To...

  • Class participation
  • Team workshops
  • Use of in-class hands-on equipment
  • Comprehensive course materials
  • Morning and afternoon refreshments
  • Course Completion Certificate awarding Continuing Education Units
  • FREE participation in Professional Certification
 
 

Tuition Savings Plans

Multi-Course
Training Passport
  • As little as $1,800 per course
  • Savings as much as 45%
  • 4 courses in 12 months
  • Only $7,195
Flex-Training Pass
  • As little as $1,800 per course
  • Up to 2 years to attend 3 courses
  • Savings as much as 45%
  • Only $5,395
Training Vouchers
  • Save as much as $900 per course
  • Fully transferable
  • As low as $2,595 per course
Alumni Gold Discount Attend your first course and you'll receive a personalized Alumni Gold Discount card, entitling you to save as much as $350 on each course you take within the following 12 months. Take just one course each year and you'll be entitled to ongoing discounts...year after year!
Exact savings may vary depending on courses selected.

Your Guarantee of Satisfaction

Unless you feel 100% satisfied that Learning Tree delivered even more than you expected, there is no fee for your course attendance. Our Guarantee of Quality lets you experience the value of the course—and then pay only if you feel the course was well worth the tuition.

Enrolling is Easy and Flexible!

Enrol by phone or online. If your plans change, just let us know and, without a fee, you can transfer to another course or cancel your enrolment. Pay after you've taken the course, and then only if you are 100% satisfied.

http://www.lrntree.ca/courses/1801pf.htm