Pemeliharaan Software - PowerPoint PPT Presentation

About This Presentation
Title:

Pemeliharaan Software

Description:

... berdasarkan kekurangan terhadap perancangan yang baik dan kokumentasi yang baik d ... pengembangan, staff, dan ... PowerPoint Presentation Author: – PowerPoint PPT presentation

Number of Views:143
Avg rating:3.0/5.0
Slides: 55
Provided by: kass159
Category:

less

Transcript and Presenter's Notes

Title: Pemeliharaan Software


1
  • Pemeliharaan Software
  • (Software Maintenance)

2
Definisi
  • modifikasi produk software setelah di reales
    untuk
  • memperbaiki kesalahan (faults),
  • untuk meningkatkan performa atau atribut lainnya
    (reliable, maintainable, ),
  • adaptasi produk software terhadap lingkungan
    baru. (IEEE)

3
Alasan kesulitan pemeliharaan SW
  • Rendahnya kualitas software yang berjalan (yang
    sudah ada).
  • Sistem tidak dirancang untuk memperhatikan konsep
    pemeliharaan
  • Pemeliharaan bukan merupakan bagian yang
    dirasakan perlu pada suatu SW

4
Spiral maintenance model
5
Sistem Software saat kini bisa lebih mudah
berubah volatile daripada sebelumnya
  • Mencerminkan perubahan lingkungan bisnis yang
    cepat
  • Menekankan pada pengembangan metode yang baru
  • Faktor-faktor peningkatan
  • Pendekatan iterasi
  • Model evolutionary
  • Memiliki Biological paradigm bukan assembly line
    paradigm

6
Saran untuk peningkatan
  • Merancang agar SW bisa terpelihara
  • Mengukur kompleksitas
  • Mengimplementasikan procedure management
    perubahan (SCM)
  • Meningkatkan kemampuan staff
  • Menambah tool pemeliharaan dan metrics

7
Permasalah yang ada?
  • Pemeliharaan SW membutuhkan 50-80 dari total
    biaya pembuatannya
  • Biaya pemeliharaan SW di seluruh dunia
    diperkirakan mencapai 30 billion
  • Masih sedikit penelitan yang mengarah ke
    pemeliharaan software

8
  • Microsoft Windows NT
  • 30 juta baris code ditambahkan selama 6 tahun
  • Telecom switch software
  • 5.2 juta modifikasi sepanjang satu dekade
  • Web-based applications
  • 73 dari biaya pembuatan e-commerce digunakan
    untuk re-design web site setelah implementasi
    pertama

9
Kategori pemeliharaan SW
  • Corrective maintenance
  • perubahan yang dilakukan guna memperbaiki
    kesalahan
  • Adaptive maintenance
  • Perawatan berdasarkan perubahan lingkungan
  • Perfective maintenance
  • Perubahan untuk meningkatkan kualitas sistem
    tanpa merubah fungsinya
  • Preventive maintenance
  • Meningkatkan reliability, future maintainability,
    future enhancement (reverse engineering dan
    re-engineering)

10
Proporsi kategori pemeliharaan SW
Corrective maintenance (17)
Perfective Maintenance (65)
Adaptive maintenance (18)
Lientz and Swanson (1980)
11
Proses Pemeliharaan
Change request
Impact analysis
System Release planning
Change implementation
System release
Perfective maintenance
Adaptive maintenance
Corrective maintenance
12
Karakteristik Pemeliharaan SW
  • Aktivitas pada fase pemeliharaan dan dampak
    pendekatan software engineering untuk
    keberhasilan aktifitas tersebut.
  • Biaya untuk fase pemeliharaan software.
  • Masalah yang sering dijumpai ketika prosees
    pemeliharaan software.

13
Permintaan perubahan
  • Perubahan yang diminta oleh users, customers atau
    management
  • Pada kenyataannya, semua perubahan memerlukan
    analisis yg hati-hati
  • Pada kenyataan, perubahan SW dirasakan perlu
    untuk
  • Memperbaiki kesalahan
  • Perubahan systems environment
  • Urgently required business changes

