Lecture 1 CS171: Game Design Studio 1I UC Santa Cruz School of Engineering 5 January 2010.

Slides:



Advertisements
Similar presentations
Stereotypes Stereotypes provide the capability to create a new kind of modeling element. –They can be used to classify or mark modeling elements. –A type.
Advertisements

Unified Modeling Language
UML Class and Sequence Diagrams Violet Slides adapted from Marty Stepp, CSE 403, Winter 2012 CSE 403 Spring 2012 Anton Osobov.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Software Engineering COMP 201
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
UML – Class Diagrams.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Software Development Software Life Cycle UML Diagrams.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
Lecture 1 CS170: Game Design Studio 1 UC Santa Cruz School of Engineering 29 September 2008.
Lecture 3 CS171: Game Design Studio 1I UC Santa Cruz School of Engineering 11 January.
Basic OOP Concepts and Terms
Essentials of interaction diagrams Lecture Outline Collaborations Interaction on collaboration diagrams Sequence diagrams Messages from an object.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
Introduction to UML (slides adapted from Michael Mateas)
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Component and Deployment Diagrams
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
Unified Modeling Language
Object-Oriented Analysis and Design
Copyright © 2002, Systems and Computer Engineering, Carleton University Intro.ppt * Object-Oriented Software Development Unit 1 Course.
Slide 12.1 © The McGraw-Hill Companies, CS 4310: Software Engineering Lecture 7 Systems Analysis Object-Oriented Design.
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program.
ITEC 370 Lecture 10 Design. Review Design –Why is it part of the process? –Who is the audience for design?
CSC 213 – Large Scale Programming Lecture 3: Object-Oriented Analysis.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Unified Modeling Language © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Unified Modeling Language Susan D. Urban and Suzanne W. Dietrich Department.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
1 Class Diagrams: Advanced Concepts. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are the most commonly used diagrams.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
An Introduction to the Unified Modeling Language
Basic OOP Concepts and Terms. In this class, we will cover: Objects and examples of different object types Classes and how they relate to objects Object.
CS 325: Software Engineering January 27, 2015 Domain Modeling Application Domains UML Class Diagrams.
Design Model Lecture p6 T120B pavasario sem.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
CSE 219 Computer Science III UML. UML Diagrams UML - Unified Modeling Language UML diagrams are used to design object-oriented software systems –represent.
CS212: Object Oriented Analysis and Design Lecture 33: Class and Sequence Diagram.
UML Part 1: Class Diagrams. Introduction UML stands for Unified Modeling Language. It represents a unification of the concepts and notations presented.
Class diagrams Terézia Mézešová.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
Chapter 3: Introducing the UML
ITEC0724 Modern Related Technology on Mobile Devices Lecture Notes #2 1.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Unified Modeling Language (UML)
UML Fundamental Elements. Structural Elements Represent abstractions in our system. Elements that encapsulate the system's set of behaviors. Structural.
 Description of Inheritance  Base Class Object  Subclass, Subtype, and Substitutability  Forms of Inheritance  Modifiers and Inheritance  The Benefits.
Course Overview Review of Scrum. Introduction to UML. UC Santa Cruz CMPS 171 – Game Design Studio II courses.soe.ucsc.edu/courses/cmps171/Winter12/01
UML Diagrams (Slides adapted from Michael Mateas) UC Santa Cruz CMPS 171 – Game Design Studio II courses.soe.ucsc.edu/courses/cmps171/Winter13/01
Course Overview Review of Scrum. Introduction to UML. UC Santa Cruz CMPS 171 – Game Design Studio II courses.soe.ucsc.edu/courses/cmps171/Winter12/01
Software Modelling Class Diagram. Class Diagrams The main building block in object oriented modeling They are used both for general conceptual modeling.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
The Movement To Objects
Evolution of UML.
Object-Oriented Analysis and Design
Unified Modeling Language—UML A Very Brief Introduction
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Object Oriented Analysis and Design
Basic know how ???.
CIS 375 Bruce R. Maxim UM-Dearborn
Software Design Lecture : 14.
Copyright 2007 Oxford Consulting, Ltd
Basic OOP Concepts and Terms
CIS 375 Bruce R. Maxim UM-Dearborn
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
From Class Diagram to Contract Diagram
Presentation transcript:

Lecture 1 CS171: Game Design Studio 1I UC Santa Cruz School of Engineering 5 January 2010

UC SANTA CRUZ The year-long game design studio sequence  CS 170  Exposure to a variety of alternative game designs  Indie, serious games, political games, art games, etc.  Individual concept development  Team formation and game design  CS 171  The heart of making the game  Course is process-based, providing a series of milestones for completing game  Some design work will continue, especially early in the quarter  Like the second half of last quarter, there will be lots of presentations  CS 172  Emergency design revisions (the “oh my god” moment)  Final playtesting and tuning  Finish game  Win awards at indie game competitions

UC SANTA CRUZ Class mechanics  Syllabus online at   Login and password for secure page (readings)  Team feedback tool

UC SANTA CRUZ Introduction to UML  The Unified Modeling Language (UML) consists of a collection of diagrams for describing a software design  Creating a UML description forces a team to develop a software design before diving into the nitty-gritty of writing code

UC SANTA CRUZ Class diagrams  A class diagram describes your object oriented design  Classes are drawn as boxes.  Members are listed inside the box. Fields appear in the top sub-box, methods in the bottom sub-box  Access indicated by + (public), - (private), # (protected) and ~ (package)  Classes are connected together with lines indicating class relationships

UC SANTA CRUZ Generalization links  Generalization links indicate subclass relationships  An open arrow points to the parent

UC SANTA CRUZ Aggregation links  Aggregation indicates that instances of one class will contain instances of another class  In aggregation, the lifespan of the enclosed instances is independent of the lifespan of the enclosing instance  Container classes (lists, hashtables, etc.) will always have aggregation links to what they contain, though many classes will contain member instances of other classes

UC SANTA CRUZ Composition links  Composition links indicate that one class contains instances of another class, but the contained class is created and destroyed with the instance class  The contained instances will be destroyed when the containing instance is destroyed  In C++, this is the difference between a member variable of type MyClass* and MyClass

UC SANTA CRUZ Realization  Realization links relates a class that implements (realizes) a behavior specified by another model element, to the model element that specifies this behavior  In Java, classes that implement an interface realize the interface  In C++, classes that are children of a pure abstract class realize behavior specified by the pure abstract class

UC SANTA CRUZ Dependency links  Dependency links represent arbitrary relationship between classes, where a change made to one class may require a change to another class  The arrow points from the dependent towards the independent class  You’ll want to use link labels for dependency links  On the class diagram, only indicate important dependency relationships (ones that help communicate in the team)

UC SANTA CRUZ Creating class diagrams for games  When creating a game architecture, you’ll want to make sure you’ve covered at least the following game elements in your class (structure) diagram:  Input handling  Representation of game levels, if present  Player class  Enemy classes, including container holding active enemies  Physical object classes, including a container to hold them  Collision detection  Classes for drawing player, enemies and other game objects  Classes for handling audio  Classes for game interface (menu system) and HUD

UC SANTA CRUZ Discovering your object taxonomy  The golden rule: Nouns are classes, verbs are methods  Once you’ve done a preliminary analysis of the nouns (objects) in your architecture, organize them into an inheritance hierarchy  Inheritance organizes objects that share functionality  Once you have a preliminary understanding of your inheritance hierarchy, then work on composition and aggregation (which objects contain which other objects)  Many of you will be building your code within an engine or library, typically subclassing library classes to create game- specific functionality. So you’ll be including some engine (library) classes in your structure diagram