5. Advanced Topics in S OFTWARE ENGINEERING

dokumen-dokumen yang mirip
REKAYASA ULANG (REENGINEERING)

14. PENGUJIAN PERANGKAT LUNAK Dasar-dasar Pengujian 14.2 Teknik Pengujian 14.3 Strategi Pengujian dan V&V

PROSES MODEL DESAIN PERANGKAT LUNAK

Rekayasa Perangkat Lunak (Software Engineering)

Rekayasa Perangkat Lunak (Software Engineering)

Information System Analysis and Design

Implementasi Sistem dan Maintenace Sistem. Sistem Informasi Universitas Gunadarma 2012/2013

BAB I. PENDAHULUAN. Legacy System adalah sistem yang sudah sangat lama beroperasi di dalam

Review of Process Model. SE 3773 Manajemen Proyek Teknologi Informasi *Imelda Atastina*

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

PERANCANGAN BASIS DATA

SOFTWARE MAINTENANCE

Tujuan Perkuliahan. PENGANTAR RPL (Pert. 2 chapter 1 Pressman) Agenda. Definisi Software (Perangkat Lunak) Lunak) 23/09/2010

1. PENDAHULUAN 1. PERANGKAT LUNAK DAN PERKEMBANGANNYA

Pemodelan Berorientasi Objek

REKAYASA PERANGKAT LUNAK MATERI TM 15

Arsitektur Sistem Informasi. Tantri Hidayati Sinaga, M.Kom.

BAB I PENDAHULUAN 1.1. Latar Belakang

IMPLEMENTASI. Pemasangan Atau Konversi Sistem Baru Ke Sistem Lama. Prinsip Portability & Reusable (Kemudahan & Penggunaan Ulang Komponen)

A Layered Technology

SOFTWARE PROCESS MODEL I Disiapkan oleh: Umi Proboyekti, S.Kom, MLIS

Pertemuan 12 IMPLEMENTASI

Implementasi dan Maintenance Sistem. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma PTA 2015/2016

MAKALAH KONSEP DAN TEKNIK PEMELIHARAAN PERANGKAT LUNAK. NAMA : RANI JUITA NIM : DOSEN : WACHYU HARI HAJI. S.Kom.MM

13. KONSEP DAN PRINSIP PERANCANGAN (DESAIN)

BAB III METODOLOGI PENELITIAN. Metode pengumpulan data yang digunakan pada penelitian ini berupa studi

MAKALAH REKAYASA PERANGKAT LUNAK ( SIKLUS HIDUP PERANGKAT LUNAK )

PEMELIHARAAN PERANGKAT LUNAK (SOFTWARE MAINTENANCE)

REKAYASA PERANGKAT LUNAK 1

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

BAB 4 Pendekatan-Pendekatan Pengembangan Sistem

Pertemuan 10 METODE DESAIN (1)


Perancangan Database

REKAYASA BERKOMPONEN

Tujuan. entitas yang kemudian akan dibangun. ó Menghasilkan suatu model atau representasi dari. Tim RPL 1 2

REKAYASA PERANGKAT LUNAK MATERI TM 12

Jenis Metode Pengembangan Perangkat Lunak

REKAYASA PERANGKAT LUNAK

Hanif Fakhrurroja, MT

III. METODE KONVENS IONAL 11. REKAYASA SISTEM BERBASIS KOMPUTER

PERANAN TEAM SOFTWARE PROCESS PADA REKAYASA PERANGKAT LUNAK

Rekayasa Perangkat Lunak (Software Engineering)

RANCANGAN PEMBELAJARAN

REKAYASA PERANGKAT LUNAK

PERANCANGAN BASIS DATA

Disusun Oleh : Dr. Lily Wulandari

BAB III METODE PENELITIAN. Mengacu pada latar belakang penelitian dan rumusan masalah serta tujuan

A. Spesifikasi Perangkat Lunak

ANALISIS DAN PERANCANGAN SISTEM (APS) Konsep Perancangan

Pertemuan 3 Metodologi Pengembangan Sistem Informasi

PROSES PERANCANGAN DATABASE

SOFTWARE ENGINEERING (REKAYASA PERANGKAT LUNAK)

Tugas Sistem Informasi Manajemen Dosen : Dr. Ir. Arif Imam Suroso, MSc. Pentingnya Software Maintenance dalam Sistem Informasi Manajemen OLEH

