PEMODELAN ANALISIS PL Aprilia Sulistyohati, S.Kom Jurusan Teknik Informatika Universitas Islam Indonesia Your Logo
REKAYASA SISTEM VS REKAYASA PERANGKAT LUNAK Rekayasa sistem berkaitan dengan semua aspek dalam pembangunan sistem berbasis komputer termasuk hardware, rekayasa PL dan proses RPL adalah bagian dari rekayasa sistem yang meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada sistem. Page 2
RPL VS Computer Science Computer science berhubungan dengan teori dan metode yang mendasari sistem komputer dan perangkat lunak, RPL berhubungan dengan praktek dalam memproduksi perangkat lunak. Page 3
PROSES PERANGKAT LUNAK Serangkaian kegiatan dan hasil relevannya yang menghasilkan produk perangkat lunak. Aktivitas dalam proses Perangkat Lunak : 1. Spesifikasi Perangkat Lunak : Fungsionalitas perangkat lunak dan batasan kemampuan operasinya harus didefinisikan. 2. Pengembangan (Perancangan dan Implementasi) Perangkat Lunak: Perangkat lunak yang memenuhi spesifikasi harus di produksi 3. Validasi Perangkat Lunak : Perangkat lunak harus divalidasi terlebih dahulu sebelum melakukan pengujian untuk menjamin bahwa perangkat lunak bekerja sesuai dengan apa yang diinginkan oleh pelanggan. 4. Evolusi Perangkat Lunak : Perangkat lunak harus berkembang untuk memenuhi kebutuhan pelanggan. Page 4
Model Proses Perangkat Lunak Yaitu deskripsi yang disederhanakan dari proses perangkat lunak yang dipresentasikan dengan sudut pandang tertentu. Bisa mencakup kegiatan yang merupakan bagian dari proses perangkat lunak, produk perangkat lunak, dan peran orang yang terlibat pada rekayasa perangkat lunak. Page 5
Jenis Model Proses PL 1. Model aliran kerja (workflow) menunjukkan kegiatan pada proses bersama dengan input, output, dan ketergantungannya. Merepresentasikan pekerjaan manusia. 2. Model aliran data (data flow) merepresentasikan proses sebagai suatu set kegiatan yang melakukan transformasi data. Menunjukkan bagaimana input ke proses, misalnya spesifikasi ditransformasi menjadi output, misalnya menjadi desain. Page 6
Model umum pada proses PL A. Model air terjun (waterfall) Mengambil kegiatan dasar misalnya spesifikasi, pengembangan, validasi, evolusi dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian. Page 7
Masalah dengan model waterfall Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena kesepakatan harus dilakukan pada tahap awal proses. Hal ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna (user). Page 8
Gambar model waterfall Requirements definition System and software design Implementation and unit testing Integr ation and system testing Operation and maintenance Page 9
Cont.. B. Pengembangan Evolusioner Berdasarkan pada ide untuk mengembangkan implementasi awal, memperlihatkannya kepada user untuk dikomentari, dan memperbaikinya versi demi versi sampai sistem yang memenuhi persyaratan diperoleh. Tidak ada kegiatan spesifikasi, pengembangan, dan validasi yang terpisah. Kegiatan2 ini dilakukan pada saat yang bersamaan dengan umpan balik yang cepat untuk masing2 kegiatan. Page 10
Ada 2 jenis pengembangan evolusioner : 1) Pengembangan Eksplotari Tujuan dari proses ini adalah bekerja dengan pelanggan untuk menyelidiki persyaratan mereka dan mengirimkan sistem akhir. Harusnya diawali dengan kebutuhan yang sudah dimengerti. 2) Prototipe yang dapat dibuang (throw-away) Berkonsentrasi pada eksperimen, dengan persyaratan pelanggan yang tidak dipahami dengan baik. Page 11
Gambar model Pengembangan Evolusioner Concurrent activities Specification Initial version Outline description Development Intermediate versions Validation Final version Page 12
Kelebihan model Pengembangan Evolusioner Lebih efektif dari pendekatan air terjun dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan. Sementara user mendapat pemahaman yang lebih baik dari masalah mereka, sistem perangkat lunak dapat merefleksikannya. Page 13
Cont.. C. Model Pengembangan Sistem Formal Proses pengembangan Perangkat Lunak didasarkan pada transformasi matematis dari spesifikasi sistem menjadi program yang dapat dijalankan. Requirements definition Formal specification Formal transformation Integration and system testing Page 14
Masalah model Pengembangan sistem Formal Kurangnya visibilitas proses apabila sistem dikembangkan dengan cepat, tidaklah efektif dari segi biaya Sistem seringkali memiliki struktur yang buruk karena Perubahan yang terus-menerus cenderung merusak struktur perangkat lunak. Penyesuaian perubahan menjadi makin sulit dan mahal. Membutuhkan keahlian khusus dalam mengaplikasikannya. Page 15
D. Model Pengembangan Berorientasi Pemakaian Ulang (Re- Usable) Bergantung pada sejumlah besar komponen perangkat lunak yang dapat dipakai ulang, yang bisa didapat, dan berapa kerangka kerja integrasi untuk komponen-komponen ini. Komponen-komponen ini dapat juga sistem yang disebut COTS (Commercial Off-The-Shelf Systems/Sistem Siap Beli Komersial) yang dapat digunakan untuk memberikan fungsionalitas khusus seperti format teks atau perhitungan numerik Page 16
Gambar Model Pengembangan Berorientasi (Re-Usable) Requirements specification Component analysis Requirements modification System design with reuse Development and integration System validation Page 17
Keuntungan Model Re-Usable Mengurangi besarnya perangkat lunak yang akan dikembangkan Memperkecil biaya dan resiko Memungkinkan penyelesaian perangkat lunak dengan cepat Page 18
PEMODELAN SISTEM Model Proses Sebuah teknik untuk mengorganisasikan dan mendokumentasikan struktur dan aliran data melewati sebuah proses dalam sistem dan/atau logika, kebijakan, dan prosedur-prosedur yang akan diimplementasikan dengan proses dalam sistem. Page 19
Diagram Arus Data/DAD (Data Flow Diagram/DFD) Model proses digambarkan dengan Diagram Arus Data/DAD (Data Flow Diagram/DFD). DFD menggambarkan secara rinci urut-urutan langkah dari masing-masing proses yang digambarkan dalam diagram arus data. DFD == bubble chart, transformation graph, dan process model. Page 20
DFD vs Flowchart NO DFD FLOWCHART 1 2 3 Proses dapat dioperasikan secara paralel Menunjukkan aliran data melewati sistem. Tanda anak panah merepresentasikan jalur aliran data, looping dan branching tidak ditunjukkan. Dapat menunjukkan proses-proses yang memiliki perbedaan waktu Hanya dapat dieksekusi satu per satu pada satu saat tertentu. Flowchart menunjukkan urutan proses atau operasi dalam sebuah algoritma atau program. Tanda anak panah menujukkan penghubung ke proses selanjutnya, dan mengijinkan adanya looping and branching Tidak Page 21
Cont.. DFD hanya memiliki 3 simbol dan 1 koneksi (simbol yang digunakan dapat berbeda-beda, tergantung acuan yang digunakan): - 1. Process : - 2. External entity : Nomor Proses Nama Proses Nama External Entity - 3. Data storage : table/storage - 4. Data flow : Nama data flow Page 22
Pedoman Menggambar DFD (Whitten dan Bentley, 1998): 1) Identifikasikan semua external entity sistem yang terlibat; 2) Identisikasikan semua input dan output yang terlibat dengan external entity; 3) Gambarlah terlebih dahulu suatu diagram konteks atau diagram induk untuk garis besar, kemudian dipecah untuk level-level berikutnya; 4) Gambarlah bagan berjenjang (hirarchy chart) untuk semua proses yang ada di sistem untuk mempersiapkan penggambaran DFD level berikutnya; Page 23
Cont... 5) Gambarlah sketsa DFD untuk overview diagram (level 0) berdasarkan proses bagan berjenjang; 6) Gambarlah DFD untuk level-level berikutnya, yaitu level 1, kemudian dipecah dalam level 2, dan seterusnya; 7) Setelah semua level DFD digambarkan, selanjutnya adalah menggambar DFD untuk pelaporan manajemen yang digambarkan secara terpisah; 8) Semua level DFD yang telah digambar termasuk DFD untuk pelaporan manajemen digabung dalam satu diagram. Page 24
FLOWCHART Sekumpulan simbol-simbol yang menunjukkan atau menggambarkan rangkaian kegiatan program dari awal hingga akhir. Sehingga flowchart ini digunakan untuk menggambarkan urutan langkah-langkah pekerjaan disuatu Algoritma. Page 25
Page 26 SIMBOL-SIMBOL DALAM FLOWCHART
Page 27 CONT..
UML (Unified Modeling Language) Sebuah pemodelan untuk menentukan visualisasi, konstruksi, dan medokumentasikan informasi dari perangkat lunak. BAGIAN-BAGIAN UML: - View - Diagram - Model element - General mechanism Page 28
Page 29 ~ END ~