You are on page 1of 23

BTS430 Systems Analysis and

Design using UML

OBJECT-ORIENTED SOFTWARE
DEVELOPMENT PROCESS
SDLC: Software (or Systems) Development
Life Cycle
2

Projects are developed according to a definite


methodology called the SDLC
o organizes the activities of a project
o Interactive and Incremental
o 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 dont work

Systems too complex to maintain

Customers 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

You might also like