BAB III OBJEK DAN METODE PENELITIAN. Dalam analisis sistem ini akan diuraikan sejarah singkat dari Apotek 55 yang

Hanif Fakhrurroja, MT

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

TEKNIK PENGUJIAN PERANGKAT LUNAK. Ign.F.Bayu Andoro.S, M.Kom

5. Aktivitas generic dalam semua proses perangkat lunak antara lain adalah : a. Spesifikasi dan pengembangan b. Validasi dan evolusi c.

Tugas Softskill. Universitas Gundarma. : Sistem Informasi Manajemen. : Waldhi Supriono NPM : Kelas : 2 DB 12

Pengembangan Perangkat Lunak. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma

Analysis Modeling 4/10/2018. Focus on What not How. Kenapa Analisis Kebutuhan. Definisi Analisis Kebutuhan. Langkah-Langkah Analisis Kebutuhan

Dasar-Dasar Pengujian Perangkat Lunak. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma

BAB II LANDASAN TEORI

BAB 3 Analisa dan Perancangan Sistem

MODEL DESAIN & DOKUMENTASI DESAIN

BAB 1 PENDAHULUAN. terbatas pada masalah teknis yang melibatkan aplikasi database, support, aplikasi. pengelolaan sumber daya di perusahaan tersebut.

Analisis dan Perancangan Sistem Hanif Al Fatta M.kom

MODEL PENGEMBANGAN SISTEM

SIKLUS HIDUP SISTEM INFORMASI

CS4 Professional serta, didapatkan tampilan yang menarik dan dapat memberikan. Melihat peluang yang ada maka Proposal Skripsi ini di beri judul

Garis-garis Besar Program Pembelajaran (GBPP)

BAB 1 PENDAHULUAN. tidak bisa dipisahkan dari proses bisnis, bahkan tidak jarang teknologi informasi menjadi

Obyektif : Mahasiswa dapat mengerti dan memahami konsep perancangan basis data Mahasiswa dapat merancang basis data sesuai dengan fase-fasenya

PROSES PERANCANGAN BASIS DATA

BAB I PENDAHULUAN. Pembangunan ekonomi sangat penting dalam menunjang pembangunan

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

BAB I PENDAHULUAN. yaitu sistematika penulisan yang merupakan indeks laporan tugas akhir, dimana. tiap sub bab berisi penjelasan ringkasan perbab.

RANGKUMAN SIM BAB 13 Mengembangkan Sistem Informasi (Building Information Systems)

BAB 6 METODOLOGI SIKLUS HIDUP SISTEM

METODE PENGUJIAN PERANGKAT LUNAK

PROSES PERANCANGAN DATABASE

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

BAB I PENDAHULUAN. Dalam bab ini akan menerangkan beberapa acuan dalam melakukan kerja

Kemajuan di bidang teknologi khususnya di dunia komputer dari hari ke. yang semakin kompleks. Dari berbagai macam aktivitas yang digeluti, sebuah

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

Testing dan Implementasi

Konsep Perancangan Perangkat Lunak

SIKLUS REKAYASA PERANGKAT LUNAK (SDLC)

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

PENGENALAN. Perancangan Perangkat Lunak. (Software Engineering) Bertalya Program Pascasarjana Univesitas Gunadarma

Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

136 Pemeliharaan Perangkat Lunak

REKAYASA PERANGKAT LUNAK MATERI TM 14

Tugas Rekayasa Perangkat Lunak

BAB V PERANCANGAN MOXIE

System Development Life Cycle (SDLC)

SISTEM INFORMASI AKUNTANSI

Pemrograman Web Berbasis Framework. Pertemuan 13 : Pengembangan Project (Bag. 1) Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

PENGUKURAN PERANGKAT LUNAK

Transkripsi:

5. Advanced Topics in S OFTWARE ENGINEERING 5.1. RE-ENGINEERING 1. Konsep Re-engineering 2. Software Re-engineering (SWR) dan System L 3. Kebutuhan akan SWR 4. Kelebihan SWR 5. Model Proses SWR 6. Proses Re-engineering

1. Konsep Re-engineering System Re-engineering : re-structuring or re- writing part or all of a legacy system without changing its functionality. (Sommerville, 2000). System Re-engineering tjd dalam 2 tingkat abstraksi yang berbeda : Business Process Re-engineering (BPR) Software Re-engineering (SWR).

