You are on page 1of 23

Software Process

DPH2F3 Rekayasa Perangkat Lunak


Outline
 Layered technology
 Software Process
 Generic Process (by Pressman)
 Fundamental activities (by Sommerville)

◦ Software specification
◦ Software design and implementation
◦ Software validation
◦ Software evolution
A Layered Technology

Software Engineering

tools

methods

process

a “quality” focus
Software Process
 Framework for the tasks that are required to
build high-quality software.

Process framework
Framework activities
work tasks
work products
milestones & deliverables
QA checkpoints

Umbrella Activities
Framework Activity

• Communication
• Planning
• Modeling
– Analysis of
requirements
– Design
• Construction
– Code generation
– Testing
• Deployment
Communication & Planning
 Communication
◦ Involve communication and collaboration with the
customer
◦ Requirements gathering
 Planning
◦ Describe technical tasks, the risks, and the
resources, the work product, and the schedule
Modeling
 Creation of models for developer and
customer to understand the software
 Detail activities:
◦ Analysis of requirements
◦ Design
Construction & Deployment
 Construction
◦ Combine code generation and testing
 Deployment
◦ Delivery the software from developer to customer
Umbrella Activities

• Software project management


• Formal technical reviews
• Software quality assurance
• Software configuration
management
• Work product preparation and
production
• Reusability management
• Measurement
• Risk management
Fundamental Activities
 Although there are many different software
processes, there are fundamental activities
which are common to all software processes.
These are:
◦ Software specification
◦ Software design and implementation
◦ Software validation
◦ Software evolution
Fundamental Activities (cont’d)
 Software specification
◦ The functionality of the software and constraint
on its operation must be defined
 Software design and implementation
◦ The software to meet the specification must be
produced
 Software validation
◦ The software must be validated to ensure that it
does what the customer wants
 Software evolution
◦ The software must evolve to meet changing
customer needs
Software specification
 Intended to establish what services are
required from the system and the constraints
on the system’s operation and development
 Often called requirements engineering
Software specification (cont’d)
 Four main phase:
◦ Feasibility study
 Detailed estimation is made in this phase
◦ Requirements elicitation and analysis
 Help analyst to understand the system to be specified
◦ Requirements specification
 Translating analysis result into requirements
◦ Requirements validation
 Check requirements for realism, consistency and
completeness
Software specification (cont’d)
Software Design & Implementation
 The process of converting system
specification into an executable system.
 May also involve refinement of software

specification
 Iterative design is the best that designer can

do!!
Specific design process
 Architectural design
 Abstract specification
 Interface design
 Component design
 Data structure design
 Algorithm design
Specific design process (cont’d)
Software Validation
 Include verification and validation
 Intended to show that a system conforms to

its specification and that the system meets


the expectations of the customer buying
system
Testing Process
 Unit testing
 Module testing
 Sub-system testing
 System testing
 Acceptance testing
Testing Process (cont’d)
Software Evolution
 Changes on software can be made at any time
during or after the system development.
 Demarcation between software development

and software evolution


 Rather than separate the processes, it is

better to think that the software engineering


is a evolutionary process
Software Evolution (cont’d)
 Software engineering is a evolutionary
process means software is continually
changed over its lifetime in response to
changing requirements and customer
needs.
Review
 Layered technology
 Software Process
 Generic Process (by Pressman)
 Fundamental activities (by Sommerville)

◦ Software specification
◦ Software design and implementation
◦ Software validation
◦ Software evolution

You might also like