Contents Why should I consider OOA&D OO analysis OO design

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

Database Systems: Design, Implementation, and Management Tenth Edition
Object-Oriented Systems Development: survey of structured methods by A G Sutcliffe Presented by: Nestor Rivera EEL6883 UCF Spring 07.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Introduction To System Analysis and Design
System Analysis & Design
Introduction To System Analysis and design
Lesson 7 Guide for Software Design Description (SDD)
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Unified Modeling Language, Version 2.0
1 Object orientation. 2 What benefits does OO give? Primarily –Encapsulation (Associates data & operations) –Types & specialisation –Software re-use.
Introduction To System Analysis and Design
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
System models l Abstract descriptions of systems whose requirements are being analysed.
Object-Oriented Software Engineering - The professional Developer’s Guide(on OMG’s OOA/OOD proposal) George Wilkie.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
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.
Internet and Intranet Protocols and Applications Lecture 5a: HTTP Client-Server Design and Implementation February 15, 2005 Arthur Goldberg Computer Science.
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 3 MODELING COMPONENT-LEVEL DESIGN.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Basic Characteristics of Object-Oriented Systems
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Outline Object-Oriented Concepts Modeling Components Structured Method Evaluation Procedure Object-Oriented Methods Structured Methods Review of Object.
Introduction to OOAD and UML
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Object Oriented Systems Design
Introduction to UML.
Unit - 3 OBJECT ORIENTED DESIGN PROCESS AND AXIOMS
Cmpe 589 Spring 2006.
Chapter 1: Introduction to Systems Analysis and Design
UNIT 1.
ITEC 3220A Using and Designing Database Systems
Object-Oriented Analysis and Design
Object Oriented Analysis & Design
Object-Oriented Techniques
Systems Analysis and Design With UML 2
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
The Systems Engineering Context
Introduction to Unified Modeling Language (UML)
Lecture 9- Design Concepts and Principles
OO Domain Modeling With UML Class Diagrams and CRC Cards
Abstract descriptions of systems whose requirements are being analysed
OBJECT RELATIONSHIPS, ATTRIBUTES, AND METHODS
The Object Oriented Approach to Design
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
University of Houston-Clear Lake
Introduction to UML.
Object-Oriented Design
Chapter 20 Object-Oriented Analysis and Design
Lecture 9- Design Concepts and Principles
Object oriented analysis and design
Appendix A Object-Oriented Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
Software Design Methodologies and Testing
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
Software Development Process Using UML Recap
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Logical Architecture & UML Package Diagrams
Presentation transcript:

Contents Why should I consider OOA&D OO analysis OO design A reference model for OOA&D Summary of some OOA&D methods. Experience with OOA&D Choosing an OOA&D method Summary and conclusion.

4.1 Why should I consider OO analysis and design OO approaches are seeking to resolve some problems that tranditional structured analysis and design. The Objects model in OOA&D provide a more realistic representation, which an end user can more readily understand. OOA&D provides a consistent approach which maps cleanly onto a physical design and implementation. OOA&D provides a framework which supports reuse and extensibility.

4.2 OO analysis The result of analysis are requirements specifications which clearly describe what the software external behavior should be, without any prejudgement about how the software will produce this exact behaviour. Phases of analysis and design. (P74 figure 4.2)

4.2.1 Essence of OO analysis Class relationship diagrams Class inheritance diagrams. Object interaction diagrams Object state tables. User access diagrams. Textual specification documents.

4.2.2 OO analysis vs Structured analysis OO technique provides a more consistent approach to system modelling. OO view more closely reflects the real world where humans are used to thinking in terms of things which possess both attributes and behaviours. OO provides reuse possibility from the class hierarchy views of the system. OO analysis is able to model the user interface to a system.

4.2.3 Shortcomings of OOA OO analysis techniques are still the subject of much debate and research. The mixing of analysis and design methods is a problem with OO techniques.

4.3 OO design. The difference between OO analysis and design is not always very clear. Design considerationsinclude hardware and software issues.