1.1. Business Process Re-engineering (BPR) 1.1.1 Hubungan TI dgn BPR Proses bisnis merupakan serangkaian tugas yang dihubungkan secara logis yang dilakukan untuk mencapai hasil akhir bisnis yang telah ditentukan. Terdapat hubungan siklus antara Teknologi informasi (TI) dan Business Process Re-engineering. Saat kemampuan TI berkembang, maka kapabilitasnya akan dapat mengendalikan perubahan dalam proses bisnis. Dmk pula proses bisnis dapat menuntut peningkatan kapabilitas TI. Kapabilitas Teknologi Informasi Business Process Re-engineering

1.1.2 Model Business Process Re-engineering BPR bersifat evolusioner yang dilakukan melalui 6 aktivitas. Definisi Bisnis Penyaringan dan Peng- instan-an Prototyping Identifikasi Proses Spesifikasi Proses dan Desain Evaluasi Proses

1.1.2 Model Business Process Re-engineering (lanj) Definisi Bisnis : mrpk identifikasi tujuan dalam konteks pengendali kunci al. reduksi biaya, reduksi waktu, peningkatan kualitas, dan pengembangan serta pemberdayaan personal. Identifikasi Proses : mrpk identifikasi proses (dan proses kritis) serta penyusunan prioritas. Evaluasi Proses : mrpk tahap analisis proses untuk menentukan tugas, biaya, dan waktu. Spesifikasi dan Desain Proses : mrpk langkah yang diawali dg penyusunan use case (skenario peran pengguna dlm berinteraksi dg PL) sbg spesifikasi proses yang kemudian dilanjutkan dg desain untuk proses ybs. Prototyping : mrpk sarana pengujian proses agar penyaringan dpt dilakukan. Penyaringan dan Peng-instan-an : berdasarkan tahapan sebelumnya proses bisnis disaring / dihaluskan dan dimasukkan ke dalam sistem bisnis sbg bagian yang siap pakai. Perencanaan Strategi Informasi (ISP) dan BAA dpt digunakan untuk mengimplementasi keempat langkah yang pertama.[pressman, 1997]

1.2. Software Re-engineering Software Re-engineering : reorganising and modifying existing software systems to make them more maintainable.. (Sommerville, 2000). Software Re-engineering yang sering juga disebut renovasi merupakan suatu proses pengujian dan perubahan suatu sistem untuk penyusunan kembali menjadi sistem dengan bentuk baru dan implementasi baru berikutnya [Chikofsky, 1993]. (Pressman : renovasi / reklamasi = forward engineering). Software Re-engineering : mengimplementasi kembali fungsi- fungsi dari sistem yang ada dan juga menambahkan fungsi-fungsi baru dan atau meningkatkan kinerja keseluruhan [Pressman, 1997]

1.2 Software Re-engineering (lanj) Software Re-engineering merupakan : pengubahan dan pengorganisasian kembali komponen-komponen PL yang dapat dilakukan terhadap hasil Design atau Implementation saja atau pada keseluruhan tahapan / abstraksi, tanpa menghilangkan keseluruhan komponen lama, agar diperoleh PL dengan tingkat kesempurnaan dan standar yang lebih tinggi.

2. Software Re-engineering (SWR) dan System Life-Cycles (SLC) Sumber : Chikofsky, 1990

3. Kebutuhan akan SWR PL dalam masa hidupnya dihadapkan pada berbagai tantangan : metode yang digunakan dan infrastruktur teknologi saat PL direkayasa pertama kali (yang sekarang sudah tidak memadai lagi). Peningkatan kebutuhan pengguna selama masa pemakaian. Perubahan-perubahan yang dilakukan saat pemeliharaan berlangsung yang menimbulkan efek samping yang serius. Hal tersebut memunculkan desain yang buruk, program yang jelek, logika yang ruwet, dan dokumentasi (kalau ada) yang sulit dipahami. Dampak berikutnya adalah PL yang sulit dipelihara.. Kondisi ini dapat muncul kapan pun, bahkan sejak awal perangkat lunak digunakan oleh pemakai. Bila PL sudah mencapai kondisi ini, maka re- engineering merupakan suatu kebutuhan untuk dilakukan.

4. Kelebihan SWR Reduced risk There is a high risk in new software development. There may be development problems, staffing problems and specification problems. Reduced cost The cost of re-engineering is often significantly less than the costs of developing new software(sommerville, 2000).

