System Analysis And Design Object Oriented Approach - System Analysis and Design

What is Object Oriented Approach?

In the item-orientated approach, the focus is on capturing the structure and behavior of information systems into small modules that combines both data and process. the main aim of object oriented design (OOD) is to improve the quality and productivity of system analysis and design by using making it more usable.

In analysis phase, OO models are used to fill the gap between problem and solution. It performs well in situation wherein systems are undergoing continuous design, adaption, and maintenance. It identifies the objects in problem domain, classifying them in terms of data and behavior.

The OO model is beneficial inside the following ways −

  • It facilitates changes in the system at low cost.
  • It promotes the reuse of components.
  • It simplifies the trouble of integrating components to configure large system.
  • It simplifies the design of distributed systems.

Elements Of Object-Oriented System

let us go through the characteristics of OO system −

  • Objects − An object is something that is exists within problem domain and can be identified by data (attribute) or behavior. All tangible entities (student, patient) and some intangible entities (bank account) are modeled as object.
  • Attributes − They describe information about the object.
  • Behavior − It specifies what the object can do. It defines the operation performed on objects.
  • Class − Aclass encapsulates the data and its behavior. objects with similar meaning and purpose grouped together as class.
  • Methods − methods determine the behavior of a class. they are nothing more than an action that an item can perform.
  • Message − A message is a function or procedure call from one object to another. they are information sent to objects to cause methods. essentially, a message is a function or procedure call from one object to another.

Features of Object-Oriented system

An object-oriented system comes with several excellent features which are discussed below.

Encapsulation

Encapsulation is a system of information hiding. it is simply the combination of process and data into a single entity. information of an object is hidden from the rest of the device and available only through the services of the class. It allows improvement or change of methods used by objects without affecting other parts of a system.

Abstraction

It is a process of taking or choosing important technique and attributes to specify the object. It focuses on crucial characteristics of an object relative to perspective of user.

Relationships

All of the classes in the system are related with each other. The objects do not exist in isolation, they exist in relationship with other objects.

There are three types of object relationships –

  • Aggregation − It indicates relationship between a whole and its parts.
  • Association − in this, classes are related or connected in some way which includes one class works with another to perform a task or one class acts upon other class.
  • Generalization − the child class is based on determine class. It indicates that two classes are similar but have some variations.

Inheritance

Inheritance is a excellent feature that allows to create sub-classes from an present class by using inheriting the attributes and/or operations of existing classes.

Polymorphism and Dynamic Binding

Polymorphism is the capacity to take on many unique forms. It applies to both objects and operations. A polymorphic object is one who proper type hides within a excellent or parent class.

In polymorphic operation, the operation may be completed differently by specific instructions of objects. It allows us to manipulate objects of different classes by using knowing only their common properties.

Structured Approach Vs. Object-Oriented Approach

The following table explains how the object-oriented approach differs from the traditional structured approach –

Structured Approach Object Oriented Approach
It works with Top-down approach. It works with Bottom-up approach.
Program is divided into number of submodules or functions. Program is organized by having number of classes and objects.
Function call is used. Message passing is used.
Software reuse is not possible. Reusability is possible.
Structured design programming usually left until end phases. Object oriented design programming done concurrently with other phases.
Structured Design is more suitable for offshoring. It is suitable for in-house development.
It shows clear transition from design to implementation. Not so clear transition from design to implementation.
It is suitable for real time system, embedded system and projects where objects are not the most useful level of abstraction. It is suitable for most business applications, game development projects, which are expected to customize or extended.
DFD & E-R diagram model the data. Class diagram, sequence diagram, state chart diagram, and use cases all contribute.
In this, projects can be managed easily due to clearly identifiable phases. In this approach, projects can be difficult to manage due to uncertain transitions between phase.

Unified Modeling Language (UML)

UML is a visible language that lets you to model processes, software, and systems to specific the design of system architecture. it is a preferred language for designing and documenting a device in an object orientated manner that allow technical architects to talk with developer.

