Object Oriented Analysis and Design

Slides:



Advertisements
Similar presentations
7M701 1 Information Systems Modelling and Design with.
Advertisements

Object Design Examples with GRASP
Object-Oriented Analysis and Design Introduction 1.
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,
CSSE 374: Introduction to Object- Oriented Analysis and Design Q1 Steve Chenoweth Office: Moench Room F220 Phone: (812)
Unified Modeling Language
Introduction To System Analysis and Design
Principles of Object-Oriented Software Development Unified Modeling Language.
NJIT Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman Presented By :Satish Khanna.
NJIT 1 On to Object Design Chapter 14 Applying UML and Patterns.
Domain model: visualizing concepts
NJIT 1 Domain Model Visualizing Concepts Chapter 9 Applying UML and Patterns Craig Larman.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Introduction.
COMP 350: Object Oriented Analysis and Design Lecture 2
Logical Architecture and UML Package Diagrams
UML and Object Oriented Concepts
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Introduction To System Analysis and design
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Craig Larman’s Applying UML and Patterns: Hands-on Mastery of OOA/D.
CS212: Object Oriented Analysis and Design Lecture 1: Introduction.
Object-Oriented Analysis and Design OVERVIEW. Objectives  Describe Information Systems  Explain the role of a systems analyst  Introduce object-oriented.
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
1 On to Object Design Chapter 14 Applying UML and Patterns.
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
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.
Object-Oriented Analysis and Design Lecture 1 Instructor: John Cole 1Object-Oriented Analysis and Design - Intro.
Object-Oriented Analysis and Design NGSSC Object-Oriented Scientific Programming, June 2012.
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.
GRASP: Designing Objects with Responsibilities
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Copyright © Craig Larman All Rights Reserved The Domain Model.
Sept Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
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.
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN Objectives Describe the book goals and scope Define OOA/D (Object-Oriented Analysis and Design) Illustrate.
Software Design. A well-known phenomenon You will learn…. –Thinking "object oriented“ –Define requirements and analyze the problem domain. –Design of.
TK2023 Object-Oriented Software Engineering CHAPTER 9 INTRODUCTION TO OBJECT DESIGN.
Object Oriented Analysis and Design 1 CREATED BY RUONAN RAO Object-Oriented Analysis and Design.
Larman chapter 101 Domain Model: Visualizing concepts Larman chapter 10.
Design. 2 The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary but not sufficient in order.
04 - OOD Intro.CSC4071 Software Design ‘Requirements’ defines –The goals the system needs to satisfy. ‘Specification’ defines –The externally-observable.
Unified OO becomes commonly used in the late 1980s Various analysis and design methods The “three amigos” join forces in Rational Software Also include.
Object Oriented Analysis & Design By Rashid Mahmood.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
GRASP – Designing Objects with Responsibilities
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Chapter 5: Object Oriented Analysis and Design
Chapter 1 OBJECT-ORIENTED ANALYSIS 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,
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
GRASP (General Responsibility Assignment Software Patterns)
Introduction to UML.
Chap 1 UML vs Thinking in Objects! Learning UML Visual modeling
Object Oriented Analysis and Design
2D1359 & 2D1360 : Object Oriented Modeling, Programming & Analysis
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Presentation transcript:

Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns Craig Larman

Applying UML and Patterns in OOA/OOD What is a good object design?

Applying UML UML is just a standard diagramming notation. It is just a tool, not a skill that is valuable in itself. Knowing UML helps you communicate with others in creating software, but the real work in this course is learning Object-Oriented Analysis and Design, not how to draw diagrams.

Assigning Responsibilities The most important skill in Object-Oriented Analysis and Design is assigning responsibilities to objects. That determines how objects interact and what classes should perform what operations.

Design Patterns Certain tried-and-true solutions to design problems have been expressed as principles of best practice, often in the form of Design Patterns. A Design Pattern is a named problem solution formula that apply excellent design principles.

Requirements Analysis All Software Analysis and Design is preceded by the analysis of requirements. One of the basic principles of good design is to defer decisions as long as possible. The more you know before you make a design decision, the more likely it will be that the decision is a good one. TFCL: Think First, Code Later!

Use Cases Writing Use Cases is not a specifically Object Oriented practice. But it is a best practice for elaborating and understanding requirements. So we will study Use Cases.

The Unified Process A standardized approach to analysis and design helps to ensure that all necessary tasks are understood and completed in software development. This text, and the course, will focus on the Unified Process developed at Rational Software by Ivar Jacobsen, Grady Boch, Jim Rumbaugh, and others.

Other Necessary Skills Requirements Analysis, Object-Oriented Analysis and Object-Oriented Design are not a complete toolkit for a software developer. There are many other skills necessary in Software development, including programming. This course only covers a subset of the necessary skills.

Assigning Responsibilities The “Desert Island Skill” in OOD is assigning responsibilities to objects. Nine fundamental principles for doing this will be presented as the GRASP patterns. GRASP is an acronym for General Responsibility Assignment Patterns.

(Class-answer the question) What is Analysis? (Class-answer the question)

Analysis Analysis is a broad term. In Software development, we are primarily concerned with two forms of analysis. Requirements Analysis is discovering the requirements that a system must meet in order to be successful. Object Analysis is investigating the object in a domain to discover information important to meet the requirements.

(Class-answer the question) What is Design? (Class-answer the question)

Design Design emphasizes a conceptual solution that fulfills the requirements. A design is not an implementation, although a good design can be implemented when it is complete. There are subsets of design, including architectural design, object design, and database design.

Analysis and Design Analysis Design do the right thing Do the thing right

What is Object Oriented Analysis? The emphasis is on finding and describing the objects (or concepts) in the problem domain. In a Library Information System, some of the concepts include Book, Library, and Patron.

What is Object Oriented Design? The emphasis is defining software objects and how they collaborate to fulfill the requirements. In a Library Information System, a Book software object may have a title attribute and a getChapter method.

Implementation During Implementation, or Object-Oriented Programming, design objects are implemented, such as a book class in Java. Implementation is also known as Coding or Construction.

Example Tasks Define Use Cases Define a Domain Model Define Interaction Diagrams Define Design Class Diagrams