Skip to main content
Software View

Main navigation

  • Home
  • Trainer Profile
  • Blog
  • Contact
User account menu
  • Log in

Breadcrumb

  1. Home

Fundamental Patterns for Object Oriented Systems Designing

Description:

How to create a good object oriented design for a software system? Is it possible to follow a systematic approach where requirements are translated though analysis to a good design? What are the best practices that can be applied in doing so? This training program teaches you how to write use case as a means to capture requirements, object oriented analysis and applying fundamental patterns to create good object oriented designs. Content of the training primarily revolves around Generalized Responsibility Assignment Software Patterns (GRASP Patterns) that are primitive, but powerful concepts that can be applied in creating good object oriented designs.

Training Objectives:

At the end of the training, participants will be able to

  1. Capture functional requirements of a system using use cases.
  2. Write effective use cases so that they can easily be used during analysis and designing of object oriented systems.
  3. Define the meanings and purposes of Object Oriented Programming (OOP) fundamentals with sound clarity and apply them correctly
  4. Use UML use case diagrams, class diagrams and sequence diagrams to visually document use case model, domain model and design of the system.
  5. Analyze and design object oriented systems in a methodological manner backed by fundamental patterns and sound principles.
  6. Apply GRASP patterns in designing object oriented systems

Target Groups:

  1. Software Developers (Mostly for juniors, but seniors may also find this training program useful)

Prerequisites:

  1. Ability to program in an object oriented programming language is necessarily required.

Communication Language:

English

Duration:

2 full days (~16 Hours)

Facilitator:

Kamal Wickramanayake (Profile)

Training Content:

  1. Introduction To Software Development Process
    • What is a software development process?
    • Overview of popular software development processes
  2. Use Cases
    • Requirements capturing with use cases
    • Use case model
    • Writing use cases
    • Good use case writing styles to improving effectiveness of use cases
  3. OOP Fundamentals (Pragmatic Nature And Clearing Confusions)
    • Abstraction
    • Encapsulation
    • Inheritance
    • Polymorphism
  4. UML Fundamentals
    • Use case diagrams
    • Class diagrams
    • Sequence diagrams
    • Representing classes, objects, interfaces
    • Representing generalization, interface implementation, relationships, dependencies
  5. Object Oriented Analysis
    • Purpose of analysis
    • Inputs and outputs
    • Creating a domain model
  6. High Level System Decomposition
    • Separation of concerns
    • Modular systems
    • Layers pattern
    • Multi-tier systems
  7. Object Oriented Design
    • Purpose of design
    • Inputs and outputs
    • Creating class diagrams, sequence diagrams
  8. General Responsibility Assignment Software (GRASP) Patterns
    • What are patterns?
    • What is responsibility assignment?
    • Information Expert pattern
    • Creator pattern
    • Controller pattern
    • Low Coupling pattern
    • High Cohesion pattern
    • Polymorphism pattern
    • Pure Fabrication pattern
    • Indirection pattern
Analysis And Design

Highlights

  • O'Reilly Book "97 Things Every Software Architect Should Know" Accepts A Write Up From Kamal
  • "Service Oriented Architecture - Making IT Infrastructure Speaks Business" - Presentation At The ISACA 4th Annual Conference
  • The Second Bacth Of ICTA Nanasala e-Society Members Receives Trainings On HTML/CSS and GIMP
  • GIMP Training For ICTA Nanasala Project
  • Agile Processes Training For PPSL (Pvt) Ltd
  • Computer Society of Sri Lanka (CSSL) - Talk on "Introduction to IT Governance and Enterprise Architecture"
  • Motorola Sends A Second Batch Through Software Patterns Training
  • Kamal To Act As The Marketing Director - ISACA Sri Lanka Chapter
  • ISACA Sri Lanka Chapter Invites Kamal To Join As A Board Member
  • Epic Lanka Technologies (Pvt) Ltd Receives Java SE And Java EE Trainings From Software View
  • Patterns Training For PPSL (Pvt) Ltd
  • ISACA Members Day Presentation On "Introduction To IT Governance And Enterprise Architecture"
  • Opening Lecture On Information Technology For SLIDA Master Of Public Management Course Delivered By Kamal
  • Customized Java Enterprise Edition Training For SLIDA
  • No One To Beat Software View - Epic Lanka Technologies (Pvt) Ltd
  • Motorola Receives Software Patterns Training From Software View
  • Custom Java Enterprise Edition Training for ICTA/SLIDA - Only from Software View!
  • Java EE 5, JavaServer Faces, Hibernate And Spring For PPSL (Pvt) Ltd
  • "Brain Trust" For Linux Journal Weekly Newsletter From Kamal
  • Java Platform, Enterprise Edition 5 Training At The CEIT, University Of Peradeniya
  • Another Group Of Around 100 Sri Lanka Telecom Engineers And Managers Were Service Oriented!
  • Java Platform, Enterprise Edition 5 Training Will Be Held At The CEIT, University Of Peradeniya
  • Service Oriented Architecture: Another Two Sessions Conducted at SLT
  • Photos of IET Monthly Forum at the Peradeniya University
RSS feed
Copyright © 2007 - 2023 Software View