0% found this document useful (0 votes)
21 views22 pages

An Overview of Object Oriented Systems Development

This document provides an overview of object oriented systems development (OOSD). It discusses that software development involves various tools and methodologies. The unified approach to OOSD combines best practices from other methodologies and uses the unified modeling language. It emphasizes use case driven development, reuse of classes, and incremental development. The document also briefly introduces the rational unified process and agile development principles.

Uploaded by

Nive
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)
21 views22 pages

An Overview of Object Oriented Systems Development

This document provides an overview of object oriented systems development (OOSD). It discusses that software development involves various tools and methodologies. The unified approach to OOSD combines best practices from other methodologies and uses the unified modeling language. It emphasizes use case driven development, reuse of classes, and incremental development. The document also briefly introduces the rational unified process and agile development principles.

Uploaded by

Nive
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/ 22

MODULE:I

An Overview of
Object Oriented Systems Development

04/28/20 MODULE-I OOSD 1


Introduction
 Software development is dynamic in nature.

 A vast number of tools and methodologies are


available for software development.

 System of development refers to all activities


which leads to a solution.

04/28/20 MODULE-I OOSD 2


Introduction…
 System development activities consists of :
-analysis
- modeling & designing
- implementation
- testing
- maintenance

04/28/20 MODULE-I OOSD 3


Introduction…

 A process consists of number of steps and


rules that should be performed during
development.

04/28/20 MODULE-I OOSD 4


Two Orthogonal Views of Software
 A program can be defined as:
Program=Algorithm + Data Structures

- Object Oriented System Development


- Traditional System Development

04/28/20 MODULE-I OOSD 5


OOSD Methodologies
 A way to develop software by building self-
contained modules or objects that can be
easily replaced, modified and reused.
 It encourages a view of the world as a system
of cooperative and collaborating objects.
 In this case, software is a collection of
discrete objects that encapsulate their data
and function.

04/28/20 MODULE-I OOSD 6


OOSD Methodologies…
 In OO Systems, everything is an object and
each object is responsible for itself.
Ex: Windows Applications
[Opening, sizing, closing]
 Helpers (objects) are created, that forms a
community whose interaction becomes the
application.

04/28/20 MODULE-I OOSD 7


Why an Object Orientation?

- easier to adopt to changing requirements


- easier to maintain
- more robust
- greater design and code reuse

04/28/20 MODULE-I OOSD 8


Why an Object Orientation?...
 Higher level of Abstraction (object Level)
 Seamless transition among different phases of
software development.
 Encouragement of good programming techniques
 Promotion of reusability(classes are designed
generically with reuse as a constant background
goal)

04/28/20 MODULE-I OOSD 9


Overview of the UNIFIED
APPROACH
 The Unified Approach(UA) is a methodology
for software development that is proposed by
the author Dr. Ali Bahrami.
 The UA , based on methodologies by Grady
Booch, Rumbaugh & Ivar Jacobson, tries to
combine the best practices, processes &
guidelines along with OMG’s (Object
Management Group’s) Unified Modeling
Language (UML).
04/28/20 MODULE-I OOSD 10
UNIFIED APPROACH…
 Rational Unified Process (RUP)
 UML is a set of notations and conventions used to
describe and model an application.
 UML does not specify a methodology or what steps
to follow to develop an application.
 The heart of UA is Jacobson’s use case.
 Use case represents a typical interaction between a
user and a computer system to capture the user’s
goals and needs.
04/28/20 MODULE-I OOSD 11
 The main advantage of an object oriented system is
that the class tree is dynamic and can grow.
( maintain class library/repository)
 This book of OOSD uses a Layered
Architecture(LA) to develop applications.
 LA is an approach to software development that
allows us to create objects,
- that represents tangible elements of the business,
independent of how they are represented to the user
through an interface or physically stored in a database.

04/28/20 MODULE-I OOSD 12


 Layered Approach consists of:
- View or UI (User Interfaces) Layer
- Business Layer
- Access Layer

04/28/20 MODULE-I OOSD 13


UNIFIED APPROACH…
 The UA consists of the following concepts:
 Use-case driven development
 Utilizing UML
 Object-oriented analysis (utilizing use case)
 Repository of reusable classes and maximum reuse
 The layered approach
 Incremental development and prototyping
 Continuous testing

04/28/20 MODULE-I OOSD 14


04/28/20 MODULE-I OOSD 15
Rational Unified Process (RUP)
 The Rational Unified Process (RUP) is an
iterative software development process
framework created by the Rational Software
Corporation, a division of IBM since 2003.
 RUP is not a single concrete prescriptive process, but
rather an adaptable process framework, intended to be
tailored by the development organizations and
software project teams that will select the elements of
the process that are appropriate for their needs.
 RUP is a specific implementation of the Unified
Process.
04/28/20 MODULE-I OOSD 16
RUP building blocks
 Roles (who) – A Role defines a set of related
skills, competencies and responsibilities.
 Work Products (what) – A Work Product
represents something resulting from a task,
including all the documents and models
produced while working through the process.
 Tasks (how) – A Task describes a unit of
work assigned to a Role that provides a
meaningful result.
04/28/20 MODULE-I OOSD 17
Six Best Practices in RUP
 Develop iteratively
 Manage requirements 
 Use components 
 Model visually (use UML) 
 Verify quality (testing as a major part)
 Risk Assessment should be taken care of

04/28/20 MODULE-I OOSD 18


04/28/20 MODULE-I OOSD 19
04/28/20 MODULE-I OOSD 20
Manifesto for Agile Software
Development
 Manifesto for Agile Software Development
 We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
--Individuals and interactions over processes
and tools
--Working software over comprehensive
documentation

04/28/20 MODULE-I OOSD 21


Manifesto for Agile Software
Development…

--Customer collaboration over contract


negotiation
--Responding to change over following a plan

04/28/20 MODULE-I OOSD 22

You might also like