Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Advertisements

Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
OBJECT ORIENTED PROGRAMMING M Taimoor Khan
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
Unified Modeling Language
Ch 12: Object-Oriented Analysis
Sucha Smanchat  Steps in OOAD using UML  Use Case Diagram  Sequence Diagram / Communication Diagram  Class Diagram  State.
Object-Oriented Analysis and Design
OOAD Placement Training 1 Prepared by G.Naveen Sundar, Karunya University.
Chapter 1 Object-Oriented System Development
Introduction To System Analysis and Design
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Object Oriented System Development with VB .NET
Basic OOP Concepts and Terms
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
6. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how events can be used to identify use cases that define requirements.
Object-Oriented Analysis and Design
Chapter 7: The Object-Oriented Approach to Requirements
Introduction To System Analysis and design
OO Analysis and Design CMPS OOA/OOD Cursory explanation of OOP emphasizes ▫ Syntax  classes, inheritance, message passing, virtual, static Most.
The Software Development Life Cycle: An Overview
UML - Development Process 1 Software Development Process Using UML (2)
Systems Analysis and Design in a Changing World, Fifth Edition
Slide 12.1 © The McGraw-Hill Companies, CS 4310: Software Engineering Lecture 7 Systems Analysis Object-Oriented Design.
Unified Modeling Language, Version 2.0
Introduction To System Analysis and Design
Object-Oriented Analysis and Design An Introduction.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Systems Analysis and Design in a Changing World, 3rd Edition
©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.
Basic OOP Concepts and Terms. In this class, we will cover: Objects and examples of different object types Classes and how they relate to objects Object.
Slide 12A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
Designing Classes Prelude © 2015 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Data Structures and Abstractions with Java, 4e Frank.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Software Engineering Software Engineering - Mr. Ahmad Al-Ghoul.
Object-Oriented Analysis and Design ธนวัฒน์ แซ่ เอียบ.
Introduction to OOAD and the UML
Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
04 - OOD Intro.CSC4071 Software Design ‘Requirements’ defines –The goals the system needs to satisfy. ‘Specification’ defines –The externally-observable.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Basic Characteristics of Object-Oriented Systems
Object Oriented Analysis & Design By Rashid Mahmood.
11 Systems Analysis and Design in a Changing World, Fifth Edition.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
The Movement To Objects
Systems Analysis and Design
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Systems Analysis and Design With UML 2
Methods, Models, Madness
Object oriented analysis and design
Basic OOP Concepts and Terms
Chapter 22 Object-Oriented Systems Analysis and Design and UML
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D

Sources Object-Oriented & Classical Software Engineering by Stephen R. Schach – seventh edition Object-Oriented & Classical Software Engineering by Stephen R. Schach – seventh edition Object-Oriented Analysis by David Brown Object-Oriented Analysis by David Brown Applying UML and Patterns by Craig Larman Applying UML and Patterns by Craig Larman

Object Oriented Concepts Overview Information hiding: The ability to protect some components of the object from external entities. This is realized by language keywords to enable a variable to be declared as private or protected to the owning class. Information hiding: The ability to protect some components of the object from external entities. This is realized by language keywords to enable a variable to be declared as private or protected to the owning class. Information hiding Information hiding Inheritance: The ability for a class to extend or override functionality of another class. The so called sub class has a whole section that is the super class and then it has its own set of functions and data. Inheritance: The ability for a class to extend or override functionality of another class. The so called sub class has a whole section that is the super class and then it has its own set of functions and data. Inheritance Interface: The ability to defer the implementation of a method. The ability to define the functions or methods signatures without implementing them. Interface: The ability to defer the implementation of a method. The ability to define the functions or methods signatures without implementing them. Interface Polymorphism: The ability to substitute an object with its sub objects. The ability of an object-variable to contain, not only that object, but also all of its sub objects as well. Polymorphism: The ability to substitute an object with its sub objects. The ability of an object-variable to contain, not only that object, but also all of its sub objects as well. Polymorphism

OO Analysis & Design Object-oriented analysis and design (OOAD) is a software engineering methodology that models a system as a group of interacting objects. Object-oriented analysis and design (OOAD) is a software engineering methodology that models a system as a group of interacting objects.software engineering objectssoftware engineering objects An object represents some entity of interest in the system being modeled. An object represents some entity of interest in the system being modeled. There are a number of different notations for representing these models, including the Unified Modeling Language (UML). There are a number of different notations for representing these models, including the Unified Modeling Language (UML).Unified Modeling LanguageUnified Modeling Language

Relationship Object-oriented analysis (OOA) utilizes object- modeling techniques to analyze the functional requirements for a system. Object-oriented analysis (OOA) utilizes object- modeling techniques to analyze the functional requirements for a system. Object-oriented design (OOD) builds on the analysis models to produce implementation specifications. Object-oriented design (OOD) builds on the analysis models to produce implementation specifications. OOA focuses on what the system does, OOD on how the system does it. OOA focuses on what the system does, OOD on how the system does it.

