Pengembangan dan Perancangan Perangkat Lunak

Slides:



Advertisements
Presentasi serupa
Pengembangan Sistem Informasi
Advertisements

KONSEP PENGEMBANGAN REKAYASA PERANGKAT LUNAK
REKAYASA SISTEM.
Pengujian Software - Pelaksanaan
Analisis dan Perancangan Perangkat Lunak
PENGEMBANGAN SISTEM.
Pengelolaan Proyek Sistem Informasi
Pengembangan perangkat lunak
TESTING & IMPLEMENTASI SISTEM
Aktifitas Pengembangan Sistem
PENGETAHUAN PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK
Software Testing Pertemuan III.
Testing Implementasi Sistem Oleh :Rifiana Arief, SKom, MMSI
Tugas Sistem Informasi Manajemen
PENGEMBANGAN PERANGKAT LUNAK.
Rekayasa Perangkat Lunak
Membangun Sistem Informasi ERP
PROSES-PROSES PERANGKAT LUNAK
PENGEMBANGAN PERANGKAT LUNAK.
Pengembangan Siklus Hidup Sistem
PERENCANAAN AKTIVITAS PROYEK
Spesifikasi Perangkat Lunak
FASE PERENCANAAN MPSI – sesi 4.
KONSEP SISTEM INFORMASI KORPORASI
Rekayasa Perangkat Lunak Model Proses PL
FASE PERENCANAAN MPSI – sesi 4.
Rencana Pengembangan Perangkat Lunak (TIS 00)
Implementasi Sistem Akuntansi
Anna dara andriana., M.kom
Perancangan Sistem Informasi
System Development Life Cycle (SDLC)
PENGEMBANGAN PERANCANGAN SISTEM
ANALISA DAN PERANCANGAN SISTEM INFORMASI
SE3414 RPL: Teknik Berorientasi Objek
REKAYASA PERANGKAT LUNAK
Manajemen Konfigurasi Perangkat Lunak
TESTING DAN IMPLEMENTASI SISTEM (Pertemuan Ke-8)
PENGEMBANGAN PERANGKAT LUNAK
IMPLEMENTASI SISTEM INFORMASI Tinjauan Umum Implementasi Sistem
Materi Habis Uts IMK Prototyping
Analisa dan Perancangan Sistem
RPL.
PENGEMBANGAN SISTEM Muhammad Hidayat, SE.
SIM LOGISTIK PERTEMUAN 3.
PERTEMUAN 2 Proses Pengembangan Perangkat Lunak
Nency Extise Putri, M.Kom
ANALISA DAN PERANCANGAN SISTEM INFORMASI
Proses Pengembangan Database
TESTING DAN IMPLEMENTASI SISTEM (Pertemuan Ke-7)
Pengembangan Perangkat Lunak
FASE PEMOGRAMAN.
Pengembangan Perangkat Lunak
Perancangan Perangkat Lunak
Pengembangan Perangkat Lunak
Membangun Sistem Informasi ERP
RENCANA PENGEMBANGAN PERANGKAT LUNAK (RPPL)
Membangun Sistem Informasi ERP
PENGEMBANGAN SISTEM.
Pengembangan Sistem Informasi
Pengembangan Sistem Informasi
SOFTWARE ENGGINERING Software LIFE CYCLE
Perancangan Perangkat Lunak
Pengembangan Perangkat Lunak
Pengembangan Perangkat Lunak
Pengembangan Perangkat Lunak
OBJECT ORIENTED ANALISYS AND DESIGN
Pengembangan Perangkat Lunak
Pengembangan Perangkat Lunak
Perancangan Perangkat Lunak
Perancangan Perangkat Lunak
Transcript presentasi:

Pengembangan dan Perancangan Perangkat Lunak Diema HS

Siklus Pengembangan PL Plan Act Do Check Siklus Pengembangan PL

Tipe Pengembangan Sistem (Proyek Perangkat Lunak) Pengembangan Sistem Biasa Pengembangan Iteratif (Prototyping/CASE) Pemeliharaan Sistem Kontrak/Pembelian Software Tipe Pengembangan Sistem (Proyek Perangkat Lunak)

