OOAnalysis - ObjectOrientedAnalysis Using CRC Cards and...

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon
Object-Oriented Analysis 1 Object-Oriented Analysis Using CRC Cards and Scenarios to Get Started on a Good Object- Oriented Design
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Object-Oriented Analysis 2 Motivation It’s all very well understanding what an object is , but it’s much harder to decide what kinds of object you should design in order to implement an application in Smalltalk. Indeed given a set of requirements for an application and a development system like Smalltalk, ‘finding the objects’ is easily the most difficult task an experienced OO developer has to face. —Simon Lewis, The Art and Science of Smalltalk
Background image of page 2
Object-Oriented Analysis 3 Good Object-Oriented Style You can hack in any language, but how do you get reusable, maintainable code? Just using Objects doesn’t ensure a good design Many C++ programs have only have a single class That’s not good object-oriented style No process can guarantee good results A good process just makes them more likely
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Object-Oriented Analysis 4 Design is a Process, not a Waterfall Design is an iterative activity Start with Object-Oriented Analysis and Design Move on to OO Programming Return to OOA/OOD when necessary When creating new functionality To solve problems with the code OO Analysis is just another perspective Good designers (in any field) shift perspective frequently to create a better design The boundary between OOA and OOD is fuzzy.
Background image of page 4
Object-Oriented Analysis 5 OOA vs. OOD In analysis, we are mostly concerned with the DOMAIN MODEL. What are the objects in the domain and how do they collaborate. We do not think about how things are done, only what has to be done. In design, we need to integrate an APPLICATION MODEL. What objects do I need to add to get this thing to run on a computer and to be realized in some programming language?
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Object-Oriented Analysis 6 Object-Oriented Analysis CRC Cards by Ward Cunningham Goal: Understand the Domain as Objects Object-Oriented Analysis is Language Independent Force Developers to “think” in objects Steps 1. Brainstorm Candidate Classes and Filter them 2. Create Initial Class-Responsibility-Collaboration Cards 3. Come up with scenarios of use in the domain 4. Use Scenarios and role playing to refine CRC Cards When do we do it? Before we begin coding (to get a good start) To add new functionality (update CRC cards and scenarios regularly)
Background image of page 6
Object-Oriented Analysis 7 OOA Step 1 Brainstorming Candidate Classes Write down all the objects that relate Domain Analysis Focus on the
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 8
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 10/19/2009 for the course CS 2340 taught by Professor Staff during the Fall '08 term at Georgia Institute of Technology.

Page1 / 41

OOAnalysis - ObjectOrientedAnalysis Using CRC Cards and...

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online