Anda di halaman 1dari 71

Teknik Informatika S1

Rekayasa Perangkat Lunak


Software Process (2)

Disusun Oleh:
Egia Rosi Subhiyakto, M.Kom, M.CS
Teknik Informatika UDINUS
egia@dsn.dinus.ac.id
+6285640392988
SILABUS MATA KULIAH
1. Pendahuluan 8. Pembahasan UTS + Tugas SKPL
2. Introduction to SE 9. Presentasi SKPL
3. Software Process (1) 10. Design Engineering + Tugas
4. Software Process (2) DPPL
5. Requirement Engineering + 11. Presentasi DPPL
Quiz 12. Software Testing + Quiz
6. Analysis Modeling (1) 13. Present Tugas Besar
7. Analysis Modeling (2) 14. Present Tugas Besar
Review Materi Minggu Lalu
CMMI (Capability Maturity Model Integration)
Characteristics of Maturity levels

Level 5 Focus on process


Optimizing improvement

Level 4
Processes measured and
Quantitatively
Managed controlled

Level 3
Processes characterized for
organization and is proactive
Defined (Projects tailor their processes from
organization’s standards)
Level 2 Processes characterized for
Managed projects and is often reactive

Level 1 Processes Unpredictable, poorly


Initial controlled and reactive
SOFTWARE DEVELOPMENT LIFE CYCLE

Planning

Implementation Analysis

Design
SOFTWARE DEVELOPMENT LIFE CYCLE

Pengertian

?
SOFTWARE DEVELOPMENT LIFE CYCLE

Pengertian

“Sekumpulan Kegiatan dan keterhubungannya satu sama


lain untuk mendukung pembangunan dari sebuah
perangkat lunak”.
Pertanyaan Seputar SDLC
1. Aktifitas mana yang harus dipilih dalam pembangunan
perangkat lunak?

?
Pertanyaan Seputar SDLC
1. Aktifitas mana yang harus dipilih dalam pembangunan
perangkat lunak?

SDLC berisi proses yang bukan untuk dipilih tapi untuk


dilakukan secara keseluruhan
Pertanyaan Seputar SDLC

2. Hubungan antar aktifitas dalam SDLC?

?
Pertanyaan Seputar SDLC
2. Hubungan antar aktifitas dalam SDLC?

Hasil dari kegiatan sebelumnya mempunyai pengaruh yang


sangat besar untuk kegiatan berikutnya
Pertanyaan Seputar SDLC

3. Bagaimana cara menjadwalkan kegiatan pada SDLC?

?
Pertanyaan Seputar SDLC
3. Bagaimana cara menjadwalkan kegiatan pada SDLC?

Penjadwalan kegiatan SDLC dibahas dalam ilmu Manajemen


Proyek (Project Management) dan tidak dibahas pada RPL
Aktivitas Pembangunan Perangkat Lunak (SDLC)
• Gathering Requirements
1
• Analysis
2
• Design
3
• Coding
4
• Testing
5
• Documentation
6
• Maintenance
7
SDLC Processes and Deliverables

Process Product

Planning System Proposal

Analysis System Specification


Design

Implementation New System with


Testing/Maintenance Plan
SDLC and Deliverables
Planning
(System Proposal)

Implementation Analysis
(New System) (System Specification)

Design
(System
Specification)
Process Flow

1. Linear Process

2. Iterative Process

3. Evolutionary Process
1. Linear Process

System/ Information
Engineering

Analysi
Design Code Test
s
2. Iterative Process

Communicatio
Planning Modeling Construction Deployment
n
3. Evolutionary Process

Communication

Deployment Planning

Construction Modeling
Software Process Model
1. Linear Sequential Model
• 1. Waterfall Model
• 2. V Model
• 3. RAD Model

2. Prototyping Model

3. Evolutionary Model
• 1. Incremental Model
• 2. Spiral Model
• 3. Component Assembly Model
• 4. Concurrent Development Model

4. Formal Method

5. Unified Process

6. 4GT Model

