UML and Object Oriented Analysis and Design for Computer Game Programming

Course

Inhouse

Price on request

Description

  • Type

    Course

  • Methodology

    Inhouse

  • Duration

    5 Days

Students completing this course will acquire a whole range of useful skills. understanding the role of Use Case Analysis in refining the requirements for user - game interaction, exploring and refining "game plots and scenarios". using statecharts and sequence diagrams to model complex interactions and behaviours occuring in computer games. identifying. Suitable for: This course is primarily aimed at those involved in the development of computer games software. Apart from computer game software programmers the course should also be of benefit to. game designers. game scriptwriters. planners and project managers. game software testers

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Course programme

Overview
One of the main values of UML2 comes from its use as both a tool for communicating ideas and intentions and as a tool for "thinking through" various approaches and possibilities to tackling software analysis, design, implementation and testing. In the devlopment of computer games there is a great need for communication between those creating game content to interact with those implementing the software that will realise their "dreams" and "vision". Other values include
  • making intentions and wishes more precise
  • providing a reference point for game software testing
  • creating a framework that will aid project management
  • facilitating attempts to understand and work with complex frameworks

Course Benefits
Students completing this course will acquire a whole range of useful skills
  • understanding the role of Use Case Analysis in refining the requirements for user - game interaction, exploring and refining "game plots and scenarios"
  • using statecharts and sequence diagrams to model complex interactions and behaviours occuring in computer games
  • identifying classes, class hierarchies and composite structures to represent computer game entities
  • using architectural design techniques to manage complexity in computer game development

Course Contents
Object Oriented Concepts and Thinking
  • Classes and class instances (objects)
  • Inheritance, polymorphism and interfaces
  • Creating more complex objects out of simpler objects
  • relationships between classes and relationships between class instances
  • communications and interactions between objects
  • event driven programming - events and how objects respond to events
  • object lifecycles - creation, management and destruction of objects
UML class diagrams - scope, applicability ( in different phases of the development and maintenance lifecycle ) and limitations
  • computer games development lifecycle models
  • survey of the different UML diagram types
    • class diagrams and object diagrams
    • use case diagrams
    • collaboration diagrams
    • sequence diagrams
    • activity diagrams
    • state diagrams
    • deployment diagrams
    • component diagrams
  • uses of the different UML diagram types in different parts of the lifecycle
Use Case Analysis and Computer Games
  • identifying and documenting Scenarios and Use Cases
    • brainstrorming
    • user - game interaction
    • game entity - game entity interaction
    • story boarding and use case analysis
    • structuring and refining use cases
    • the many facets of a computer game
    • combining use cases from different facets
    • getting to the most effective level of abstraction
  • developing and refining use cases
    • sequence diagrams
    • activity diagrams
    • state diagrams
    • sequence diagrams
  • use of analysis models to bridge the gap between the use case model and the design model
    • robustness analysis
    • performance analysis
    • identifying boundary classes, entity classes and control classes and the associations between them
    • moving from the analysis model to the design model
      • interaction modeling
      • allocating behaviour
      • CRC cards approaches
      • detailing interactions
    Design
  • grouping classes using package diagrams
  • evolving designs
  • subsystems and architecture testing
  • refining classes and associations
  • developing class properties - visibility, scope, multiplicity, attributes, operations
  • extending UML using stereotypes, tagged values and constraints
  • design for reuse
    • template classes
    • generalisation and generalisation hiererchies
    • abstract classes
    • polymorphism
    • frameworks
Design Patterns
  • rationale underlying design patterns
  • types of design pattern - creational, structural, behavioural
  • describing and documenting design patterns
  • selecting patterns
  • pattern oriented design
  • factory patterns - and their uses in computer games
    • Abstract factory
    • Builder
    • Prototype
    • Singleton
  • structural adapter patterns - and their uses in computer games
    • Adapter
    • Bridge
    • Composite
    • Decorator
    • Facade
    • Flyweight
    • Proxy
  • Interpreter and Template Method patterns - and their uses in computer games
    • Command
    • Iterator
    • Mediator
    • Observer
    • State
    • Strategy
    • Visitor
    From Design to C++ Code ( can be tailored to other languages e.g. C#, Java )
  • C++ examples corresponding to common design patterns
  • from Statecharts to threads / tasks and code
  • complex systems and the co-ordination of large numbers of interacting objects
  • scheduling and synchronisation
  • UML and Object Oriented Analysis and Design for Computer Game Programming

    Price on request