Object-Oriented Analysis & Design - Tutorialspoint

3y ago
240 Views
16 Downloads
861.38 KB
19 Pages
Last View : 2d ago
Last Download : 3m ago
Upload by : Jenson Heredia
Transcription

Object-Oriented Analysis & Designi

Object-Oriented Analysis & DesignAbout the TutorialThis tutorial will help you understand the basics of object-oriented analysis and designalong with its associated terminologies.AudienceThis tutorial has been designed to help beginners. After completing this tutorial, you willfind yourself at a moderate level of expertise from where you can take yourself to nextlevels.PrerequisitesBefore you start proceeding with this tutorial, it is assumed that you have basicunderstanding of computer programming and related programming paradigms.Copyright & Disclaimer Copyright 2014 by Tutorials Point (I) Pvt. Ltd.All the content and graphics published in this e-book are the property of Tutorials Point(I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute orrepublish any contents or a part of contents of this e-book in any manner without writtenconsent of the publisher.We strive to update the contents of our website and tutorials as timely and as preciselyas possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I)Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness ofour website or its contents including this tutorial. If you discover any errors on ourwebsite or in this tutorial, please notify us at contact@tutorialspoint.comi

Object-Oriented Analysis & DesignTable of ContentsAbout the Tutorial .iAudience .iPrerequisites .iCopyright & Disclaimer .iTable of Contents .ii1.OOAD OBJECT-ORIENTED PARADIGM . 1A Brief History .1Object-Oriented Analysis .1Object-Oriented Design .2Object-Oriented Programming .22.OOAD OBJECT MODEL . 3Objects and Classes .3Encapsulation and Data Hiding .4Message Passing .4Inheritance .5Polymorphism .6Generalization and Specialization .7Links and Association .7Aggregation or Composition.8Benefits of Object Model .83.OOAD OBJECT-ORIENTED SYSTEM . 10Phases in Object-Oriented Software Development .104.OOAD OBJECT-ORIENTED PRINCIPLES . 12ii

Object-Oriented Analysis & DesignPrinciples of Object-Oriented Systems .12Abstraction .12Encapsulation .12Modularity .13Hierarchy.13Typing .13Concurrency .13Persistence .145.OOAD OBJECT-ORIENTED ANALYSIS . 15Object Modelling.15Dynamic Modelling .15Functional Modelling .16Structured Analysis vs. Object-Oriented Analysis .16Advantages/Disadvantages of Object-Oriented Analysis .16Advantages/Disadvantages of Structured Analysis .176.OOAD DYNAMIC MODELLING . 18States and State Transitions .18Events .19Actions .20Diagrams for Dynamic Modelling .21Concurrency of Events .217.OOAD FUNCTIONAL MODELLING. 23Data Flow Diagrams .23Features of a DFD .23Developing the DFD Model of a System .27Advantages and Disadvantages of DFD .29iii

Object-Oriented Analysis & DesignRelationship between Object, Dynamic, and Functional Models .308.OOAD UML ANALYSIS MODEL. 31Brief History .31Systems and Models in UML .31Conceptual Model of UML.319.OOAD UML BASIC NOTATIONS . 34Class .34Object .34Component .35Interface.35Package .36Relationship .3610. OOAD UML STRUCTURED DIAGRAMS . 37Class Diagram .37Object Diagram .39Component Diagram .39Deployment Diagram .4011. OOAD UML BEHAVIORAL DIAGRAMS. 42Use Case Model.42Use Case Diagrams .42Interaction Diagrams .43Sequence Diagrams .44Collaboration Diagrams .44State–Chart Diagrams .45Activity Diagrams .46iv

Object-Oriented Analysis & Design12. OOAD OBJECT-ORIENTED DESIGN . 47System Design .47Object-Oriented Decomposition .47Identifying Concurrency .48Identifying Patterns.48Controlling Events .48Handling Boundary Conditions .49Object Design .49Implementation of Control.51Packaging Classes .51Design Optimization .52Design Documentation .5313. OOAD IMPLEMENTATION STRATEGIES . 55Implementation using Programming Languages .55Implementing Associations .55Implementing Constraints .60Implementing State Charts .61Object Mapping to Database System .62Mapping Associations to Database Tables .63Mapping Inheritance to Tables .6514. OOAD TESTING AND QUALITY ASSURANCE. 66Testing Object-Oriented Systems .66Object-Oriented Testing Techniques .66Software Quality Assurance .67v

Object-Oriented Analysis & DesignObject-Oriented Metrics .68vi

