1. Software Development Process - PowerPoint PPT Presentation

About This Presentation
Title:

1. Software Development Process

Description:

Title: Object-Oriented Programming in Java Author: Venkat Subramaniam Last modified by: Venkat Subramaniam Created Date: 6/15/1996 3:58:08 PM Document presentation format – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0
Slides: 29
Provided by: VenkatSub3
Learn more at: https://www2.cs.uh.edu
Category:

less

Transcript and Presenter's Notes

Title: 1. Software Development Process


1
1. Software Development Process
2
A Process
Software Development Process
  • Unified Process Component Based Development
  • Components for implementation
  • Interfaces for interconnection

3
Activities in System Development
Requirements
Analysis
Design
Implementation
Testing
System
4
Versions of a Project
  • Full requirements are not given at start
  • Full requirements are not known
  • Full development may take several years

Start
Version 1
Version 2
Version 3
...
Implementation
Analysis
Design
Requirements
System
Testing
5
Incremental Development
  • Reasons
  • Requirements are not very clear
  • Requirement changes in the mean time
  • Feedback will help steer the project
  • Feedback helps new requirements
  • Each stage adds new functionality

Save Add / Remove spokes wheel
6
Prototyping
  • Illustrates the working of system
  • Focuses on properties requiring insight
  • Allows experimentation
  • Seeing it promotes opinion clarification
  • Can play with it to understand system dynamics
  • Not a product - just a demo
  • Rapid Prototyping quick functioning model
  • Build it - See it - Dump it

7
Reuse
  • Put together set of available components to
    develop system
  • Components are finest level of granularity for
    reuse
  • Components
  • Units that provide some functionality
  • Powerful and useful
  • Well defined interfaces
  • Simple to find, understand use
  • Wide application
  • Can be used to build other components
  • Flexible to change
  • Alteration must be to single component / module
  • Cost effective

8
Methodology
Tools
Process
Method
Architecture
9
Architecture, Method, Process Tool
  • Architecture
  • Types of model that can be built and
    characteristic of each model
  • What makes the components?
  • Method
  • Sequence of Steps to realize the goal
  • Based on the underlying architecture
  • Simplifies development for a given architecture

10
Architecture, Method, Process Tool
  • Process
  • Scaling up of the Method
  • Industrialization of a Method
  • Activities for the entire lifetime of a product
  • Must be specialized into other processes
  • Tools
  • Computer - aided Systems Engineering (CASE)
  • Provides automation for documentation
  • Effective to communicate
  • Easy to flow from one activity to another
  • Improves productivity

11
Development Approach
  • Waterfall Method
  • Spiral Method
  • Incremental and Iterative Development
  • Need a Mature Repeatable Development Process

12
Waterfall Method
Requirements
Analysis
Design
Implementation Testing
Integration
Maintenance
13
Fountain Method
Maintenance
Integration
Implementation Testing
Design
Analysis
Requirements Specification
14
Spiral Method
Analysis
Requirements Specification
Design
Implementation Unit Testing
Integration
15
Iterative and Incremental Life Cycle
  • Neither top-down nor bottom-up
  • Successive Refinement of the OO Architecture
  • Apply Experience Results to next iteration
  • Boochs Approach
  • Micro Development Process (Spiral)
  • Macro Development Process (Waterfall)

16
Micro Development Process
  • Represents Daily Activity of Developers

Identify Classes and Objects
Specify Class and Object Interfaces
and Implementation
Identify Class and Object Semantics
Identify Class and Object Relationships
17
Macro Development Process
  • Controlling Framework for Micro Process
  • Helps Assess Risk and Make Early Corrections
  • Activities on the Scale of Weeks to Months

Conceptualization
Analysis
Design
Evolution
Maintenance
18
Function / data Methods
  • Treat Functions data as being separate
  • Structured Analysis and Design Technique
  • Functions Active, describes behavior
  • Data Passive holder of information

Data
Data
Data
. . .
Function
Function
Function
. . .
19
Function / data Methods Problems
  • Difficult to maintain
  • Hard to handle different data format
  • spilled with Switch-CASE statements
  • Poor readability
  • Change to data structure results in change to
    several functions
  • Unstable - small modifications result in major
    changes

20
Object - Oriented Development
  • Functions and data highly integrated
  • More understandable
  • More flexible to modifications
  • Stable - modifications are localized

21
Object - Oriented Analysis
  • Activities
  • Finding the objects
  • Organizing the objects
  • Describing object interaction
  • Defining operations on the objects
  • Defining the objects internals
  • Obtain understanding of
  • system based on functional requirements
  • Considers functional requirements
  • data as integrated objects

22
OOA Activities
  • Finding the Objects
  • Nouns in problem statement
  • Easy to find objects
  • difficult to know what is relevant
  • Find essential objects
  • Organizing the Objects
  • Exploring similarity between classes of objects
  • Organizing Classes into hierarchy
  • Inheritance
  • Whole / part
  • Association

23
OOA Activities continued
  • Object Interaction
  • Scenarios or use cases provide
  • insight - which objects work together
  • Helps to define Object interface
  • Operations on Objects
  • Simple primitive operations based on the
    interface
  • Avoid creating complex objects
  • Object Implementation / Internals
  • Information to be held, alternate ways of storing
  • Number of instances of the object
  • Attributes may be inherited

24
OO Design Implementation
  • Analysis model Designed
  • Implemented
  • Take care of restrictive demands
  • memory, response time, etc.
  • Traceability of Objects
  • Create use Components

25
Object - Oriented Testing
  • Integration is not very painful
  • Help broadening unit testing to larger units
  • Integration testing comes in earlier stages
  • Inheritance poses a bit of challenge in testing

26
The Unified Process
Architecture Centric
Use-case Driven
Iterative and Incremental
27
Use-Case Driven
  • Remember the User?!
  • What does the user want and need from the system
  • Use-case
  • interaction by the user and the systems response
  • captures functional requirements
  • Use-case Model
  • All use-cases make up complete functional model
  • What does the system do for each user?
  • What do you do with it?

28
Use-case Model
Use-case Model
Developers
Create design implementation model
Check models for conformance
Testers
Test to ensure use case implementation
Drives the development process
Write a Comment
User Comments (0)
About PowerShow.com