Pengembangan Sistem Biasa Karakteristik : Metodologi pengembangan sistem User mengetahui requirement Pengembangan menentukan struktur Siasat Pengujian : pengujian dilakukan di akhir tiap-tiap tahap Melakukan verifikasi tiap-tiap spesifikasi yang diperlukan Menguji struktur dan fungsi Pengembangan Sistem Biasa

Pengembangan Iteratif Karakteristik : Requirement tidak diketahui Struktur didefinisikan di awal pengembangan Siasat Pengujian : Verifikasi alat Bantu CASE yang digunakan Verifikasi kebutuhan tiap prototype Menguji fungsionalitas Pengembangan Iteratif

Pemeliharaan Sistem Karakteristik : Memodifikasi struktur Siasat Pengujian : Menguji struktur Mengeluarkan metode kerja yang terbaik Memerlukan pengujian regresi Pemeliharaan Sistem

Kontrak/Pembelian Software Karakteristik : Struktur tidak diketahui Banyak terjadi defect Fungsionalitas tercantum dalam dokumen Terdapat berbagai document Siasat Pengujian : Verifikasi fungsi yang diperlukan Pengujian fungsionalitas Pengujian di dalam lingkungan kerja Kontrak/Pembelian Software

Menentukan Lingkup Proyek Ditentukan berdasarkan keseluruhan aktivitas yang tersangkut dalam pengembangan perangkat lunak Menggambarkan karakteristik yang lebih terperinci dengan menekankan pada daftar requirements yang telah ditentukan terlebih dahulu. Menentukan Lingkup Proyek

Perbedaan Lingkup Proyek A. Pengembangan Sistem baru a) Apakah akan mengotomatisasi proses bisnis yang manual b) Proses bisnis yang mana yang akan dipengaruhi oleh system baru c) Area bisnis yang mana yang akan dipengaruhi oleh system baru d) Program Perantara dengan system lama e) Sistem yang lama akan terpengaruh atau tidak B. Perubahan system yang telah ada a) Apakah hanya melakukan koreksi b) Apakah hanya melakukan proses rekayasa PL secara standar c) Pengoreksian untuk mengetahui defect dalam rangka perluasan system d) Apakah terdapat system yang terpengaruh e) Adakah resiko atau kemunduran system Perbedaan Lingkup Proyek

Sumber Perangkat Lunak Aplikasi Perangkat Lunak Komersial dari Vendor Perangkat Lunak Pesanan (customized software) dikembangkan secara in-house atau oleh kontraktor pemrograman independent Sumber Perangkat Lunak Aplikasi

Perangkat Lunak Komersial dari Vendor Paket (off-the-self) yang tersedia bisa diterapkan dalam berbagai kebutuhan bisnis. Beberapa paket bersifat generik dan multifungsional yang memungkinkan para pemakai memprogram sofware tersebut untuk kebutuhannya sendiri. Paket-paket tersebut mengotomisasi fungsi-fungsi bisnis dasar yang umumnya tidak terlalu bervariasi dari satu organisasi dengan organisasi lain. Contoh jenis paket adalah spreadsheet dan DBMS. Perangkat Lunak Komersial dari Vendor

Keuntungan/kelebihan dari Perangkat Lunak Komersial : Implementasi yang cepat Software tersebut bersifat siap, teruji, dan terdokumentasi. Paket yang dibeli biasanya pengimplementasiannya jauh lebih cepat dari pada mengembangkan program yang sama secara in-house atau menyuruh kontraktor independen untuk mengembangkannya sehingga secara potensial membantu memecahkan backlog (penimbunan pekerjaan yang belum selesai). Penghematan Biaya Satu paket perangkat lunak komersial bisa dijual kepada banyak organisasi sehingga biaya pengembangan ditanggung oleh banyak pemakai, dan biaya total suatu paket akan lebih murah dari pada program pesanan yang sama Keuntungan/kelebihan dari Perangkat Lunak Komersial :

