Testing Implementasi Sistem Oleh :Rifiana Arief, SKom, MMSI Pertemuan 1 Pengembangan Perangkat Lunak Oleh :Rifiana Arief, SKom, MMSI
Systems Development Lifecycle (SDLC
Fase Perencanaan Mendefinisikan Masalah Mengkonfirmasikan kelayakan proyek Membuat jadwal proyek Menentukan staff yang terlibat dalam proyek Memulai proses pengembangan proyek
Fase Analisa Mengumpulkan informasi Mendefinisikan kebutuhan - kebutuhan sistem Membangun prototipe sesuai kebutuhan sistem Menentukan prioritas kebutuhan sistem Membuat prototipe atas prioritas dan melakukan evaluasi terhadap alternatif yang dipilih Mereview rekomendasi terhadap pihak manajemen
Fase Desain Desain Level Tinggi (Arsitektur Sistem) Desain dan integrasi jaringan Desain arsitektur aplikasi Desain Level Rendah Desain user interface Desain sistem interface Desain dan integrasi database Prototype desain secara lengkap Desain dan integrasi pengawasan sistem
Fase Implementasi Membangun komponen - komponen perangkat lunak Melakukan verifikasi dan pengujian Mengkonversi data Melakukan training user dan mendokumentasikan sistem Menginstall sistem
Fase Support / Dukungan Memelihara Sistem Memperbaiki system Mendukung Pengguna Help desk
Sumber Perangkat Lunak Aplikasi Perangkat lunak komersial dari vendor Contoh : M Office, DBMS Perangkat lunak terkustomisasi (customized software) Contoh : Datawarehouse untuk sistem informasi ....
Perangkat lunak komersial dari vendor Keuntungan: Implementasi cepat Penghematan biaya Estimasi biaya dan waktu Reliabilitas Kelemahan: Kesesuaian Rancangan sistem yang tidak baik Ketergantungan Vendor Biaya tidak langsung dari kerusakan SDLC
Perangkat lunak tercustomisasi Jika sistem yang sedang dikembangkan tidak bisa didukung oleh paket software maka harus memesan dari perusahaan jasa/kontraktor independen atau membangun sendiri perangkat lunak (in-house) agar sesuai dengan rancangan sistemnya.
Sumber Perangkat Lunak Komersial Yang dipersiapkan oleh vendor adalah RFP (Request For Proposal) Prototyping
SWDLC (Software Development Life Cycle) Rancangan (Design) Kode (Code) Uji (Test)
SWDLC Rancangan (design) Bagian dari rancangan sistem terinci yang akan dikonversi ke program aplikasi yang dapat digunakan sebagai pedoman oleh programmer dalam menulis program Bagan terstruktur Bahasa Inggris terstruktur Tabel Keputusan Pohon Keputusan Kamus data Diagram Warnier Orr Diagram Jackson UML Rational Rose
SWDLC Kode (Code) Menulis statemen dalam bahasa pemrograman CASE Tools dsb Uji(Test) Pengujian terhadap semua modul kode untuk mendeteksi kesalahan
Mengorganisasi Proyek Pengembangan perangkat lunak Pendekatan organisasi Program development team Chief programmer team Egoless programming team
Pendekatan Organisasi : Program development team Tim pengembangan program dikelola oleh manajer tim atau seseorang yang terlibat dalam SDLC dari awal, dan didukung oleh perancang, pengkode, dan penguji . Jika perusahaan menggunakan aturan 40-20-40 maka orang-orang yang memiliki keterampilan lebih tinggi harus ditugaskan untuk perancangan dan pengujian. Bila rancangan lengkap, jelas dan akurat maka tugas pengkodean akan menjadi proses yang sederhana yang dapat dijalankan oleh setiap orang yang telah kenal dengan sintaks bahasa pemrograman
Pendekatan Organisasi Chief programmer team Tim ini dibentuk dari programmer kepala atau senior yang banyak pengalaman dan pengetahuan pemrograman. Programmer kepala dapat berkomunikasi secara efektif dengan analis dan perancang sistem, pemakai, dan berbagai teknisi. Programmer kepala didukung oleh asisten utama yang bertugas sebagai komunikator dengan orang lain pada tim atau penyampai informasi dari gagasan programmer kepala. Kedua orang tersebut didukung oleh Programmer pendukung/ yunior bertugas membantu programmer kepala dan asisten utama untuk proyek besar yang tidak dapat ditangani sendiri. Para programmer pendukung biasanya mengkode modul-modul tingkat rendah. Tim ini juga didukung oleh pustakawan, administrator, editor, dan klerk program.
Pendekatan Organisasi Tim pemrograman bersama (Egoless programming team) Tim ini terbentuk dari seluruh rekan yang bersama-sama bertanggung jawab atas pengembangan perangkat lunak tanpa supervisi langsung/pimpinan.
Perbedaan pendekatan-pendekatan tersebut Tim pengembangan program mengembangkan aturan 40-20-40 yaitu menekankan pada perancangan dan pengujian. Tim programmer kepala dan tim pemrograman bersama menekankan pada fungsi pengkodean.
Jumlah interface dan lintasan komunikasi Tim pengembangan program T/D : 2 perancang, 1 pengkode, 2 penguji. Interface dan lintasan komunikasi berada antara perancang dan pengkode, pengkode dan penguji, perancang dan penguji. Interface dan lintasan komunikasi ke manajer tim hanya memberikan rekapitulasi dan informasi kinerja karena manajer tidak terlibat langsung dalam pekerjaan yang sebenarnya. Total interface dan lintasan komunikasi ada lima, dan satu interface manajemen.
Jumlah interface dan lintasan komunikasi Tim programmer kepala terdiri dari lima programmer pendukung mempunyai lima interface dan lintasan komunikasi, dan lebih mungkin memenuhi deadline yang ketat.
Jumlah interface dan lintasan komunikasi Tim pemrograman bersama terdiri dari lima programmer. Jumlah interface dan lintasan komunikasi = n(n-1)/2= 5(5-1)/2=10 Komunikasi membutuhkan waktu dan mengurangi produktivitas. Segala jenis pekerjaan pengembangan biasanya waktu restart (mulai lagi) setelah setiap interupsi besarnya 30 menit sehingga peluang pemrograman yang bisa dilakukan waktunya sedikit. Oleh karena itu apabila terdapat lebih dari tiga programmer yang terlibat maka sebaiknya ditetapkan seorang supervisor atau pimpinan.
Merencanakan proyek Siklus Hidup pengembangan perangkat lunak Perangkat yang digunakan adalah teknik tinjauan dan evaluasi program (PERT) PERT : untuk menentukan rangkaian atau urutan pelaksanaan tugas pengembangan perangkat lunak dan untuk mengestimasikan lamanya waktu yang diperlukan dari awal sampai selesainya pelaksanaan tugas
Langkah menyusun jaringan PERT Identifikasi semua tugas Mengestimasi waktu Menetapkan rangkaian tugas Menentukan jalur kritist LIHAT KEMBALI MATERI Hitungan menggunakan PERT
Perancangan Perangkat Lunak
Tahapan Rancangan Perangkat Lunak 2 Pendekatan rancangan perangkat lunak Rancangan perangkat lunak terstruktur Rancangan perangkat lunak berorientasi objek Tahap rancangan perangkat lunak : Rancangan Perangkat Lunak Pengkodean perangkat Lunak Pengujian Perangkat Lunak Pemeliharaan Sistem
Alat perancangan perangkat lunak terstruktur Kamus data Model data logik ERD DFD STD
Tahapan perancangan berorientasi objek Mendefinisikan Konteks sistem dan model penggunaan Merancang arsitektur sistem Mengidentifikasi obyek utama sistem Mengembangkan model desain Menspesifikasi interface obyek
Alat perancangan perangkat lunak berbasis object UML rasional rose Visio dst
Pengkodean Perangkat Lunak
Perbedaan bahasa generasi ke-4 dengan bahasa generasi ke3 Keunggulan 4GL Jalur kode yang lebih sedikit Memberikan potensi dilakukannya pemrograman oleh end user untuk aplikasi mereka sendiri Metodologi pengembangan Produktivitas yang meningkat Layanan yang meningkat Partisipasi pemakai
Perbedaan bahasa generasi ke-4 dengan bahasa generasi ke3 Keunggulan 3GL Kepadatan Efisiensi mesin Fungsionalitas Kompatibilitas Produktivitas pengkodean Pengujian dan pemeliharaan
Bahasa pemrograman berorientasi objek Jenis bahasa OOP Murni Smalltalk Hybrid C++ C Cobol
Perangkat bahasa penggunaan khusus Alat bahasa berorientasi pemakai interaktif DBMS Alat bahasa hypertext dan multimedia
Memilih bahasa yang tepat Mencocokan bahasa dengan aplikasi rancangan perangkat lunak Tingkat penggunaan dalam dunia bisnis Keekspresifan Kemudahan Portabilitas Maintainability Extendability