CSSE 374: Introduction to Object- Oriented Analysis and Design Q1 Steve Chenoweth Office: Moench Room F220 Phone: (812) 877-8974

Slides:



Advertisements
Similar presentations
CSSE 374: Object-Oriented Design Exercise Steve Chenoweth Office: Moench Room F220 Phone: (812) These slides and.
Advertisements

7M701 1 Information Systems Modelling and Design with.
Object-Oriented Analysis and Design Introduction 1.
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Chap 1 UML vs Thinking in Objects! – Visual modeling Learning UML – Look at the book examples – Alan Holub’s UML reference card – Use library resources.
Object-Oriented Analysis and Design
Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
Introduction To System Analysis and Design
Object Oriented Analysis and Design
Principles of Object-Oriented Software Development Unified Modeling Language.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
COMP 350: Object Oriented Analysis and Design Lecture 2
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
CSSE 374: More GRASP’ing and Use Case Realization Steve Chenoweth Office: Moench Room F220 Phone: (812) These.
CSSE 374: Design Class Diagrams Steve Chenoweth Office: Moench Room F220 Phone: (812) These slides and others.
CSSE 374: Domain Model Refinements and Iteration 3 Preparations Q1 These slides and others derived from Shawn Bohner, Curt Clifton, Alex Lo, and others.
Introduction To System Analysis and design
CSSE 374: Interaction Diagrams Steve Chenoweth Office: Moench Room F220 Phone: (812) These slides and others derived.
Chapter 2: Approaches to System Development
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
CSSE 374: Final Perspectives on Software Architecture and Design These slides derived from Shawn Bohner, Curt Clifton, Alex Lo, and others involved in.
CSSE 374: Operations Contracts and Logical Architectures Steve Chenoweth Office: Moench Room F220 Phone: (812)
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Object-Oriented Analysis and Design OVERVIEW. Objectives  Describe Information Systems  Explain the role of a systems analyst  Introduce object-oriented.
CSSE 374: More Object Design with Gang of Four Design Patterns Steve Chenoweth Office: Moench Room F220 Phone: (812)
Chandan Rupakheti Office: Moench Room F203 Phone: (812) These slides and others derived from Shawn Bohner, Curt.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
Introduction To System Analysis and Design
Object-Oriented Analysis and Design An Introduction.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
CSSE 374: More GRASP’ing for Object Responsibilities
For accurate communication, since a project can have several participants, each from different background. Represent a given aspect of the system We will.
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
Object-Oriented Analysis and Design Fall 2009.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object-Oriented Analysis and Design Ruonan Rao.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Object-Oriented Analysis and Design ธนวัฒน์ แซ่ เอียบ.
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.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Advanced Object-Oriented Design Patterns and Architectures Part One COEN396A John Xiao
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN Objectives Describe the book goals and scope Define OOA/D (Object-Oriented Analysis and Design) Illustrate.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Object Oriented Analysis and Design 1 CREATED BY RUONAN RAO Object-Oriented Analysis and Design.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Unified OO becomes commonly used in the late 1980s Various analysis and design methods The “three amigos” join forces in Rational Software Also include.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
Basic Characteristics of Object-Oriented Systems
Object Oriented Analysis & Design By Rashid Mahmood.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
CSSE 374: UML Activity Diagrams
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Object-Oriented Modeling and Design
System Development Process
CS 519: Object-Oriented Analysis & Design IS 516: Selected Topics in Information Technology Instructor: Dr. Tarek Elghazaly Text Book: Craig Larman,
CSSE 374: Domain Model Refinements and Iteration 3 Preparations
COMP 350: Object Oriented Analysis and Design Lecture 2
Chap 1 UML vs Thinking in Objects! Learning UML Visual modeling
Object oriented analysis and design
Introduction to the Unified Modeling Language
Object Oriented Analysis and Design
Presentation transcript:

CSSE 374: Introduction to Object- Oriented Analysis and Design Q1 Steve Chenoweth Office: Moench Room F220 Phone: (812) Chandan Rupakheti Office: Moench Room F203 Phone: (812) These slides and others derived from Shawn Bohner, Curt Clifton, Alex Lo, and others involved in delivering 374.

Learning Outcomes: O-O Design Demonstrate object-oriented design basics like domain models, class diagrams, and interaction (sequence and communication) diagrams. Understand OOA to OOD transition Examine elaboration & refinement in design Walkthrough OOD example Explain model structure for UML

As we discussed yesterday, design organizes things for implementation. So, what makes software design different than other engineering disciplines? Again, think for 15 seconds… Turn to a neighbor and discuss it for a minute

Why is Software Design Important? Size Complexity Constraints Performance Communication Needs, Features, & Requirements Q2

Thinking at the Right Level Abstraction - hiding irrelevant details to focus attention at right level Process of component identification is top-down, decomposing the system into successively smaller, less complex components Process of integration, which is bottom-up, building (composing) the target system by combining components in useful ways © McQuain WD & Keller BJ Q3

Elaboration and Refinement… Starting with Abstract Requirements Successively Elaborate and Refine them into specifications, models, and ultimately implementation

Key Questions for Object-Oriented Design 1. What classes do we get from the application domain? 2. How should responsibilities be allocated to classes? 3. What classes should do what? 4. How should objects collaborate? Responsibility- Driven Design Guided by design patterns Q4

Topics Covered in Book Q5

Assigning responsibilities to software objects is a critical ability in Object- Oriented development. Why? Q6 Again, think for 15 seconds… Turn to a neighbor and discuss it for a minute

Analysis versus Design Analysis  Investigation of the problem and requirements, rather than a solution  Do the right thing… Design  A conceptual solution, rather than its implementation Excludes low level details  Do the thing right… Q7 O-O Design Classes/Objects Operations /Methods Data/AttributesPatterns

Analysis and Design Concepts Analysis Concept Design Concept

Grady Booch Ivar Jacobson Jim Rumbaugh Unified Modeling Language (UML)

Let’s do a Quick Example: Dice Define Use Cases  Play a dice game: Players requests to roll the dice. System presents results: If the dice face value totals seven, player wins; otherwise player loses Define a Domain Model Assign Object Responsibilities, Draw Interaction Diagrams Define Design Class Diagrams

Domain Model for a Dice Game

Sequence Diagram for Play Dice Game

Design Class Diagram for Dice Game How does it differ from the domain model? Q8

Three Perspectives to Apply UML Conceptual perspective (Sketch) Software specification perspective (Blueprint) Software implementation perspective (Executable programming language) Q9

Abstract Requirements to Concrete Systems Abstract Requirements Concrete Implementation ComputationalIndependentModel PlatformIndependentModel PlatformSpecificModel Analysis/ConceptualClasses (Domain Model) Software Classes (Design Class Diagrams) ImplementationClasses(Language)

The Case Studies NextGen Point of Sale (POS) System Monopoly Game The case study is organized in three iterations  Each iteration conducts analysis and design on the features for that current software release

Reading, Homework, Project, … See the course schedule!