Rekayasa Perangkat Lunak Proses Perangkat Lunak Per tem

  • Slides: 25
Download presentation
Rekayasa Perangkat Lunak Proses Perangkat Lunak Per tem uan 2 Khai rul Anw ar

Rekayasa Perangkat Lunak Proses Perangkat Lunak Per tem uan 2 Khai rul Anw ar H afi zd khairul. anwarhaf izd@gmail. com

Proses Perangkat Lunak Proses perangkat lunak (software process) adalah sekumpulan aktivitas yang saling berkaitan

Proses Perangkat Lunak Proses perangkat lunak (software process) adalah sekumpulan aktivitas yang saling berkaitan di dalam sebuah produksi perangkat lunak. Aktivitas-aktivitas bisa berbentuk pengembangan perangkat lunak, memodifikasi sistem yang ada, atau menggabungkan beberapa komponen-komponen. 15 September 2020 PROSES PERANGKAT LUNAK 2

Aktivitas Fundamental dalam RPL Terdapat empat aktivitas fundamental dalam RPL ◦ Spesifikasi Perangkat Lunak

Aktivitas Fundamental dalam RPL Terdapat empat aktivitas fundamental dalam RPL ◦ Spesifikasi Perangkat Lunak ◦ Perancangan dan Implementasi Perangkat Lunak ◦ Validasi Perangkat Lunak ◦ Evolusi Perangkat Lunak Setiap aktivitas bisa terdiri dari sub-aktivitas lainnya. 15 September 2020 PROSES PERANGKAT LUNAK 3

Spesifikasi Perangkat Lunak Mendefinisikan fungsi-fungsi dan batasan-batasan perangkat lunak yang akan dibangun. Fungsionalitas dan

Spesifikasi Perangkat Lunak Mendefinisikan fungsi-fungsi dan batasan-batasan perangkat lunak yang akan dibangun. Fungsionalitas dan batasan dibuat berdasarkan kebutuhan pengguna PL. 15 September 2020 PROSES PERANGKAT LUNAK 4

Perancangan dan Implementasi PL Pembangunan perangkat lunak sesuai dengan spesifikasi yang telah didefinisikan. 15

Perancangan dan Implementasi PL Pembangunan perangkat lunak sesuai dengan spesifikasi yang telah didefinisikan. 15 September 2020 PROSES PERANGKAT LUNAK 5

Validasi Perangkat Lunak Melakukan validasi perangkat lunak yang telah terbangun berdasarkan spesifikasi. Memastikan perangkat

Validasi Perangkat Lunak Melakukan validasi perangkat lunak yang telah terbangun berdasarkan spesifikasi. Memastikan perangkat lunak sesuai dengan kebutuhan pengguna. 15 September 2020 PROSES PERANGKAT LUNAK 6

Evolusi Perangkat Lunak Mengakomodasi perubahan-perubahan sesuai dengan kebutuhan pengguna PL. 15 September 2020 PROSES

Evolusi Perangkat Lunak Mengakomodasi perubahan-perubahan sesuai dengan kebutuhan pengguna PL. 15 September 2020 PROSES PERANGKAT LUNAK 7

Deskripsi Proses Perangkat Lunak Setiap proses dapat memiliki deskripsi yang terdiri dari: ◦ Produk

Deskripsi Proses Perangkat Lunak Setiap proses dapat memiliki deskripsi yang terdiri dari: ◦ Produk (products): keluaran dari sebuah proses, sebagai contoh: model arsitektur PL merupakan keluaran dari aktivitas perancangan PL. ◦ Peranan (roles): Setiap orang yang terlibat didalam proses memiliki peranan yang spesifik, sebagai contoh: manajer proyek, programmer, tester, dll. ◦ Pre-conditions dan post-conditions: merupakan kondisi-kondisi yang harus terpenuhi sebelum dan sesudah sebuah proses dijalankan. 15 September 2020 PROSES PERANGKAT LUNAK 8

