0% found this document useful (0 votes)
61 views42 pages

Unit 1

The document discusses key concepts in object-oriented analysis and design including: 1. Objects represent real-world entities and are characterized by their class, state, and behavior. 2. Classes define common properties and procedures for their object instances. 3. Inheritance allows classes to share and reuse behaviors and attributes from parent classes. 4. Associations represent relationships between objects and classes.

Uploaded by

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

Unit 1

The document discusses key concepts in object-oriented analysis and design including: 1. Objects represent real-world entities and are characterized by their class, state, and behavior. 2. Classes define common properties and procedures for their object instances. 3. Inheritance allows classes to share and reuse behaviors and attributes from parent classes. 4. Associations represent relationships between objects and classes.

Uploaded by

vivek kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 42

Unit 1

OOSE is a software engineering approach


that models a system as a group of
interacting objects.
 Each object represents some entity of

interest in the system being modeled, and is


characterized by its class, its state (data
elements), and its behavior.
 The Term Object means a Combination of
data and logic that represents some real
world entity.
 For eg:- Car is an object

DATA + LOGIC
DATA:- Car’s name ,color, price…
LOGIC:- Collection of programs(show
mileage,change mileage, stop ,go..)
.
 A Class is a set of object that share a
common structure and a common behavior.
 Object is an instance of a class.
 Main role of classes are to define the
Properties(State) and Procedures(Behavior) of
its Instances.
 For eg:- Class CAR

Property Like Color and each car have


valuesuch as White, Black..
 The state of an object is all the data which it
encapsulates.
 An object normally has a number of

attributes (variables or data members) each


of which has a value.
 Attributes of an object do not change during

the life-time of an object, but values may do.


 Object Behavior is described in method or
procedures.
 Method implements the behavior of an

object.
 An object understands a fixed set of

messages.
 The way in which it reacts to a message may

depend on the current values of its attributes,


which may change as part of the reaction to
receiving messages.
Object Responds To Messages:-
 Messages are nonspecific function calls.
 Message is the instruction and the method is

the implementation.
 These are called encapsulations.
 Controlling visibility of names. It Enables enforcing data
abstraction
 Conventions are no substitute for enforced constraints.
 Enables mechanical detection of typos that manifest as
“illegal” accesses. (e.g. problem with global variables)
 Classes support information hiding
 Data members of a class can be declared as private
◦ Hides implementation details of the class
◦ Information hiding permits implementations to
change without affecting using classes
Anobject oriented system organizes classes into a
subclass-superclass hierarchy.

Asubclass inherits all of the properties and


methods defined in its superclass.
 A class may simultaneously be the subclass to
some class and a superclass to another class. For
eg.:
 Thecar class is a formal class also called
an abstract class.

 Formal or abstract classes have no


instances but define the common
behaviors that can be inherited by more
specific classes.
 It is the property of object-oriented systems that
allow objects to be built from other objects.
 It is a relationship between classes where one class
is the parent class of another (derived) class.
 Parent class is also known as the base class or super
class.
 Inheritance allows classes to share and reuse
behaviors and attributes.
 For e.g. the Car class defines the general behavior of
cars.
The Ford class inherits the general behavior from the
Car class and adds behavior specific to Fords.
 Some Object Oriented systems permit a
class to inherit its state and behavior from
more than one superclass , which is
referred to as multiple inheritance.
 It means that the same operation may behave
differently on different classes.
 It allows us to write generic reusable code

more easily because we can specify general


instructions and delegate the implementation
details to the objects involved.
 A Link is a physical or conceptual connection
between object instances.
 Association represents the relationship

between Objects and Classes.


 Associations are bidirectional.
 Associations have a cardinality.
 For eg:- “A Pilot can fly Planes”, the italicized

term is an Association.
Employee Depar tment
is-member-of

is-managed-by

manages
Manager
 .
 Aggregation is the “part-whole” or “a-part-
of” relationship.
 Aggregation can be defined as collection of

objects, where each object has an identity,


one object can refer to other objects.
 Properties of Aggregation:

 Transitivity
 Antisymmetric
Aggregation Association

1. Aggregation is a special form of 1. Association is an independent