Object-Oriented Analysis & Design1. OOAD Object-Oriented ParadigmA Brief HistoryThe object-oriented paradigm took its shape from the initial concept of a newprogramming approach, while the interest in design and analysis methods came muchlater. The first object–oriented language was Simula (Simulation of real systems) thatwas developed in 1960 by researchers at the Norwegian Computing Center. In 1970, Alan Kay and his research group at Xerox PARK created a personalcomputer named Dynabook and the first pure object-oriented programminglanguage (OOPL) - Smalltalk, for programming the Dynabook. In the 1980s, Grady Booch published a paper titled Object Oriented Design thatmainly presented a design for the programming language, Ada. In the ensuingeditions, he extended his ideas to a complete object–oriented design method. In the 1990s, Coad incorporated behavioral ideas to object-oriented methods.The other significant innovations were Object Modelling Techniques (OMT) by JamesRumbaugh and Object-Oriented Software Engineering (OOSE) by Ivar Jacobson.Object-Oriented AnalysisObject–Oriented Analysis (OOA) is the procedure of identifying software engineeringrequirements and developing software specifications in terms of a software system’sobject model, which comprises of interacting objects.The main difference between object-oriented analysis and other forms of analysis is thatin object-oriented approach, requirements are organized around objects, which integrateboth data and functions. They are modelled after real-world objects that the systeminteracts with. In traditional analysis methodologies, the two aspects - functions anddata - are considered separately.Grady Booch has defined OOA as, “Object-oriented analysis is a method of analysis thatexamines requirements from the perspective of the classes and objects found in thevocabulary of the problem domain”.The primary tasks in object-oriented analysis (OOA) are: Identifying objects Organizing the objects by creating object model diagram Defining the internals of the objects, or object attributes Defining the behavior of the objects, i.e., object actions Describing how the objects interactThe common models used in OOA are use cases and object models.1

Object-Oriented Analysis & DesignObject-Oriented DesignObject–Oriented Design (OOD) involves implementation of the conceptual modelproduced during object-oriented analysis. In OOD, concepts in the analysis model, whichare technology independent, are mapped onto implementing classes, constraints areidentified and interfaces are designed, resulting in a model for the solution domain, i.e.,a detailed description of how the system is to be built on concrete technologies.The implementation details generally include: Restructuring the class data (if necessary), Implementation of methods, i.e., internal data structures and algorithms, Implementation of control, and Implementation of associations.Grady Booch has defined object-oriented design as “a method of design encompassingthe process of object-oriented decomposition and a notation for depicting both logicaland physical as well as static and dynamic models of the system under design”.Object-Oriented ProgrammingObject-oriented programming (OOP) is a programming paradigm based upon objects(having both data and methods) that aims to incorporate the advantages of modularityand reusability. Objects, which are usually instances of classes, are used to interact withone another to design applications and computer programs.The important features of object–oriented programming are: Bottom–up approach in program design Programs organized around objects, grouped in classes Focus on data with methods to operate upon object’s data Interaction between objects through functions Reusability of design through creation of new classes by adding features toexisting classesSome examples of object-oriented programming languages are C , Java, Smalltalk,Delphi, C#, Perl, Python, Ruby, and PHP.Grady Booch has defined object–oriented programming as “a method of implementationin which programs are organized as cooperative collections of objects, each of whichrepresents an instance of some class, and whose classes are all members of a hierarchyof classes united via inheritance relationships”.2

Object-Oriented Analysis & Design2. OOAD Object

object model, which comprises of interacting objects. The main difference between object-oriented analysis and other forms of analysis is that in object-oriented approach, requirements are organized around objects, which integrate both data and functions. They are modelled after real-world objects that the system interacts with.

Related Documents:

method dispatch in different object-oriented programming languages. We also include an appendix on object-oriented programming languages, in which we consider the distinction between object-based and object-oriented programming languages and the evolution and notation and process of object-oriented analysis and design, start with Chapters 5 and 6;

Object Class: Independent Protection Layer Object: Safety Instrumented Function SIF-101 Compressor S/D Object: SIF-129 Tower feed S/D Event Data Diagnostics Bypasses Failures Incidences Activations Object Oriented - Functional Safety Object: PSV-134 Tower Object: LT-101 Object Class: Device Object: XS-145 Object: XV-137 Object: PSV-134 Object .

as object–oriented design. Object–oriented development approaches are best suited to projects that will imply systems using emerging object technologies to construct, manage, and assemble those objects into useful computer applications. Object oriented design is the continuation of object-oriented analysis,

Object oriented design methods emerged in the 1980s, and object oriented analysis methods emerged during the 1990s. In the early stage, object orientation was largely . and extensible system. Whole object oriented modeling is covered by using three kinds of models for a system description. These models are: object model,

Reusability, CK Metric, Object - Oriented. 1. INTRODUCTION Object oriented systems continue to share a major portion of software development and customer base for these systems is on the rise. This is because there are many advantages in taking the object oriented concept. The weakness though is that most object oriented systems tend to be .

An Object-Oriented Analysis and Design course provides practical guidance on the construction of object-oriented systems. Specifically, you will gain a solid footing in the Software Development Life Cycle (SDLC), and a mastery of object-oriented analysis and design. We will also cover the Unified Modeling

object-oriented programming language is based on a kind of old object-oriented programming language. For example, though C language is an object-oriented programming language, it still retains the pointer which is complex but has strong function. But C# improved this problem. C# is a kind of pure object-oriented language.

Brian Nicholas Harris, CC Citizen and Glazier . Barbara Anne Bear Citizen and Musician Maureen Sutherland Smith a Public Relations Consultancy Chairman 78 Hamilton Terrace, St Johns Wood, Westminster The Rt Hon The Lord Mayor Barbara Anne Bear Citizen and Musician Michael John Henesy a Meat and Fish Specialist 49 Hatton House, St Georges Estate, Stepney, Tower Hamlets Susan Margaret Hughes .