Plan-driven dan Agile Processes Plan-driven: Aktivitas-aktivitas proses direncanakan diawal dan kemajuan dihitung berdasarkan perencanaan

Plan-driven dan Agile Processes Plan-driven: Aktivitas-aktivitas proses direncanakan diawal dan kemajuan dihitung berdasarkan perencanaan tersebut. Agile: Perencanaan dilakukan secara bertahap (incremental) dan proses berubah sesuai dengan kebutuhan pengguna PL yang selalu berubah. 15 September 2020 PROSES PERANGKAT LUNAK 9

Model Proses Perangkat Lunak Model proses PL adalah representasi dari sebuah proses perangkat lunak.

Model Proses Perangkat Lunak Model proses PL adalah representasi dari sebuah proses perangkat lunak. Setiap model proses merepresentasikan sebuah proses PL dari sudut pandang tertentu. Setiap model proses hanya merepresentasikan sebagian informasi dari keadaan sebenarnya (parsial). 15 September 2020 PROSES PERANGKAT LUNAK 10

Model-model Proses PL Model Waterfall ◦ Termasuk proses plan-driven. Setiap aktivitas dilakukan secara berurutan.

Model-model Proses PL Model Waterfall ◦ Termasuk proses plan-driven. Setiap aktivitas dilakukan secara berurutan. Incremental development ◦ Spesifikasi, pengembangan, dan validasi dilakukan secara berselang-seling. Proses bisa termasuk plan-driven atau agile. Reuse-oriented software engineering ◦ Menggabungkan komponen-komponen reusable yang sudah ada ketika membangun PL. 15 September 2020 PROSES PERANGKAT LUNAK 11

Aktivitas di dalam Proses PL Terdapat empat aktivitas fundamental didalam proses PL, yaitu: ◦

Aktivitas di dalam Proses PL Terdapat empat aktivitas fundamental didalam proses PL, yaitu: ◦ Spesifikasi (specification) ◦ Pengembangan (development) ◦ Validasi (validation) ◦ Evolusi (evolution) Aktivitas-aktivitas tersebut dilakukan dalam urutan yang berbeda sesuai dengan model proses yang diadaptasi. ◦ Pada model waterfall, aktivitas-aktivitas dilakukan secara berurutan. ◦ Pada model incremental, aktivitas-aktivitas dilakukan berselang-seling. 15 September 2020 PROSES PERANGKAT LUNAK 12

Spesifikasi PL adalah proses memahami dan mendefinisikan layanan yang harus disediakan oleh sistem dan

Spesifikasi PL adalah proses memahami dan mendefinisikan layanan yang harus disediakan oleh sistem dan batasan yang dimiliki oleh sistem. Proses dalam rekayasa kebutuhan ◦ Feasibility study Apakah sistem ini memungkinkan untuk dibangun baik secara teknis maupun finansial? ◦ Requirements elicitation and analysis Apa yang dibutuhkan oleh pengguna dari sistem? ◦ Requirements specification Mendefinisikan kebutuhan secara detil ◦ Requirements validation Memeriksa keabsahan dari definisi kebutuhan 15 September 2020 PROSES PERANGKAT LUNAK 13

Proses dalam Rekayasa Kebutuhan Feasibility study Feasibility report Requirement elicitation and analysis Requirement specification

Proses dalam Rekayasa Kebutuhan Feasibility study Feasibility report Requirement elicitation and analysis Requirement specification Requirement validation System models User and system requirements Requirements document 15 September 2020 PROSES PERANGKAT LUNAK 14

Perancangan dan Implementasi PL Sebuah proses yang mewujudkan spesifikasi PL menjadi sistem yang berjalan.

Perancangan dan Implementasi PL Sebuah proses yang mewujudkan spesifikasi PL menjadi sistem yang berjalan. Perancangan PL ◦ Merancang struktur PL yang merupakan realisasi dari spesifikasi PL. Implementasi PL ◦ Menerjemahkan struktur PL menjadi sistem yang berjalan. 15 September 2020 PROSES PERANGKAT LUNAK 15

