SlideShare una empresa de Scribd logo
1 de 39
Software Process Model
Matakuliah Rekayasa Perangkat Lunak (CS215) – Gasal 2015/2016
Magister Ilmu Komputer - Universitas Budi Luhur
Achmad Solichin, S.Kom, M.T.I (achmatim@gmail.com)
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Overview
• General Principles of Software Engineering
• Software Process
• Software Process Models
• Selecting the Software Process Model.
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Hooker’s General Principles of SE
• #1.The Reason It All Exists
A software system exists for one reason: to provide value to its users. All decisions should
be made with this in mind. Before specifying a system requirement, before noting a piece
of system functionality, before determining the hardware platforms or development
processes, ask yourself questions such as: “Does this add real value to the system?” If the
answer is “no,” don’t do it. All other principles support this one.
• #2. KISS (Keep It Simple, Stupid!)
Software design is not a haphazard process.There are many factors to consider in any
design effort. All design should be as simple as possible, but no simpler.This facilitates
having a more easily understood and easily maintained system.
[Pressman, 2010]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Hooker’s General Principles of SE
• #3. Maintain theVision
A clear vision is essential to the success of a software project.Without one, a project
almost unfailingly ends up being “of two [or more] minds” about itself. Having an
empowered architect who can hold the vision and enforce compliance helps ensure a very
successful software project.
• #4.WhatYou Produce, Others Will Consume
Seldom is an industrial-strength software system constructed and used in a vacuum. In
some way or other, someone else will use, maintain, document, or otherwise depend on
being able to understand your system. So, always specify, design, and implement
knowing someone else will have to understand what you are doing.
[Pressman, 2010]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Hooker’s General Principles of SE
• #5. Be Open to the Future
The systems must be ready to adapt to any changes of computing environment in the
future.
• #6. Plan Ahead for Reuse
Reuse saves time and effort. Planning ahead for reuse reduces the cost and increases the
value of both the reusable components and the systems into which they are incorporated.
• #7.Think!
Placing clear, complete thought before action almost always produces better results.
When you think about something, you are more likely to do it right.
[Pressman, 2010]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Software Process
• A structured set of activities required to develop a software system.
• Many different software processes but all involve:
• Specification – defining what the system should do;
• Design and implementation – defining the organization of the system and
implementing the system;
• Validation – checking that it does what the customer wants;
• Evolution – changing the system in response to changing customer needs.
• A software process model is an abstract representation of a process. It
presents a description of a process from some particular perspective
[Sommerville, 2011]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Software Process Descriptions
• When we describe and discuss processes, we usually talk about the activities
in these processes such as specifying a data model, designing a user
interface, etc. and the ordering of these activities.
• Process descriptions may also include:
• Products, which are the outcomes of a process activity;
• Roles, which reflect the responsibilities of the people involved in the process;
• Pre- and post-conditions, which are statements that are true before and after a process
activity has been enacted or a product produced.
[Sommerville, 2011]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Generic Software Process Model
• A process was defined as a collection of work activities,
actions, and tasks that are performed when some work
product is to be created.
• Generic process framework for software engineering defines
5 framework activities:
• Communication
• Planning
• Modeling
• Construction
• Deployment.
[Pressman, 2010]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Process Flow
[Pressman, 2010]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Task Set
• A task set defines the actual work to be done to accomplish the objectives of a
software engineering action.
• For a small, relatively simple project, the task set for requirements gathering might
look like this:
1. Make a list of stakeholders for the project.
2. Invite all stakeholders to an informal meeting.
3. Ask each stakeholder to make a list of features and functions required.
4. Discuss requirements and build a final list.
5. Prioritize requirements.
6. Note areas of uncertainty
[Pressman, 2010]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Task Set
1. Make a list of stakeholders for the project.
2. Interview each stakeholder separately to
determine overall wants and needs.
3. Build a preliminary list of functions and features
based on stakeholder input.
4. Schedule a series of facilitated application
specification meetings.
5. Conduct meetings.
6. Produce informal user scenarios as part of each
meeting.
7. Refine user scenarios based on stakeholder
feedback.
8. Build a revised list of stakeholder requirements.
9. Use quality function deployment techniques to
prioritize requirements.
10. Package requirements so that they can be
delivered incrementally.
11. Note constraints and restrictions that will be
placed on the system.
12. Discuss methods for validating the system.
[Pressman, 2010]
For a larger, more complex software project:
TheWaterfall Model
[Sommerville, 2011]
[Pressman, 2010]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Waterfall Model Problems
• Inflexible partitioning of the project into distinct stages makes it difficult to
respond to changing customer requirements.
• Therefore, this model is only appropriate when the requirements are well-understood
and changes will be fairly limited during the design process.
• Few business systems have stable requirements.
• The waterfall model is mostly used for large systems engineering projects
where a system is developed at several sites.
• In those circumstances, the plan-driven nature of the waterfall model helps coordinate
the work.
[Sommerville, 2011]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
V-Model
[Pressman, 2010]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
The Incremental Model
[Pressman, 2010]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
The Incremental Model Benefits
• The cost of accommodating changing customer requirements is reduced.
The amount of analysis and documentation that has to be redone is much
less than is required with the waterfall model.
• It is easier to get customer feedback on the development work that has
been done. Customers can comment on demonstrations of the software and
see how much has been implemented.
• More rapid delivery and deployment of useful software to the customer is
possible. Customers are able to use and gain value from the software earlier
than is possible with a waterfall process.
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
[Sommerville, 2011]
The Incremental Model Problems
• The process is not visible.
• Managers need regular deliverables to measure progress. If systems are developed quickly,
it is not cost-effective to produce documents that reflect every version of the system.
• System structure tends to degrade as new increments are added.
• Unless time and money is spent on refactoring to improve the software, regular change
tends to corrupt its structure. Incorporating further software changes becomes increasingly
difficult and costly.
• The problems of incremental development become particularly acute for large,
complex, long-lifetime systems, where different teams develop different parts of
the system.
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
[Sommerville, 2011]
Evolutionary Model: Prototyping
[Pressman, 2010]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
The Prototyping Benefits
[Sommerville, 2011]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
• Improved system usability.
• A closer match to users’ real needs.
• Improved design quality.
• Improved maintainability.
• Reduced development effort.
The Prototyping Problems
[Pressman, 2010]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
• Stakeholders see what appears to be a working version of the software, unaware
that the prototype is held together haphazardly, unaware that in the rush to get it
working you haven’t considered overall software quality or long-term
maintainability.When informed that the product must be rebuilt so that high levels
of quality can be maintained, stakeholders cry foul and demand that “a few fixes”
be applied to make the prototype a working product.Too often, software
development management relents.
• As a software engineer, you often make implementation compromises in order to
get a prototype working quickly. An inappropriate operating system or
programming language may be used simply because it is available and known; an
inefficient algorithm may be implemented simply to demonstrate capability. After
a time, you may become comfortable with these choices and forget all the reasons
why they were inappropriate.The less-than-ideal choice has now become an
integral part of the system
Evolutionary Model:The Spiral
[Pressman, 2010]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Evolutionary Model:The Spiral
[Pressman, 2010]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
• A spiral model is divided into a set of framework activities defined by the software
engineering team.
• The software team performs activities that are implied by a circuit around the spiral
in a clockwise direction, beginning at the center.
• Anchor point milestones—a combination of work products and conditions that are
attained along the path of the spiral—are noted for each evolutionary pass.
• The first circuit around the spiral might result in the development of a product
specification; subsequent passes around the spiral might be used to develop a
prototype and then progressively more sophisticated versions of the software.
• Cost and schedule are adjusted based on feedback derived from the customer after
delivery.
Evolutionary Model:The Spiral
[Sommerville, 2011]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Each loop in the spiral is split into four sectors:
• Objective setting. Specific objectives for that phase of the project are
defined
• Risk assessment and reduction. For each of the identified project risks, a
detailed analysis is carried out.
• Development and validation. After risk evaluation, a development model for
the system is chosen.
• Planning.The project is reviewed and a decision made whether to continue
with a further loop of the spiral.
Evolutionary Model: Concurrent
[Pressman, 2010]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Rapid Application Development (RAD)
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Rapid Application Development (RAD)
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
• Planning: In this phase, the tasks and activities are planned.The deliverables produced from this
phase are project definition, project management procedures, and a work plan.
• Analysis:The requirements are gathered at a high level instead of at the precise set of detailed
requirements level. Incase the user changes the requirements, RAD allows changing these
requirements over a period of time.This phase determines plans for testing, training and
implementation processes.
• Prototyping:The requirements defined in the analysis phase are used to develop a prototype of
the application. A final system is then developed with the help of the prototype.
• Repeat analysis and prototyping as necessary:When the prototype is developed, it is sent to the
user for evaluating its functioning. After the modified requirements are available, the prototype
is updated according to the new set of requirements and is again sent to the user for analysis.
• Conclusion of prototyping: As a prototype is an iterative process, the project manager and user
agree on a fixed number of processes. Ideally, three iterations are considered. After the third
iteration, additional tasks for developing the software are performed and then tested. Last of all,
the tested software is implemented.
• Implementation:The developed software, which is fully functioning, is deployed at the user's
end.
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Rapid Application Development (RAD)
• Deliverables are easier to transfer as high-level
abstractions, scripts, and intermediate codes
are used.
• Provides greater flexibility as redesign is done
according to the developer.
• Results in reduction of manual coding due to
code generators and code reuse.
• Encourages user involvement.
• Possibility of lesser defects due to prototyping
in nature.
• Useful for only larger projects.
• RAD projects fail if there is no commitment by
the developers or the users to get software
completed on time.
• Not appropriate when technical risks are high.
This occurs when the new application utilizes
new technology or when new software
requires a high degree of interoperability with
existing system.
• As the interests of users and developers can
diverge from single iteration to next,
requirements may not converge in RAD model.
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Advantages Disadvantages
Specialized Process Model
[Pressman, 2010]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
• Component based development—the process to apply when reuse is a
development objective
• Formal methods—emphasizes the mathematical specification of
requirements
• Aspect-Oriented Software Development—provides a process and
methodological approach for defining, specifying, designing, and
constructing aspects
• Unified Process—a “use-case driven, architecture-centric, iterative and
incremental” software process closely aligned with the Unified Modeling
Language (UML). Proposed by Ivar Jacobson, Grady Booch, and James
Rumbaugh at the early 1990-s
The Unified Process
[Pressman, 2010]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
The Unified Process Phases
[Sommerville, 2011]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
• Inception.The goal of the inception phase is to establish a business case for the
system.You should identify all external entities (people and systems) that will
interact with the system and define these interactions.You then use this
information to assess the contribution that the system makes to the business. If
this contribution is minor, then the project may be cancelled after this phase.
• Elaboration.The goals of the elaboration phase are to develop an understanding of
the problem domain, establish an architectural framework for the system, develop
the project plan, and identify key project risks. On completion of this phase you
should have a requirements model for the system, which may be a set of UML use-
cases, an architectural description, and a development plan for the software.
The Unified Process Phases
[Sommerville, 2011]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
• Construction.The construction phase involves system design, programming, and
testing. Parts of the system are developed in parallel and integrated during this
phase. On completion of this phase, you should have a working software system
and associated documentation that is ready for delivery to users.
• Transition.The final phase of the RUP is concerned with moving the system from
the development community to the user community and making it work in a real
environment.This is something that is ignored in most software process models
but is, in fact, an expensive and sometimes problematic activity. On completion of
this phase, you should have a documented software system that is working
correctly in its operational environment.
Static Workflow of Rational Unified Process
[Sommerville, 2011]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Workflow Description
Business modelling The business processes are modelled using business use
cases.
Requirements Actors who interact with the system are identified and use
cases are developed to model the system requirements.
Analysis and design A design model is created and documented using
architectural models, component models, object models and
sequence models.
Implementation The components in the system are implemented and
structured into implementation sub-systems. Automatic
code generation from design models helps accelerate this
process.
Static Workflow of Rational Unified Process
[Sommerville, 2011]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Workflow Description
Testing Testing is an iterative process that is carried out in
conjunction with implementation. System testing follows
the completion of the implementation.
Deployment A product release is created, distributed to users and
installed in their workplace.
Configuration and
change management
This supporting workflow managed changes to the system
Project management This supporting workflow manages the system development
Environment This workflow is concerned with making appropriate
software tools available to the software development team.
Best Practices of Rational Unified Process
[Sommerville, 2011]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
• Develop software iteratively. Plan increments based on customer priorities and
deliver highest priority increments first.
• Manage requirements. Explicitly document customer requirements and keep track
of changes to these requirements.
• Use component-based architectures. Organize the system architecture as a set of
reusable components.
• Visually model software. Use graphical UML models to present static and dynamic
views of the software.
• Verify software quality. Ensure that the software meet’s organizational quality
standards.
• Control changes to software. Manage software changes using a change
management system and configuration management tools.
Selecting Software Models
ProjectType and
Associated Risks
Waterfall Prototype Spiral RAD Formal
Methods
Reliability
requirements
No No Yes No Yes
Stable funds Yes Yes No Yes Yes
Reuse
components
No Yes Yes Yes Yes
Tight project
schedule
No Yes Yes Yes No
Scarcity of
resources
No Yes Yes No No
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Table Selections on the Basis of the ProjectType and Associated Risks
Selecting Software Models
Requirements of the
Project
Waterfall Prototype Spiral RAD Formal
Methods
Requirements are
defined early in SDLC
Yes No No Yes No
Requirements are
easily defined and
understandable
Yes No No Yes Yes
Requirements are
changed frequently
No Yes Yes No Yes
Requirements indicate
a complex System
No Yes Yes No No
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Table Selection on the Basis of the Requirements of the Project
Selecting Software Models
User Involvement Waterfall Prototype Spiral RAD Formal
Methods
Requires Limited User
Involvement
Yes No Yes No Yes
User participation in
all phases
No Yes No Yes No
No experience of
participating in similar
projects
No Yes Yes No Yes
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Table Selection on the Basis of the Users
References
• Roger S. Pressman, 2010, Software Engineering: A Practitioner’s Approach 7th
edition, McGraw-Hill.
• Ian Sommerville, 2011, Software Engineering 9th edition, Addison-Wesley.
• DineshThakur, Criteria for Selecting Software Engineering Process Models, URL:
http://ecomputernotes.com/software-engineering/criteria-for-selecting-software-
process-models . Diakses 15 Juli 2015
• DineshThakur, Rapid Application Development (RAD) Model and its Advantages
and Disadvantages of RAD Model, URL: http://ecomputernotes.com/software-
engineering/rapid-application-development. Diakses 15 Juli 2015
Thanks
• Achmad Solichin, S.Kom, M.T.I
• achmatim@gmail.com
• Twitter: @achmatim
• Facebook: facebook.com/achmatim
• Web: http://achmatim.net
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur

Más contenido relacionado

La actualidad más candente

Soft Eng - Software Process
Soft  Eng - Software ProcessSoft  Eng - Software Process
Soft Eng - Software ProcessJomel Penalba
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality AttributesHayim Makabee
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process FrameworkJAINAM KAPADIYA
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAtul Karmyal
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software EngineeringVarsha Ajith
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)ShudipPal
 
Process models
Process modelsProcess models
Process modelsStudent
 
System Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureSystem Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureAdnan Masood
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notesSudarshan Dhondaley
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringZahoor Khan
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life CycleSlideshare
 
What is Regression Testing? | Edureka
What is Regression Testing? | EdurekaWhat is Regression Testing? | Edureka
What is Regression Testing? | EdurekaEdureka!
 
Need for Software Engineering
Need for Software EngineeringNeed for Software Engineering
Need for Software EngineeringUpekha Vandebona
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tacticsPreeti Mishra
 
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)IrtazaAfzal3
 

La actualidad más candente (20)

Soft Eng - Software Process
Soft  Eng - Software ProcessSoft  Eng - Software Process
Soft Eng - Software Process
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
 
Process models
Process modelsProcess models
Process models
 
System Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureSystem Quality Attributes for Software Architecture
System Quality Attributes for Software Architecture
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
What is Regression Testing? | Edureka
What is Regression Testing? | EdurekaWhat is Regression Testing? | Edureka
What is Regression Testing? | Edureka
 
