You are on page 1of 40

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.

Elemen Perangkat Lunak


Dari kelima elemen tersebut dimasukan ke dalam kriteria pemilihan konfigurasi sistem berdasarkan alokasi fungsi dan performance, yaitu : Project Consideration. Business Consideration. Technical Consideration. Manufacturing Evaluation. Human Issues. Environmental Interface. Legal 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

Evolusi Software
1950 1960 1970 1980 1990 2000

Era ke-1 : - Batch orientation - Limmited distribution - Custummer software

Era ke-2 : - Multi user - Real time - Database

Era ke-3 : - Distibuted system - Embedded intellegence - Low cost hardware - Consumer infact

Era ke-4 : - Expert system - A I Machine - Parallel architecture

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

Sifat & Karakteristik Software ?


Software merupakan elemen sistem logik dan bukan elemen sistem fisik seperti hardware Elemen itu tidak aus, tetapi bisa rusak. Elemen software itu direkayasa atau dikembangkan dan bukan dibuat di pabrik seperti hardware Software itu tidak bisa dirakit.

RPL

10

Komponen Software ?
Bentuk Bahasa Bentuk Translator Bentuk Mesin :

LANGUAGE FORM

HIGH LEVEL MIDDLE LEVEL

T RANSLAT OR

MACHINE LANGUAGE

RPL

11

Aplikasi Software ?
1. 2. Sistem Software Real Time Software

3. 4. 5. 6. 7.
RPL

Perlu dicatat bahwa istilah real time berbeda dari istilah interactive atau time sharing. Sistem real time harus memberikan respons pada waktu yang ditentukan, sedangkan pada sistem interactive atau time sharing respons time biasanya melebihi batas waktu yang ditentukan tanpa merusak hasil.
Business Software Engineering and Sciencetific Sofware Emdebed Software PC Software Artificial Intelegent Software

12

Aplikasi Software ? (cont.)


Krisis Software ? Masalah ? Penyebab ?
Model Software Engineering

Fritz Badar (soft. yg ekonomis), terdiri dari 3 elemen : 1. Metode 2. Peralatan 3. Prosedur

RPL

13

Model Software Engineering (cont.)


Software engineering paradigma (ada 3) : 1. Classic Life Cycle Paradigma

SIST EM ENGINEERING ANALYS DESIGN CODE T EST ING M AINT ENANCE

RPL

14

Model Software Engineering (cont.)


2. Prototype Paradigma

REQUIM ENTS GATHERING "QUICK DESIGN" BUILD PROTOT YPE EVALUATED AND REFINEM ENT S ENGINEER PRODUCT

RPL

15

Model Software Engineering (cont.)


3. Fourth Generation Technique Paradigma
REQUIM ENTS GAT HERING "DESIGN STRAT EGICS" IMPLEM ENTATION USING 4GT PRODUCT

RPL

16

Model Software Engineering (cont.)


4. Model Kombinasi
DAPAT LANGSUNG JIKA PENDEKATANNYA JELAS PROTOTYPING REQUIMENTS GATHERINGS APPLY 4GL PROTOTYPE CLASSIC LIFE CYCLE

ENGINEER PRODUCT

EVALUATE

RPL

17

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

OBSERVASI PADA ESTIMASI


Planning Estimasi Project Complexity (kompleksitas proyek). Project Size (ukuran proyek). Structural Uncertainty (ketidakpastian struktural).

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, waktu kalender,dan dolar. Tingkat dimana rencana proyek mencerminkan kemampuan t im PL. Stabilitas syarat produk serta lingkungan yang mendukung usaha pengembangan PL.

ESTIMASI PROYEK PERANGKAT LUNAK


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

ESTIMASI PROYEK PERANGKAT LUNAK


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

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

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

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

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

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 Data dan Kasus Test


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

Component Testing. 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. Metode yang dilakukan : Black Box Testing danWhite Box Testing. Module Testing digunakan untuk mengecek apakah struktur kendali sudah memetakan kinerja kesuluruhan modul secara tepat. Path Testing. Tujuannya meyakinkan bahwa himpunan test case akan menguji setiap path pada suatu program paling sedikit satu kali. Integration Testing. Pengujian kelompok komponen-komponen yang terintegrasi untuk membentuk sub-system ataupun system. User Testing. Acceptance Testing

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

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 yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah dit emukan sebelumnya.

PRINSIP PENGUJIAN (Davis)



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

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

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

You might also like