OBJECT-ORIENTED SOFTWARE DEVELOPMENT PROCESS

Download Report

Transcript OBJECT-ORIENTED SOFTWARE DEVELOPMENT PROCESS

BTS430 Systems Analysis and Design using UML

O B J E C T - O R I E N T E D S O F T W A R E D E V E L O P M E N T P R O C E S S

SDLC: Software (or Systems) Development Life Cycle 2  Projects are developed according to a definite methodology called the SDLC o o o organizes the activities of a project Interactive and Incremental followed by everyone involved in software development

What is a methodology?

3   A collection of comprehensive guidelines to follow for completing every SDLC activity Examples of methodologies: Structured (Traditional), Object-oriented

SDLC Methodologies

4  Structured  Worked well for centralized processing applications and procedural languages  Object Oriented  Based on the interaction that happens between ‘objects’  Real world objects are modeled by corresponding programming objects. Objects have state, behaviour and identity.

The Phases of the SDLC: Software (or Systems) Development Life Cycle 5 • The Phases of the SDLC for both the Structured and the OO methodologies are similar  Project Planning Phase  Analysis Phase: understanding business needs  Design Phase: conceptualizing computer-system solutions  Implementation Phase: coding, testing and installation  Support Phase

Theory of the SDLC: Software (or Systems) Development Life Cycle  Theory of the SDLC is covered in the Systems courses :  Project Planning Phase (Principles taught in BTS330 and BTS70)  Analysis Phase (Principles taught in BTS330)   Design Phase (Principles taught in BTS430 and BTS530) Implementation Phase   (Principles taught in programming courses and in BTS530 & 630) Support Phase

SDLC used for the development of the Capstone Project  You will develop your capstone project in teams using the SDLC  Project Planning Phase (BTR490)   Analysis Phase (BTR490) Design Phase (BTS530)  Implementation Phase (BTS630)  Support Phase (to be negotiated with client)

Aids to Assist in Analysis and Design

 Methodologies  Comprehensive guidelines to follow for completing every SDLC activity   Collection of techniques Examples: Structured, OO  Models  Representation of an important aspect of the real world   Diagrams and charts Project planning aids

What is a technique?

9  Collection of guidelines that help the Developer complete a system development activity or task within a phase   Step-by-step instructions General advice

Techniques

10   Techniques are used to complete specific system development activities      Project planning techniques Systems analysis techniques Systems design techniques System construction and implementation techniques System support techniques Example: Rational Unified Process

Models

11  Representation of an important aspect of the real world  Examples    Diagrams and charts Project planning aids: MS Project The collection of the diagrams that are developed and drawn in Rational Rose

Some Models Used in System Development

Rational Rose Showing OO Diagrams

Object-Oriented Analysis & Design

 Object-oriented analysis  Defines all of the types of objects that do the work of the system  Object-oriented design  Shows how objects interact   Defines all additional object types needed to communicate with people and devices in the system Refines each type of object for implementation in a specific language and environment

Why the move to Object-oriented Methodology?

15 

Software Development is too expensive

 Poor Quality  Late Delivery  Poor Productivity  Too much person-power needed  Fragile systems  Legacy Systems  User Interfaces not state of the art

Why the move to Object-oriented Methodology?

16 •

Software Developers are being asked to

o Develop more sophisticated systems o Tackle more complex systems o Produce more reliable and malleable systems o Shorten the delivery cycle o Reduce costs

Failures in Software Development

17  Some common causes for Failure:  Deadlines that cannot be met  Budgets that have been exceeded  Solutions that don’t work  Systems too complex to maintain  Customer’s requirements not fully understood or captured correctly  Customers continually change their requirements  Customers are not committed to the project

How does the Object-oriented SDLC help to overcome these problems in Software Development?

18  The system under development is refined and transformed through analysis, design, code and test phases – details are added in successive iterations (changes and improvements are introduced as needed) and incremental releases of software modules are delivered.

System design – developing information systems using UML by Leszek A. Maciaszek (page 5, 2001)

Object-oriented SDLC Iterative Development 19

Object Oriented Software Development Methodology

20  Allows for reusability or sharing of code  Reduces the development time for an application

SDLC Variations

21  Developers encounter many variations of SDLC in practice. Based on:     Phases Iterations Emphasis on people Speed of development  BUT you have to understand the basic methodology before you can vary it

Object-Oriented Approach

 Views information systems as collections of interacting objects that work together to accomplish tasks  Objects interact with each other in order to carry out the logic in scenarios in use cases  Classes define the behaviour of the objects and the attributes (properties) of the objects

Object-Oriented Approach to Systems