Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN Objectives Describe the book goals and scope Define OOA/D (Object-Oriented Analysis and Design) Illustrate.

Slides:



Advertisements
Similar presentations
Object-Oriented Analysis and Design Introduction 1.
Advertisements

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 PROGRAMMING M Taimoor Khan
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
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Object Oriented Analysis and Design
NJIT Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman Presented By :Satish Khanna.
NJIT 1 Iteration 2 Requirements and More GRASP Chapter 24.
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.
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
COMP 350: Object Oriented Analysis and Design Lecture 2
Week 3 Iteration 1 Domain Models System Sequence Diagrams.
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Introduction To System Analysis and design
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
Chapter 2: Approaches to System Development
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
Chapter 1 OBJECT-ORIENTED 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.
Mapping Designs to Code Larman, Chapter 20 CSE432 Object Oriented Software Engineering.
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.
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Introduction To System Analysis and Design
Object-Oriented Analysis and Design An Introduction.
Object-Oriented Analysis and Design Lecture 1 Instructor: John Cole 1Object-Oriented Analysis and Design - Intro.
Course Guide IS325 Systems Analysis & Design II Ms Fatima Khan Prince Sultan University, College for Women.
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
©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.
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.
Object-Oriented Analysis and Design ธนวัฒน์ แซ่ เอียบ.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
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.
TK2023 Object-Oriented Software Engineering CHAPTER 12 Introduction to Responsibility-Driven Design.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Software Design. A well-known phenomenon You will learn…. –Thinking "object oriented“ –Define requirements and analyze the problem domain. –Design of.
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.
2 Systems Analysis – ITEC 3155 Systems Analysis Tasks.
Object Oriented Analysis & Design By Rashid Mahmood.
Elaboration popo.
UNIT 1.
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Chapter 5: Object Oriented Analysis and Design
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
CS 519: Object-Oriented Analysis & Design IS 516: Selected Topics in Information Technology Instructor: Dr. Tarek Elghazaly Text Book: Craig Larman,
COMP 350: Object Oriented Analysis and Design Lecture 2
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
Chap 1 UML vs Thinking in Objects! Learning UML Visual modeling
Object oriented analysis and design
Object Oriented Analysis and Design
2D1359 & 2D1360 : Object Oriented Modeling, Programming & Analysis
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Week 5.
Week 3 Iteration 1 Domain Models System Sequence Diagrams.
Week 3 Iteration 1 Domain Models System Sequence Diagrams.
CSCI 360: Software Architecture & Design
Presentation transcript:

Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN Objectives Describe the book goals and scope Define OOA/D (Object-Oriented Analysis and Design) Illustrate a brief OOA/D example Overview UML and visual agile modeling “Time is a great teacher, but unfortunately it kills all its pupils.” - Hector Berlioz

r4 Applying UML and Patterns Larman’s book is a tool to help developers/students learn core skills in OOA/D. These skills are essential for the creation of well- designed, robust, and maintainable software using OO technologies and languages such as Java or C#. Knowing an object oriented language is necessary but insufficient first step to create object systems. Knowing how to “think in objects” is critical ! Owning a hammer doesn’t make one an architect” (Proverb)

5 Topics and Skills UML notation Requirements analysis Principles and guidelines Patterns Iterative development with an agile Unified Process OOA/D Fig. 1.1 Topics and skills covered in the book. The book illustrates this in the context of long-running case studies that evolve over several iterations.

r6 Analysis Analysis emphasizes an investigation of the problem and requirements, rather than a solution. 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-Oriented Analysis is investigating the objects in a domain to discover information important to meet the requirements.

r7 Use Cases Writing Use Cases is not a specifically OO artifact – they are simply written stories. However, they are a best practice for elaborating and understanding requirements.

r8 Design Design emphasizes a conceptual solution that fulfills the requirements, rather than its implementation. Design ideas often exclude low-level or obvious details – obvious to the intended consumers. There are subsets of design, including architectural design, object design, database design. Do the right thing (analysis), and do the thing right (design).

r9 Object-Oriented Analysis and Design (OOA/D) During OOA, the emphasis is on finding and describing the objects (or concepts) in the problem domain, i.e., domain objects. During OOD (or simply object design), the emphasis is on defining software objects and how they collaborate to fulfill the requirements. During OOP (OO Programming) or Implementation, design objects are implemented in a programming language. Implementation is also known as Coding or Construction.

r10 Fig. 1.2 Object-orientation emphasizes representation of objects

r11 Responsibility-Driven Design It is the classical OO design metaphor(symbol) The most important skill in OOA/D is assigning responsibilities to objects. That determines how objects interact and what classes should perform what operations.

r12 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.