14
Structured vs. unstructured pemeliharaan SW
code
software
Configuration
Evaluation design
Evaluation code
Plan approach
?
Modify design
Recode
Recode
Review
Review
Test and Release
15
Biaya Pemeliharaan
  • Biaya yang dikeluarkan untuk melakukan
    pemeliharaan software yang bisa mencapai 80 dari
    total biaya pembuatan software.
  • M p Ke
  • M total usaha yang dikeluarkan untuk
    pemeliharaan
  • p productivity effort
  • K empirical constant
  • c pengukuran kompliksitas yang bisa berdasarkan
    kekurangan terhadap perancangan yang baik dan
    kokumentasi yang baik
  • d derajat familiarty software

(c-d)
16
Permasalahan yang ada
  • Kesulitan melakukan pelacakan evolusi software pd
    versi sebelumnya,
  • Kesulitan pelacakan pada proses pengembangan
    software,
  • Sulit untuk mengerti program orang lain,
  • Tidak adanya dokumentasi yang baik,
  • Tidak adanya nara sumber,
  • Kebanyakan software dirancang tanpa adanya
    pemikiran untuk diubah

17
Software Evolution
  • evolution is key part of lifecycle

18
Alasan evolusi SW
  • Memperbaiki dan menajamkan requirement
  • Beberapa requirement yang ditemukan pada tahap
    inisial pengemebangan SW.
  • Perubahan pada lingkungan operasi
  • Iterasi pengembangan SW
  • Menambahkan satu fitur pada satu saat, membaca
    resiko pada integrasi sistem
  • Pengiriman yang cepat untuk versi yang kecil

19
ContohA tale of two systems evolution
Financial System
Shipping System
20
Pendefinisian pengukuran software evolution
  • Amplitude ukuran modifikasi software
  • Periodicity interval waktu antara perubahan
  • Deviation variability panjang interval waktu

21
(No Transcript)
22
(No Transcript)
23
Kategori pengukuranevolusi software
24
Software Re-engineering
  • Reorganisasi dan modifikasi sistem software agar
    bisa dipelihara (maintainable)

25
Re-engineering Sistem
  • Restrukturisasi atau penulisan ulang suatu sistem
    tanpa merubah fungsionalitasnya,
  • Dapat diaplikasikan kalau beberapa (bukan
    keseluruhan) sub-system dari suatu sistem yang
    besar sering memerlukan perawatan,
  • Memerlukan effort tambahan untuk memudahkan
    perawatan. Sistem mungkin di re-strukturisasi
    atau re-dokumentasi

26
Kapan melakukan Re-engineering
  • Kalau perubahan sistem kebanyakan dilakukan pada
    bagian sistem maka dilakukan re-engineering pd
    bagian tesebut
  • Ketergantungan terhadap dukungan
    hardware/software yang penting
  • Jika ada dukungan tools untuk re-strukturisasi.

27
Keuntungan melakukan Re-engineering SW
  • Mengurangi risiko
  • Adanya risiko yang tinggi pada pengembangan
    softwarebaru. (yaitu masalah pengembangan, staff,
    dan spesisfikasi).
  • Mengurangi biaya
  • Biaya re-engineering secara signifikan lebih
    kecil dari dari biaya pembuatan software baru

28
Business process re-engineering
  • Konsentrasi pada proses re-disian bisnis agar
    lebih responsive dan efficient
  • Bergantung pada sistem komputer baru untuk
    mendukung proses perbaikan
  • Software re-engineering didisain untuk mendukung
    proses yang ada

29
Forward engineering dan re-engineering
30
Proses re-engineering
31
Faktor biaya Re-engineering
  • Kualitas software yang akan di re-engineered
  • Fasilitas pendukung yang tersedia untuk proses
    re-engineering
  • Besarnya konversi data yang diperlukan
  • Adanya staff yang ahli untuk proses
    re-engineering

32
Pendekatan Re-engineering
33
Source code translation
  • Melibatkan konversi code dari satu bahasa
    pemrograman ke yang lain mis. COBOL ke C
  • Diperlukan karena
  • Perubahan Hardware platform
  • Kemampuan Staff yang kurangan
  • Perubahan kebijakan Organisational
  • Akan realisitis jika translate dilakukan sec.
    Otomatis.