Need for Software Engineering
Need for Software EngineeringNeed for Software Engineering
Need for Software Engineering
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
 

Destacado

Introduction to Software Engineering & Information Technology
Introduction to Software Engineering & Information TechnologyIntroduction to Software Engineering & Information Technology
Introduction to Software Engineering & Information TechnologyGaditek
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringAchmad Solichin
 
What is software engineering
What is software engineeringWhat is software engineering
What is software engineeringJennifer Polack
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Fadhil Ismail
 
Introduction to Human Resource Management - HRM Dessler 12e Chapter 01
Introduction to Human Resource Management - HRM Dessler 12e Chapter 01Introduction to Human Resource Management - HRM Dessler 12e Chapter 01
Introduction to Human Resource Management - HRM Dessler 12e Chapter 01Kashif Sohail
 
Introduction to H.R.M - Chapter#01 - Presentation
Introduction to H.R.M - Chapter#01 - PresentationIntroduction to H.R.M - Chapter#01 - Presentation
Introduction to H.R.M - Chapter#01 - PresentationAmir Hussain
 
Model-Driven Software Engineering in Practice - Chapter 1 - Introduction
Model-Driven Software Engineering in Practice - Chapter 1 - IntroductionModel-Driven Software Engineering in Practice - Chapter 1 - Introduction
Model-Driven Software Engineering in Practice - Chapter 1 - IntroductionMarco Brambilla
 
Software engineering presentation
Software engineering presentationSoftware engineering presentation
Software engineering presentationMJ Ferdous
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software EngineeringLeyla Bonilla
 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1Siddharth Ayer
 
Ch1-Software Engineering 9
Ch1-Software Engineering 9Ch1-Software Engineering 9
Ch1-Software Engineering 9Ian Sommerville
 

