--Your friends at LectureNotes

Note for Object Oriented Analysis And Design With UML - OOAD by Aarthi Devpal

  • Object Oriented Analysis And Design With UML - OOAD
  • Note
  • SRM - SRM
  • Master of Computer Applications
  • MCA
  • Uploaded 8 months ago
Aarthi Devpal
Aarthi Devpal
0 User(s)
Download PDFOrder Printed Copy

Share it with your friends

Leave your Comments

Text from page-1

Object Oriented Modeling And Design Object-oriented modeling and design Chapter 1 Introduction Object oriented means a collection of discrete objects that incorporate both data structure and behavior. The characteristics required by an OO approach include 4 aspects: Identity, classification, inheritance and polymorphism. Identity means data is quantized into discrete, distinguishable entities called objects. Objects can be concrete such as a file in a file system. Each object has its own identity. Two objects are distinct even if all there attribute values are identical. Classification means that objects with the same data structure and behavior are grouped into a class. Each object is said to be an instance of a class. An object has its own value for each attribute but shares the attribute names and operations with other instances of the class. Inheritance is the sharing of attributes and operations among classes based on a hierarchical relationship. A super class has general information that subclasses refine and elaborate. Each subclass inherits all the features of its super class and adds its own unique features. Polymorphism means that the same operation may behave differently for different classes. The move operation for example behaves differently for a pawn than for the queen in the chess game. An operation is a procedure or transformation that an object performs or is subject to. An implementation of an operation by a specific class is called a method. OO Development: Development refers to the software life cycle: analysis, design and implementation. The essence of OO Development is the identification and organization of application concepts, rather than their final representation in a programming language. Modeling Concepts: In the past, much of the programming languages focused on implementation rather than analysis and design. OO development is a conceptual process independent of a programming language until final stages.OO development is fundamentally a way of thinking and not a programming technique. 1

Text from page-2

Object Oriented Modeling And Design Its greatest benefits comes from helping specifiers, developers and customers express abstract concepts clearly and communicate them to each other. OO Methodology: The process for OO development and graphical notation for representing OO concepts consists of building a model of an application and then adding details to it during design. The methodology has the following stages:  System Conception: Software development begins with business analysis or users conceiving an application and formulating tentative requirements.  Analysis: The analyst scrutinizes and rigorously restates the requirements from system conception by constructing models. The analyst must work with the requestor to understand the problem, because problem statements are rarely complete or correct. The analysis model is a precise abstraction of what the desired system must do, not how it will be done. It should not contain implementation decisions. The analysis model has 2 parts: The domain model, a description of the real-world objects reflected within the system and the application – model, a description of the parts of the application system itself that are visible to the user. Eg: domain objects for a stock broker application might include stock, bond, trade and commission. Application objects might control the execution of trades and present the results.  System design: The development teams devise a high – level strategy – the system architecture for solving the application problem. They also establish policies that will serve as a default for the subsequent, more detailed portions of design. The system designer must decide what performance characteristics to optimize, choose a strategy of attacking the problem and make tentative resource allocations.  Class design: The class designer adds details to the analysis model in accordance with the system design strategy. The focus of class design is the data structures and algorithms needed to implement each class.  Implementation: Implementers translate the classes and relationships developed during class design into a particular programming language database or hardware. Programming should be straight forward, because all of the hard decisions should have already been 2

Text from page-3

Object Oriented Modeling And Design made. Some classes are not part of analysis but are introduced during design or implementation  Eg: data structures such as trees, hash tables and linked lists are rarely resent in the real world and are not visible to users. Designers introduce them to support particular algorithms. Such objects exist within a computer and are not directly observable. Testing must be part of an overall philosophy of quality control that occurs throughout the life cycle. Developers must check analysis models against kinds of errors, in addition to the testing implementations for correctness. Three Models: Three kinds of models are used to describe a system from different viewpoints: The Class Model for the objects in the system and their relationships; the State Model for the life history of objects; and the Interaction Model for the interactions among objects. A complete description of a system requires models from all 3 viewpoints. The class model describes the static structure of the objects in a system and their relationships. The class model contains class diagrams. A class diagram is a graph whose nodes are classes and whose arcs are relationships among classes. The state model describes the aspects of an object that change over time. The state diagram is a graph whose nodes are states and whose arcs are transitions between states caused by events. The interaction model describes how the objects in a system cooperate to achieve broader results. The interaction model starts with use case that are then elaborated with sequence and activity diagrams. A use case focuses on the functionality of a system i.e, what a system does for users. A sequence diagram elaborates important processing steps. OO Themes:  Abstraction means focusing on what an object is and does, before deciding how to implement it.  Encapsulation separates the external aspects of an object that are accessible to other objects, from the internal implementation details that are hidden from other objects. 3

Text from page-4

Object Oriented Modeling And Design  Combining data and behavior: The caller of an operation need not consider how many implementations exist. Operator polymorphism shifts the burden of deciding what implementation to use from the calling code to the class hierarchy.  Sharing: OO technologies promote sharing at different levels. Inheritance of both data structure and behavior lets subclasses share common code. This sharing via inheritance is one of the main advantages of OO languages. OO development not only lets you share information within an application but also offers the prospect of reusing designs and code on future projects.  Emphasis on the essence of object: OO technology stresses what an object is, rather than how it is used. The uses of an object depend on the details of the application and often change during development.  Synergy: Identity, classification, polymorphism and inheritance characterize OO languages. Each of these concepts can be used in isolaition but together they complement each other synergistically. 4

Lecture Notes