7. Agile Methods (ex: XP)


1. Waterfall Model

 Sebuah pendekatan pengembangan perangkat lunak yang


sistematik dan sekuensial.

 Disebut juga ‘Classic Life Cycle’.


 Paradigma yang sudah lama sekali, tetapi masih banyak
yang memakai karena dianggap masih sesuai dengan
keadaan sekarang.
1. Waterfall Model

Roger S, Pressman
1. Waterfall Model

Ian Sommerville
1. Waterfall Model

Alan Dennis
Karakteristik Waterfall Model

1. Setiap tahap menghasilkan dokumen di akhir tahapnya

2. Tidak ada overlapping pada setiap tahapnya


3. Setiap tahapan akan punya pengaruh besar pada hasil
di tahap berikutnya

4. Memerlukan biaya besar jika melakukan rework


Kelebihan Waterfall Model

1. Menghasilkan mature process pada setiap tahapnya

2. Mudah untuk diaplikasikan pada sebuah proyek

3. Menghasilkan sistem yang terstruktur dengan baik

4. Memiliki tingkat visibilitas yang tinggi (setiap tahap


mempunyai dokumen yang jelas)
Kekurangan Waterfall Model

1. Ketidak fleksibelan antar tahapan

2. Susah dalam merespon perubahan kebutuhan


customer

3. Model ini hanya cocok jika:

a. Kebutuhan customer sudah sangat jelas

b. Perubahan kebutuhan dibatasi


Modified Waterfall Model
(M.Kochanski)

Sashimi
Modified Waterfall Model
(M.Kochanski)

Waterfall with Spiral Introduction


Modified Waterfall Model
(M.Kochanski)

Waterfall with Subprojects


V model
Rapid Application Development (RAD)

 RAD = Rapid Application Development


 Adaptasi dari waterfall model yang:
 menekankan siklus pengembangan perangkat lunak
yang sangat pendek;

 menggunakan pendekatan konstruksi berbasis


komponen.

 Menciptakan sistem fungsional yang utuh dalam waktu


60-90 hari.
Rapid Application Development (RAD)

te a m # 3

b u s in e s s
m o d e lin g

te a m # 2
d a ta
m o d e lin g
b u s in e s s
m o d e lin g
te a m # 1 p ro c e s s
m o d e lin g
d a ta
b u s in e s s m o d e lin g
m o d e lin g a p p lic a tio n
g e n e r a tio n

p ro c e s s
te s tin g
d a ta m o d e lin g &
m o d e lin g tu rn o v e r

a p p lic a tio n
g e n e r a tio n
p ro c e s s
m o d e lin g
te s tin g
&
tu rn o v e r
a p p lic a tio n
g e n e r a tio n

te s tin g
&
tu rn o v e r

6 0 - 9 0 h a ri
Rapid Application Development (RAD)

 Business Modelling
Memodelkan fungsi-fungsi bisnis untuk menjawab pertanyaan-
pertanyaan:

 Informasi apa yang mengendalikan proses bisnis ? Informasi apa


yang dimunculkan? Ke mana infomasi itu pergi? Siapa yang
memprosesnya?

 Data Modelling
Aliran informasi yang didefinisikan pada fase business modelling
ditransformasikan ke dalam serangkaian obyek data.
Rapid Application Development (RAD)

 Process Modelling
Mentransformasikan obyek data pada suatu fungsi yang menghasilkan
aliran informasi yang dibutuhkan.

 Application Generation
Mengkonstruksi perangkat lunak dengan memakai komponen yang ada
(bila memungkinkan) atau menciptakan komponen yang dapat dipakai
lagi.

 Testing and Turnover


Menguji komponen baru.
Prototyping Model

Membantu software engineer untuk mendapatkan kebutuhan


berupa feedback cepat dari customer
Evolutionary Process Model
1. Prototyping

Dipakai jika:

1. Sistem mempunyai resiko tinggi

 tidak jelas permasalahannya


