Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehHadi Kurniawan Telah diubah "7 tahun yang lalu
1
(sebelum)Manajemen Proyek Perangkat Lunak
Teknik Informatika-S1 2016/2017
2
Analisis Berorientasi Objek
Sasaran analisis object oriented (OOA) adalah mengembangkan sederetan model yang menggambarkan perangkat lunak komputer pada saat perangkat itu bekerja untuk memenuhi serangkaian persyaratan yang ditentukan oleh pelanggan. Menurut Fichman dan Kemerer, yang dapat digunakan untuk membandingkan berbagai medote OOA dan Konvensional: 1. Identifikasi / klasifikasi entitas 2. Umum ke spesifik dan keseluruhan ke hubungan entitas bagian 3. Hubungan entitas lain 4. Gambaran atribut entitas 5. Partisi model skala besar 6. Keadaan dan transisi antara keadaan 7. Spesifikasi detail untuk fungsi 8. Dekomposisi top-down 9. Urutan pemrosesan end-to-end 10. Identifikasi pelayanan eksklusif 11. Komunikasi entitas (melalui pesan atau even)
3
Landskap OOA Beberapa metode yg lebih populer dlm bentuk outline.
Maksudnya adalah utk memberikan gambaran mengenai OOA yg telah diusulkan oleh penulis metode tsb. ○ Metode Booch Outline singkat dari pengembangannya : » Identifikasi kelas dan objek : Usulkan objek calon Lakukan analisis tingkah laku Identifikasi skenario yg relevan Tentukan atribut & operasi utk masing-masing kelas. » Identifikasi Semantik dari kelas & objek : Pilih skenario & analisis Tentukan tanggung jawab utk mencapai tingkah laku yg diinginkan Bagikan tanggung jawab utk menyeimbangkan tingkah laku Tentukan objek & sebutkan tugas & tanggung jawabnya satu persatu Tentukan operasi utk memenuhi tanggung jawab Carilah kolaborasi diantara objek » Identifikasi hubungan diantara kelas & objek: Tentukan ketergantungan yg ada diantara objek Deskripsikan peran masing-masing objek yg berpartisipasi Validasi dgn berjalan melewati skenario » Implementasi kelas & objek Mengimplementasikan pelengkapan model analisis
4
Landskap OOA ○ Metode Coad dan Yourdon Outline singkat pengembangannya : » Identifikasi objek dg menggunakan kriteria “apa yg dicari” » Tentukan struktur generasi-spesifikasi » Tentukan struktur keseluruhan bagian » Identifikasi subjek » Tentukan atribut » Tentukan pelayanan ○ Metode Rambough Outline singkat pengembangannya : » Kembangkan pernyataan ruang lingkup masalah » Bangun model objek : Identifikasi kelas yg relevan utk masalah tsb Tentukan atribut & asosiasi Tentukan link objek Organisasikan kelas objek dg menggunakan pewarisan » Kembangkan model dinamis : Siapkan skenario Tentukan event & kembangkan penelurusan event utk masing-masing skenario Buatlah diagram aliran event Kembangkan diagram keadaan Kajilah tingkah laku utk konsistensi & kelengkapannya » Buatlah model fungsional utk sistem tsb: Identifikasi input & output Gunakan dg aliran data utk mempresentasikan tranformasi aliran Kembangkan masing-masing fungsi Tentukan batasan & kriteria opsional ○ Metode Wirfs-Brock Outline singkat pengembangannya : » Evalusi spesifikasi pelanggan » Gunakan uraian gramatikal utk mengekstrak kelas calon dari spesifikasi » Kelompokkan kelas dg tujuan utk mengidentifikasi superkelas » Tentukan tanggung jawab untuk masing-masing kelas
5
Analisis Domain Analisis domain perangkat lunak
adalah identifikasi, analisis dan spesifikasi dari persyaratan umum suatu domain aplikasi spesifik, yang secara khas digunakan pada proyek bertingkat pada domain aplikasi itu.
7
Aktivitas analisis domain:
Tentukan domain yg akan diteliti : Utk melakukannya, analisis harus lebih dulu mengisolasi area bisnis, atau kategori produk dari kepentingan. Kategorikan item yg akan diekstrak dari domain tsb. : Item dikumpulkan ke dlm kategori, & pendefinisian umum dari karakteristik kategori itu ditentukan. Kumpulkan sampel representatif dari aplikasi di dlm domain tsb. : Utk melakukannya, analisis harus memastikan bhw aplikasi memiliki item yg cocok dgn kategori yg ditentukan. Analisis masing-masing aplikasi pd sampel tsb. : Langkah – langkah berikut ini ditemui selama analisis domain : - identifikasi objek - tunjukkan alasan mengapa objek diidentifikasi - tentukan adaptasi bagi objek - perkirakan persentasi aplikasi pd domain - identifikasi objek menurut namanya Kembangkan model analisis utk objek tsb. : Model analisis akan berfungsi sbg dasar bagi desain & konstruksi objek domain. - See more at:
8
EXPLORASI KONSEP & SPESIFIKASI PERSYARATAN
Tahap Eksplorasi Konsep Langkah awal dlm ekplorasi konsep harus meliputi sbb : ● Masalah yg dipecahkan dg sistem baru harus dinyatakan secara tepat ● Sistem yg dipakai harus diteliti & dinyatakan dg jelas, misalnya mungkin ada batasan-batasan pd sumber perhitungan. ● Tujuan sistem & proyek harus ditentukan. Tujuan proyek sistem meliputi suatu keuntungan yg diinginkan pd organisasi, seperti meningkatkan produktivitas, atau pengalaman pengembangan sistem. ● Fitur-fitur & fungsi-fungsi dari sistem baru harus diset pd tingkat tinggi dari biasanya. Beberapa pertimbangan yg harus diperhatikan dlm menentukan apakah suatu sistem harus dibuat, al : ● Apakah masalah yg dipecahkan dg sistem baru tsb penting. ● Apakah masalah yg dipecahkan dg software sering dipakai ? ● Apakah populasi pemakai yg potensial thd sistem baru cukup besar? ● Apakah sistem yg otomatis tsb dpt menyediakan bentuk pemecahan masalah yg lebih baik?
9
EXPLORASI KONSEP & SPESIFIKASI PERSYARATAN
Dokumen Dalam Eksplorasi Konsep Merupakan dokumen yang menyimpan penemuan-penemuan dalam eksplorasi konsep. Dokumen ini menyajikan bahan masukan dalam tahap spesifikasi persyaratan dan suatu perputaran kehidupan. Tahap Spesifikasi Persyaratan Hal penting yang ada dalam penentuan penempatan persyaratan adalah bahwa persyaratan tersebut menerangkan “apakah” suatu sistem bekerja bukannya “bagaimana” sistem tersebut bekerja.
10
EXPLORASI KONSEP & SPESIFIKASI PERSYARATAN
Dokumentasi Persyaratan Merupakan dokumen yang berfungsi sebagai persetujuan antara developer dan klien, persyaratan tersebut bagi developer sebagai patokan apa yang akan disampaikan dan bagi klien adalah apa yang akan diharapkan. Dokumen ini berisi informasi mengenai : ● Pengenalan produk ● Pengembangan, pengoperasian, dan pemeliharaan lingkungan sistem ● Spesifikasi antar muka pemakai (user interface spesification) ● Persyaratan fungsional dari operasi dan transformasi data ● Persyaratan data base dan antar muka eksternal ● Penanganan kesalahan ● Peningkatan dan perubahan yang dapat diramalkan ● Implementasi rancangan, petunjuk dan panduan pengujian ● Ringkasan dari teknik rekayasa perangkat lunak.
11
EXPLORASI KONSEP & SPESIFIKASI PERSYARATAN
Prototipe Dalam Tahap Pengembangan Sistem ● Prototipe adalah implementasi dari produk software yang secara typical fungsional dibatasi, reliablitas (tingkat kebenaran) rendah, miskin tampilan dan kurang ketegasan. Prototipe sering dikembangkan secara cepat dalam bahasa tingkat tinggi tanpa memperhatikan kebenaran dan ketegasan dsb. ● Kadang-kadang klien hanya memberikan beberapa kebutuhan umum software tanpa detil input, proses atau detil output. Di lain waktu mungkin dimana tim pembangun (developer) tidak yakin terhadap efisiensi dari algoritma yang digunakan, tingkat adaptasi terhadap sistem operasi atau rancangan form user interface. Ketika situasi seperti ini terjadi model prototyping sangat membantu proses pembangunan software.
12
EXPLORASI KONSEP & SPESIFIKASI PERSYARATAN
Proses pada model prototyping yang digambarkan sebagai berikut: ● Pengumpulan Kebutuhan: developer dan klien bertemu dan menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan berikutnya. Detil kebutuhan mungkin tidak dibicarakan disini, pada awal pengumpulan kebutuhan ● Perancangan : perancangan dilakukan cepat dan rancangan mewakili semua aspek software yang diketahui, dan rancangan ini menjadi dasar pembuatan prototype. ● Evaluasi Prototype: klien mengevaluasi prototype yang dibuat dan digunakan untuk memperjelas kebutuhan software. # Perulangan ketiga proses ini terus berlangsung hingga semua kebutuhan terpenuhi. Prototype-prototype dibuat untuk memuaskan kebutuhan klien dan untuk memahami kebutuhan klien lebih baik. # Prototype yang dibuat dapat dimanfaatkan kembali untuk membangun software lebih cepat, namun tidak semua prototype bisa dimanfaatkan. Sekalipun prototype memudahkan komunikasi antar developer dan klien, membuat klien mendapat gambaran awal dari prototype, membantu mendapatkan kebutuhan detil lebih baik.
13
EXPLORASI KONSEP & SPESIFIKASI PERSYARATAN
Prototipe mempunyai 2 tujuan utama : 1. Utk membantu pengembangan persyaratan jika tdk dpt ditentukan dg mudah. 2. Utk mengesahkan persyaratan, khususnya dg customer & user potensial. Keuntungan dari prototipe : 1. Kesalahpahaman antara system developer & sistem user dpt di-identifikasi & dibetulkan. 2. Prototpe yg sedang bekerja mungkin sangat berguna dlm suatu pembuktian manajemen bhw suatu proyek adalah fisibel (layak) sehingga menjamin kelangsungan dukungan. Kelemahan prototipe: 1. Dlm membuat prototype banyak hal yg diabaikan spt efisiensi, kualitas, kemudahan dipelihara/dikembangkan, & kecocokan dg lingkungan yg sebenarnya. Jika klien merasa cocok dg prototype yg disajikan & berkeras thd produk tsb, maka developer hrs kerja keras utk mewujudkan produk tsb menjadi lebih baik, sesuai kualitas yg seharusnya. 2. Developer biasanya melakukan kompromi dlm beberapa hal krn hrs membuat prototype dlm waktu singkat. Mungkin sistem operasi yg tdk sesuai, bhs pemrograman yg berbeda, atau algoritma yg lebih sederhana.
14
Format Laporan Kebutuhan Perangkat Lunak
1. Pendahuluan Menjelaskan proyek yang akan dibuat, manfaat yang diberikan dari proyek ini bagi masyarakat luas/tertentu. 2. Rumusan masalah Apa yang menjadi inti dari masalah yang akan dipecahkan atau apa yang menjadi tantangan bagi proyek ini, misalnya bagaimana aplikasi ini akan menjadi sumber informasi bagi….. dalam hal… dan mampu menjangkau….. 3. Spesifikasi sistem Uraian kemampuan aplikasi yang akan dibangun secara rinci sehingga bisa menggambarkan nilai tambah dan pentingnya aplikasi yang dibangun. 4. Kebutuhan sistem Menjelaskan kebutuhan sistem baik software atau hardware yang diperlukan. 5. Jadwal Pembangunan Sistem Buatlah time table yang mewakili jadwal kerja kelompok dalam menyelesaikan pembangunan aplikasi. 6. Tim Pembangun Daftar nama anggota tim dan tugas/tanggung jawab masing masing anggota - See more at:
15
MANAJEMEN PROYEK PERANGKAT LUNAK (1)
Akses Tgl 20 September 2013 Manajemen Proyek Perangkat Lunak merupakan bagian yang penting dalam pembangunan perangkat lunak. Sekalipun tidak bersifat teknis seperti pengkodean, hal-hal dalam manajemen proyek perangkat lunak ini mampu menentukan apakah proyek akan berjalan dengan baik sehingga menghasilkan produk yang baik. Hal-hal yang berkaitan dengan manajemen adalah pengelolaan personel dan koordinasi tim, proses, pengukuran proyek-termasuk menentukan harga dari perangkat lunak, penjadwalan dan sebagainya. ► Manajemen proyek perangkat lunak mengatur 4 hal penting yaitu : 1. Personel 2. Produk 3. Proses 4. Proyek
16
MANAJEMEN PROYEK PERANGKAT LUNAK (2)
1. Personel Proses pembangunan perangkat lunak melibatkan banyak personel. Personel-personel ini digambarkan seperti pemain, dan dikatagorikan dalam 5 katagori pemain: ● Manajer senior : yg menentukan usaha yg dikerjakan, & pemegang keputusan dlm proyek. ● Manajer proyek (teknis)– pemimpin tim: yg membuat rencana, memotivasi, mengatur & mengendalikan praktisi yg mengerjakan perangkat lunak. ● Praktisi : yg mengerjakan perangkat lunak ● Klien : yg menentukan kebutuhan perangkat lunak & pihak lain yg berkaitan dg hasil produk ● Pengguna Perangkat Lunak : yg berinteraksi langsung dg perangkat lunak yg dibangun. 2. Pemimpin Tim/ Manajer Proyek Kemampuan yg dibutuhkan dlm kepemimpinan seperti: ● Mampu memotivasi ● Mampu berorganisasi : mengatur proses yg ada / membuat yg baru dlm rangka mewujudkan ide/konsep menjadi produk ● Mampu mendorong keluarnya ide-ide baru: memberi dorongan, menciptakan situasi yg kondusif utk lahirnya ide baru ● Mencari penyelesaian masalah (problem solving): mampu menganalisa masalah-masalah teknis ataupun manajemen/organisasi kemudian mendapatkan jalan keluar / memotivasi anggota utk mampu menyelesaikan masalah. Akomodatif thd perubahan yg mungkin terjadi.
17
MANAJEMEN PROYEK PERANGKAT LUNAK (3)
3. Tim Perangkat Lunak (Software Team) Berikut beberapa pilihan pembagian tugas/penugasan yg bisa diterapkan utk tim perangkat lunak yg terdiri dari n personel yg bekerja selama k tahun: Personel ditugaskan utk sejumlah m tugas yg berbeda dg sedikit tugas gabungan ? koordinasi adalah tugas dari manajer yg mungkin saja punya 6 proyek lainnya. n personel di tugaskan utk sejumlah m tugas yg berbeda dg m < n sehingga terbentuk tim informal. Pemimpin tim khusus perlu ada ? koordinasi antar tim adalah tanggung jawab manajer n personel dibagi menjadi sejumlah t tim. Tiap tim ditugaskan mengerjakan satu / lebih tugas. Tiap tugas mempunyai struktur yg ditentukan sebelumnya bagi semua tim ? koordinasi dikendalikan oleh tim & manager. Sekalipun masing-masing pilihan punya argumentasi sendiri-sendiri, namun dari pengamatan yg dilakukan, pilihan no 3 dianggap lebih produktif. Contoh Struktur Organisasi Tim 1. Democratic Decentralized (DD) : Tdk ada pemimpin yg permanen, koordinator ditunjuk utk jangka waktu yg pendek, keputusan diambil berdasarkan konsensus bersama, komunikasi horizontal antar anggota tim (posisi sejajar semua). Cocok utk masalah yg sulit/rumit, cocok utk proyek besar, tim cenderung awet & bertahan lama, pekerjaan memuaskan, cocok utk masalah yg modularitasnya rendah, perlu banyak waktu utk menyelesaikan proyek.
18
MANAJEMEN PROYEK PERANGKAT LUNAK (4)
2. Controlled decentralized (CD) : Pemimpin tim ditentukan, ada wakil pemimpin dan mereka berbagi tugas, penyelesaian masalah adalah tugas tim dan implementasinya dibagi di antara beberapa sub-tim oleh pemimpin, komunikasi horisontal di antara sub-tim dan di antara personel, komunikasi vertikal berdasarkan struktur hirarki ? sentralisasi untuk penyelesaian masalah. Cocok untuk masalah yang sederhana, cukup cocok untuk proyek besar, masalah dengan modularitas tinggi, menghasilkan sedikit kesalahan. 3. Controlled Centralized (CC): Penyelesaian masalah dikerjakan oleh pemimpin, pemimpin melakukan koordinasi internal tim, komunikasi lebih banyak vertikal antara pemimpin dan anggota tim. Cocok untuk masalah yang sederhana, melakukan penyelesaian, masalah lebih cepat, masalah dengan modularitas tinggi, menghasilkan sedikit kesalahan.
19
MANAJEMEN PROYEK PERANGKAT LUNAK (5)
► Pengukuran Perangkat Lunak Metric dlm software engineering didefinisikan oleh IEEE Glossary of SE sbg “a quantitative mesaure of the degree to which a system, component, or process possesses a given attribute” artinya : Pengukuran secara kuantitatif pada tingkat sistem, komponen atau proses berdasarkan katagori yang ditetapkan ► Pengukuran Berdasarkan Ukuran Pengukuran berdasarkan perangkat lunak - perangkat lunak yg sdh diproduksi/dibuat sebelumnya, lengkap dg karakteristik lain seperti line of code (LOC), harga, waktu yg diperlukan pd tiap fungsi / proyek yg dibangun, kesalahan (error) yg ditemukan. Dari total LOC, harga & lama waktu dpt diperoleh misalnya : harga per KLOC (seribu baris kode), kesalahan per KLOC Cara ini kurang diterima secara universal karena pengunaan LOC untuk kunci ukuran bergantung pada bahasa pemrograman yang digunakan.
20
MANAJEMEN PROYEK PERANGKAT LUNAK (6)
► Pengukuran Berdasarkan Fungsi (Function Point – FP) Function point ditentukan berdasarkan bagian-bagian software yg bisa dihitung seperti : ● jml input dari pengguna ● jml output untuk pengguna ● jml user inquiry: inquiry didefinisikan sbg online input yg menghasilkan respon langsung dari software dlm bentuk online output ● jml file: baik file yg terpisah dari database, atau bagian dari file ● jml external interface: misalnya data file pd storage media yg digunakan utk mengirimkan informasi ke sistem lain. Ukuran utk organisasi kecil bisa menggunakan ukuran seperti : ● waktu (hari atau jam) mulai dari permintaan/request s/d evaluasi lengkap ● usaha (personel-waktu) utk melakukan evaluasi. ● waktu (jam atau hari) dari selesainya evaluasi s/d penugasan lain ke personel. ● usaha (personel – jam) yang dibutuhkan untuk membuat perubahan ● waktu (jam atau hari ) untuk melakukan perubahan, ● kesalahan yang terjadi selama pengerjaan untuk melakukan perubahan. ● cacat yang terjadi setelah perubahan diserahkan ke klien. - See more at:
21
Dasar-dasar Rekayasa Perangkat Lunak
1. Pemahaman Dasar-dasar Rekayasa Perangkat Lunak a. Pengertian Perangkat Lunak Program komputer dan dokumentasi yang berkaitan seperti dokumen kebutuhan, rancangan, dan user manual. Produk perangkat lunak bisa dibangun untuk pengguna khusus atau umum: * Generic – dibangun untuk dijual ke pengguna yang berbeda-beda misalnya perangkat lunak untuk PC seperti Excel atau Word. * Bespoke (custom) – untuk pengguna khusus/pemesan sesuai kebutuhannya. Perangkat lunak baru bisa dibuat dengan membangun program baru, konfigurasi sistem perangkat lunak atau gunakan lagi (reuse) program yang sudah ada. b. Pengertian Rekayasa Perangkat Lunak Disiplin ilmu rekayasa atau teknik yang berkaitan dengan semua aspek dalam membuat perangkat lunak. Rekayasa perangkat lunak harus mengikuti pendekatan yang sistematis dan teratur dan menggunakan alat dan teknik yang cocok sesuai dengan masalah yang akan dipecahkan, batasan pembangunan dan sumber yang tersedia.
22
Dasar-dasar Rekayasa Perangkat Lunak
c. Perbedaan Rekayasa Perangkat Lunak dan Ilmu Komputer Ilmu komputer berkaitan dengan teori dan konsep-konsep dasar sedangkan Rekayasa Perangkat Lunak berkaitan dengan praktek pembangunan perangkat lunak. Teori ilmu komputer lebih kurang sebagai penyangga rekayasa perangkat lunak. d. Perbedaan Rekayasa Perangkat Lunak dan Rekayasa Sistem Rekayasa sistem berkaitan dengan semua aspek dalam pembangunan sistem berbasis komputer termasuk hardware, rekayasa perangkat lunak dan proses, sedangkan Rekayasa Perangkat Lunak adalah bagian dari rekayasa sistem yang meliputi pembangunan perangkat lunak, infrasktruktur , kontrol, aplikasi dan database pada sistem. Para ahli sistem (system engineers) terlibat dalam spesifikasi sistem, desain arsitektural, integrasi dan peluncurannya. f. Pengertian Software Process * Serangkaian aktifitas yang tujuannya adalah pembangunan atau evolusi perangkat lunak * Aktifitas umum dalam semua proses perangkat lunak : * Spesifikasi – apa yang dilakukan sistem dan batas pembangunan * Pembangunan- produksi dari sistem perangkat lunak * Validasi – pemeriksaan apakah perangkat lunak sesuai dengan permintaan pemesan * Evolusi – mengubah perangkat lunak untuk menyesuaikan perubahan permintaan.
23
Dasar-dasar Rekayasa Perangkat Lunak
2. Tahap-Tahap Dalam Pembuatan Perangkat Lunak * Fase Analisa kelayakan dan eksplorasi konsep. Mengidentifikasi kebutuhan untuk melakukan otomatisasi proses dan menganalisa kelayakan proyek. * Fase spesifikasi persyaratan. Menganalisa dan mendokumentasikan persyaratan sistem. Dokumentasi persyaratan secara jelas harus menyebutkan apa yang akan dilakukan oleh sistem yang diproyeksikan, unsur apa yang akan diperlukan oleh produk perangkat lunak serta karakteristik apa yang harus dimiliki oleh unsur produk * Fase desain. Mendesain sistem dan mendokumentasikan sistem. Dokumen desain menentukan cara pembuatan sistem software untuk memenuhi persyaratan tersebut. * Fase implementasi. Menulis perangkat lunak. * Fase pengujian. Mencoba perangkat lunak untuk mengetahui apakah telah memenuhi persyaratannya. * Fase perawatan. Mengikuti penempatan produk perangkat lunak, membetulkan kesalahan, mengubah dan memperluas sistem.
24
Dasar-dasar Rekayasa Perangkat Lunak
3. Atribut kualitas Perangkat Lunak * Benar. Dokumentasi dikatakan benar bila secara tepat dan akurat dapat menjelaskan fungsi dan kelayakan program . Perangkat lunak dikatakan benar jika telah memenuhi persyaratan input dan outputnya. * Efisien. Perangkat lunak yang menunjukkan cara pemakaian sumber komputasi secara baik. * Perawatan. Menunjukkan betapa mudahnya dalam mekukan perbaikan, perubahan dan perluasan. * Portable. Atribut ini menunjukkan bahwa perangkat lunak dapat dipindah tergantung jenis lingkungannya. * Readable. Atribut ini menunjukkan bahwa perangkat lunak mudah untuk dipahami produk kerjanya. * Reliable (dapat dipercaya) * Kuat * Reusable (dapat dipakai berulang-ulang) * Testable (Dapat diuji) * Well documented (memiliki dokumentasi yang baik) - See more at:
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.