Destacado (19)

Introduction to Software Engineering & Information Technology
Introduction to Software Engineering & Information TechnologyIntroduction to Software Engineering & Information Technology
Introduction to Software Engineering & Information Technology
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
 
What is software engineering
What is software engineeringWhat is software engineering
What is software engineering
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
software engineering
software engineeringsoftware engineering
software engineering
 
Introduction to Human Resource Management - HRM Dessler 12e Chapter 01
Introduction to Human Resource Management - HRM Dessler 12e Chapter 01Introduction to Human Resource Management - HRM Dessler 12e Chapter 01
Introduction to Human Resource Management - HRM Dessler 12e Chapter 01
 
Introduction to H.R.M - Chapter#01 - Presentation
Introduction to H.R.M - Chapter#01 - PresentationIntroduction to H.R.M - Chapter#01 - Presentation
Introduction to H.R.M - Chapter#01 - Presentation
 
Ch1 introduction
Ch1 introductionCh1 introduction
Ch1 introduction
 
Model-Driven Software Engineering in Practice - Chapter 1 - Introduction
Model-Driven Software Engineering in Practice - Chapter 1 - IntroductionModel-Driven Software Engineering in Practice - Chapter 1 - Introduction
Model-Driven Software Engineering in Practice - Chapter 1 - Introduction
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
 
Software engineering presentation
Software engineering presentationSoftware engineering presentation
Software engineering presentation
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software Engineering
 
Chapter 1: Introduction to HRM
Chapter 1: Introduction to HRMChapter 1: Introduction to HRM
Chapter 1: Introduction to HRM
 
1. introduction to hrm
1. introduction to hrm1. introduction to hrm
1. introduction to hrm
 
Web engineering lecture 1
Web engineering lecture 1Web engineering lecture 1
Web engineering lecture 1
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1
 
Ch1-Software Engineering 9
Ch1-Software Engineering 9Ch1-Software Engineering 9
Ch1-Software Engineering 9
 

Similar a Lecture 02 Software Process Model

Lecture 03 Software Risk Management
Lecture 03 Software Risk ManagementLecture 03 Software Risk Management
Lecture 03 Software Risk ManagementAchmad Solichin
 
Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering Huda Alameen
 
“Scrumbear” framework for solving traditional scrum model problems
“Scrumbear” framework for solving traditional scrum model problems“Scrumbear” framework for solving traditional scrum model problems
“Scrumbear” framework for solving traditional scrum model problemsjournalBEEI
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineeringMadhav Suratkar
 
Pertemuan 2-apbo-software-developmeng-processing
Pertemuan 2-apbo-software-developmeng-processingPertemuan 2-apbo-software-developmeng-processing
Pertemuan 2-apbo-software-developmeng-processingAbi Bobon
 
Lecture 1 - Requirement Engineering.pptx
Lecture 1 - Requirement Engineering.pptxLecture 1 - Requirement Engineering.pptx
Lecture 1 - Requirement Engineering.pptxAbdulRaheem254960
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsNoor Ul Hudda Memon
 
Usability Engineering Presentation Slides
Usability Engineering Presentation SlidesUsability Engineering Presentation Slides
Usability Engineering Presentation Slideswajahat Gul
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineeringArun Nair
 
Student feedback system
Student feedback systemStudent feedback system
Student feedback systemAkshay Surve
 
Lecture 06 Software Configuration Management
Lecture 06 Software Configuration ManagementLecture 06 Software Configuration Management
Lecture 06 Software Configuration ManagementAchmad Solichin
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03YousefYassin5
 
Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsNishu Rastogi
 
Software lifecycle model report
Software lifecycle model reportSoftware lifecycle model report
Software lifecycle model reportAshutosh Singh
 
Chapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdfChapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdfVikasRai405977
 

Similar a Lecture 02 Software Process Model (20)

Lecture 03 Software Risk Management
Lecture 03 Software Risk ManagementLecture 03 Software Risk Management
Lecture 03 Software Risk Management
 
Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering
 
Se lec 3
Se lec 3Se lec 3
Se lec 3
 
“Scrumbear” framework for solving traditional scrum model problems
“Scrumbear” framework for solving traditional scrum model problems“Scrumbear” framework for solving traditional scrum model problems
“Scrumbear” framework for solving traditional scrum model problems
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineering
 
Pertemuan 2-apbo-software-developmeng-processing
Pertemuan 2-apbo-software-developmeng-processingPertemuan 2-apbo-software-developmeng-processing
Pertemuan 2-apbo-software-developmeng-processing
 
Lecture 1 - Requirement Engineering.pptx
Lecture 1 - Requirement Engineering.pptxLecture 1 - Requirement Engineering.pptx
Lecture 1 - Requirement Engineering.pptx
 
Week_02.pptx
Week_02.pptxWeek_02.pptx
Week_02.pptx
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
 
Usability Engineering Presentation Slides
Usability Engineering Presentation SlidesUsability Engineering Presentation Slides
Usability Engineering Presentation Slides
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
 
Student feedback system
Student feedback systemStudent feedback system
Student feedback system
 
Lecture 06 Software Configuration Management
Lecture 06 Software Configuration ManagementLecture 06 Software Configuration Management
Lecture 06 Software Configuration Management
 
Process Models IN software Engineering
Process Models IN software EngineeringProcess Models IN software Engineering
Process Models IN software Engineering
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03
 
Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process Models
 
Software lifecycle model report
Software lifecycle model reportSoftware lifecycle model report
Software lifecycle model report
 
SDET UNIT 1.pptx
SDET UNIT 1.pptxSDET UNIT 1.pptx
SDET UNIT 1.pptx
 
Chapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdfChapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdf
 
SE Lecture 2.ppt
SE Lecture 2.pptSE Lecture 2.ppt
SE Lecture 2.ppt
 

Más de Achmad Solichin