4.3.1 Problem with traditional structured design It fails to take the evolutionary nature of software systems into accounts. Often the data structure aspect is neglected. Working top-down does not promote reusability.

4.3.2 Class and application design Class design Identify classes. Identify subclass within each class. Identify abstract behaviour of each class Identify common behavior Identify specific types of behavior Application design is a top-down adn bottom-up process, designing teh application from the existign building blocks.

4.3.3 Benefits from OO design Information hidding. Weak coupling Strong cohesion Exensibility

4.3.4 Shortcomings of OOD Identifying class. Blurred boundaries between design and both analysis and implemetation. Variable degrees of OO support in existing CASE tools. Elaborate and complex notations.

4.5 Summary of some OO analysis and design methods Booch method OOSE OSMOSYS OO systems analysis OMT RDD OORASS HOOD OOSD Object-Oriented software development

4.5.1 OO analysis and design (Coad and Yourdon) Analysis process: five layers P108 notation Design process: four components Pragramtics: CASE tool support Discussion: Simplcity of notation, design phase is sketchy and need evlove.

4.5.2 Booch method Design process: Incremental design, a spiral development model. Notation: rich in symbols. Pragmatics: Rational Rose. Discussion: complicated notation, a set of techniques without a well-defined process.

4.5.3 OOSE The method encompass analysis and design. From requirements models to implementation models. Notation: P122 P123 Pragmatic: CASE tool, documentation and published text. Discussion: Two stage analysis procedure provides a more robust model.(use-case, analysis model)

4.5.4 OSMOSYS A propretary method The process: Two development apporaches: Functional approach and OO approach. Notation: 8 main diagrams. Pragmatic: A toolset. Discussion: well-documented process and the tool support. Concentrated on teh techniques and overall process.

4.5.5 Object-oriented systems analysis An adaptation of traditional structured methods using entity modelling. The analysis process: three steps. Notation: different diagrams at different stages. Discussion: most applicable to real-time systems. Lack design procedure and process

4.5.6 OMT The process: three phase (analysis, system design and object design) Notation: P134 Fig 4.30 Pragmatic: OMTool. Published text. Discussion: place more emphasis on specifying what an object is rather than how it is used.

4.5.7 RDD A revolutionary approach. The process: The process requires that a written specificaton existes and concentrates on analysing these requirements. Notation: CRC (class, responsibility and collaboration) Pragmatic: CRC is limited in use to about 20-30 classes. Discussion: Truely OO approach to analysis. In RDD the analysis phase is part of design.

4.5.8 OORASS The concepts and techniques used in OORASS is quite different from others. Concepts: Role and role modelling. Role models focus on describing patterns of interaction without connecting the interactionto particular objects. Process: Iterative, 6 steps. Notation: P141 Fig 4.33 , text notation exists. Pragmatic: published articles. CASE tool, courses. Discussion: A proprietary method. Using roles to view analysis .

4.5.9 OOSD Notation:elaborate notations. Pragmatic: CASE tool (from IDE) Discussion: Only a notation for OO design.

4.5.10 HOOD method Grew out of Ada community Map its features directly to Ada concepts. Not properly Object-oriented.

4.5.11 The Object-oriented software development method The process: requirement analysis, preliminary design and detailed design. Notation: interaction, hierarchy and class diagrams, P148 Fig 4.34 Pragmatic: a highly extensible CASE tool Discussion: well suited to the development of real time applications.Object interaction diagrams are the best feature, while class diagrams are not well defined.

4.6 Experience with OO analysis and design A foundamental objective of OO analysis and design is to derive a good class hierarchy. Four basic kind of class can be identified during the developement . Foundation class. Application framework classes. Business classes. Application classes.

4.7 Choosing a OO analysis and design method Conceptual issues. General method issues. Techniques.

4.8 summary Introduced techniques adn tools to support OO analysis and design. Discussed the relative merits and problems with OO compared to structured techniques. Some methods are strong on process adn techniques but weak on notation while other others are strong on notation but the process is almost non-existent.