2. Lebih fokus pada perancangan dialog user komputer (Sistem
dengan User)

 bagaimana membuat dialog yang baik, ramah, mudah ?


3. Sistem diminati oleh banyak pemakai

 mencari kesepakatan (dasar untuk menyamakan persepsi)


Evolutionary Process Model
1. Prototyping

4. User ingin cepat selesai

 user tidak sabar menunggu


 prototipe segera memperlihatkan bentuk kerja sistem
5. Masa pakai singkat

 sistem hanya dipakai beberapa kali saja


6. Ingin menunjukkan inovasi

 pengembang dapat menunjukkan kecanggihan


7. Kebutuhan berubah-ubah

 user sulit menjelaskan kebutuhan


Evolutionary Process Model
1. Prototyping
Type of Prototyping

1. Evolutionary prototyping

2. Throw-away prototyping

41
Evolutionary Prototyping

Prototype
Requirements

Prototype
Programming

Reviews

Validates?

Release

42
Throw-away Prototyping

Prototype System
Requirements Programming

System
Prototype Testing
Programming

Validates?
Reviews
Reviews

Validates?

Release
43
Prototyping Speciality

• Frekuensi komunikasi user – developer meningkat


o pengembang akan selalu meminta pendapat user

• Membantu analis dalam


o menentukan kebutuhan user yang sebenarnya
o meminimalkan salah persepsi

• Peran user meningkat


o evaluasi oleh user berkali-kali
o user bisa memberikan masukan setiap saat
44
Prototyping Speciality

• Pengembangan lebih cepat


o program bisa langsung dibuat
o user melihat perkembangan tahap demi tahap

• Implementasi mudah
o user sudah mengenal perangkat lunak yang dikembangkan
o user tidak akan merasa asing
o sejak awal user sudah merasa memiliki

45
Prototyping Weakness

• User sibuk
o user & pengembang harus sama-sama memiliki komitmen menyediakan
waktu untuk bertemu.

• User sulit melakukan evaluasi


o bentuk prototipe sering berubah, disesuaikan dengan kebutuhan user.

• User ingin cepat selesai


o bentuk program sudah terlihat sejak awal.
o user merasa tidak akan lama lagi selesai.
o pengembang sering mengabaikan dokumentasi.
46
Prototyping Weakness

• User berharap terlalu banyak


o keseringan evaluasi & komunikasi membuat user
menjadi berubah keinginan dan tidak pasti dengan
kebutuhan.

• Prototipe bekerja tidak efisien


o lebih mementingkan keberhasilan.

47
Evolutionary Model
Incremental Model

 Incremental Model merupakan gabungan antara model


linier sekuensial dan prototyping.

 Setiap linier sekuen menghasilkan produk yang


deliveriables.

 Increment pertama merupakan produk inti (core), yang


mengandung persyaratan/kebutuhan dasar.

 Penambahan dilakukan pada increment-increment


berikutnya.
Evolutionary Model
Incremental Model
Evolutionary Process Model
2. Spiral Model

Digunakan software engineer skala besar. Growing of


software menjadi ide dari model proses ini
Evolutionary Process Model
2. Spiral Model

 Evolutionary process (pengembangan bertingkat)


 Menggabungkan keunggulan prototyping dan waterfall
 Memungkinkan dikembangkannya perangkat lunak secara
bertahap (incremental) dan cepat.

 Terbagi atas 6 tahapan:


* customer communication
* planning
* risk analysis
* engineering
* construction & release
* customer evaluation
Evolutionary Process Model
2. Spiral Model
Planning analisa resiko
berdasarkan evaluasi
Integration and test plan Risk Analysis
user
development plan analisa resiko
menentukan
berdasarkan
tujuan, alternatif, development plan
kebutuhan awal
batasan sistem
dan budget Requirements

Customer prototipe awal


Communication
Engineering

prototipe tingkat
berikutnya
Project
Entry Point produk-jadi
Customer
Evaluation Construction
& Release
52
Evolutionary Process Model
3. Component Assembly Model

identify candidate
components

look up components construct n- th


in library iteration of system

put new
extract components
components in
if available
library

build components if
unavailable

Engineering,
engineering

contruction & release customer evaluation

entry point Customer


risk analysis communication

planning 53
Evolutionary Process Model
4. Conccurent Model

Model proses yang memungkinkan perubahan keadaan dari


under development ke awaiting change (berhenti sementara)
ketika terjadi perubahan kebutuhan
Evolutionary Process Model
4. Conccurent Model
none
Analysis activity

Under
development

A waiting Under
changes review

Under
revision
baselined

done

55
Evolutionary Process Model
4. Conccurent Model

 Aktivitas sistem dan komponen yang berlangsung secara


simultan dan dapat dimodelkan dengan menggunakan
pendekatan orientasi keadaan;

 Aplikasi klien/server khusus yang diimplementasikan


dengan banyak komponen yang masing-masing bisa
dirancang dan direalisasikan secara konkuren.
Formal Method

 Mencakup sekumpulan aktivitas yang membawa kepada


spesifikasi matematis perangkat lunak komputer;

 Memungkinkan software engineer untuk mengkhususkan,


mengembangkan, dan mem-verifikasi sistem berbasis
komputer dengan menggunakan notasi matematis yang tepat;

 Variasi dari pendekatan ini disebut clean-room software


engineering.
Formal Model
UNIFIED PROCESS

 Model proses yang menggabungkan beberap konsep unggulan


dari model proses lainnya.

 Penekanan pada model proses ini, yaitu:


1. Komunikasi dengan customer secara intens (streamlined)

2. Arsitektur yang reusable dan terbuka pada perubahan kebutuhan

3. Alur proses yang iterative atau incremental


UNIFIED PROCESS
Fourth Generation Techniques (4GT)

 Terkait dengan penggunaan tools.


 Pengembang software mendefinisikan karakteristik
software secara 'high level'; tool secara otomatis akan
membangkitkan kode.
Fourth Generation Techniques (4GT)

 4GT mempercepat proses pengembangan perangkat


lunak.

 Proses perancangan dan dokumentasi baik.


 Masih dipertanyakan beberapa pihak: efisiensi kode
yang dihasilkan, kemudahan (relatif).
Fourth Generation Techniques (4GT)

requirements
gathering

design strategy

implementation
using 4GL

testing

4GL/ Fourth generation language


AGILE METHOD

Model proses yang menekankan pada fast delivery dari setiap


poin aktivitas dalam rangka memperpendek jangka waktu
proyek pembangunan perangkat lunak.
AGILE METHOD
AGILE METHOD

 Just a few rules that are easy to learn and follow


 Streamline the SDLC
* Eliminate much of the modeling and documentation
* Emphasize simple, iterative application development
 Examples include:
* Extreme Programming (XP)
* Scrum
* Dynamic Systems Development Model (DSDM)
AGILE METHOD (Extreme Programming)

“Core Values” of XP
1. Communication – All to All

2. Simplicity – refactoring

3. Feedback – Embrace Change

4. Courage – Quality First, test and efficient coding


AGILE METHOD (Extreme Programming)

1. User Stories about system do

2. Code small program using defined standards


* Naming conventions

* Coding practices

3. User Feedback

4. Repeat
AGILE METHOD (Extreme Programming)
Latihan
Chelsea Outlet merupakan outlet yang bergerak di bidang
penjualan jersey khusus Chelsea. Seiring perkembangan outlet
yang semakin maju diikuti persaingan dengan outlet lain.
Pengolahan data penjualan di Chelsea outlet masih kurang
efektif karena transaksi belum terkomputerisasi. Chelsea
outlet memerlukan sebuah perangkat lunak untuk mengolah
data penjualan dan laporannya. Perangkat yang dibuat harus
sesuai dengan sarana komputer yang ada di Chelsea outlet.
Model Proses apakah yang tepat digunakan untuk kasus di
atas? Dan jelaskan alasannya?
TERIMA KASIH

Anda mungkin juga menyukai