Object-oriented design IS 313 4.3.2003. Outline  CRC cards  Group activity.

Slides:



Advertisements
Similar presentations
BIS310: Week 4 BIS310: Structured Analysis and Design Feasibility Study and Business Requirements Statement -Selecting the Best Alternative Design Strategies.
Advertisements

Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
James Tam Object-Oriented Design Approaches to object-oriented design Some principles for good design Benefits and Drawbacks of the Object-Oriented Approach.
Chapter 18 Object-Oriented Systems Analysis and Design Using UML
Algorithms and Problem Solving-1 Algorithms and Problem Solving Mainly based on Chapter 6: “Problem Solving and Algorithm Design” from the Book: “Computer.
1 Programming for Engineers in Python Autumn Lecture 5: Object Oriented Programming.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Analysis Modeling Instructor: Dr. Jerry Gao. Analysis Modeling Jerry Gao, Ph.D. Jan Elements of the analysis model - Data modeling - Functional.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Object-Orientated Design Unit 3: Objects and Classes Jin Sa.
Slide 6A.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
1.2 – Open Sentences and Graphs
ACM/JETT Workshop - August 4-5, Object-Oriented Basics & Design.
Computer Science 240 Principles of Software Design.
Use Case Diagram : Library System
Domain Modeling (with Objects). Motivation Programming classes teach – What an object is – How to create objects What is missing – Finding/determining.
Introduction to software design patterns For CSE 3902 By: Matt Boggus.
Slide 12.1 © The McGraw-Hill Companies, CS 4310: Software Engineering Lecture 7 Systems Analysis Object-Oriented Design.
Software Engineering CS B Prof. George Heineman.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Systems Analysis and Design in a Changing World, 6th Edition
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
Systems Analysis and Design in a Changing World, 6th Edition 1 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH Chapter 11 SATZINGER.
Object Oriented Design Jerry KotubaSYST Object Oriented Methodologies1.
Object Oriented Design. Object-Oriented Design Method for designing computer programs –Useful for thinking about large problems Consider “objects” interacting.
1 Analysis Extracting from Use Cases to Create Diagrams.
Chapter 17 GRASP: Designing Objects with Responsibilities. 1CS6359 Fall 2011 John Cole.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
Lecture 14 & 15: Object- Oriented Analysis Anita S. Malik Adapted from Schach (2004) Chapter 12.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 13 Introduction to Classes.
Structural Modeling. Objectives O Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. O Understand.
Systems Analysis and Design in a Changing World, 3rd Edition
1 Class Diagrams: The Essentials. 2 Terms and Concepts A class is... The most important building block of any object-oriented system. A description of.
Lecture 6: Structural Modeling
Slide 12A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
Midterm Review Information System Design. Topics Covered Chpt 8: Process Modeling Chpt 9: Feasibility Analysis Chpt 10: Systems Design Chpt 12: Database.
Analysis Modeling (cont’d) CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These slides.
CSC 131 Fall 2006 Lecture # 6 Object-Oriented Concepts.
Programmeerimine Delphi keskkonnas MTAT Programmeerimine Delphi keskkonnas MTAT Jelena Zaitseva
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
Section 4.3 Solving Absolute Value Equations and Inequalities
12 OBJECT-ORIENTED DESIGN CHAPTER
12/24/2015B.Ramamurthy1 Analysis and Design with UML: Discovering Classes Bina Ramamurthy.
1 Introduction to Classes. 2 Terms and Concepts A class is... –The most important building block of any object- oriented system. –A description of a set.
The Interpreter Pattern (Behavioral) ©SoftMoore ConsultingSlide 1.
SWE 4743 Responsibility Driven Design with CRC cards Richard Gesick.
1 Responsibility Driven Design Responsibility Driven Design, Rebecca Wirfs Brock, 1990 The Coffee Machine Design Problem, Alistair Cockburn, C/C++ User's.
Chapter 8 Systems of Linear Equations in Two Variables Section 8.3.
Overview Methodology Design Architecture Outline of future work Ideas for discussion.
Notes Over 1.6 Solving an Inequality with a Variable on One Side Solve the inequality. Then graph your solution. l l l
Elimination Method - Systems. Elimination Method  With the elimination method, you create like terms that add to zero.
CRC Cards: Overview Emerson Murphy-Hill Creative Commons Attribution 4.0 License. Material Produced by NCSU Software Engineering Faculty.
An informal, team oriented, OO design system
Object-Orientated Analysis, Design and Programming
CS240: Advanced Programming Concepts
Object Oriented Analysis and Design
OO Domain Modeling With UML Class Diagrams and CRC Cards
Advanced Java Programming
Object-Oriented Design
[insert Name of team here] [insert name of project here]
6-3 Solving Systems Using Elimination
Group Members Muhammad Zeeshan ( 16) Adnan Akhtar (4)
Algorithms and Problem Solving
Team Skill 6 - Building The Right System Part 1: Applying Use Cases
Software Architecture Analysis Method
Software Architecture Analysis Method
Problem solving.
CS3220 Web and Internet Programming About Data Models
Presentation transcript:

Object-oriented design IS

Outline  CRC cards  Group activity

Program Design  Design is hard “wicked problem”  Not just functional goals extensibility maintainability adaptability economics

OO Design  Adds more complexity  Goal is not just a problem solution  A set of objects that jointly solve the problem, and that represent the problem domain

Identifying Classes  What are the “things” that the program is about?  Often good candidates are nouns in the problem description

Identifying Responsibilities  Classes have responsibilities  Primary Keeping track of data Usually means storing in an instance variable  Think of this as an object’s “state”

Other Responsibilities  Creating objects  Invoking methods of other objects  Gather data  Transmit data

Example  Member name member id # miles benefit level others?

Collaborations  What other classes work with a given class  Consequences instances of class A need to call method foo on an instance of class B instance variable to reference such an instance this variable must be set somewhere

Holism  These considerations are holistic we have to think about the whole design  Need an overview of the class structure

CRC Cards  Class-Responsibilities-Collaborations  Deliberately low-tech  One class per card

Exercise  Design a system for an airline frequent flyer program