Kuliah Umum - Tips Publikasi Jurnal SINTA untuk Mahasiswa Galau (6 Agustus 2022)
Kuliah Umum - Tips Publikasi Jurnal SINTA untuk Mahasiswa Galau (6 Agustus 2022)Kuliah Umum - Tips Publikasi Jurnal SINTA untuk Mahasiswa Galau (6 Agustus 2022)
Kuliah Umum - Tips Publikasi Jurnal SINTA untuk Mahasiswa Galau (6 Agustus 2022)Achmad Solichin
 
Materi Webinar Web 3.0 (16 Juli 2022)
Materi Webinar Web 3.0 (16 Juli 2022)Materi Webinar Web 3.0 (16 Juli 2022)
Materi Webinar Web 3.0 (16 Juli 2022)Achmad Solichin
 
Webinar: Kesadaran Keamanan Informasi (3 Desember 2021)
Webinar: Kesadaran Keamanan Informasi (3 Desember 2021)Webinar: Kesadaran Keamanan Informasi (3 Desember 2021)
Webinar: Kesadaran Keamanan Informasi (3 Desember 2021)Achmad Solichin
 
Webinar PHP-ID: Mari Mengenal Logika Fuzzy (Fuzzy Logic)
Webinar PHP-ID: Mari Mengenal Logika Fuzzy (Fuzzy Logic)Webinar PHP-ID: Mari Mengenal Logika Fuzzy (Fuzzy Logic)
Webinar PHP-ID: Mari Mengenal Logika Fuzzy (Fuzzy Logic)Achmad Solichin
 
Webinar PHP-ID: Machine Learning dengan PHP
Webinar PHP-ID: Machine Learning dengan PHPWebinar PHP-ID: Machine Learning dengan PHP
Webinar PHP-ID: Machine Learning dengan PHPAchmad Solichin
 
Webinar Data Mining dengan Rapidminer | Universitas Budi Luhur
Webinar Data Mining dengan Rapidminer | Universitas Budi LuhurWebinar Data Mining dengan Rapidminer | Universitas Budi Luhur
Webinar Data Mining dengan Rapidminer | Universitas Budi LuhurAchmad Solichin
 
TREN DAN IDE RISET BIDANG DATA MINING TERBARU
TREN DAN IDE RISET BIDANG DATA MINING TERBARUTREN DAN IDE RISET BIDANG DATA MINING TERBARU
TREN DAN IDE RISET BIDANG DATA MINING TERBARUAchmad Solichin
 
Metodologi Riset: Literature Review
Metodologi Riset: Literature ReviewMetodologi Riset: Literature Review
Metodologi Riset: Literature ReviewAchmad Solichin
 
Materi Seminar: Artificial Intelligence dengan PHP
Materi Seminar: Artificial Intelligence dengan PHPMateri Seminar: Artificial Intelligence dengan PHP
Materi Seminar: Artificial Intelligence dengan PHPAchmad Solichin
 
Percobaan Perpindahan Kalor melalui Konduksi, Konveksi dan Radiasi
Percobaan Perpindahan Kalor melalui Konduksi, Konveksi dan RadiasiPercobaan Perpindahan Kalor melalui Konduksi, Konveksi dan Radiasi
Percobaan Perpindahan Kalor melalui Konduksi, Konveksi dan RadiasiAchmad Solichin
 
Metodologi Riset: Literature Review
Metodologi Riset: Literature ReviewMetodologi Riset: Literature Review
Metodologi Riset: Literature ReviewAchmad Solichin
 
Depth First Search (DFS) pada Graph
Depth First Search (DFS) pada GraphDepth First Search (DFS) pada Graph
Depth First Search (DFS) pada GraphAchmad Solichin
 
Breadth First Search (BFS) pada Graph
Breadth First Search (BFS) pada GraphBreadth First Search (BFS) pada Graph
Breadth First Search (BFS) pada GraphAchmad Solichin
 
Binary Search Tree (BST) - Algoritma dan Struktur Data
Binary Search Tree (BST) - Algoritma dan Struktur DataBinary Search Tree (BST) - Algoritma dan Struktur Data
Binary Search Tree (BST) - Algoritma dan Struktur DataAchmad Solichin
 
Computer Vision di Era Industri 4.0
Computer Vision di Era Industri 4.0Computer Vision di Era Industri 4.0
Computer Vision di Era Industri 4.0Achmad Solichin
 
Seminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web ProgrammerSeminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web ProgrammerAchmad Solichin
 
The Big 5: Future IT Trends
The Big 5: Future IT TrendsThe Big 5: Future IT Trends
The Big 5: Future IT TrendsAchmad Solichin
 
Seminar: PHP Developer for Dummies
Seminar: PHP Developer for DummiesSeminar: PHP Developer for Dummies
Seminar: PHP Developer for DummiesAchmad Solichin
 
Pertemuan 1 - Algoritma dan Struktur Data 1
Pertemuan 1 - Algoritma dan Struktur Data 1Pertemuan 1 - Algoritma dan Struktur Data 1
Pertemuan 1 - Algoritma dan Struktur Data 1Achmad Solichin
 

Más de Achmad Solichin (20)

Kuliah Umum - Tips Publikasi Jurnal SINTA untuk Mahasiswa Galau (6 Agustus 2022)
Kuliah Umum - Tips Publikasi Jurnal SINTA untuk Mahasiswa Galau (6 Agustus 2022)Kuliah Umum - Tips Publikasi Jurnal SINTA untuk Mahasiswa Galau (6 Agustus 2022)
Kuliah Umum - Tips Publikasi Jurnal SINTA untuk Mahasiswa Galau (6 Agustus 2022)
 
Materi Webinar Web 3.0 (16 Juli 2022)
Materi Webinar Web 3.0 (16 Juli 2022)Materi Webinar Web 3.0 (16 Juli 2022)
Materi Webinar Web 3.0 (16 Juli 2022)
 
Webinar: Kesadaran Keamanan Informasi (3 Desember 2021)
Webinar: Kesadaran Keamanan Informasi (3 Desember 2021)Webinar: Kesadaran Keamanan Informasi (3 Desember 2021)
Webinar: Kesadaran Keamanan Informasi (3 Desember 2021)
 
