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.
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 ratings0% 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.
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