• Tidak ada hasil yang ditemukan

Bagian 1 Bagian 1

N/A
N/A
Nguyễn Gia Hào

Academic year: 2023

Membagikan "Bagian 1 Bagian 1"

Copied!
18
0
0

Teks penuh

(1)

Catatan Kuliah Catatan Kuliah

Rekayasa Perangkat Lunak Rekayasa Perangkat Lunak

(Software Engineering) (Software Engineering)

Bagian 1 Bagian 1

copyright © 2006

R.S. Pressman & Associates, Inc M. Idham Ananta Timur, S.T., M.Kom.

Hanya digunakan di lingkungan Universtias

Hanya boleh digandakan untuk mahasiswa di lingkungan universitas yang menggunakan buku Software Engineering: A Practitioner's Approach.

Selain itu dilarang keras menggandakan.

Presentasi, slide atau hardcopy tidak boleh digunakan untuk

short courses, seminar industri, atau kepentingan konsultasi.

(2)

Software Engineering: A Practitioner’s Approach, 6/e Software Engineering: A Practitioner’s Approach, 6/e

Chapter 4 Chapter 4

Pengembangan PL Pengembangan PL

copyright © 1996, 2001, 2005

R.S. Pressman & Associates, Inc.

Muhammad Idham Ananta Timur, S.T., M.Kom

Hanya digunakan di lingkungan Universtias

Hanya boleh digandakan untuk mahasiswa di lingkungan universitas yang menggunakan buku Software Engineering: A Practitioner's Approach.

Selain itu dilarang keras menggandakan .

(3)

Manifesto bagi Pengembangan PL Manifesto bagi Pengembangan PL

yang Tangguh yang Tangguh

“We are uncovering better ways of developing We are uncovering better ways of developing software by doing it and helping others do it.

software by doing it and helping others do it.

Through this work we have come to value:

Through this work we have come to value:

Individuals and interactions Individuals and interactions over processes over processes and tools

and tools

Working software Working software over comprehensive over comprehensive documentation

documentation

Customer collaboration over contract Customer collaboration over contract negotiation

negotiation

Responding to change Responding to change over following a plan over following a plan That is, while there is value in the items on the That is, while there is value in the items on the right, we value the items on the left more.”

right, we value the items on the left more.”

(4)

Apakah yang dimaksud Apakah yang dimaksud

“Tangguh”?

“Tangguh”?

 Respon Efektif (cepat dan adaptif) pada Perubahan Respon Efektif (cepat dan adaptif) pada Perubahan

 Komunikasi Efektif terhadap semua stakeholders Komunikasi Efektif terhadap semua stakeholders

 Melibatkan konsumen pada tim Melibatkan konsumen pada tim

 Mengorganisasi sebuah tim sehingga kinerjanya Mengorganisasi sebuah tim sehingga kinerjanya dapat dikendalikan

dapat dikendalikan Menghasilkan …

Menghasilkan …

 PL yang secara cepat dan bertahap disajikan. PL yang secara cepat dan bertahap disajikan.

(5)

Proses yang Tangguh Proses yang Tangguh

 Diarahkan oleh gambaran konsumen terhadap Diarahkan oleh gambaran konsumen terhadap apa yang dibutuhkan (skenario)

apa yang dibutuhkan (skenario)

 Menyadari bahwa rencana biasanya berumur Menyadari bahwa rencana biasanya berumur pendek

pendek

 Mengembangkan PL secara iteraif dengan tekanan Mengembangkan PL secara iteraif dengan tekanan pada aktivitas konstruksi

pada aktivitas konstruksi

 Menyajikan pertumbuhan PL jamak Menyajikan pertumbuhan PL jamak

 Beradaptasi seiring dengan perubahan yang Beradaptasi seiring dengan perubahan yang terjadi

terjadi

(6)

Extreme Programming (XP) Extreme Programming (XP)

 Proses tangguh yang paling luas digunakan, yang Proses tangguh yang paling luas digunakan, yang dipelopori oleh Kent Beck

dipelopori oleh Kent Beck

 Perencanaan XP Perencanaan XP

 Mulai dari “keinginan user” Mulai dari “keinginan user”

 Tim memeriksa setiap keinginan dan menyebutkan harga Tim memeriksa setiap keinginan dan menyebutkan harga

 Keinginan2x tersebut dikelompokkan untuk proses Keinginan2x tersebut dikelompokkan untuk proses penyelesaian yang bertahap

