SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Software process Models
Software process ModelsSoftware process Models
Software process ModelsSADEED AMEEN
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Fadhil Ismail
 
Chapter 03
Chapter 03Chapter 03
Chapter 03ppp mmm
 
An Overview of RUP methodology
An Overview of RUP methodologyAn Overview of RUP methodology
An Overview of RUP methodologyMasoud Kalali
 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentationKudzai Rerayi
 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1Siddharth Ayer
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9Ian Sommerville
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringMajane Padua
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)ShudipPal
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life CycleSlideshare
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101QA Hannah
 
SDLC and Software Process Models
SDLC and Software Process ModelsSDLC and Software Process Models
SDLC and Software Process ModelsNana Sarpong
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified ProcessKumar
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)ShudipPal
 
Pressman ch-1-software
Pressman ch-1-softwarePressman ch-1-software
Pressman ch-1-softwareAlenaDion
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9Ian Sommerville
 

Tendances (20)

Software process Models
Software process ModelsSoftware process Models
Software process Models
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
Software design
Software designSoftware design
Software design
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Chapter 03
Chapter 03Chapter 03
Chapter 03
 
An Overview of RUP methodology
An Overview of RUP methodologyAn Overview of RUP methodology
An Overview of RUP methodology
 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentation
 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101
 
SDLC and Software Process Models
SDLC and Software Process ModelsSDLC and Software Process Models
SDLC and Software Process Models
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
Pressman ch-1-software
Pressman ch-1-softwarePressman ch-1-software
Pressman ch-1-software
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 

En vedette

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
 
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
 
Ch1-Software Engineering 9
Ch1-Software Engineering 9Ch1-Software Engineering 9
Ch1-Software Engineering 9Ian Sommerville
 

En vedette (17)

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 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
 
Ch1-Software Engineering 9
Ch1-Software Engineering 9Ch1-Software Engineering 9
Ch1-Software Engineering 9
 

Similaire à 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
 

Similaire à 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
 

Plus 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
 

Plus 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
 

Dernier

Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
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
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
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
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
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
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 

Dernier (20)

Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
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
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
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
 
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
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
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
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 

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