Keuntungan/kelebihan dari Perangkat Lunak Komersial : Estimasi biaya dan waktu Biaya atau harga paket komersial telah diketahui, dan tanggal pengimplementasian-nya mudah diestimasi. Sebaliknya program pesanan biasanya cenderung melampaui estimasi waktu dan biaya. Reliabilitas Sebelum diterbitkan di pasaran umum, paket perangkat lunak komersial pasti telah diuji secara teliti. Melalui penggunaan yang ekstensif oleh sejumlah organisasi, segala kesalahan yang dijumpai telah dideteksi dan dikoreksi sehingga peluang kesalahannya lebih sedikit. Keuntungan/kelebihan dari Perangkat Lunak Komersial :

Kerugian/kelemahan : Kesesuaian Rancangan sistem yang tidak baik Paket software komersial dibuat untuk berbagai organisasi, dan tidak untuk organisasi tertentu maka paket ini mungkin mempunyai beberapa fungsi yang tidak diperlukan atau mungkin tidak mempunyai fungsi yang diperlukan sehingga paket tersebut harus dimodifikasi. Jika vendor tidak membuat kode sumber (source code) yang bisa digunakan untuk penyesuaian dan tidak menyediakan layanan penyesuaian maka rancangan sistem mungkin harus diubah agar sesuai dengan paket tersebut. Jika hal ini terjadi sebaiknya mengembangkan program secara in-house agar programnya bisa memenuhi spesifikasi rancangan sistem yang tepat. Ketergantungan Vendor Jika organisasi memerlukan perubahan paketnya maka organisasi akan tergantung pada vendor dalam perolehan dukungannya, dan jika vendor telah tiada maka organisasi akan kesulitan mencari dukungannya. Kerugian/kelemahan :

Biaya tidak langsung dari kerusakan SDLC Seringkali apa yang ingin dicapai, manajemen tidak melaksanakan SDLC menyeluruh atau mungkin melewati tahap SDLC, dan secara langsung menuju ke paket perangkat lunak komersial Strategi ini seringkali mengakibatkan paket perangkat lunak komersial tidak berjalan sesuai yang diharapkan dan masalah sistem serta organisasional yang terjadi sebelum implementasi paket tersebut tetap muncul sehingga menimbulkan kesulitan atau harus dibayar kemudian yaitu adanya peningkatan biaya implementasi, operasi, dan pemeliharaan.

Perangkat Lunak Pesanan (customized software) Jika system 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. Mengikuti SWDLS (Software Development Life Cycle) Rancangan (Design) Kode (Code) Uji (Test) Perangkat Lunak Pesanan (customized software)

Siklus Hidup Pengembangan Perangkat Lunak (Software Development Life Cycle)

Membangun perangkat lunak mengikuti tiga tahap SWDLC Rancangan (design) : Alat (tools) rancangan program yang pokok adalah : Bagan terstruktur Bahasa Inggris terstruktur Tabel Keputusan Pohon Keputusan Persamaan/mirip bahasa pemrograman (Pseudocode) Kamus data Membangun perangkat lunak mengikuti tiga tahap SWDLC

Kode (Code): Menulis statemen dalam bahasa pemrograman, misal 3GL, 4GL, Pemrograman Object Uji(Test) Pengujian terhadap semua modul kode untuk mendeteksi kesalahan,misal White Box, Black Box

Macam-Macam Perangkat Lunak Perangkat Lunak Berdasarkan Pemakai Generik: Perangkat lunak yang bisa digunakan secara umum Spesifik: Perangkat lunak yang dibuat berdasarkan pesanan Perangkat Lunak Berdasarkan Fungsional Interfacing Operating System Perangkat Lunak Aplikasi CASE Tools – – – – – – Macam-Macam Perangkat Lunak

Mengorganisasi Proyek Pengembangan perangkat lunak Perancang dan analis sistem terlibat dalam tim pengembangan perangkat lunak dan harus mengetahui bagaimana program ini dikode dan bagaimana hasil akhirnya. Untuk itu diperlukan keterampilan pengorganisasian dalam tim proyek. Pengorganisasian proyek pengembangan perangkat lunak memerlukan komunikasi, integrasi dan koordinasi yang baik. Pengorganisasian tim pemrograman menggunakan pendekatan organisasional. Mengorganisasi Proyek Pengembangan perangkat lunak