Webinar PHP-ID: Mari Mengenal Logika Fuzzy (Fuzzy Logic)
Webinar PHP-ID: Mari Mengenal Logika Fuzzy (Fuzzy Logic)Webinar PHP-ID: Mari Mengenal Logika Fuzzy (Fuzzy Logic)
Webinar PHP-ID: Mari Mengenal Logika Fuzzy (Fuzzy Logic)
 
Webinar PHP-ID: Machine Learning dengan PHP
Webinar PHP-ID: Machine Learning dengan PHPWebinar PHP-ID: Machine Learning dengan PHP
Webinar PHP-ID: Machine Learning dengan PHP
 
Webinar Data Mining dengan Rapidminer | Universitas Budi Luhur
Webinar Data Mining dengan Rapidminer | Universitas Budi LuhurWebinar Data Mining dengan Rapidminer | Universitas Budi Luhur
Webinar Data Mining dengan Rapidminer | Universitas Budi Luhur
 
TREN DAN IDE RISET BIDANG DATA MINING TERBARU
TREN DAN IDE RISET BIDANG DATA MINING TERBARUTREN DAN IDE RISET BIDANG DATA MINING TERBARU
TREN DAN IDE RISET BIDANG DATA MINING TERBARU
 
Metodologi Riset: Literature Review
Metodologi Riset: Literature ReviewMetodologi Riset: Literature Review
Metodologi Riset: Literature Review
 
Materi Seminar: Artificial Intelligence dengan PHP
Materi Seminar: Artificial Intelligence dengan PHPMateri Seminar: Artificial Intelligence dengan PHP
Materi Seminar: Artificial Intelligence dengan PHP
 
Percobaan Perpindahan Kalor melalui Konduksi, Konveksi dan Radiasi
Percobaan Perpindahan Kalor melalui Konduksi, Konveksi dan RadiasiPercobaan Perpindahan Kalor melalui Konduksi, Konveksi dan Radiasi
Percobaan Perpindahan Kalor melalui Konduksi, Konveksi dan Radiasi
 
Metodologi Riset: Literature Review
Metodologi Riset: Literature ReviewMetodologi Riset: Literature Review
Metodologi Riset: Literature Review
 
Depth First Search (DFS) pada Graph
Depth First Search (DFS) pada GraphDepth First Search (DFS) pada Graph
Depth First Search (DFS) pada Graph
 
Breadth First Search (BFS) pada Graph
Breadth First Search (BFS) pada GraphBreadth First Search (BFS) pada Graph
Breadth First Search (BFS) pada Graph
 
Binary Search Tree (BST) - Algoritma dan Struktur Data
Binary Search Tree (BST) - Algoritma dan Struktur DataBinary Search Tree (BST) - Algoritma dan Struktur Data
Binary Search Tree (BST) - Algoritma dan Struktur Data
 
Computer Vision di Era Industri 4.0
Computer Vision di Era Industri 4.0Computer Vision di Era Industri 4.0
Computer Vision di Era Industri 4.0
 
Seminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web ProgrammerSeminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web Programmer
 
The Big 5: Future IT Trends
The Big 5: Future IT TrendsThe Big 5: Future IT Trends
The Big 5: Future IT Trends
 
Modern PHP Developer
Modern PHP DeveloperModern PHP Developer
Modern PHP Developer
 
Seminar: PHP Developer for Dummies
Seminar: PHP Developer for DummiesSeminar: PHP Developer for Dummies
Seminar: PHP Developer for Dummies
 
Pertemuan 1 - Algoritma dan Struktur Data 1
Pertemuan 1 - Algoritma dan Struktur Data 1Pertemuan 1 - Algoritma dan Struktur Data 1
Pertemuan 1 - Algoritma dan Struktur Data 1
 

Último

Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...RKavithamani
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 

Último (20)

Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 

