Class Diagrams, MVC and Design Patterns CS153P Session 4.

Slides:



Advertisements
Similar presentations
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Advertisements

Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Unified Modeling Language
Sucha Smanchat  Steps in OOAD using UML  Use Case Diagram  Sequence Diagram / Communication Diagram  Class Diagram  State.
Object-Oriented Analysis and Design
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
1 UML – an overview What is UML? UML stands for Unified Modelling Language. ”The Unified Modelling Language is a visual language for specifying, constructing.
Fall 2005CSE 115/503 Introduction to Computer Science I1 Lecture #4 Agenda Announcements Review Questions? Classes and objects UML class diagrams Creating.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
COMP 350: Object Oriented Analysis and Design Lecture 2
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Object-Oriented Analysis and Design
Object-Oriented Analysis and Design
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Introduction To System Analysis and design
Systems Analysis and Design in a Changing World, Fifth Edition
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
MVC and MVP. References enter.html enter.html
1. 2  Have a basic understanding of the fundamental principles of object-oriented software development.  Understand a selection of the design patterns.
An Object-Oriented Approach to Programming Logic and Design
CIT241 Prerequisite Knowledge ◦ Variables ◦ Operators ◦ C++ Syntax ◦ Program Structure ◦ Classes  Basic Structure of a class  Concept of Data Hiding.
Agile Modeling Theory. 2 Agile Modeling (AM) AM is a chaordic, practices-based process for modeling and documentation AM is a collection of practices.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
Object-Oriented Analysis and Design An Introduction.
An Introduction to Java Chapter 11 Object-Oriented Application Development: Part I.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
TAL7011 – Lecture 4 UML for Architecture Modeling.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
1 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Design Model Lecture p6 T120B pavasario sem.
CSE 403, Spring 2008, Alverson Using UML to express Software Architecture.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
Copyright ©2004 Cezary Z Janikow 1 OOAD Overview n OO language – Necessary for OO systems? – Sufficient for OO systems? Owning a hummer doesn’t make you.
Lab 5 CPIT 250 System Analysis and Design.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
CSE 219 Computer Science III UML. UML Diagrams UML - Unified Modeling Language UML diagrams are used to design object-oriented software systems –represent.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
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.
Exam 2 Review Software Engineering CS 561. Outline Requirements Development UML Class Diagrams Design Patterns Users, Usability, and User Interfaces Software.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
UML Review of Use case diagrams. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson,
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
UML Fundamental Elements. Structural Elements Represent abstractions in our system. Elements that encapsulate the system's set of behaviors. Structural.
Basic Characteristics of Object-Oriented Systems
Object Oriented Analysis & Design By Rashid Mahmood.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Business System Development
Unified Modeling Language
University of Central Florida COP 3330 Object Oriented Programming
The Object Oriented Approach to Design
Copyright Scott W. Ambler1 Introduction to Agile Model Driven ( Senior Consultant, Inc.
Software Design Lecture : 15.
2.1 Introduction to Object-Oriented Programming
Presentation transcript:

Class Diagrams, MVC and Design Patterns CS153P Session 4

What are Agile Models? Agile models fulfill their purpose. Agile models are understandable. Agile models are sufficiently accurate. Agile models are sufficiently consistent. Agile models are sufficiently detailed. Agile models provide positive value. Agile models are as simple as possible.

Agile Modeling Best Practices

Example Agile Models

UML2 Unified Modeling Language 2 ◦A subset of agile modeling ◦Object-oriented ◦Shared notation DiagramsInteraction Overview Diagram Activity DiagramObject Diagram Class Diagram Package Diagram Communication Diagram Sequence Diagram Component DiagramState Machine Diagram Composite Structure Diagram Timing Diagram Deployment Diagram Use Case Diagram

Use Case Diagrams Show users and how they will interact with your program

Class Diagrams Shows class attributes, methods and relationships

Class Diagrams Shows class attributes, methods and relationships

Class Diagrams Shows class attributes, methods and relationships

Sequence Diagrams Shows how the program progresses from one user/class to another

Sequence Diagrams Shows how the program progresses from one user/class to another

Agile Modeling Principles Model With A Purpose. Maximize Stakeholder ROI. Travel Light. Multiple Models. Rapid Feedback. Assume Simplicity. Embrace Change. Incremental Change. Quality Work. Working Software Is Your Primary Goal. Enabling The Next Effort Is Your Secondary Goal.

Design Patterns Most of the problems you face in software development have already been tackled Design Patterns are used to address these recurring problems Examples: ◦Singleton – making use of a single static class ◦Factory Pattern – a class used to determine which classes to create ◦Observer Pattern – classes which respond to events ◦Model-View-Controller (MVC) – separates classes into more manageable functionalities

Model-View-Controller A design pattern used frequently in games Achieves separation between program logic and data, rendering and user input

Example

Exercise Discuss your game with your partner Create a conceptual class diagram Based on your class diagram, create a sequence diagram starting from Main Time limit: 20 mins

Class Diagrams Shows class attributes, methods and relationships

Sequence Diagrams Shows how the program progresses from one user/class to another

Reminders Design Document Presentation on Saturday Include in Presentation: ◦New Design Document  Include Created Diagrams  Word Document or Wiki format ◦List of Closed Tickets  Show on Assembla

Quiz 1. ActionScript code is compiled as what? -.swf 2. What “runtime environment” is used to play ActionScript programs in a browser? –Flash player 3. According to the lecture, writing a program is similar to what? – building an airplane 4. Represents “things” in a program - objects 5. Describes the characteristics and behavior of an object - classes

Quiz 6. Parts is to blueprints as objects is to classes 7. A program’s master blueprint is its Main class 8. These are used to avoid name conflicts, and orders classes in directories - packages 9. These define how we can access variables, functions and classes – access control modifiers 10. This method initializes instances of a class - constructor

Quiz 11. Are constructors public or internal?- public 12. What keyword do we use to create objects? - new 13. This is used to refer to an object after creating it - variables 14. A variable that is used within a method to keep track of information – local variables 15. A variable attached to an object – instance variables

Quiz 16. A __ variable can be accessed within its class or descendant classes - protected 17. A __ variable can be accessed within its class only - private 18. Think of objects as ___, wherein internal operations are unknown to us – black boxes 19. What does API stand for? – application programming interface 20. Variables that are related to a class, not an instance – static variables