Object-Oriented Reengineering Patterns and Techniques

Wahyu Andhyka Kusuma, S.Kom kusuma.wahyu.a@gmail.com 081233148591

Materi 1 Overview Engineering (Rekayasa Perangkat Lunak)

Topik
• • • • • • • • Elemen Perangkat Lunak Konsep Dasar Perangkat Lunak Perencanaan Proyek Perangkat Lunak Konsep dan Prinsip Analisis Pemodelan Analisis Prinsip dan Konsep Desain Teknik Pengujian Perangkat Lunak Strategi Pengujian Perangkat Lunak

Topik
• • • • • • • • Elemen Perangkat Lunak Konsep Dasar Perangkat Lunak Perencanaan Proyek Perangkat Lunak Konsep dan Prinsip Analisis Pemodelan Analisis Prinsip dan Konsep Desain Teknik Pengujian Perangkat Lunak Strategi Pengujian Perangkat Lunak

Elemen Perangkat Lunak
• Terbagi atas 2 bagian, yaitu : – Hardware Engineering – Software Engineering Terkait dengan SISTEM BERBASIS KOMPUTER yang memiliki 5 elemen, yaitu : – Software. – Hardware. – Brainware. – Database. – Procedure.

– Business Consideration. – Human Issues.Elemen Perangkat Lunak • Dari kelima elemen tersebut dimasukan ke dalam kriteria pemilihan konfigurasi sistem berdasarkan alokasi fungsi dan performance. yaitu : – Project Consideration. – Environmental Interface. – Legal Consideration. – Manufacturing Evaluation. . – Technical Consideration.

Topik • • • • • • • • Elemen Perangkat Lunak Konsep Dasar Perangkat Lunak Perencanaan Proyek Perangkat Lunak Konsep dan Prinsip Analisis Pemodelan Analisis Prinsip dan Konsep Desain Teknik Pengujian Perangkat Lunak Strategi Pengujian Perangkat Lunak .

Konsep Dasar Perangkat Lunak • • Ilmu yang mempelajari tehnik pembuatan software yang baik dengan pendekatan tehnik (Engineering ap-proach) Ada beberapa cara / fase – Fase Perencanaan – Fase Pengembangan – Fase Pemeliharaan .

Parallel architecture .Embedded intellegence .Low cost hardware .Distibuted system .Multi user .Batch orientation .Database Era ke-3 : .Consumer infact Era ke-4 : .Expert system .Limmited distribution .Real time .A I Machine .Evolusi Software 1950 1960 1970 1980 1990 2000 Era ke-1 : .Custummer software Era ke-2 : .

Arti Software ? • Instruksi Atau program komputer yang ketika dieksekusi akan memberi fungsi dan hasil yang diinginkan. Struktur data Yang memungkinkan program memanipulasi informasi Dokumen Yang menggambarkan operasi dan penggunaan program. 9 • • RPL .

tetapi bisa rusak. Elemen software itu direkayasa atau dikembangkan dan bukan dibuat di pabrik seperti hardware Software itu tidak bisa dirakit.Sifat & Karakteristik Software ? • • • Software merupakan elemen sistem logik dan bukan elemen sistem fisik seperti hardware Elemen itu tidak aus. • RPL 10 .

Komponen Software ? • • • Bentuk Bahasa Bentuk Translator Bentuk Mesin : LANGUAGE FORM HIGH LEVEL MIDDLE LEVEL T RANSLAT OR MACHINE LANGUAGE RPL 11 .

sedangkan pada sistem interactive atau time sharing respons time biasanya melebihi batas waktu yang ditentukan tanpa merusak hasil.Aplikasi Software ? 1. 4. 7. Sistem real time harus memberikan respons pada waktu yang ditentukan. 2. 5. Sistem Software Real Time Software 3. Business Software Engineering and Sciencetific Sofware Emdebed Software PC Software Artificial Intelegent Software 12 . 6. RPL Perlu dicatat bahwa istilah real time berbeda dari istilah interactive atau time sharing.

Metode 2. Peralatan 3. Prosedur RPL 13 .Aplikasi Software ? (cont.) • Krisis Software ? • Masalah ? • Penyebab ? Model Software Engineering  Fritz Badar (soft. yg ekonomis). terdiri dari 3 elemen : 1.

