Object-Oriented Analysis and Design (OOAD) vs. Structured Analysis (SAD) PDF
Document Details
![PrivilegedDevotion453](https://quizgecko.com/images/avatars/avatar-15.webp)
Uploaded by PrivilegedDevotion453
Amrita Vishwa Vidyapeetham
Tags
Summary
This document compares object-oriented analysis and design (OOAD) with structured analysis. It explains the key differences between the two approaches, highlighting their respective strengths and weaknesses in software development. The document also discusses the use of object-oriented programming (OOP) principles and programming languages.
Full Transcript
Structured vs Object Oriented Analysis and Design 1 2 Object Oriented Analysis and Design (OOAD) Vs. Structured Analysis and Design (SAD) Structured Analysis: Focus on processes: Structured Anal...
Structured vs Object Oriented Analysis and Design 1 2 Object Oriented Analysis and Design (OOAD) Vs. Structured Analysis and Design (SAD) Structured Analysis: Focus on processes: Structured Analysis focuses on the processes involved in a software system, modeling them as a series of connected steps. Top-down approach: Structured Analysis follows a top-down approach, breaking down complex systems into smaller, simpler parts that can be more easily understood. Data-centered: Structured Analysis focuses on the data that a software system manipulates, modeling it as data flows between processes. Emphasis on functional decomposition: Structured Analysis emphasizes the functional decomposition of a software system into smaller, independent functions. 3 Object Oriented Analysis and Design (OOAD) Vs. Structured Analysis and Design (SAD) Object-Oriented Analysis (OOA): Focus on objects: OOA focuses on the objects involved in a software system, modeling them as instances of classes that encapsulate both data and behavior. Bottom-up approach: OOA follows a bottom-up approach, building complex systems from smaller, simpler objects that can be more easily understood. Object-centered: OOA focuses on the objects that make up a software system, modeling their relationships and interactions. Emphasis on object-oriented design patterns: OOA emphasizes the reuse of objects and object-oriented design patterns. 4 Object Oriented Analysis and Design (OOAD) Vs. Structured Analysis and Design (SAD) OOAD SAD Catalog Librarian Library System Record Add Report Book Library Loans Resource Fines 5 Object Oriented Analysis and Design (OOAD) Vs. Structured Analysis and Design (SAD) Structured Analysis Divide and Conquer At the function level Object-Oriented Analysis Partition At the level of concepts (objects) OOAD Vs. SAD 6 7 Object Oriented Analysis OOAD essential for creating well-designed, robust & maintainable software system using OO Programming Language (e.g. C++, Java, smalltalk, etc…). It is the latest and most used way of design now. UML (Unified Modeling Language) is a modeling language for OOS. During OO analysis, there is an emphasis on finding and describing the objects (or concepts) in the problem domain. Example: Concepts in a Library Information System include; Book and Catalog. 8 From Analysis to Implementation Analysis Design Construction Investigation of Logical Solution Code the problem Domain Concept Logical Software Objects Representation in an Ex: Book (Concept) OO Programming Language Book Public Class Book { Attribute: Title Private String Title; Public void Display(); Method: Display() } , In Java, "public" makes a member accessible from any class "protected" permits access inside the same package and by subclasses "private" restricts access to only within the declaring class. The void keyword in Java is used to indicate that a method does not return a value. A method that is declared as void does not have a return type 9 10 Unified Modeling Language A notational system aimed at modeling systems using object oriented concepts. 11 The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary but not sufficient in order to create object software. In between a nice idea and a working software, there is much more than programming. Analysis and design provide software “blueprints”, illustrated by a modeling language. Blueprints serve as a tool for thought and as a form of communication with others. These blueprints can then be transferred into code using any specific OO language. Object Oriented Languages What is object-oriented programming? Object-oriented programming (OOP) is a computer programming model that organizes software design around data, or objects, rather than functions and logic. An object can be defined as a data field that has unique attributes and behavior. OOP focuses on the objects that developers want to manipulate rather than the logic required to manipulate them. The organization of an object-oriented program also makes the method beneficial to collaborative development, where projects are divided into groups. Additional benefits of OOP include code reusability, scalability and efficiency. 12 Object Oriented Languages What is object-oriented programming? The first step in OOP is to collect all the objects a programmer wants to manipulate and identify how they relate to each other -- an exercise known as data modeling. Examples of an object can range from physical entities, such as a human being who is described by properties like name and address, to small computer programs, such as widgets. Once an object is known, it is labeled with a class of objects that defines the kind of data it contains and any logic sequences that can manipulate it. Each distinct logic sequence is known as a method. Objects can communicate with well-defined interfaces called messages. 13 Object Oriented Languages What is the structure of object-oriented programming? The structure, or building blocks, of object-oriented programming include the following: Classes are user-defined data types that act as the blueprint for individual objects, attributes and methods. Objects are instances of a class can correspond to real-world objects or an abstract entity. Methods are functions that are defined inside a class that describe the behaviors of an object. Attributes are defined in the class template and represent the state of an object. Objects will have data stored in the attributes field. Class attributes 14 belong to the class itself. Object Oriented Languages 15 16 Object Oriented Languages For example, popular pure OOP languages include: Ruby Scala JADE Emerald Programming languages designed primarily for OOP include: Java Python C++ Other programming languages that pair with OOP include: Visual Basic.NET PHP JavaScript 17 Benefits of OOP Benefits of OOP include: Reusability. Code can be reused through inheritance, meaning a team does not have to write the same code multiple times. Productivity. Programmers can construct new programs quicker through the use of multiple libraries and reusable code. Easily upgradable and scalable. Programmers can implement system functionalities independently. Security. Using encapsulation and abstraction, complex code is hidden, software maintenance is easier and internet protocols are protected. Flexibility. Polymorphism enables a single function to adapt to the class it is placed in. Different objects can also pass through the same interface. 18