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 −
let us go through the characteristics of OO system −
An object-oriented system comes with several excellent features which are discussed below.
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.
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.
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 –
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 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.
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.|
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 −
Example of UML Notation for class
Instance diagram-UML notation
The following operations are completed on the objects −
UML is quite useful for the following purposes −
Static models show the structural characteristics of a system, describe its system structure, and emphasize on the parts that make up the system.
Dynamic models show the behavioral characteristics of a system, i.e., how the system behaves in response to external events.
It consists of three macro processes −
Object-orientated systems development includes the following levels −
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.
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 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.
It uses either component-based development (CBD) or rapid application development (RAD).
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.
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.
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.
System Analysis and Design Related Interview Questions
|System Administration Interview Questions||Software Engineering Interview Questions|
|Operating System Interview Questions||Red Hat Linux System Administration Interview Questions|
|System Verilog Interview Questions||Database Design Interview Questions|
|Software Development Lifecycle (SDLC) Interview Questions||Computer Systems Analyst Interview Questions|
|Safety Instrumented System Engineer Interview Questions|
System Analysis And Design Tutorial
System Analysis And Design
All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd
Wisdomjobs.com is one of the best job search sites in India.