It is defined as set of specifications created and disbursed by object control group. UML is extensible and scalable.

The objective of UML is to provide a common vocabulary of object-oriented terms and diagramming techniques that is rich sufficient to model any systems development project from evaluation through implementation.

UML is made up of −

  • Diagrams − it is a pictorial representations of procedure, system, or some part of it.
  • Notations − It consists of elements that work together in a diagram together with connectors, symbols, notes, etc.

Example of UML Notation for class

Object Oriented Approach


Instance diagram-UML notation

Object Oriented Approach


Operations Performed On Objects

The following operations are completed on the objects −

  • Constructor/Destructor − creating new instances of a class and deleting existing instances of a class. for example, adding a new employee.
  • Query − accessing state with out changing cost, has no aspect results. for example, finding address of a particular employee.
  • Update − changes value of one or extra attributes & affect state of object for example, changing the address of an employee.

Uses of UML

UML is quite useful for the following purposes −

  • Modeling the business process
  • Describing the system structure
  • Showing the application structure
  • Capturing the system behavior
  • Modeling the data structure
  • Building the certain specifications of the system
  • Sketching the ideas
  • Generating the program code

Static Models

Static models show the structural characteristics of a system, describe its system structure, and emphasize on the parts that make up the system.

  • They are used to define class names, attributes, methods, signature, and packages.
  • UML diagrams that represent static model include class diagram, object diagram, and use case diagram.

Dynamic Models

Dynamic models show the behavioral characteristics of a system, i.e., how the system behaves in response to external events.

  • Dynamic models perceive the object needed and how they work together through methods and messages.
  • They are used to design the logic and behavior of system.
  • UML diagrams represent dynamic model include collection diagram, communication diagram, state diagram, activity diagram.

Object Orientated System Development Life Cycle

It consists of three macro processes −

  • Item orientated analysis (OOA)
  • Object oriented design (OOD)
  • Object oriented Implementation (OOI)

Object Oriented Approach


Object Orientated Systems Development Activities

Object-orientated systems development includes the following levels −

  • Object-oriented analysis
  • Object-oriented design
  • Prototyping
  • Implementation
  • Incremental testing

Object-oriented Analysis

This phase concerns with determining the system requirements and to understand the system necessities build a use-case model. A use-case is a scenario to describe the interaction between user and computer system. This model represents the user needs or user view of system.

It also includes identifying the classes and their relationships to the alternative classes in the problem domain, that make up an application.

Object-oriented Layout

The objective of this phase is to layout and refine the classes, attributes, methods, and systems which can be identified during the analysis segment, user interface, and data access. This phase also identifies and defines the extra training or objects that support implementation of the requirement.

Prototyping

Prototyping enables to fully understand how easy or difficult it will be to enforce some of the features of the system.

It can also supply users a chance to comment on the usability and usefulness of the design. it can further define a use-case and make use-case modeling much easier.

Implementation

It uses either component-based development (CBD) or rapid application development (RAD).

Component-based Development (CBD)

CODD is an industrialized approach to the software development procedure the use of various range of technologies like CASE tools. application improvement moves from custom improvement to assembly of pre-built, pre-tested, reusable software components that operate with each other. A CBD developer can assemble components to construct a complete software system.

Rapid Application Development (RAD)

RAD is a set of tools and techniques that can be used to build an application faster than typically possible with traditional methods. It does no longer replace SDLC but complements it, since it focuses more on process description and can be combined perfectly with the object oriented approach.

Its task is to build the application quick and incrementally implement the user requirements design through tools such as visible basic, power builder, etc.

Incremental testing

Software development and all of its activities inclusive of testing are an iterative method. therefore, it can be a expensive affair if we wait to test a product most effective after its complete development. right here incremental testing comes into picture in which the product is tested during various levels of its development.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

System Analysis and Design Topics