Object Oriented Analysis & Design By Rashid Mahmood.

Slides:



Advertisements
Similar presentations
CIT731: Database Development Object Oriented Modeling (OOM)
Advertisements

Object-Oriented Analysis and Design Introduction 1.
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
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
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
Object Oriented Analysis and Design
1 UML – an overview What is UML? UML stands for Unified Modelling Language. ”The Unified Modelling Language is a visual language for specifying, constructing.
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.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
COMP 350: Object Oriented Analysis and Design Lecture 2
חוזים – Contracts 1. Larman – Chapter 10 – SSDs 10.2 What are System Sequence Diagrams? (introduction) Use cases describe how external actors interact.
Chapter 7: The Object-Oriented Approach to Requirements
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Chapter 9 Domain Models. Domain Model in UML Class Diagram Notation A “visual dictionary”
Introduction To System Analysis and design
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
Mapping Designs to Code Larman, Chapter 20 CSE432 Object Oriented Software Engineering.
BTS430 Systems Analysis and Design using UML Domain Model Part 1—Finding Conceptual Classes.
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.
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.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
For accurate communication, since a project can have several participants, each from different background. Represent a given aspect of the system We will.
Object-Oriented Analysis and Design Fall 2009.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
DOMAIN MODEL: ADDING ATTRIBUTES Identify attributes in a domain model. Distinguish between correct and incorrect attributes.
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.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN Objectives Describe the book goals and scope Define OOA/D (Object-Oriented Analysis and Design) Illustrate.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Elaboration popo.
UML Diagrams By Daniel Damaris Novarianto S..
Object-Oriented Analysis and Design
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Chapter 5: Object Oriented Analysis and Design
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Introduction to Unified Modeling Language (UML)
UML Diagrams Jung Woo.
COMP 350: Object Oriented Analysis and Design Lecture 2
Introduction to Unified Modeling Language (UML)
2D1359 & 2D1360 : Object Oriented Modeling, Programming & Analysis
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Uml diagrams In ooad.
Presentation transcript:

Object Oriented Analysis & Design By Rashid Mahmood

Topics and Skills

What is Analysis and Design? Analysis – Emphasizes an investigation of the problem and requirements, rather than a solution – Requirements Analysis: An investigation of the requirements – Object-Oriented Analysis: An investigation of the domain objects Design – Emphasizes a conceptual solution that fulfills the requirements, rather than its implementation Analysis and Design have been summarized in the phrase do the right thing (analysis), and do the thing right (design)

What is Object-Oriented Analysis and Design? Object-Oriented Analysis – There is an emphasis on finding and describing the objects or concepts in the problem domain. Object-Oriented Design – There is an emphasis on defining software objects and how they collaborate to fulfill the requirements.

What is Object-Oriented Analysis and Design?

A Short Example Before dividing into the details of iterative development, requirements analysis, UML and OOA/D, presents a bird’s-eye view of a few key steps and diagrams using a simple example: – A “dice game” in which software simulates a player rolling two dice. If the total is seven, they win; otherwise, they lose Define use cases Define domain model Define interaction diagrams Define design class diagrams

Define Use Cases Requirements analysis may include stories or scenarios of how people use the application; these can be written as use cases Use cases are not an object-oriented artifact – they are simply written stories Popular tool in requirements analysis In above example, Play a Dice Game: – Player requests to roll the dice. System presents results: If the dice face value totals seven, player wins; otherwise, player loses

Define a Domain Model Object-Oriented analysis is concerned with creating a description of the domain from the perspective of objects There is an identification of the concepts, attributes, and associations that are considered noteworthy Results can be expressed in a domain model that shows the noteworthy domain concepts or objects Also called a Conceptual Object Model

Partial Domain Model of the dice game

Define Interaction Diagrams Object-Oriented design is concerned with defining software objects, their responsibilities and collaborations A common notation to illustrate these collaborations is the sequence diagram (a kind of UML interaction diagram) It shows the flow of messages between software objects, and thus the invocation of methods

Sequence Diagram

Define Design Class Diagrams Dynamic view of collaborating objects shown in interaction diagrams, a static view of the class definitions is usefully shown with a Design Class Diagram Illustrates the attributes and methods of the classes

What is the UML? UML (Unified Modeling Language) is a visual language for specifying, constructing and documenting the artifacts of systems The word “visual” in the definition is a key point UML is the de facto standard diagramming notation for drawing or presenting pictures (with some text) related to software – primarily OO software

How to apply UML Three ways to apply UML UML as sketch – Informal and incomplete diagrams UML as blueprint – Relatively detailed design diagrams used either for – Reverse engineering to visualize and better understanding existing code in UML diagrams – Code generation (forward engineering) UML as programming language – Complete executable specification of a software system in UML

Perspectives to Apply UML Three perspectives to apply UML Conceptual perspective – the diagrams are interpreted as describing things in a situation of the real world or domain of interest Specification (software) perspective – the diagrams (using the same notation as in the conceptual perspective) describe software abstractions or components with specifications and interfaces, but no commitment to a particular implementation Implementation (software) perspective – the diagrams describe software implementations in a particular technology

Different perspectives with UML

Meaning of Class in different perspective In the raw UML, the rectangular boxes are called classes, but this term encompasses a variety of phenomena such as physical things, abstract concepts, software things, events and so forth. When the UML boxes are drawn in the domain model they are called domain concepts or conceptual classes. When UML boxes are drawn in the design model they are called design classes.

Conti….. The three terms for the classes will be used. Conceptual Class : real word concept or thing. The UP domain model contains conceptual classes. Software Class: A class representing a specification or implementation perspective of a software component, regardless of the process or method. Implementation Class: A class implemented in a specific OO language such as java.