OO Analysis In Detail Object-oriented analysis (OOA) looks at the problem domain, with the aim of creating a conceptual model of the information that exists in the area being analyzed. Object-oriented analysis (OOA) looks at the problem domain, with the aim of creating a conceptual model of the information that exists in the area being analyzed. The basis for the analysis can be a written requirements statement, a formal vision document, interviews with stakeholders or other interested parties. A system may be divided into multiple domains, representing different business, technological, or other areas of interest, each of which are examined separately. The basis for the analysis can be a written requirements statement, a formal vision document, interviews with stakeholders or other interested parties. A system may be divided into multiple domains, representing different business, technological, or other areas of interest, each of which are examined separately. The result of object-oriented analysis is a portrayal of what the system is functionally required to do, in the form of a conceptual model. That will usually be presented as a set of use cases, one or more UML class diagrams, and a number of interaction diagrams. It may also include some kind of user interface mock-up. The result of object-oriented analysis is a portrayal of what the system is functionally required to do, in the form of a conceptual model. That will usually be presented as a set of use cases, one or more UML class diagrams, and a number of interaction diagrams. It may also include some kind of user interface mock-up.use casesUMLclass diagramsuser interfaceuse casesUMLclass diagramsuser interface

Focus on Analysis OO Analysis is a key component of the OO paradigm. OO Analysis is a key component of the OO paradigm. When this workflow is performed, the classes are extracted. When this workflow is performed, the classes are extracted. The use cases and the classes are the basis of the object-oriented software product to be developed. The use cases and the classes are the basis of the object-oriented software product to be developed.

Definitions Class - defines the conceptual characteristics of a thing (object), including the thing's characteristics (its attributes, fields or properties) and the thing's behaviors (the things it can do or methods or features). Class - defines the conceptual characteristics of a thing (object), including the thing's characteristics (its attributes, fields or properties) and the thing's behaviors (the things it can do or methods or features).fieldsmethodsfieldsmethods Use Case - is description of sequences of events that, lead to a system doing something useful. Each use case provides one or more scenarios that express how the system should interact with the users called actors to achieve a specific business goal or function. Use case actors may be end users or other systems. Use Case - is description of sequences of events that, lead to a system doing something useful. Each use case provides one or more scenarios that express how the system should interact with the users called actors to achieve a specific business goal or function. Use case actors may be end users or other systems.

Use Case Diagram Example

Use Case Narrative Example

ERD Modeling ERD stands for Entity Relationship Diagram. ERD stands for Entity Relationship Diagram. It is a way to model data in a system and then use that model as a template for database design. It is a way to model data in a system and then use that model as a template for database design.

4 ERD functions Allows us to understand the users’ business. Allows us to understand the users’ business. Documents the information needs for the business. Documents the information needs for the business. Provides the Data Administrator with the tool needed for understanding, documenting, and ultimately controlling the data. Provides the Data Administrator with the tool needed for understanding, documenting, and ultimately controlling the data. Forms a template, or pattern, for database design. Forms a template, or pattern, for database design.

ERD Example

Class Diagram In the Unified Modeling Language (UML), a class diagram is a type of static structure diagram that describes the construct of a system by showing the system's classes, their attributes, and the relationships between the classes. In the Unified Modeling Language (UML), a class diagram is a type of static structure diagram that describes the construct of a system by showing the system's classes, their attributes, and the relationships between the classes.Unified Modeling LanguageclassesrelationshipsUnified Modeling Languageclassesrelationships

Class Diagram Example

CRC Cards Class-Responsibility-Collaboration cards (CRC cards) are a brainstorming tool used in the design of object-oriented software. Class-Responsibility-Collaboration cards (CRC cards) are a brainstorming tool used in the design of object-oriented software.brainstormingobject-orientedsoftwarebrainstormingobject-orientedsoftware They were proposed by Ward Cunningham. They were proposed by Ward Cunningham.Ward CunninghamWard Cunningham They are typically used when first deciding which classes are needed and how they will interact. They are typically used when first deciding which classes are needed and how they will interact.classes

CRC Example

Summary The goal of Object Oriented Analysis is to obtain a deeper understanding of the requirements to increase the success of the development. The goal of Object Oriented Analysis is to obtain a deeper understanding of the requirements to increase the success of the development. You have to know the rules of the game to play successfully. You have to know the rules of the game to play successfully.

Will OOA solve all of our problems? No. No. It is not simply one technology, and it may well cause more problems than it solves. It is not simply one technology, and it may well cause more problems than it solves. Key is to have knowledge of an array of tools to solve the many different problems. Key is to have knowledge of an array of tools to solve the many different problems. It’s also important to make note of today’s standards while anticipating the next new paradigm. It’s also important to make note of today’s standards while anticipating the next new paradigm.