Proses Perancangan Design inputs Platform information Requirement specification Data description Design activities Architectural design

Proses Perancangan Design inputs Platform information Requirement specification Data description Design activities Architectural design Interface design Component design Database design Design outputs System architecture 15 September 2020 Database specification Interface specification PROSES PERANGKAT LUNAK Component specification 16

Aktivitas Perancangan Desain arsitektur (architectural design), mengidentifikasi struktur sistem secara keseluruhan, komponen-komponen utama, dan

Aktivitas Perancangan Desain arsitektur (architectural design), mengidentifikasi struktur sistem secara keseluruhan, komponen-komponen utama, dan relasi antar komponen. Desain antarmuka (interface design), mendefinisikan antarmuka komponen-komponen dalam sistem. Desain komponen (component design), merancang bagaimana tiap komponen bekerja. Desain basisdata (database design), merancang struktur basisdata yang sesuai dengan kebutuhan sistem. 15 September 2020 PROSES PERANGKAT LUNAK 17

Validasi PL Verifikasi dan validasi ditujukan untuk memeriksa bahwa sistem telah sesuai dengan spesifikasi

Validasi PL Verifikasi dan validasi ditujukan untuk memeriksa bahwa sistem telah sesuai dengan spesifikasi dan memenuhi kebutuhan dari pengguna PL. Uji coba termasuk bagian dari verifikasi dan validasi PL. 15 September 2020 PROSES PERANGKAT LUNAK 18

Tahapan Uji Coba Component testing 15 September 2020 System testing PROSES PERANGKAT LUNAK Acceptance

Tahapan Uji Coba Component testing 15 September 2020 System testing PROSES PERANGKAT LUNAK Acceptance Testing 19

Tahapan Uji Coba Uji coba komponen (component testing) ◦ Tiap komponen diuji coba secara

Tahapan Uji Coba Uji coba komponen (component testing) ◦ Tiap komponen diuji coba secara independen (terisolasi). ◦ Komponen ini dapat berupa fungsi, obyek, atau sekumpulan fungsi-fungsi dan obyek. Uji coba sistem (system testing) ◦ Melakukan uji coba sistem secara keseluruhan (integrasi antar komponen-komponen). Uji coba penerimaan (acceptance testing) ◦ Melakukan uji coba dengan menggunakan data dari pengguna untuk mengetahui apakah sesuai dengan kebutuhan pengguna PL. 15 September 2020 PROSES PERANGKAT LUNAK 20

Tahapan Uji Coba Proses Plan-driven Requirement specification System specification Acceptance test plan Service 15

Tahapan Uji Coba Proses Plan-driven Requirement specification System specification Acceptance test plan Service 15 September 2020 System design System integration test plan Acceptance test Detailed design Module and unit code and test Sub-system integration test plan System integration test PROSES PERANGKAT LUNAK Sub-system integration test 21

Evolusi PL Perangkat lunak bisa berubah dan fleksibel. Perangkat lunak harus dapat berubah sesuai

Evolusi PL Perangkat lunak bisa berubah dan fleksibel. Perangkat lunak harus dapat berubah sesuai dengan perubahan kebutuhan yang disesuaikan dengan perubahan situasi bisnis. 15 September 2020 PROSES PERANGKAT LUNAK 22

Evolusi Sistem Define system requirements Assess existing systems Propose system changes Existing systems 15

Evolusi Sistem Define system requirements Assess existing systems Propose system changes Existing systems 15 September 2020 Modify systems New system PROSES PERANGKAT LUNAK 23

Perubahan di dalam PL Perubahan tidak bisa dihindari pada proyek PL besar. ◦ 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. 15 September 2020 PROSES PERANGKAT LUNAK 24

Mengurangi Biaya Menghindari perubahan, terdapat aktivitas didalam model proses yang dapat mengantisipasi perubahan. ◦

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 dengan biaya yang relatif rendah. ◦ Model proses incremental dapat mengakomodasi perubahan di versi selanjutnya. 15 September 2020 PROSES PERANGKAT LUNAK 25