Association. concept.
2. If two objects are tightly bound 2. If two objects are usually
by a-part-whole relationship , it considered as independent ,
is an aggregation. even through they often be
linked, it is an association.
 An object is created and exist for certain time
period which is traditionally the duration of
the process in which it was created.
 This characteristic is known as object

persistence.
 Lifetime of an object can be terminated.
 After an object is deleted, its state is

inaccessible .
Objectives
• The software development process.
• Building high-quality software.
• Object-Oriented systems development.
• Use-case driven system development
• Prototyping.
• Component – based development.
• Rapid application development.
• It consists of analysis, design, implementation,
testing and retirement is to transform users’
needs into a software solution that satisfies
needs.
• It is tempting to ignore the process and
plunge into the implementation and
programming phases of software development.
• Programmers have been able to ignore the
counsel of systems development is a building a
system.
• The development itself in essence is a process
of change, refinement, transformation to the
existing product.
• The object-oriented approach provides us a
set of rules for describing inheritances and
specialization in a consisted way when a sub
process changes the behavior of its parent
process.
• The process can be divided into small,
interacting phases sub process.
• Each sub process have following
1. A description in terms of how it works.
2. Specification of the input required for the
process.
3. Specification of the output to be produced.
• The software development process can be
viewed in Fig 1.9 as a series of transformations
where the output of one transformation
becomes the input of the
subsequent transformation.
1. It is analysis translates the users’ needs
into system requirements and
responsibilities.
2. The way they use the system can provide
insight into the user’s requirements.
3. For example, one use of the system might
be analyzing an incentive payroll system.
4. Which will tell us that this capacity must be
included in the system requirements.
Software process reflecting transformation
from needs to a software product that
1. It comes and explains about the design part.
2. It begins with a problem statement and ends
with a detailed design that can be
transformed into an operational system.
3. This transformation include the bulk of the
s/w development activity.
4. It also includes the design descriptions, the
program and the testing materials.
1. In this discuss about the implementation
part.
2. This takes into account the equipment,
procedures, people and the like.
3. It represents embedding environment
product with its operational environment.
4. In the real world, the problems are not
always well-defined and that is why the
waterfall model has utility.
5. For example, it a company has expenses in
building accounting system, then building
another such product based on the existing
design is best managed with the waterfall
model.
6. This model assumes that the requirements are
known before the design begins.
7. But one may need experience with the product
before the requirements can be fully
understood.
8. It also assumes that the requirements will
remain static over the development cycle.
9. That a product delivered months after it was
specified will meet the delivery timeneeds.
 Software development is the translation of a
user need or marketing goal into a software
product.
 The waterfall model is a sequential s/w
development model in which development is
seen as flowing steadily downwards through
the phase of requirement analysis, design,
implementation, testing, integration and
maintenance.
1. The object oriented analysis phase of
software development is concerned with
determining the system requirements and
identifying classes and their relationship to
other classes in the problem domain.
2. The object-oriented programming
community has adopted use cases to a
remarkable degree.
3. The intersection among objects roles to
achieve a given goal is called collaboration.
4. Expressing these high level processes and
interactions with customers in a scenario and
analyzing it is referred to use-case modeling.
5. For example, the objects in the incentive
payroll system might include the following
examples.
a. The employee, worker, supervisor, office
administrator.
b. The paycheck.
c. The process used to make the product.
 Design
1. Object-Oriented design requires move rigor up front to do
things right.
2. You need to spend move time gathering requirements
developing a requirements model and an analysis model, and
then turning them into the design model.
3. Object-Oriented design centers on establishing design
classes and their protocol.
4. Building class diagrams, user interfaces and usability based
on usage and use cases.
5. The use-case concept can be employed through most of the
activities of software development.
1. Component based development (CBD) is an industrialized
approach to software development.
2. Software components are functional units or building block
offering a collection of reusable services.
3. A CBD developer can assemble components to construct a
complete software
system.
4. Components themselves may be constructed form other
components and so an down to the level of prebuilt
components (or) written in a language such as C, COBOL.
1. The rapid application development (RAD)
approach to system development rapidly
develops software to quickly.
2. Incrementally implement the design by
using tools such as case.
 Reusability

1. Reusability is a major benefit of object-


oriented system development.
2. It is also the most difficult promise to
deliver.
3. To develop reusability in the objects.

You might also like