Topic 02.1 - Generic Process Model
Topic 02.1 - Generic Process Model
1:
Generic Process Model
Pristi Sukmasetya, S.Komp, M.Kom
2
References
o [Pressman] Pressman, Roger S., Software
Engineering: A Practitioner’s Approach, 8th
Edition, Mc. Graw Hill International, USA, 2015.
o [Dennis, 2010] Dennis, Alan, et. al., System
Analysis and Design with UML 3rd Edition, John
Wiley & Sons, 2010.
Outline
o Why do we need Process
◦ The meaning of process
o Software Development Process
o Five Generic Framework Activities
o Software Development Process Flows
o Generic Software Development Process
Models
o Prescriptive Software Development Process
Models
4
Why do we need to use a process model?
o Many failed systems were abandoned
because software engineers tried to build
wonderful systems without understanding
how the system would fit with the
organization’s goals
5
Prologue
o Engineering software is both a creative and
a step-by-step process which often
involving many people.
o Engineering software is also an iterative
social learning process.
◦ The outcome is an embodiment of knowledge
collected, distilled and organized as process is
conducted
7
The Meaning of Process
o A process is a series of steps composed of:
◦ activities
◦ actions, and
◦ tasks
that are performed when some work product
is to be created.
o A process defines who is doing what, when,
and how to reach a certain goal (Ivar
Jacobson, Grady Boach, and J Rumbaugh)
8
The Meaning of Process
o A process usually involves a set of tools and
techniques.
o Characteristics of a process:
◦ prescribes all major process activities
◦ uses resources, subject to a set of constraints, and produces
intermediate and final products
◦ may be composed of subprocesses linked together
◦ each process activity has entry and exit criteria
◦ each activity are organized in a sequence
◦ every process has a set of guiding principles
◦ constraints or controls may apply to an activity
9
The Meaning of Process
o Process is also called life cycles when it
involves the building of some product
o Software development process is also called
software life cycle
◦ It describes the life of a software product from its
conception to its implementation, delivery, use
and maintenance.
o Processes impose consistency and structure
on a set of activities.
10
Software Development Process
o Software process is a framework for the
activities, actions, and tasks that are
required to build high-quality software
[Pressman, 2010].
o A structured set of activities required to
develop a software system [Sommerville,
2007].
11
Characteristics of Software Process Model
o [Sommerville, 2007] describes the
characteristic of software process as:
◦ prescribes major activities
◦ utilizes resources, subject to constraints such as
schedule, to produce intermediate and final
results
◦ constraints and controls apply to activities,
resources, and products
◦ constraints on activities: time, budget, tools
◦ controls on activities: config. mgmt, reports
12
A Generic Software Development Process
13
Software Development Process
o An activity strives to achieve a broad
objective (e.g. communication with
stakeholders) and is applied regardless of:
◦ the application domain
◦ size of the project
◦ complexity of the effort, or
◦ degree of rigor with which software engineering
is to be applied
14
Software Development Process
o An action (e.g. architectural design)
encompasses a set of tasks that produce a
major work product (e.g. architectural
design model)
o A task focuses on small, but well-defined
objective (e.g. conducting a unit test) that
produces a tangible outcome.
15
Five Generic Framework Activities
o Communication
o Planning
o Modeling
o Construction
o Deployment
[Pressman, 2010]
21
Communication
o Conducted before any technical work can
commence
o Communicate and collaborate with
customers and other stakeholders
o The intent is to understand stakeholders’
objectives for the project and to gather
requirements that help define software
features and functions
22
Planning
o Any complicated journey can be simplified if a
map exists.
o Planning activity creates a “map” that helps
guide the team as it makes the journey.
o The map is called software project plan (defines
software engineering work)
◦ technical tasks to be conducted
◦ risks that are likely
◦ the resource required, the work product to be
produced, and work schedule
23
Modeling
o Create a “sketch” of the thing so that you’ll
understand the big picture
◦ what it will look like architecturally
◦ how the constituent parts fit together
◦ etc
o The goal is to better understand software
requirements and the design that will
achieve those requirements
24
Construction
o Code generation (either manual or
automated)
o Testing that is required to uncover errors in
the code
25
Deployment
o Completed software is delivered to the
customer who evaluates the delivered
product and provides feedback based on
the evaluation
26
Software Development Process Flows
o Process flow describes how the framework
activities and the actions and tasks that
occur within each framework activity are
organized with respect to sequence and
time.
o There are four process flow, based on
[Pressman, 2010], (see next slide for
illustrations)
27
Software Development Process Flow
28
Software Development Process Flow
Deployment Construction
29
Software Development Process Flow
30
Generic Software Development Process Models
o A software process model is an abstract
representation of a process. It presents a
description of a process from some particular
perspective.
o Process should be:
◦ Visible: Activities should provide clear indications of
progress (deadlines/milestones)
◦ Understandable: Activities and their order of
execution are well-defined
◦ Supportable: Automated support for activities is
available
◦ Usable: Process is acceptable to and usable by
developers
31
QS. At Thalaq : 12
"Allah-lah yang menciptakan tujuh langit dan seperti itu
pula bumi. Perintah Allah berlaku padanya, agar kamu
mengetahui bahwasanya Allah Maha Kuasa atas segala
sesuatu, dan sesungguhnya Allah ilmu-Nya benar-benar
meliputi segala sesuatu."
32