Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat Lunak
SHINTA P. SARI
Pendekatan Dalam
Rekayasa Perangkat Lunak
Dalam rekayasa perangkat lunak terdapat pendekatan utama :
1. Pendekatan Terstruktur
Pendekatan Terstruktur
Pendekatan Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk
Pendekatan Terstruktur
Bahasa pemrograman yang mendukung pemrograman terstruktur:
Cobol | C | Pascal | Delphi | Turbo Prolog
Salah satu tools dan teknik dalam pengembangan system terstruktur adalah menggunakan DFD
Teknik Pengembangan Sistem
Beberapa teknik yg dapat digunakan dalam pengembangan sistem diantaranya:
◦ Entity-Relationship Diagram (ERD) pemodelan data ◦ Data Flow Diagram pemodelan proses
◦ State-Transition Diagram
◦ Program Evaluation and Review Technique (PERT) penjadualan proyek
◦ Teknik Menemukan Fakta (Fact finding technique) observasi, interview, kuisioner & sampling.
◦ Teknik Presentasi
◦ Teknik Analisis biaya/manfaat (cost-effectiveness analysis)
Komponen ERD
1. Entity
Segala Sesuatu Yang Dapat Dijelaskan Dengan Data, Kelompok Benda / Objek, Diberi Nama Dengan Kata Benda.
Data Modeling And Analysis: Entity Relationship Diagram ( ERD)
Nama Entity
Person: Agensi, Kontraktor, konsumen, Departemen, Divisi, pegawai, instruktur,
Pelajar, Suplier.
Tempat: Wilayah Penjualan, Bangunan, Ruang, Kantor Cabang, Kampus.
Objek: Buku, mesin, Komponen, Produk, Bahan Baku, Lisesni Software, Paket
Software, Peralatan, Model Mesin, Mesin.
Kejadian: Permintaam, Penghargaan, Pembatalan, Kelas, Penerbangan,
Penagihan, Pemesanan, Registrasi, Perpanjangan, Daftar permintaan, Reservasi, Penjualan, Perjalanan.
Konsep: Rekening, Blok waktu, Surat Obligasi, Pelatihan, Pembiayaan, Kualifikasi,
Data Flow Diagram
DFD merupakan alat pengembangan system yang berorientasi pada alur data dengan konsep dekomposisi yang dapat digunakan untuk penggambaran analisa maupun rancangan system yang mudah dikomunikasikan oleh professional system kepada pemakai maupun pembuat program.
EXTERNAL ENTITY :
• ENTITAS YANG BERADA DILUAR SISTEM, YANG MEMBERIKAN DATA KEPADA SISTEM (SOURCE) ATAU YANG MENERIMA INFORMASI DARI SISTEM (SINK), DAPAT BERUPA ORANG, ORGANISASI DLL.
• TIDAK TERMASUK BAGIAN DARI SISTEM.
• Bila Sistem Informasi Dirancang Untuk Satu Bagian (Departemen), Maka Bagian Lain Yang Masih Terkait Menjadi External Entity.
• Nama Terminal Berupa Kata Benda.
• Terminal Tidak Boleh Memiliki Nama Yang Sama Kecuali Memang Objeknya Sama (Digambarkan 2 X, Bila Demikian Perlu Diberi Garis Miring.
PROSES • S U A T U P R O S E S A D A L A H K E G I A T A N A T A U K E R J A Y A N G D I L A K U K A N O L E H O R A N G • M E S I N A T A U K O M P U T E R D A R I H A S I L A R U S D A T A Y A N G M A S U K K E D A L A M P R O S E S U N T U K • D I H A S I L K A N A R U S D A T A Y A N G A K A N K E L U A R D A R I P R O S E S . M E N G G A M B A R K A N A P A Y A N G D I L A K U K A N O L E H S I S T E M . B E R F U N G S I M E N T R A N S F O R M A S I K A N S A T U A T A U B E B E R A P A D A T A K E L U A R A N S E S U A I D E N G A N S P E S I F I K A S I Y A N G D I I N G I N K A N . • S E T I A P P R O S E S M E M I L I K I S A T U A T A U B E B E R A P A D A T A M A S U K A N S E R T A M E N G H A S I L K A N S A T U A T A U B E B E R A P A D A T A K E L U A R A N • N A M A P R O S E S T E R D I R I D A R I K A T A K E R J A D A N K A T A BE N D A Y AN G M E N C E R M I N K A N F U N G S I P R O S ES T ER S E B U T , M I S A L N Y A : H I T U N G G A J I , P E N D A T A A N O R D E R , C E T A K L A P O R A N P E N J U L A N . • J A N G A N M E N G U G U N A K A N K A T A ‘ P R O S E S ’ S E B A G A I B A G I A N D A R I N A M A S U A T U P R O S E S ( B U B B L E ) . • T I D A K B O L E H A D A B E B E R A P A P R O S E S Y A N G M E M I L I K I N A M A Y A N G S A M A . • P R O S E S H A R U S D I B E R I N O M O R . U R U T A N N O M O R S E D A P A T M U N G K I N M E N G I K U T I A L I R A N A T A U U R U T A N / U R U T A N P R O S E S . • N A M U N D E M I K I A N , U R U T A N N O M O R T I D A K B E R A R T I S E C A R A M U T L A K M E R U P A K A N U R U T A N P R O S E S S E C A R A K R O N O L O G I S .
• PENOMORAN PROSES PADA TINGKAT PERTAMA (DIAGRAM NOL) ADALAH 1.0, 2.0, 3.0 DST.
CONTOH :
PROSES 2.1 ADALAH PROSES LEVEL TERENDAH, TIDAK PERLU DIRINCI LAGI. 2.1 * HITUNG PPH 2.0 PENDATAAN ORDER 5.0 * HITUNG PPH
ALIRAN DATA :
• ARAH PANAH MENGGAMBARKAN ALIRAN DATA.
•ALIRAN DATA :
-DARI DATA STORE KE PROSES DAN SEBALIKNYA .
-DARI SOURCE KE PROSES
• ARUS DATA INI MENUNJUKKAN ARUS DARI Y ANG DAPAT BERUPA MAS UKAN UNTUK SISTEM ATAU HAS IL DARI PROSES S IS TEM DAN DAPAT BERBENTUK S BB :
A. FORMULIR ATAU DO KUMEN Y ANG DIPERGUNAKAN OLEH PERUSAHAAN .
B. LAPO RAN TERC ETAK Y ANG DIHAS ILKAN O LEH S ISTEM .
C. TAMPILAN ATAU O UTPUT DI LAY AR KO MPUTER Y ANG DI HAS ILKAN O LEH S IS TEM .
D. S URAT -SURAT ATAU MEMO .
E. DATA YANG DIBACA ATAU DIREKAM KE S UATU FIL E . F. S UATU IS IAN Y ANG DIC ATAT DALAM BUKU AGENDA .
• NAMA ALIRAN DATA Y ANG TERD IRI DARI BEBERAPA KATA DIHUBUNGKAN D E NGAN GARIS S AMBUNG
• TIDAK BOLEH ADA NAMA ALIRAN DATA YANG NAMANYA S AMA DAN PEMBERIAN NAMA HARUS MENC ERMINKAN IS INY A .
• HINDARI PENGGUNAAN KATA ‘DATA’ D AN ‘INFORMAS I’ UNTUK MEMBERI NAMA PADA AL IR AN DATA.
• SEDAPAT MUNGKIN NAMA ALIRAN HARUS DITULIS LENGKAP .
Daftar_Hadir 3.1 * Periksa Daftar Hadir Daftar_hadir_Valid 3.2 Hitung upah Jam_Kerja Tarif_per_jam Upah_ Mingguan
D A T A S T O R E • T E M P A T M E N Y I M P A N D A T A ( D A T A B A S E = F I L E / T A B L E , A R S I P , B U K U C A T A T A N ) . •P R O S E S D A P A T M E N G A M B I L D A T A D A R I A T A U M E M B E R I K A N D A T A K E D A T A S T O R E . •N A M A D A T A S T O R E H A R U S M E N C E R M I N K A N I S I D A R I D A T A S T O R E T E R S E B U T . •B I L A N A M A N Y A L E B I H D A R I S A T U K A T A , M A K A H A R U S D I B E R I K A T A S A M B U N G .
KETENTUAN LAIN:
• NAMA ALIRAN DATA YANG MASUK KE DALAM SUATU PROSES TIDAK BOLEH SAMA DENGAN NAMA ALIRAN DATA YANG KELUAR DARI PROSES TERSEBUT.
• DATA FLOW YANG MASUK KE ATAU KELUAR DARI DATA STORE TIDAK PERLU DIBERI NAMA BILA:
A. ALIRAN DATANYA SEDERHANA DAN MUDAH DIPAHAMI.
B. ALIRAN DATANYA MENGGAMBARKAN SELURUH DATA ITEM (SATU RECORD UTUH).
Diagram Hubungan (Level 0)
Merupakan Level Tertinggi Dari Dfd Yang Menggambarkan Seluruh Input Ke Atau Output Dari Sistem.
Memberikan Gambaran Tentang Keseluruhan Sistem. Sistem Dibatasi Boundary.
Terminal Yg Memberikan Masukan Kepada Sistem Disebut Source, Terminal Yg Menerima Keluaran Dari Sistem Di Sebut Sink.
Pendekatan
Berorientasi Objek
Pemrograman dengan Pendekatan berorientasi
objek (object-oriented programming disingkat OOP) merupakan pemograman yang berorientasikan kepada objek.
Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,
Pendekatan
Berorientasi Objek
Bahasa pemrograman yang mendukung OOP antara lain:
Java | C++ | C#
Salah satu tools dan teknik dalam pengembangan system berbasis objek adalah menggunakan UML (Unified Modelling Language).
Latar Belakang UML
(Unified Modeling Language)
Sampai era tahun 1990 puluhan metodologi pemodelan berorientasi objek telah
bermunculan di dunia.
Diantaranya adalah: metodologi booch,
metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, metodologi
Latar Belakang UML
(Unified Modeling Language)
Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek
Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut
dikoordinasikan oleh Object Management Group (OMG – http://www.omg.org)
UML
(Unified Modeling Language)
Unified Modeling Language (UML) adalah
himpunan struktur dan teknik untuk
pemodelan desain program berorientasi objek
Tujuan UML
1. Memberikan bahasa pemodelan yang bebas dari berbagai bahas pemrograman dan proses rekayasa.
2. Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
3. Memberikan model yang siap pakai, bahsa pemodelan visual yang ekspresif untuk
mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum. 4. UML bisa juga berfungsi sebagai sebuah (blue print) cetak biru karena sangat lengkap dan detail.
UML
3 Kategori Utama Diagram
UML
1
•Structure
2
•Behaviour
STRUCTURE DIAGRAM
Class
Component
Object
Composite Structure
Deployment
Package
Class Diagram
Class adalah sebuah spesifikasi yang jika
diinstalasi akan menghasilkan sebuah obyek dan merupakan inti dari pengembangan dan desain berorientasi objek.
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti
Component Diagram
Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency)
diantaranya.
Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run time.
Object Diagram
Object diagram merupakan sebuah gambaran tentang objek-objek dalam sebuah system pada satu titik waktu. Karena lebih menonjolkan
perintah-perintah daripada class, object
diagram lebih sering disebut debagai sebuah diagram perintah.
Composite Structure Diagram
Diagram struktur komposit adalah diagram yang menunjukan struktur internal classifier,
termasuk poin interaksinya ke bagian lain dari system. Hal ini menunjukkan konfigurasi dan hubungan bagian, yang bersama-sama
melakukan perilaku classifier. Diagram struktur komposit merupakan jenis diagram struktur
yang statis dalam UML, yang menggambarkan struktur internal kelas dan kolaborasi
Deployment Diagram
Deployment diagram menggambarkan detail bagaimana komponen di deploy dalam
infrastruktur system, dimana komponen akan terletak (pada mesin, server atau piranti
keras), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. Hubungan antar node( misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.
Package Diagram
Diagram objek melengkapi notasi grafik
untuk pemodelan objek, kelas dan relasinya dengan yang lain. Diagram objek bermanfaat untuk pemodelan abstrak dan membuat
perancangan program. Untuk mengatur pengorganisasian diagram Class yang
kompleks, dapat dilakukan pengelompokan kelas-kelas berupa package (paket-paket).
BEHAVIOUR DIAGRAM
Activity Diagram
Use Case Diagram
Activity Diagram
Activity
Diagram untuk
memodelkan perilaku Use
Cases dan objects
Use Case Diagram
Use case diagram adalah
penggambaran sistem dari sudut
pandang pengguna sistem tersebut
(user), yang lebih dititikberatkan pada fungsionalitas yang ada pada sistem.
State Machine Diagram
Digunakan untuk memodelkan tindakan
INTERACTION DIAGRAM
Sequence
Interaction Overview
Communication
Sequence Diagram
Sequence Diagram merupakan salah
satu diagram Interaction yang
menjelaskan bagaimana suatu operasi itu dilakukan, message(pesan) apa yang dikirim dan kapan pelaksanaannya.
Interaction Overview Diagram
Interaction Overview Diagram adalah pecangkokan secara bersama antara activity diagram dengan sequence diagram
Communication Diagram
Communication (Kolaborasi) diagram menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek.
Setiap message memiliki sequence number, dimana message dari level tertinggi memiliki Nomor 1.
Timing Diagram
Timing Diagram adalah bentuk lain dari interaction diagram, dimana focus
utamanya lebih ke waktu.
Timing diagram sangat berdaya guna dalam menunjukkan factor pembatas waktu diantara perubahan state pada objek yang berbeda.