5. Model Proses SWR Forward Engineering Inventory Analysis Data Restructuring Document Restructuring Code Restructuring Reverse Engineering [Pressman, 1997]

5.1 Inventory Analysis Inventori PL merupakan suatu catatan historis yang memuat informasi mulai dari nama aplikasi, tahun pembuatan, kompleksitasnya, dokumentasinya, hubungannya dengan aplikasi lain, perubahan-perubahan yang telah dilakukan dan proyeksinya, berbagai aspek pemeliharaan, biaya, nilai bisnis, dan kekritisan bisnis. Catatan historis tsb perlu dilihat kembali secara reguler mengingat kemungkinan adanya perubahan seiring dengan berjalannya waktu [Pressman, 1997].

5.2 Document Restructuring Dokumen merupakan faktor yang sangat penting dalam rekayasa PL. Namun banyak perekayasa PL masa lalu meragukan hal ini, sehingga menyulitkan upaya-upaya pemeliharaan. Dipandang dari sisi pengguna, PL masa lalu yang hanya berupa program executable saja tidak memungkinkan dilakukannya pengembangan sehingga pengguna diharuskan mengganti PL nya dengan PL yang baru. Bagi PL yang memiliki dokumen tetapi dokumen tsb tidak mendukung upaya pemeliharaan, maka langkah restrukturisasi dokumen merupakan pilihan.

5.2 Document Restructuring (lanj) Restrukturisasi dokumen perlu dilakukan berdasarkan sistematika dan standar penulisan yang benar. SCI berdasarkan standar IEEE (lih. Materi SCI) dapat digunakan sbg. acuan. Setiap dokumen yang dikaji, bagian-bagiannya ditanamkan kembali ke dalam SCI standar. Bila terdapat bagian dari SCI yang belum terisi, maka diperlukan penambahan- penambahan melalui identifikasi thd PL. Restrukturisasi dilakukan berdasarkan tahapan-tahapan seperti tergambar dalam base line, sehingga antara dokumen satu dengan yang lain memiliki benang merah yang jelas dan terstruktur. Selain itu juga dalam setiap dokumen perlu dilakukan penyusunan kembali paragraf- paragraf, gambar, tabel, dan informasi lainnya agar sistematis dan mudah dipahami.

5.3 Reverse Engineering Reverse engineering merupakan proses analisis yang diperlukan dalam proses Re-engineering. Reverse engineering akan dibahas pada bab tersendiri.

5.4 Code Restructuring Pemeliharaan PL cenderung mempengaruhi struktur program dan menimbulkan berbagai percabangan dan jalur-jalur yang liar sehingga semakin menyulitkan seseorang untuk memahaminya. PL masa lalu yang tidak didasarkan pada teknik pemrograman terstruktur juga memiliki kemungkinan membentuk spaghetti code (walaupun tidak menutup kemungkinan teknik terstruktur pun dapat menghasilkan code yang sama).

5.4.1 Spaghetti Logic [Sommerville, 2000].

5.4.2 Structured Control Logic [Sommerville, 2000].