Classic Life Cycle Paradigma SIST EM ENGINEERING ANALYS DESIGN CODE T EST ING M AINT ENANCE RPL 14 .Model Software Engineering (cont.) Software engineering paradigma (ada 3) : 1.

) 2.Model Software Engineering (cont. Prototype Paradigma REQUIM ENTS GATHERING "QUICK DESIGN" BUILD PROTOT YPE EVALUATED AND REFINEM ENT S ENGINEER PRODUCT RPL 15 .

) 3.Model Software Engineering (cont. Fourth Generation Technique Paradigma REQUIM ENTS GAT HERING "DESIGN STRAT EGICS" IMPLEM ENTATION USING 4GT PRODUCT RPL 16 .

Model Software Engineering (cont. Model Kombinasi DAPAT LANGSUNG JIKA PENDEKATANNYA JELAS PROTOTYPING REQUIMENTS GATHERINGS APPLY 4GL PROTOTYPE CLASSIC LIFE CYCLE ENGINEER PRODUCT EVALUATE RPL 17 .) 4.

Topik • • • • • • • • Elemen Perangkat Lunak Konsep Dasar Perangkat Lunak Perencanaan Proyek Perangkat Lunak Konsep dan Prinsip Analisis Pemodelan Analisis Prinsip dan Konsep Desain Teknik Pengujian Perangkat Lunak Strategi Pengujian Perangkat Lunak .

– Project Size (ukuran proyek). – Structural Uncertainty (ketidakpastian struktural).OBSERVASI PADA ESTIMASI • • Planning Estimasi – Project Complexity (kompleksitas proyek). .

ESTIMASI PROYEK PERANGKAT LUNAK • • • • • Akurasi estimasi proyek PL didasarkan pada : Tingkat dimana perencana telah dengan tepat mengestimasi ukuran produk yang akan dibuat . . Kemampuan mengest imasi ukuran ke dalam kerja manusia.dan dolar. waktu kalender. Stabilitas syarat produk serta lingkungan yang mendukung usaha pengembangan PL. Tingkat dimana rencana proyek mencerminkan kemampuan t im PL.

ESTIMASI PROYEK PERANGKAT LUNAK Putnam dan Myers mengusulkan 4 masalah penentuan ukuran : • Fuzzy-logic sizing (logika kabur). • Model COCOMO Intermediate. • Function point sizing. • Change sizing. • Standard component sizing. • Model COCOMO Advance. Barry Boehm memperkenalkan hirarki model estimasi PL dengan nama COCOMO (COnstructive COst MOdel = Model Biaya Konstruktif) : • Model COCOMO Dasar. .

dari segi biaya sering lebih efektif membeli daripada mengembangkan sendiri. • PL dapat dibuat custom-built oleh kontraktor luar.ESTIMASI PROYEK PERANGKAT LUNAK Pada aplikasi PL. Pada keputusan make-buy dengan pilihan : • PL dapat dibeli (atau lisensi) off-the-self. . • Komponen PL full-experience dan partial-experience.

Topik • • • • • • • • Elemen Perangkat Lunak Konsep Dasar Perangkat Lunak Perencanaan Proyek Perangkat Lunak Konsep dan Prinsip Analisis Pemodelan Analisis Prinsip dan Konsep Desain Teknik Pengujian Perangkat Lunak Strategi Pengujian Perangkat Lunak .

Jenis dan Tujuan Analisis Analisis merupakan sebuah : • Penemuan • Perbaikan • Pemodelan • Spesifikasi (baru) Tujuan Analisis Sistem • Mendefinisikan masalah secara tepat • Menyusun alternatif penyelesaian • Memilih dan mempertimbangkan satu dari alternatif tersebut • Menyusun spesifikasi logis untuk penyelesaian • Menyusun persyaratan fisik untuk penyelesaian • Menyusun anggaran untuk fase desain sistem pengkodean dan implementasi sistem .

Topik • • • • • • • • Elemen Perangkat Lunak Konsep Dasar Perangkat Lunak Perencanaan Proyek Perangkat Lunak Konsep dan Prinsip Analisis Pemodelan Analisis Prinsip dan Konsep Desain Teknik Pengujian Perangkat Lunak Strategi Pengujian Perangkat Lunak .

abstrak. • Dekomposisi Fungsional. tidak pada prosedur. Sistem diurai menjadi sejumlah fungsi (prosedur. 2. Sistem diurai kedalam sejumlah obyek (konsep. benda) dalam dunia nyata yang saling berkomunikasi dan melaksanakan sejumlah pelayanan secara desentral isasi. . Paradigma Konvensional • Fokus pada Proses (Input-Proses-Output). logika) dengan sistem tersentral isasi (struktur terhirarki) dimana data dapat dibagi dan digunakan secara bersama. Setiap obyek membungkus (encapsulate) sejumlah prosedur dan data yang berinteraksi dengan obyek lainnya melalui suatu pesan (message).PEMODELAN ANALISIS Perbedaan antara metoda analisis dan perancangan sistem dengan paradigma konvensional dibandingkan dengan paradigma berorientasi objek (OOAD) : 1. • Data dan Prosedur disimpan dalam Objek. • Dekomposisi Data. Paradigma Berorientasi Objek • Fokus pada Domain Objek. • Data terpisah dari Prosedur.

PEMODELAN ANALISIS .

PEMODELAN ANALISIS • Paradigma Konvensional • Paradigma Berorientasi Obyek .

Topik • • • • • • • • Elemen Perangkat Lunak Konsep Dasar Perangkat Lunak Perencanaan Proyek Perangkat Lunak Konsep dan Prinsip Analisis Pemodelan Analisis Prinsip dan Konsep Desain Teknik Pengujian Perangkat Lunak Strategi Pengujian Perangkat Lunak .

FASE PENGEMBANGAN DAN DESAIN PERANGKAT LUNAK Fase pengembangan terdiri dari 3 langkah : • Design • Code Generation (manual or automatic) • Testing Menggunakan metodelogi : • Data Design -> difokuskan pada definisi dari struktur Data • Architectural Design -> mendefinisikan hubungan antara elemen struktur utama dari program • Procedural Design -> mengubah struktur elemen ke dalam prosedur software .

Difokuskan pada penghalusan representasi arsitektur yang berisi struktur data detail dan algoritma untuk software . Pada tahap ini difokuskan dengan transformasidari keperluan / kebutuhan ke dalam data dan arsitektur software • Detail Design.Proses Design Software design dibagi dalam 2 tahap : • Preliminary Design.

Topik • • • • • • • • Elemen Perangkat Lunak Konsep Dasar Perangkat Lunak Perencanaan Proyek Perangkat Lunak Konsep dan Prinsip Analisis Pemodelan Analisis Prinsip dan Konsep Desain Teknik Pengujian Perangkat Lunak Strategi Pengujian Perangkat Lunak .

Rencana Pengujian • • • • • • • Proses testing Pelacakan Kebutuhan Item yg diuji Jadwal Testing Prosedur Pencatatan Hasil dan Prosedur Kebutuhan akan Hardware dan Software Kendala-kendala .

Test cases: Input yang digunakan untuk menguji sistem dan memprediksi output dari input jika sistem beroperasi sesuai dengan spesifikasi .Test Data dan Kasus Test • • Test data: Input yang yang direncankan digunakan oleh sistem.

User Testing. – Module Testing digunakan untuk mengecek apakah struktur kendali sudah memetakan kinerja kesuluruhan modul secara tepat. Metode yang dilakukan : Black Box Testing danWhite – Box Testing. – Path Testing. Integration Testing. Tujuannya meyakinkan bahwa himpunan test case akan menguji setiap path pada suatu program paling sedikit satu kali. Pengujian komponen-komponen program biasanya dilakukan oleh component developer (kecuali untuk system kritis). Terdiri dari : – Unit Testing digunakan untuk menguji setiap modul untuk menjamin setiap modul menjalankan fungsinya dengan baik.• • • Component Testing. – Acceptance Testing . Pengujian kelompok komponen-komponen yang terintegrasi untuk membentuk sub-system ataupun system.

Topik • • • • • • • • Elemen Perangkat Lunak Konsep Dasar Perangkat Lunak Perencanaan Proyek Perangkat Lunak Konsep dan Prinsip Analisis Pemodelan Analisis Prinsip dan Konsep Desain Teknik Pengujian Perangkat Lunak Strategi Pengujian Perangkat Lunak .

. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah dit emukan sebelumnya.SASARAN PENGUJIAN • • • Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya.

pengujian dilakukan oleh pihak ketiga yang independen. Pengujian harus direncanakan lama sebelum pengujian itu dimulai.PRINSIP PENGUJIAN (Davis) • • • • • • Semua pengujian harus dapat ditelusuri sampai ke persyarat an pelanggan. Pengujian yang mendalam t idak mungkin. Paling efekt if. . Pengujian harus mulai “dari yang kecil ” dan berkembang ke penguj ian “yang besar”. Prinsip Pareto berlaku untuk pengujian PL.

PENGUJIAN INTEGRASI • Top Down Integration. Modul tingkat bawah digabungkan ke dalam cluster yang memperlihatkan subfungsi PL. • . Bottom Up Integration. Modul utama digunakan sebagai test driver dan stub yang menggantikan seluruh modul yang secara langsung berada di bawah modul kontrol utama.

PENGUJIAN VALIDASI • • • • • Alpha Testing Beta Testing Recovery Testing Security Testing Strees Testing .

Sign up to vote on this title
UsefulNot useful