Software Processes
Elliot Attipoe
1
Objectives
• To introduce software process model
• To introduce 3 generic software process
models
2
The software process
• A structured set of activities required to develop a
software system
– Specification
– Design and implementation
– Validation
– Evolution
• A software process model is an abstract
representation of a process.
3
Generic software process models
• The waterfall model
– Separate and distinct phases of specification and
development
• Incremental (Evolutionary) development
– Specification and development are interleaved
• Reuse-oriented software engineering
– The system is assembled from existing
components
4
Waterfall model
5
Waterfall model problems
• Inflexible partitioning of projects into distinct stages.
• Difficult to respond to changing customer
requirements.
• This model is only appropriate when requirements
are well-understood.
6
Incremental Development
7
Benefits compared to waterfall
• Cost of accommodating changing customer
requirements.
• Easier to get customer feedback
• Rapid delivery and deployment of useful
software to the customer.
8
Disadvantages
• The process is invisible.
• System structure tends to degrade as new
increments are added.
• Not good for critical systems which needs a
stable framework or architecture.
9
Applicability
• For small or medium-sized interactive
systems.
• For parts of large systems (e.g. user
interface).
• For short-lifetime systems.
10
Reuse-oriented software
engineering
11
Process Activities
• Software specification
• Software design and implementation
• Software validation
• Software evolution
12
Software Specification
• The process of establishing what services are
required and the constraints on the system’s
operation and development.
• Requirements engineering process
– Feasibility study
– Requirements elicitation and analysis
– Requirement specification
– Requirement validation
13
Requirements engineering process
14
Software design and Implementation
15
Software validation
16
Software Validation
Time
Cost to fix
error
17
Software Evolution
• Coping with change
18
Reading Assignment
• Prototyping - pp 45
• Spiral model – pp 48
• The rational unified process - pp 50
19
Group Assignment (Project proposal)
• Each group is to come up with any project (software product)
they think is interesting and valuable.
• The project should have some connection to real world.
• The project can be a web application, an android application or a
desktop application.
• It is your responsibility to make sure that the project can be
built, making use of the available resources and technology to
you.
• The project should be of suitable size to be completed (including
design, testing and documentation) in 7 weeks.
• Due date : 1st Oct. 2013
20

Lesson 2 software processes

  • 1.
  • 2.
    Objectives • To introducesoftware process model • To introduce 3 generic software process models 2
  • 3.
    The software process •A structured set of activities required to develop a software system – Specification – Design and implementation – Validation – Evolution • A software process model is an abstract representation of a process. 3
  • 4.
    Generic software processmodels • The waterfall model – Separate and distinct phases of specification and development • Incremental (Evolutionary) development – Specification and development are interleaved • Reuse-oriented software engineering – The system is assembled from existing components 4
  • 5.
  • 6.
    Waterfall model problems •Inflexible partitioning of projects into distinct stages. • Difficult to respond to changing customer requirements. • This model is only appropriate when requirements are well-understood. 6
  • 7.
  • 8.
    Benefits compared towaterfall • Cost of accommodating changing customer requirements. • Easier to get customer feedback • Rapid delivery and deployment of useful software to the customer. 8
  • 9.
    Disadvantages • The processis invisible. • System structure tends to degrade as new increments are added. • Not good for critical systems which needs a stable framework or architecture. 9
  • 10.
    Applicability • For smallor medium-sized interactive systems. • For parts of large systems (e.g. user interface). • For short-lifetime systems. 10
  • 11.
  • 12.
    Process Activities • Softwarespecification • Software design and implementation • Software validation • Software evolution 12
  • 13.
    Software Specification • Theprocess of establishing what services are required and the constraints on the system’s operation and development. • Requirements engineering process – Feasibility study – Requirements elicitation and analysis – Requirement specification – Requirement validation 13
  • 14.
  • 15.
    Software design andImplementation 15
  • 16.
  • 17.
  • 18.
  • 19.
    Reading Assignment • Prototyping- pp 45 • Spiral model – pp 48 • The rational unified process - pp 50 19
  • 20.
    Group Assignment (Projectproposal) • Each group is to come up with any project (software product) they think is interesting and valuable. • The project should have some connection to real world. • The project can be a web application, an android application or a desktop application. • It is your responsibility to make sure that the project can be built, making use of the available resources and technology to you. • The project should be of suitable size to be completed (including design, testing and documentation) in 7 weeks. • Due date : 1st Oct. 2013 20