0% found this document useful (0 votes)
46 views10 pages

Unit1 - 9 - 10 Ooad

Uploaded by

senthilnathans
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views10 pages

Unit1 - 9 - 10 Ooad

Uploaded by

senthilnathans
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Object Oriented Analysis

• In the system analysis or object-oriented analysis phase of software


development, the system requirements are determined, the classes
are identified and the relationships among classes are identified.
• The three analysis techniques that are used in conjunction with each
other for object-oriented analysis are object modelling, dynamic
modelling, and functional modelling.
Object Modelling
• The process of object modelling can be visualized in the following
steps
• Identify objects and group into classes
• Identify the relationships among classes
• Create user object model diagram
• Define user object attributes
• Define the operations that should be performed on the classes
• Review glossary
Dynamic Modelling
• The process of dynamic modelling can be visualized in the following
steps −
• Identify states of each object
• Identify events and analyse the applicability of actions
• Construct dynamic model diagram, comprising of state transition
diagrams
• Express each state in terms of object attributes
• Validate the state–transition diagrams drawn
Functional Modelling
• The process of functional modelling can be visualized in the following
steps –
• Identify all the inputs and outputs
• Construct data flow diagrams showing functional dependencies
• State the purpose of each function
• Identify constraints
• Specify optimization criteria
Advantages Disadvantages

Functionality is restricted within objects.


Focuses on data rather than the procedures This may pose a problem for systems which
as in Structured Analysis. are intrinsically procedural or
computational in nature.

The principles of encapsulation and data


hiding help the developer to develop It cannot identify which objects would
systems that cannot be tampered by other generate an optimal system design.
parts of the system.

The principles of encapsulation and data


The object-oriented models do not easily
hiding help the developer to develop
show the communications between the
systems that cannot be tampered by other
objects in the system.
parts of the system.

It allows effective management of software All the interfaces between the objects
complexity by the virtue of modularity. cannot be represented in a single diagram.

It can be upgraded from small to large


systems at a greater ease than in systems
following structured analysis.
Object-oriented design
• Object-oriented design started right from the moment computers were
invented.
• Programming was there, and programming approaches came into the
picture.
• Programming is basically giving certain instructions to the computer.
• At the beginning of the computing era, programming was usually limited
to machine language programming.
• Machine language means those sets of instructions that are specific to a
particular machine or processor, which are in the form of 0’s and 1’s.
• These are sequences of bits (0100110…). But it’s quite difficult to write a
program or develop software in machine language.
• It’s actually impossible to develop software used in today’s scenarios
with sequences of bits.
• This was the main reason programmers moved on to the next
generation of programming languages, developing assembly
languages, which were near enough to the English language to easily
understand.
• These assembly languages were used in microprocessors.
• With the invention of the microprocessor, assembly languages
flourished and ruled over the industry, but it was not enough.
• Again, programmers came up with something new, i.e., structured
and procedural programming.
Some important points to know about OOP:

• OOP treats data as a critical element.

• Emphasis is on data rather than procedure.

• Decomposition of the problem into simpler modules.

• Doesn’t allow data to freely flow in the entire system, ie localized


control flow.

• Data is protected from external functions.


Advantages of OOPs –

• It models the real world very well.

• With OOP, programs are easy to understand and maintain.

• OOP offers code reusability. Already created classes can be reused


without having to write them again.

• OOP facilitates the quick development of programs where parallel


development of classes is possible.

• With OOP, programs are easier to test, manage and debug.


Disadvantages of OOP –

• With OOP, classes sometimes tend to be over-generalized.

• The relations among classes become superficial at times.

• The OOP design is tricky and requires appropriate knowledge. Also,


one needs to do proper planning and design for OOP programming.

• To program with OOP, the programmer needs proper skills such as


design, programming, and thinking in terms of objects and classes,
etc.

You might also like