Pendekatan Organisasional Tiga cara untuk mengorganisasi tim pemrograman, yaitu : Tim Pengembangan Program ( Program development team) Tim programmer kepala (chief programmer team) Tim pemrograman bersama (Egoless programming team) Pendekatan Organisasional

Tim Pengembangan Program tersusun atas 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. Jadi total interface dan lintasan komunikasi ada lima, dan satu interface manajemen. Tim Pengembangan Program

terdiri dari lima programmer pendukung mempunyai lima interface dan lintasan komunikasi, dan lebih mungkin memenuhi deadline yang ketat Tim programmer kepala

Tim pemrograman bersama terdiri dari lima programmer. Jumlah interface dan lintasan komunikasi = n(n-1)/2= 5(5-1)/2=10 Tim pemrograman bersama

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 Merencanakan proyek Siklus Hidup pengembangan perangkat lunak

Langkah menyusun jaringan PERT Identifikasi semua tugas Mengestimasi waktu Menetapkan rangkaian tugas Menentukan jalur kritis Langkah menyusun jaringan PERT

Contoh..

Penjadwalan

PERT

Project Investment

Fungsi dalam Pengembangan Perangkat Lunak Software Development Management (terdiri dari banyak fungsi dan tim), yaitu Software Project Manager: pertama berhubungan dengan konsumen, menetapkan anggaran dan jadwal pelaksanaan proyek perangkat lunak. Software Engingeering Analyst berhubungan dengan konsumen secara lebih rinci; bertugas mendeskripsikan atau menggali fungsi dan unjuk kerja software yang akan dibangun. Designer : bertugas merancang algoritma/prosedur yang tepat untuk fungsi tersebut disesuaikan dengan hardware atau software pendukung yang ada. Programmer : mengimplementasikan algoritma dalam bentuk kode-kode program menggunakan bahasa pemograman. Fungsi dalam Pengembangan Perangkat Lunak

Software Configuration Management : memantau fungsi-fungsi/prosedur prosedur yang telah ditentukan, mencatat konfigurasi pada tahap-tahap/ waktu tertentu berdasarkan kenyataan yang ada. System Administrator : bertugas melakukan pengelolaan terhadap sistem pada saat diimplementasikan. Software Quality Software Test Engineer : bertugas melakukan pengujian sistem. Software Quality Assurance: bertugas melakukan pengawasan apakah software yang dibangun telah berjalan sesuai dengan fungsi dan kebutuhannya

Dokumen Rencana Pengembangan Perangkat Lunak (RPPL)

Tahapan Perancangan PL Tahapan Rancangan Perangkat Lunak 2 Pendekatan rancangan perangkat lunak Rancangan perangkat lunak terstruktur Rancangan perangkat lunak berorientasi objek Tahap rancangan perangkat lunak : Tahapan Perancangan PL

Perancangan Terstruktur Orientasi pada Proses dan Data Alat perancangan perangkat lunak terstuktur : Kamus data Model data logik ERD DFD STD Bagan terstruktur Perancangan Terstruktur

Rancangan Perangkat Lunak Berorientasi Obyek Adalah Strategi perancangan dimana perancang sistem memikirkan ‘benda’ dan bukan operasi atau fungsi. Orientasi pada Obyek Alat yang digunakan : DFD, ERD, STD,Bagan Terstruktur, SE/Pseodocode Tahapan: Mendeskripsikan Obyek, Kelas, Atribut dan Daftar Operasi Memodelkan relasi antara Obyek dan Kelas Memodelkan Pewarisan Rancangan Perangkat Lunak Berorientasi Obyek

Objek dan kelas objek Objek Memberi identitas kepada orang atau benda Merepresentasikan entitas dari aplikasi yang dirancang Kelas Objek Dibuat untuk menurut definisi kelas objek Definisi kelas objek berfungsi sebagai template untuk membuat objek Objek dan kelas objek

Tahapan perancangan berorientasi objek Mendefinisikan Konteks sistem dan model penggunaan Merancang arsitektur sistem Mengidentifikasi obyek utama sistem Mengembangkan model desain Menspesifikasi interface obyek Tahapan perancangan berorientasi objek

TERIMA KASIH