Object oriented analysis

21
Analysis Object-oriented and Design Analysis emphasizes an investigation of the problem and requirements, rather than a solution. Design emphasizes a conceptual solution that fulfils the requirements, rather than its implementation. Do the right thing Do the thing right

Transcript of Object oriented analysis

Page 1: Object oriented analysis

AnalysisObject-oriented

and

Design

Analysis emphasizes an investigation of the problem and requirements, rather than a solution.

Design emphasizes a conceptual solution that fulfils the requirements, rather than its implementation.

Do the right thing

Do the thing right

Page 2: Object oriented analysis

What is OOAD?Object-oriented analysis emphasises on finding and describing the objects—or concepts—in the problem domain.

Object-oriented design emphasises on defining software objects and how they collaborate to fulfil the requirements.

Page 3: Object oriented analysis

Example: Library management system

Domain Concepts

Book

title

Visualization of

Domain Concepts

Public class Book{private String title;public Chapter getChapter (int){…}

}

Representation in an object oriented programming

language

Page 4: Object oriented analysis

Course Layout

OOAD

Page 5: Object oriented analysis

Introduction to OOAD (CS212)

• Object Oriented Programming

• Modeling Language to visualize design of a system

• Repeatable solution to a commonly occurring problem

• Design and development of software

C++ UML

DPSE

Page 6: Object oriented analysis

Course structureOOAD

Theory

OO Concepts

Design Patterns

OO Modeling

Laboratory

C++

Page 7: Object oriented analysis

Marks distributionTheory

• Class participation: 5

• Mid semester 1: 15

• Mid semester 2: 20

• End semester: 60

Lab

•Each lab: 15

•Mid semester Practical: 20

•End semester Practical: 30

Page 8: Object oriented analysis

Lecture PlanMid sem

1Class and

ObjectOverloadin

g Inheritance

Mid sem 2

Virtual Function and

Polymorphism

Exception handling Template

End sem STL UML Design Patterns

Page 9: Object oriented analysis

About Lab sessions• C++ programming assignments

• Thursday – 1 PM to 3 PM - B14CS001 to B14SS017

• Friday – 1 PM to 3 PM - UG201213002 to UG201313039

• Venue: Computer centre

• 10 programming assignments, 1 mid-semester practical, 1

end-semester practical

Page 10: Object oriented analysis

Evaluation criteria for the lab

•Format - 2

•Documentation - 2

•Response - 4

•Design - 3

•Execution - 4

Page 11: Object oriented analysis

Procedural vs. Object-Oriented

Line of codeLine of codeLine of code

Data is stored independent of application

Each object is independent of the others

OO-applicationProcedural application

DATA

Page 12: Object oriented analysis

Main OO ConceptsEncapsulation

Abstraction

Inheritance

Polimorphism

OO Concepts

Page 13: Object oriented analysis

Encapsulation• Each objects methods manage it’s own attributes. • This is also known as information hiding.

• An object A can learn about the values of attributes of another object B, only by invoking the corresponding method associated to the object B.

• Example: • Class: Student• Attributes: Name, roll number• Methods: getName(), setRollNumber()

Page 14: Object oriented analysis

Abstraction

• A problem solving tool that allows one to think of a problem at a higher level without worrying about the details.

• Provides only essential information to the outside world and hides their background details,

• To represent the needed information in program without presenting the details.

• For example, a clock shows the time to the user, without telling how it is internally stored. 

Page 15: Object oriented analysis

Abstraction vs. Encapsulation

Every entity that performs abstraction is encapsulated internally but every thing that shows encapsulation need not be abstraction always.

Page 16: Object oriented analysis

Classes• Classes are templates that have methods and attribute

names and type information packaged in a single unit

• Objects are generated by these classes and they actually contain values.

• We design an application at the class level.

• During execution objects are created by classes as they are needed to contain state information.

• Objects are removed when not needed.

Page 17: Object oriented analysis

Class & Objects

NameNumber

CLASS: Furniture

methods: ExampleChangeNumber

Objects:

Desk123445

ChairA32143

ChairB45687

Page 18: Object oriented analysis

Class Hierarchies & Inheritance• Classes can be arranged in hierarchies so that more classes

inherit attributes and methods from more abstract clases

• Class hierarchy diagrams

Class: Chair

subclasses

Chair Type A Chair Type B

Page 19: Object oriented analysis

Polimorphism

• One method will behave differently when it is applied to the

objects of different classes

• Different methods associated with different classes can

interpret the same message in different ways.

• Example: an object can send a message PRINT to several

objects, and each one will use it’s own PRINT method to

execute the message.

• E.g. Overloading

Page 20: Object oriented analysis

Unified Process

• Inception— approximate vision, business case, scope, vague

estimates.

• Elaboration— refined vision, iterative implementation of the

core architecture, resolution of high risks, identification of most

requirements and scope, more realistic estimates.

• Construction— iterative implementation of the remaining

lower risk and easier elements, and preparation for deployment.

• Transition— beta tests, deployment.

Page 21: Object oriented analysis

Schedule-oriented terms in the Unified Process

Inception Elaboration Construction Transition

Iteration Phase

Milestone ReleaseFinal Product