penyelesaian yang bertahap

 Komitmen dibuat pada tanggal penyajian Komitmen dibuat pada tanggal penyajian

 Setelah tahap pertama, “kecepatan proyek” digunakan untuk Setelah tahap pertama, “kecepatan proyek” digunakan untuk

membantu menentukan tanggal berikutnya bagi tahapan yang

membantu menentukan tanggal berikutnya bagi tahapan yang

lain lain

(7)

Extreme Programming (XP) Extreme Programming (XP)

 XP Design XP Design

 Mengikuti prinsip KIS Mengikuti prinsip KIS

 Mendorong penggunaan kartu CRC Mendorong penggunaan kartu CRC

 Untuk permasalahan desain yang sukar, menyarankan penggunaan Untuk permasalahan desain yang sukar, menyarankan penggunaan

“spike solutions” sebuah desain prototipe

“spike solutions” sebuah desain prototipe

 Mendorong “refactoring Mendorong “ refactoring”—sebuah perbaikan iteratif terhadap desain ”—sebuah perbaikan iteratif terhadap desain program internal

program internal

 XP Coding XP Coding

 Merekomendasikan konstruksi tes unit sebelum coding dimulai Merekomendasikan konstruksi tes unit sebelum coding dimulai

 Mendorong “pair programming Mendorong “ pair programming” ”

 XP Testing XP Testing

 Semua tes unit dieksekusi setiap hari Semua tes unit dieksekusi setiap hari

 “tes penerimaan” ditentukan oleh konsumen dan dieksekusi untuk “ tes penerimaan” ditentukan oleh konsumen dan dieksekusi untuk melihat fungsionalitas konsumen nyata

melihat fungsionalitas konsumen nyata

(8)

Extreme Programming (XP) Extreme Programming (XP)

unit test

pair

programming

Release

user stories values

acceptance test criteria iteration plan

simple design CRC cards

spike solutions prototypes

refactoring

software increment

(9)

Pengembangan PL Adaptif Pengembangan PL Adaptif

 Dipelopori oleh Jim Highsmith Dipelopori oleh Jim Highsmith

 ASD — karakter yang membedakan ASD — karakter yang membedakan

 Perencanaan berbasis misi Perencanaan berbasis misi

 Fokus berbasis komponen Fokus berbasis komponen

 Menggunakan “ Menggunakan “ time-boxing” time-boxing ”

 Konsideran eksplisit pada resiko Konsideran eksplisit pada resiko

 Menekankan kolaborasi bagi pengumpulan kebutuhan Menekankan kolaborasi bagi pengumpulan kebutuhan

 Menekankan pembelajaran melalui proses Menekankan pembelajaran melalui proses

(10)

Adaptive Software Development Adaptive Software Development

adaptive cycle planning

uses mission statement project constraints basic requirements

time-boxed release plan

Requirements gathering J AD

mini-specs

components implemented/ tested

software increment

adjustments for subsequent cycles

Release

(11)

Metode Pengembangan Sistem Dinamis Metode Pengembangan Sistem Dinamis (Dynamic Systems Development Method) (Dynamic Systems Development Method)

 Dipromosikan oleh konsorsium DSDM ( Dipromosikan oleh konsorsium DSDM ( www.dsdm.org www.dsdm.org ) )

 DSDM—karakter yang membedakan DSDM—karakter yang membedakan

 Mirip dalam banyak dengan XP dan/atau ASD Mirip dalam banyak dengan XP dan/atau ASD

 Sembilan prinsip-prinsip panduan : Sembilan prinsip-prinsip panduan :

Pelibatan user secara aktif adalah keharusan. Pelibatan user secara aktif adalah keharusan.

Tim DSDM harus diberdayakan untuk mengambil keputusan. Tim DSDM harus diberdayakan untuk mengambil keputusan.

Fokus pada penyajian produk sesering mungkin. Fokus pada penyajian produk sesering mungkin.

Penerimaan dari tujuan bisnis adalah kriteria esensial untuk penerimaan penyajian. Penerimaan dari tujuan bisnis adalah kriteria esensial untuk penerimaan penyajian.

Pengembangan bertahap dan berulang dibutuhkan untuk fokus pada solusi bisnis Pengembangan bertahap dan berulang dibutuhkan untuk fokus pada solusi bisnis yang akurat.

yang akurat.

Semua perubahan selaman pengembangan dapat dibalik. Semua perubahan selaman pengembangan dapat dibalik.

Kebutuhan adalah dasar pada level tinggi Kebutuhan adalah dasar pada level tinggi

Pengujian terintegrasi dalam siklus kehidupan. Pengujian terintegrasi dalam siklus kehidupan.

(12)

Dynamic Systems Development Method

Dynamic Systems Development Method

(13)

Scrum Scrum

 Diusulkan oleh Schwaber dan Beedle Diusulkan oleh Schwaber dan Beedle

 Scrum—Karakter yang membedakan Scrum—Karakter yang membedakan

 Kerja pengembangan dipartisi menjadi “paket” Kerja pengembangan dipartisi menjadi “paket”

 Pengujian dan dokumentasi berjalan seiring dengan konstruksi Pengujian dan dokumentasi berjalan seiring dengan konstruksi produk

produk

 Kerja terjadi dalam “Sprint” dan diturunkan dari “backlog” Kerja terjadi dalam “Sprint” dan diturunkan dari “backlog”

kebutuhan yang ada kebutuhan yang ada

 Pertemuan sangat pendek dan beberapa kali diadalah tanpa Pertemuan sangat pendek dan beberapa kali diadalah tanpa kursi

kursi

 “Demo” ditunjukkan pada konsumen dengan alokasi time-box “ Demo” ditunjukkan pada konsumen dengan alokasi time-box

(14)

Scrum Scrum

Scrum Process Flow (used with permission)

(15)

Crystal Crystal

 Diusulkan Cockburn dan Highsmith Diusulkan Cockburn dan Highsmith

 Crystal—karakter yang membedakan Crystal—karakter yang membedakan

 Secara aktual sebuah model proses keluarga yang Secara aktual sebuah model proses keluarga yang memungkinkan manuver berdasar karakteristik memungkinkan manuver berdasar karakteristik permasalahan

permasalahan

 Komunikasi tatap muka ditekankan Komunikasi tatap muka ditekankan

 Menyarankan penggunaan workshop refleksi untuk review Menyarankan penggunaan workshop refleksi untuk review kebiasaan kerja tim

kebiasaan kerja tim

(16)

Feature Driven Development Feature Driven Development

 Diusulkan oleh Peter Coad et al Diusulkan oleh Peter Coad et al

 FDD—karakter yang membedakan FDD—karakter yang membedakan

 Penekanan pada definisi Penekanan pada definisi “features” “features”

 a a feature feature “is a client-valued function that can be implemented in “is a client-valued function that can be implemented in two weeks or less.”

two weeks or less.”

 Menggunakan template feature Menggunakan template feature

<action> the <result> <by | for | of | to> a(n) <object> <action> the <result> <by | for | of | to> a(n) <object>

 Daftar feature dibuat dan “perencanaan berdasar “feature” Daftar feature dibuat dan “perencanaan berdasar “feature”

dilakukan dilakukan

 Desain dan konstruksi bergabung dalam FDD Desain dan konstruksi bergabung dalam FDD

(17)

Feature Driven Development Feature Driven Development

Reprinted with permission of Peter Coad

Reprinted with permission of Peter Coad

(18)

Agile Modeling Agile Modeling

 Diusulkan oleh Scott Ambler Diusulkan oleh Scott Ambler

 Menyarankan prinsip2x agile modeling Menyarankan prinsip2x agile modeling

 Model dengan sebuah tujuan Model dengan sebuah tujuan

 Menggunakan banyak model Menggunakan banyak model

 Isi lebih penting dari representasi Isi lebih penting dari representasi

 Mengetahui model dan tool yang digunakan untuk Mengetahui model dan tool yang digunakan untuk membuatnya

membuatnya

 Beradaptasi secara lokal Beradaptasi secara lokal

Referensi

Dokumen terkait

Kebijakan hukum pidana melalui system restorative justice tersebut merupakan suatu wujud kepedulian untuk menyelesaikan suatu konflik secara demokratis dengan

bahwa berdasarkan Berita Acara Serah Terima Program Bantuan Operasional Perguruan Tinggi Negeri Penelitian Nomor 01/A/BAST/2021 dan Nomor ………… terdapat Kontrak Penelitian Tahun Jamak