Lecture 02 Software Process Model

  • 1. Software Process Model Matakuliah Rekayasa Perangkat Lunak (CS215) – Gasal 2015/2016 Magister Ilmu Komputer - Universitas Budi Luhur Achmad Solichin, S.Kom, M.T.I (achmatim@gmail.com) CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 2. Overview • General Principles of Software Engineering • Software Process • Software Process Models • Selecting the Software Process Model. CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 3. Hooker’s General Principles of SE • #1.The Reason It All Exists A software system exists for one reason: to provide value to its users. All decisions should be made with this in mind. Before specifying a system requirement, before noting a piece of system functionality, before determining the hardware platforms or development processes, ask yourself questions such as: “Does this add real value to the system?” If the answer is “no,” don’t do it. All other principles support this one. • #2. KISS (Keep It Simple, Stupid!) Software design is not a haphazard process.There are many factors to consider in any design effort. All design should be as simple as possible, but no simpler.This facilitates having a more easily understood and easily maintained system. [Pressman, 2010] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 4. Hooker’s General Principles of SE • #3. Maintain theVision A clear vision is essential to the success of a software project.Without one, a project almost unfailingly ends up being “of two [or more] minds” about itself. Having an empowered architect who can hold the vision and enforce compliance helps ensure a very successful software project. • #4.WhatYou Produce, Others Will Consume Seldom is an industrial-strength software system constructed and used in a vacuum. In some way or other, someone else will use, maintain, document, or otherwise depend on being able to understand your system. So, always specify, design, and implement knowing someone else will have to understand what you are doing. [Pressman, 2010] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 5. Hooker’s General Principles of SE • #5. Be Open to the Future The systems must be ready to adapt to any changes of computing environment in the future. • #6. Plan Ahead for Reuse Reuse saves time and effort. Planning ahead for reuse reduces the cost and increases the value of both the reusable components and the systems into which they are incorporated. • #7.Think! Placing clear, complete thought before action almost always produces better results. When you think about something, you are more likely to do it right. [Pressman, 2010] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 6. Software Process • A structured set of activities required to develop a software system. • Many different software processes but all involve: • Specification – defining what the system should do; • Design and implementation – defining the organization of the system and implementing the system; • Validation – checking that it does what the customer wants; • Evolution – changing the system in response to changing customer needs. • A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective [Sommerville, 2011] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 7. Software Process Descriptions • When we describe and discuss processes, we usually talk about the activities in these processes such as specifying a data model, designing a user interface, etc. and the ordering of these activities. • Process descriptions may also include: • Products, which are the outcomes of a process activity; • Roles, which reflect the responsibilities of the people involved in the process; • Pre- and post-conditions, which are statements that are true before and after a process activity has been enacted or a product produced. [Sommerville, 2011] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 8. Generic Software Process Model • A process was defined as a collection of work activities, actions, and tasks that are performed when some work product is to be created. • Generic process framework for software engineering defines 5 framework activities: • Communication • Planning • Modeling • Construction • Deployment. [Pressman, 2010] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 9. Process Flow [Pressman, 2010] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 10. Task Set • A task set defines the actual work to be done to accomplish the objectives of a software engineering action. • For a small, relatively simple project, the task set for requirements gathering might look like this: 1. Make a list of stakeholders for the project. 2. Invite all stakeholders to an informal meeting. 3. Ask each stakeholder to make a list of features and functions required. 4. Discuss requirements and build a final list. 5. Prioritize requirements. 6. Note areas of uncertainty [Pressman, 2010] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 11. CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur Task Set 1. Make a list of stakeholders for the project. 2. Interview each stakeholder separately to determine overall wants and needs. 3. Build a preliminary list of functions and features based on stakeholder input. 4. Schedule a series of facilitated application specification meetings. 5. Conduct meetings. 6. Produce informal user scenarios as part of each meeting. 7. Refine user scenarios based on stakeholder feedback. 8. Build a revised list of stakeholder requirements. 9. Use quality function deployment techniques to prioritize requirements. 10. Package requirements so that they can be delivered incrementally. 11. Note constraints and restrictions that will be placed on the system. 12. Discuss methods for validating the system. [Pressman, 2010] For a larger, more complex software project:
  • 12. TheWaterfall Model [Sommerville, 2011] [Pressman, 2010] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 13. Waterfall Model Problems • Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements. • Therefore, this model is only appropriate when the requirements are well-understood and changes will be fairly limited during the design process. • Few business systems have stable requirements. • The waterfall model is mostly used for large systems engineering projects where a system is developed at several sites. • In those circumstances, the plan-driven nature of the waterfall model helps coordinate the work. [Sommerville, 2011] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 14. V-Model [Pressman, 2010] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 15. The Incremental Model [Pressman, 2010] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 16. The Incremental Model Benefits • The cost of accommodating changing customer requirements is reduced. The amount of analysis and documentation that has to be redone is much less than is required with the waterfall model. • It is easier to get customer feedback on the development work that has been done. Customers can comment on demonstrations of the software and see how much has been implemented. • More rapid delivery and deployment of useful software to the customer is possible. Customers are able to use and gain value from the software earlier than is possible with a waterfall process. CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur [Sommerville, 2011]
  • 17. The Incremental Model Problems • The process is not visible. • Managers need regular deliverables to measure progress. If systems are developed quickly, it is not cost-effective to produce documents that reflect every version of the system. • System structure tends to degrade as new increments are added. • Unless time and money is spent on refactoring to improve the software, regular change tends to corrupt its structure. Incorporating further software changes becomes increasingly difficult and costly. • The problems of incremental development become particularly acute for large, complex, long-lifetime systems, where different teams develop different parts of the system. CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur [Sommerville, 2011]
  • 18. Evolutionary Model: Prototyping [Pressman, 2010] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 19. The Prototyping Benefits [Sommerville, 2011] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur • Improved system usability. • A closer match to users’ real needs. • Improved design quality. • Improved maintainability. • Reduced development effort.
  • 20. The Prototyping Problems [Pressman, 2010] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur • Stakeholders see what appears to be a working version of the software, unaware that the prototype is held together haphazardly, unaware that in the rush to get it working you haven’t considered overall software quality or long-term maintainability.When informed that the product must be rebuilt so that high levels of quality can be maintained, stakeholders cry foul and demand that “a few fixes” be applied to make the prototype a working product.Too often, software development management relents. • As a software engineer, you often make implementation compromises in order to get a prototype working quickly. An inappropriate operating system or programming language may be used simply because it is available and known; an inefficient algorithm may be implemented simply to demonstrate capability. After a time, you may become comfortable with these choices and forget all the reasons why they were inappropriate.The less-than-ideal choice has now become an integral part of the system
  • 21. Evolutionary Model:The Spiral [Pressman, 2010] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 22. Evolutionary Model:The Spiral [Pressman, 2010] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur • A spiral model is divided into a set of framework activities defined by the software engineering team. • The software team performs activities that are implied by a circuit around the spiral in a clockwise direction, beginning at the center. • Anchor point milestones—a combination of work products and conditions that are attained along the path of the spiral—are noted for each evolutionary pass. • The first circuit around the spiral might result in the development of a product specification; subsequent passes around the spiral might be used to develop a prototype and then progressively more sophisticated versions of the software. • Cost and schedule are adjusted based on feedback derived from the customer after delivery.
  • 23. Evolutionary Model:The Spiral [Sommerville, 2011] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur Each loop in the spiral is split into four sectors: • Objective setting. Specific objectives for that phase of the project are defined • Risk assessment and reduction. For each of the identified project risks, a detailed analysis is carried out. • Development and validation. After risk evaluation, a development model for the system is chosen. • Planning.The project is reviewed and a decision made whether to continue with a further loop of the spiral.
  • 24. Evolutionary Model: Concurrent [Pressman, 2010] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 25. Rapid Application Development (RAD) CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 26. Rapid Application Development (RAD) CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur • Planning: In this phase, the tasks and activities are planned.The deliverables produced from this phase are project definition, project management procedures, and a work plan. • Analysis:The requirements are gathered at a high level instead of at the precise set of detailed requirements level. Incase the user changes the requirements, RAD allows changing these requirements over a period of time.This phase determines plans for testing, training and implementation processes. • Prototyping:The requirements defined in the analysis phase are used to develop a prototype of the application. A final system is then developed with the help of the prototype. • Repeat analysis and prototyping as necessary:When the prototype is developed, it is sent to the user for evaluating its functioning. After the modified requirements are available, the prototype is updated according to the new set of requirements and is again sent to the user for analysis. • Conclusion of prototyping: As a prototype is an iterative process, the project manager and user agree on a fixed number of processes. Ideally, three iterations are considered. After the third iteration, additional tasks for developing the software are performed and then tested. Last of all, the tested software is implemented. • Implementation:The developed software, which is fully functioning, is deployed at the user's end.
  • 27. CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur Rapid Application Development (RAD) • Deliverables are easier to transfer as high-level abstractions, scripts, and intermediate codes are used. • Provides greater flexibility as redesign is done according to the developer. • Results in reduction of manual coding due to code generators and code reuse. • Encourages user involvement. • Possibility of lesser defects due to prototyping in nature. • Useful for only larger projects. • RAD projects fail if there is no commitment by the developers or the users to get software completed on time. • Not appropriate when technical risks are high. This occurs when the new application utilizes new technology or when new software requires a high degree of interoperability with existing system. • As the interests of users and developers can diverge from single iteration to next, requirements may not converge in RAD model. CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur Advantages Disadvantages
  • 28. Specialized Process Model [Pressman, 2010] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur • Component based development—the process to apply when reuse is a development objective • Formal methods—emphasizes the mathematical specification of requirements • Aspect-Oriented Software Development—provides a process and methodological approach for defining, specifying, designing, and constructing aspects • Unified Process—a “use-case driven, architecture-centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML). Proposed by Ivar Jacobson, Grady Booch, and James Rumbaugh at the early 1990-s
  • 29. The Unified Process [Pressman, 2010] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 30. The Unified Process Phases [Sommerville, 2011] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur • Inception.The goal of the inception phase is to establish a business case for the system.You should identify all external entities (people and systems) that will interact with the system and define these interactions.You then use this information to assess the contribution that the system makes to the business. If this contribution is minor, then the project may be cancelled after this phase. • Elaboration.The goals of the elaboration phase are to develop an understanding of the problem domain, establish an architectural framework for the system, develop the project plan, and identify key project risks. On completion of this phase you should have a requirements model for the system, which may be a set of UML use- cases, an architectural description, and a development plan for the software.
  • 31. The Unified Process Phases [Sommerville, 2011] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur • Construction.The construction phase involves system design, programming, and testing. Parts of the system are developed in parallel and integrated during this phase. On completion of this phase, you should have a working software system and associated documentation that is ready for delivery to users. • Transition.The final phase of the RUP is concerned with moving the system from the development community to the user community and making it work in a real environment.This is something that is ignored in most software process models but is, in fact, an expensive and sometimes problematic activity. On completion of this phase, you should have a documented software system that is working correctly in its operational environment.
  • 32. Static Workflow of Rational Unified Process [Sommerville, 2011] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur Workflow Description Business modelling The business processes are modelled using business use cases. Requirements Actors who interact with the system are identified and use cases are developed to model the system requirements. Analysis and design A design model is created and documented using architectural models, component models, object models and sequence models. Implementation The components in the system are implemented and structured into implementation sub-systems. Automatic code generation from design models helps accelerate this process.
  • 33. Static Workflow of Rational Unified Process [Sommerville, 2011] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur Workflow Description Testing Testing is an iterative process that is carried out in conjunction with implementation. System testing follows the completion of the implementation. Deployment A product release is created, distributed to users and installed in their workplace. Configuration and change management This supporting workflow managed changes to the system Project management This supporting workflow manages the system development Environment This workflow is concerned with making appropriate software tools available to the software development team.
  • 34. Best Practices of Rational Unified Process [Sommerville, 2011] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur • Develop software iteratively. Plan increments based on customer priorities and deliver highest priority increments first. • Manage requirements. Explicitly document customer requirements and keep track of changes to these requirements. • Use component-based architectures. Organize the system architecture as a set of reusable components. • Visually model software. Use graphical UML models to present static and dynamic views of the software. • Verify software quality. Ensure that the software meet’s organizational quality standards. • Control changes to software. Manage software changes using a change management system and configuration management tools.
  • 35. Selecting Software Models ProjectType and Associated Risks Waterfall Prototype Spiral RAD Formal Methods Reliability requirements No No Yes No Yes Stable funds Yes Yes No Yes Yes Reuse components No Yes Yes Yes Yes Tight project schedule No Yes Yes Yes No Scarcity of resources No Yes Yes No No CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur Table Selections on the Basis of the ProjectType and Associated Risks
  • 36. Selecting Software Models Requirements of the Project Waterfall Prototype Spiral RAD Formal Methods Requirements are defined early in SDLC Yes No No Yes No Requirements are easily defined and understandable Yes No No Yes Yes Requirements are changed frequently No Yes Yes No Yes Requirements indicate a complex System No Yes Yes No No CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur Table Selection on the Basis of the Requirements of the Project
  • 37. Selecting Software Models User Involvement Waterfall Prototype Spiral RAD Formal Methods Requires Limited User Involvement Yes No Yes No Yes User participation in all phases No Yes No Yes No No experience of participating in similar projects No Yes Yes No Yes CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur Table Selection on the Basis of the Users
  • 38. References • Roger S. Pressman, 2010, Software Engineering: A Practitioner’s Approach 7th edition, McGraw-Hill. • Ian Sommerville, 2011, Software Engineering 9th edition, Addison-Wesley. • DineshThakur, Criteria for Selecting Software Engineering Process Models, URL: http://ecomputernotes.com/software-engineering/criteria-for-selecting-software- process-models . Diakses 15 Juli 2015 • DineshThakur, Rapid Application Development (RAD) Model and its Advantages and Disadvantages of RAD Model, URL: http://ecomputernotes.com/software- engineering/rapid-application-development. Diakses 15 Juli 2015
  • 39. Thanks • Achmad Solichin, S.Kom, M.T.I • achmatim@gmail.com • Twitter: @achmatim • Facebook: facebook.com/achmatim • Web: http://achmatim.net CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur