Anda di halaman 1dari 6

Rekayasa Perangkat Lunak

Nama: Hultiah Nahdiah TK4B


MATERI 6
Aktivitas Proses
• Proses perangkat lunak merupakan rangkaian aktivitas teknis, kolaborasi dan manajerial yang
bertujuan untuk menspesifikasikan, merancang, mengimplementasikan dan menguji sebuah perangkat
lunak. • Aktivitas Proses: Spesifikasi, Pengembangan, Validasi, Evolusi
• Cara setiap aktivitas dilakukan berbeda tergantung dari tipe PL, orang dan struktur organisasi yang
terlibat.
Spesifikasi Perangkat Lunak
Proses untuk menentukan layanan yang dibutuhkan dan batasan dari operasi dan
pengembangan sistem
•Aktivitas yang kritis dalam proses perangkat lunak.
Luaran berupa requirement document.
•Proses rekayasa kebutuhan
Studi Kelayakan Estimasimplementasi kebutuhan pengguna, biaya. Lanjut he tahap analinis atau tidak
Penentuan dan analisis kebutuhan Kebutuhan sistem ditentukan berdasarkan hasil observisi sistem
berjalan, diskusi dengan pengguna dan pembel PL, analisis tuges atau menggunakan model
sistem.Spesifikasi kebutuhan informasi hasil analinis dokumen kebutuhan sistem.Validasi kebutuhan
Kebutuhan realistis, konsisten, dan lengkap Perbaikan dokumen kebutuhan sistem
Desain dan Implementasi Perangkat Lunak
• Konversi spesifikasi sistem ke sebuah executable system.
• Perancangan, Programming, Perbaikan spesifikasi PL (Incremental).
• Perancangan Struktur PL, Model Data, Interface, : algoritma.
• Proses iteratif dan tidak sekuensial.
Aktivitas Perancangan
• Programming Tidak ada aturan khusus
• Programmer Mulai dari komponen yang dipahami kemudian lanjut ke yang kurang dipahami, atau
sebaliknya.
• Programmer: Mendefinisikan data dan menjadikan acuan pengembangan program, atau
sebaliknya.Debugging.
Validasi Perangkat Lunak
• Verifikasi dan Validasi
• Menunjukkan sistem sesuai dengan spesifikasi dan ekspektasi pelanggan.
• Validasi Simulasi sistem dengan memberikan input tertentu.
• Pengujian Komponen, Integrasi Sistem, Data Pelanggan
Prototyping
Prototype adalah versi awal perangkat lunak yang digunakan untuk mendemonstrasikan konsep,
mencoba pilihan rancangan, dan menemukan masalah yang mungkin terjadi dan solusinya.
Penggunaan Prototype : Proses rekayasa kebutuhan dan Proses perancangan sistem.
Prototype dapat berupa mock-up.
incremental Delivery
• Beberapa increment diberikan ke pelanggan dan diterapkan dalam lingkungan operasional
sistem.
Pelanggan identifikasi layanan yang penting dan kurang penting.
Layanan yang penting dimasukkan ke increment awal.
Rational Model Process
• Dinamis :
- Inception : Membuat kasus bisnis. Identifikasi entitas dan iteraksinya dengan sistem. Evaluasi
kontribusi sistem. Memutuskan projek diteruskan atau batal.
- Elaboration Memahami domain masalah, Menentukan framework sistem, membuat perencanaan
proyek dan menentukan resiko proyek. Hasil kebutuhan sistem berbentuk UML Use-case, deskripsi
arsitektur, rencanan pengembangan.
- Construction : Perancangan, Programming, Testing. Hasil Sistem yang dapat dijalankan dan
dokumentasi.
- Transition: Implementasi ke lingkungan tempat sistem akan gunakan.
Statis: Alur kerja pada tahap pengembangan.
-Business modelling: Pemodelan proses bisnis dengan use-case.
- Requirements: Identifikasi aktor. Use-case digunakan sebagai pemodelan.
-Analysis and Design: Model rancangan dibuat dan didokumentasikan dengan architectural model,
component model, objects model, dan sequence models.
- Implementation : Implementasi komponen ke dalam sub sistem. Dapat menggunakan automatic code
generation
-Testing: Pengujian secara iteratif.
- Deployment: Produk dipasang di lokasi kerja pengguna.
- Configuration and change management Manajemen perubahan sistem.
- Project Management: Pengaturan pengembangan sistem.
-Environment : Penyediaan tool pengembangan perangkat lunak yang dapat membantu tim
pengembang.
MATERI 7
MENANGANI PERUBAHAN
Perubahan di dalam PL

• Perubahan tidak bisa dihindari pada proyek PL besar.

• Perubahan tuntutan bisnis memicu perubahan kebutuhan sistem

• Teknologi baru yang memberikan peluang untuk meningkatkan sistem yang sudah ada.

• Perubahan platform yang menyebabkan perubahan pada aplikasi.

• Perubahan menimbulkan biaya lebih, termasuk biaya analisa ulang kebutuhan dan biaya
implementasi.
Menangani perubahan dengan salah satu cara yakni,
Mengurangi Biaya
Menghindari perubahan, terdapat aktivitas didalam model proses yang dapat mengantisipasi
perubahan.
Sebuah prototipe sistem dapat menunjukan fitur-fitur utama kepada pengguna PL
Tolerasi terhadap perubahan, model proses dirancang sehingga perubahan dapat diakomodasi
Penanganan Perubahan
• Perubahan sistem : Perubahan manajemen, teknologi baru
• Perlu analisis kebutuhan, identifikasi kebutuhan, dan pengujian kembali.
Menekan biaya perubahan :
- Menghindari perubahan yang signifikan Pembuatan prototipe.
- Toleransi perubahan Perubahan diakomodasi dalam increment selanjutnya.
Cara menangani perubahan kebutuhan sistem :
- System Prototyping: Pengembangan secara cepat versi awal sistem untuk mengecek kebutuhan
pengguna dan kelayakan hasil rancangan.
- Incremental delivery: Inkremen sistem diberikan ke pengguna untuk dicoba dan diulas
MATERI 8
PENGEMBANGAN PL DENGAN METODE AGILE
Agile Software Development adalah metodologi pengembangan software yang didasarkan pada
proses pengerjaan yang dilakukan berulang dimana, aturan dan solusi yang disepakati dilakukan
dengan kolaborasi antar tiap tim secara terorganisir dan terstruktur.
Metode Pengembangan Agile memiliki 12 prinsip utama yang dijadikan dasar acuan yaitu sebagai
berikut.
1. Kepuasan pelanggan/pengguna menjadi prioritas utama
2. Menerima perubahan kebutuhan/persyaratan, meskipun di tahapan akhir pengembangan
layanan. Kebutuhan/persyaratan yang dirubah akan dimanfaatkan menjadi suatu keunggulan
kompetitif dengan proses yang tangkas.
3. Pengiriman proses tahapan pengembangan/perilisan proyek secara rutin agar mendapatkan
feedback yang lebih baik.
4. Kolaborasi antara pengembang proyek dan stakeholder.
5. Bekerja dengan motivasi yang tinggi.
6. Komunikasi tatap muka dengan metode yang efisien dan efektif.
7. Software yang berfungsi dengan baik adalah kunci utama dari kemajuan.
8. Proses yang cepat dalam pengerjaan proyek
9. Perhatian terhadap keunggulan desain dan teknis yang baik.
10. Kesederhanaan - seni memaksimalkan jumlah pekerjaan yang belum selesai.
11. Arsitektur, persyaratan, dan desain terbaik muncul dari tim yang mengatur dirinya sendiri.
12. Secara berkala, tim merefleksikan bagaimana menjadi lebih efektif, kemudian menyesuaikan
dan menyesuaikan perilakunya.
Pengembangan perangkat lunak Agile memiliki beberapa. Tahapan-tahapan tersebut adalah sebagai
berikut.
1. Perencanaan, pada langkah ini pengembang dan klien membuat rencana tentang kebutuhan
dari perangkat lunak yang akan dibuat.
2. Implementasi, bagian dari proses dimana programmer melakukan pengkodean perangkat
lunak.
3. Tes perangkat lunak, disini perangkat lunak yang telah dibuat di tes oleh bagian kontrol
kualitas agar bug yang ditemukan bisa segera diperbaiki dan kualitas perangkat lunak terjaga.
4. Dokumentasi, setelah dilakukan tes perangkat lunak langkah selanjutnya yaitu proses
dokumentasi perangkat lunak untuk mempermudah proses maintenanance kedepannya.
5. Deployment, yaitu proses yang dilakukan oleh penjamin kualitas untuk menguji kualitas
sistem. Setelah sistem memenuhi syarat maka perangkat lunak siap dideployment.
6. Pemeliharaan, langkah terakhir yaitu pemeliharaan. Tidak ada perangkat lunak yang 100%
bebas dari bug, oleh karena itu sangatlah penting agar perangkat lunak dipelihara secara
berkala.
Kelebihan dalam Penerapan Metode Agile
Terdapat beberapa keuntungan dari penerapan Metode Pengembangan Agile yaitu sebagai berikut:
• Menambah produktivitas tim
• Menambah kualitas dari perangkat lunak.
• Menambah kepuasan dari klien
MATERI 9
EXTREME PROGRAMMING
Extreme Programming (berikutnya akan disingkat sebagai XP) adalah sebuah pendekatan atau
model pengembangan perangkat lunak yang mencoba menyederhanakan berbagai tahapan dalam
proses pengembangan tersebut sehingga menjadi lebih adaptif dan fleksibel
Aspek Dasar XP (Xtreme Programming antara lain :
- Whole Team
Seluruh kontributor dalam proyek yang menggunakan pendekatan XP duduk bersama sebagai
suatu tim.
- Planning game
Perencanaan dalam XP mengemukakan dua pertanyaan kunci dalam pengembangan perangkat
lunak, yaitu memprediksi apa yang akan dicapai pada waktu tertentu, dan menentukan apa yang
harus dilakukan setelah itu.
Ada dua langkah kunci dalam perencanaan XP, yang menangani dua pertanyaan tersebut :
Release Planning yaitu praktek dimana Customer mengutarakan fitur yang diinginkannya ke
programer, dan programer memperkirakan tingkat kesulitannya.
Iteration Planning adalah praktek di mana tim diberikan petunjuk atau arahan setiap beberapa
minggu sekali..
- Customer Tests
Sebagai bagian dari presentasi masing-masing fitur yang diinginkan, Customer XP
mendefinisikan satu atau lebih tes penerimaan otomatis untuk menunjukkan bahwa fitur tersebut
bekerja dengan baik.
- Small Release
Pada setiap Iterasi, tim mengerjakan sebuah unit atau bagian dari perangkat lunak, melakukan tes
terhadap unit perangkat lunak yang dibangun, kemudian di akhir iterasi perangkat lunak yang
dibangun diberikan kepada Customer.
- Simple Design
Tim XP membangun perangkat lunak dengan desain yang sederhana.
- Pair Programming
Semua perangkat lunak yang dibangun dengan pendekatan XP dibangun oleh dua orang
programmer.
- Test-Driven Development
XP begitu terobsesi dengan umpan balik, dan dalam pengembangan perangkat lunak, umpan balik
yang baik mensyaratkan pengujian yang baik pula.
- Design Improvement
XP berfokus pada memberikan nilai bisnis dalam setiap perulangan.
- Continuous Integration
Beberapa kali dalam sehari, tim XP akan menggabungkan seluruh salinan pekerjaan tim menjadi
satu dalam jaringan utama. Sehingga tim XP harus menjaga tim agar terintegrasi setiap saat.
- Collective Code Ownership
Pada proyek XP, setiap pasang programmer dapat meningkatkan code apapun setiap saat.Semua
code yang ada dimiliki secara kolektif oleh tim
- Coding Standard
Setiap anggota tim XP harus mengikuti standar coding yang umum, sehingga semua code dalam
sistem seolah-olah tampak dibuat oleh satu orang yang sangat kompeten
- Metaphor
Tim XP akan membuat suatu deskripsi umum bagaimana program yang mereka kembangkan
bekerja dengan benar.
- Sustainable Pace
Tim XP akan bekerjasama dalam jangka waktu lama. Mereka bekerja keras dengan kecepatan
tertentu tanpa batas waktu.
Berikut ini adalah dasar nilai-nilai XP (Xtreme Programming) :
- Communication
XP mengfokuskan pada hubungan komunikasi yang baik antar anggota tim.
- Courage
Para anggota tim dan penanggungjawab pengembangan perangkat lunak harus selalu memiliki
keyakinan dan integritas dalam melakukan tugasnya
- Simplicity
Lakukan semua dengan sederhana. Hal tersebut adalah salah satu nilai dasar dari XP.
- Feedback
Berikan selalu feedback kepada sesama anggota tim maupun pihak-pihak lain yang terlibat dalam
pengembangan perangkat lunak. Utarakan selalu pikiran anda dan diskusikan kesalahan-kesalahan
yang muncul selama proses pengembangan
- Quality Work
Semua nilai di atas berujung pada sebuah kondisi di mana kita melakukan pekerjaan dengan
berkualitas.

Anda mungkin juga menyukai