OBJECT-ORIENTED SOFTWARE DEVELOPMENT PROCESS

advertisement
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 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
Download