5.4.3 Condition Simplification -- Complex condition if not (A > B and (C < D or not ( E > F) ) )... -- Simplified condition if (A <= B and (C>= D or E > F)... [Sommerville, 2000].

5.5 Data Restructuring 5.5.1 Data problems Pengguna memerlukan data lebih dari yang ada dalam sistem file. PL terbebani pemrosesan data lebih dari yang telah direncanakan sebelumnya saat PL dibangun. Data redundant disimpan dalam format dan tempat yang berbeda. Nama data tidak memiliki arti yang memudahkan pemahaman. Data yang sama memiliki nama yang berbeda pada sub- subprogram. Data yang sama memiliki panjang yang berbeda pada sub- subprogram. Record yang merepresentasikan entitas yang sama terorganisasikan secara beda pada sub-subprogram. Data yang tersimpan permanen di program. Tidak adanya kamus data. [Sommerville,[ 2000].

5.5 Data Restructuring 5.5.2 Restrukturisasi Lakukan langkah reverse engineering sebagai langkah pemahaman arsitektur data. Identifikasi objek dan atribut data. Kajilah struktur datanya dan identifikasi data problems yang ada. Bila struktur data lemah, lakukan re-engineering. Model relasional maupun model OO dapat dijadikan alternatif peningkatan layanan data.

5.6 Forward Engineering and Re-engineering S y s t e m s p e c i f i c a t i o n D e s i g n a n d i m p l e m e n t a t i o n N e w s y s t e m F o rw a rd e n g i n e e r i n g E x i s t i n g s o f t w a r e s y s t e m S o f t w a r e r e - e n g i n e e r i n g U n d e r s t a n d i n g a n d t ra n s f o r m a t i o n R e - e n g i n e e r e d s y s t e m

6. Proses Re-engineering [Sommerville, 2000]. O r i g i n a l p ro g r a m P r o g r a m d o c u m e n t a t i o n M o d u l a r i s e d p r o g r a m O r i g i n a l d a t a R e v e r s e e n g i n e e r i n g S o u r c e c o d e t r a n s l a t i o n m P r o g r a m o d u l a r i s a t i o n D a t a r e e n g i n e e r i n g P r o g r a m s t r u c t u r e i m p r o v e m e n t S t r u c t u r e d p ro g r a m R e e n g i n e e r e d d a t a

6.1 Pendekatan Re-engineering A u t o m a t e d p r o g r a m r e s t r u c t u r i n g P ro g ra m a n d d a t a r e s t r u c t u r i n g A u t o m a t e d s o u r c e c o d e c o n v e r s i o n A u t o m a t e d r e s t r u c t u r i n g w i t h m a n u a l c h a n g e s R e s t r u c t u r i n g p l u s a r c h i t e c t u r a l c h a n g e s I n c r e a s e d c o s t

6.2 Source Code Translation Translasi kode berupa pengkonversian kode dari satu bahasa ke bahasa lain atau ke versi lain, misal FORTRAN ke C, FORTRAN 77 ke FORTRAN 90, dsb. Kemungkinan dibutuhkan karena : Perubahan platform hardware Keterbatasan keterampilan staf Perubahan kebijakan organisasi Dapat dilakukan bila ada kemungkinan disusunnya perangkat bantu translasi otomatis.

6.2 Source Code Translation (lanj) S y st e m to b e r e - e n g in e e r e d S y st e m to b e re - e n g in e e r e d R e - e n g in e e r e d s y s te m I d e n ti f y so u r c e c o d e d if f e r e n c e s D e s ig n tr a n s la t o r i n s tr u ct io n s A u to m a t ic a lly t ra n s la t e c o d e M a n u al ly t ra n s la t e c o d e

6.3 Automatic Program Restructuring P r o g ra m t o b e r e s t r u c t u r e d R e s t r u c t u r e d p ro g ra m A n a ly s e r a n d g ra p h b u il d e r P r o g ra m g en e r a t o r G r a p h re p r e s e n ta t io n

6.4 Program Modularisation Modularisasi program dilakukan terhadap program yang telah terstruktur.. Oleh sebab itu harus melalui proses restrukturisasi terlebih dahulu. Proses modularisasi memerlukan dokumentasi program yang diperoleh dari hasil reverse engineering.

6.4 Program Modularisation (lanj) Modularisasi dilakukan dengan mengidentifikasi dan menggolongkannya ke dalam karakteristik modul berikut ini. Data abstractions Modul yang berupa struktur data dan operasinya Hardware modules Berfungsi untuk melakukan antarmuka dengan unit-unit hardware Process support modules Modul yang berisi fungsi pendukung proses bisnis / organisasi Functional modules Modul yang berisi fungsi-fungsi pendukung lainnya

6.5 Data Re-engineering Rekayasa ulang data mrpk keg analisis dan reorganisasi struktur data,, bahkan mungkin hingga ke nilai data. Bisa merupakan proses migrasi dari file-based system ke DBMS-based system, Perubahan dari satu DBMS ke DBMS lain

P r o g r a m 1 P r o g r a m 2 P r o g r a m 3 F i l e 1 F i l e 2 F i l e 3 F i l e 4 F i l e 5 F i l e 6 P r o g r a m 4 P r o g r a m 5 P ro g ra m 6 P r o g r a m 7 B e c o m e s P r o g r a m 3 P r o g r a m 4 P r o g r a m 5 P r o g r a m 6 P r o g r a m 2 P r o g r a m 7 P r o g r a m 1 D a t a b a s e m a n a g e m e n t s y s t e m d e s c r i b e s L o g i c a l a n d p h y s i c a l d a t a m o d e l s Data migration ***