Object Oriented Design

Slides:



Advertisements
Similar presentations
Chapter 6: Behavioral Modeling
Advertisements

1 Windows CIS*2450 Advancing Computing Techniques.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Unified Modeling Language
Drawing System Sequence Diagrams
SE 555 Software Requirements & Specification 1 Activity Diagrams.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
Unified Modeling Language 7/12/2015B.Ramamurthy1 The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh.
Object Oriented Design. Goal  Homework #3 support  Q & A.
The Unified Modeling Language (UML) Class Diagrams.
OO Analysis and Design CMPS OOA/OOD Cursory explanation of OOP emphasizes ▫ Syntax  classes, inheritance, message passing, virtual, static Most.
Class, Sequence and UML Model.  Has actors and use cases.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
程建群 博士(Dr. Jason Cheng) 年03月
How to make Space Invaders
Interaction diagrams Sequence and collaboration diagrams.
SWEN 5130 REQUIREMENTS ENGINEERING Unified Modeling Language Short Tutorial By Yuvaraj Mani Teaching Assistant SWEN 5130 Spring semester 2006.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Modeling & simulation of business cases Editing diagrams.
Systems Analysis & Design 7 th Edition Chapter 5.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Drawing System Sequence Diagrams
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
ITEC324 Principle of CS III Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
Object Oriented Analysis & Design & UML (Unified Modeling Language)1 Part VI: Design Continuous Activity Diagams State Diagrams.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
Dokumentasi Sistem Dengan Activity Diagram Pertemuan 03 s.d 04 Matakuliah: F0712 / Lab Sistem Informasi Akuntansi Tahun: 2007.
Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
INFO 355Week #51 Systems Analysis II OO Design use case realizations INFO 355 Glenn Booker.
Scratch Programming Cards
Elaboration popo.
Design Review.
Development Environment
Chapter 3 DOCUMENTING ACCOUNTING SYSTEMS
Chapter 7 – Object-Oriented Design
The Movement To Objects
Evolution of UML.
Object-Oriented Analysis and Design
Sequence Diagrams.
Unified Modeling Language
COMP 2710 Software Construction Sequence Diagrams (cont.)
UML UML Sequence Diagrams CSE 403
Chapter 5 Black Jack.
Object-Oriented Systems Analysis and Design Using UML
An Introduction to Computers and Visual Basic
Sequence Diagrams.
Introduction to Functions
UML dynamic Modeling (Behavior Diagram)
Unified Modeling Language
AP Physics Chapter 2 Kinematics: Description of Motion
IMAT5205 Systems Analysis and Design
Week 12: Activity & Sequence Diagrams
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix A Object-Oriented Analysis and Design
Design and Implementation
SYS466 Domain Classes – Part 1.
Unified Modeling Language
An Introduction to Computers and Visual Basic
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Chapter 5.
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
CSC 221: Introduction to Programming Fall 2018
ITEC324 Principle of CS III
ITEC324 Principle of CS III
Chapter 4 Sequence Diagrams
Presentation transcript:

Object Oriented Design

Goals Review of Space Invader Projects Quick Outlook of rest of semester

Exciting One video game / week

Programming hints Careful with Wait as it will block all agents Also bad for keyboard responsiveness since waits add up and may keep agent from getting keyboard event => use OnceEvery

Project Submission Reminder We need projects NOT applets

This and that Please include a complete worksheet that is in an initial and complete state Output of attributes to user: use “say” action; show message does not support attribute substitution “you have ~lives lives left” => you have 5 lives left

Class Diagrams Naming of class Do not use plural to reflect the fact that there will be multiple instances “Aliens” => “Alien” Use descriptive, non-abbreviated terms “ScrCtr” => “Score Counter”

Sequence diagrams 1 Message needs to match operation of receiver NOT sender! If scenario does not include destroying the instance do not end the life line with “X” Diagram needs to have clear description of what situation/scenario is. Stick with one very specific execution path Do not try to mix different, independent situations

Sequence diagrams 2 Time is monotonically increasing: no arrows going UP! An arrow up implies negative time Arrows need to be horizontal. Otherwise they imply “non-instantaneous” messages Confusing activation with creating new instance :Invader :Invader :Bomb  new :Bomb new

Invader drops final bomb resulting in destroyed bunker Use iconic representations :Invader :Bunker Invader drops a bomb. [once ever 5 seconds] :Bomb new Bomb drops down and… [empty below] drop [empty below] drop … [empty below] drop [see a bunker below] hits a bunker. hit X erode Bunker erodes and disappears X

State diagrams State of WHAT? Individual object Set of objects Entire application user

What are states States describe situations, NOT processes nor functions Typically Use adjectives: blue, ready, busy, … Don’t use verbs: move, hit, … Don’t use verb/noun combinations: move bomb Use visual states where possible intact

Bunker states intact hit hit hit / erase(self) slightly damaged heavily damaged hit / erase(self)

Design and implementation Most of you did Bottom Up implement first, then design (UML) Classical school approach Top down: Design/UML first then implementation Reality Bottom up, top down, repeat XP (Extreme Programming)

Rest of the semester XP: Extreme Programming The Object Draw Editor design case OpenGL: 500 functions in one class Anti Patterns OOD meets AI: Game X Objects need Interfaces, Tamara Sumner Objecting to Objects, Wenming Ye Using Components for Rapid Distributed Software Development, Chris DiGiano