34
Proses translate Program
35
Reverse engineering
  • Menganalisa software untuk mengerti disain dan
    spesifikasi SW.
  • Bisa merupakan bagian proses re-engineering
    tetapi dapat juga digunakan untuk melakukan
    spesifikasi ulang dalam re-implementasi sistem.
  • Dapat menggunakan Program understanding tools
    (browsers, cross-reference generators, dll.)

36
Proses reverse engineering
37
Reverse engineering
  • Reverse engineering sering diawali oleh
    re-engineering tapi dapat juga di keseluruhan
    proses reverse engineering itu sendiri
  • Disain dan specification system dapat
    di-reverse-engineered sehingga bisa dijadikan
    sebagai input ke requirements specification
    process untuk penggantian system (systems
    replacement)
  • Disain dan specification dapat di-reverse-
    engineered untuk mendukung pemeliharaan program

38
Meningkatkan struktur program
  • Program direstrukturisasi secara otomatis untuk
    menghilangkan cabang non-kondisi.
  • Statement kondisi disederhanakan sehingga mudah
    dibaca.

39
Spaghetti logic
40
Kontrol logic terstruktur
41
Contoh penyederhanaan suatu kondisi
-- Kondisi yang kompleks if not (A gt B and (C lt D
or not ( E gt F) ) )... --Kondisi yang
sederhana if (A lt B and (Cgt D or E gt F)...
42
Restrukturisasi program yang otomatis
43
Masalah pada restrukturisasi
  • Masalah restrukturisasi
  • Kehilangan documentasi
  • Kebutuhan akan komputasi yang tinggi
  • Restrukturisasi tidak bisa membantu pada sistem
    yang memiliki kelemahan modularisainya yaitu
    komponen-komponen yg terkait terseber di seluruh
    code.

44
Modularitas Program
  • Proses re-organisasi suatu program sehingga
    program yang berkaitan terkumpul menjadi satu
    module.
  • Biasanya dilakukan secara manual pada inspeksi
    program dan re-organisasi

45
Tipe-tipe Modul
  • Abstraksi Data
  • Abstract data type untuk pengelompokkan data
    structures dan operasinya
  • Hardware modules
  • Fungsi yang diperliukan untuk interface dg
    hardware (driver).
  • Functional modules
  • Module terdiri dari fungsi-fungsi yang memiliki
    tugas yang saling terkait.
  • Process support modules
  • Modules yang berfungsi mendukung proses bisnis

46
Recovering data abstractions
  • Many legacy systems use shared tables and global
    data to save memory space
  • Causes problems because changes have a wide
    impact in the system
  • Shared global data may be converted to objects or
    ADTs
  • Analyse common data areas to identify logical
    abstractions
  • Create an ADT or object for these abstractions
  • Use a browser to find all data references and
    replace with reference to the data abstraction

47
Data re-engineering
  • Involves analysing and reorganising the data
    structures (and sometimes the data values) in a
    program
  • May be part of the process of migrating from a
    file-based system to a DBMS-based system or
    changing from one DBMS to another
  • Objective is to create a managed data environment

48
Pendekatan untuk data re-engineering
49
Data problems
  • End-users want data on their desktop machines
    rather than in a file system. They need to be
    able to download this data from a DBMS
  • Systems may have to process much more data than
    was originally intended by their designers
  • Redundant data may be stored in different formats
    in different places in the system

50
Data migration
51
Data problems
  • Data naming problems
  • Names may be hard to understand. The same data
    may have different names in different programs
  • Field length problems
  • The same item may be assigned different lengths
    in different programs
  • Record organisation problems
  • Records representing the same entity may be
    organised differently in different programs
  • Hard-coded literals
  • No data dictionary

52
Data value inconsistencies
53
Data conversion
  • Data re-engineering may involve changing the data
    structure organisation without changing the data
    values
  • Data value conversion is very expensive.
    Special-purpose programs have to be written to
    carry out the conversion

54
The data re-engineering process
Write a Comment
User Comments (0)
About PowerShow.com