PSI PerangkatLunak

  • Upload
    bleeloe

  • View
    42

  • Download
    1

Embed Size (px)

Citation preview

Perancangan Sistem InformasiPerancangan Perangkat Lunak

Avinanta Tarigan

Gunadarma University

1

Avinanta Tarigan

Perancangan Sistem Informasi

Outline1

Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem

2

3

2

Avinanta Tarigan

Perancangan Sistem Informasi

Pustaka ISommerville, Ian, Software Engineering , Addison-Wesley, 1982 Pressman, Roger S, Software Engineering: A Practitioners Approach, Boston, Mass: McGraw-Hill, 2005 Parnas, David, Software Engineering Programmes are not Computer Science Programmes, Annals of Software Engineering, 1998 Guide to the Software Engineering Body of Knowledge (http://www.swebok.org) Other S.E. Course Related Sites (Wikipedia, MIT, Software Engineering Institute Carnegie Mellon, Ilmukomputer.com, etc)

3

Avinanta Tarigan

Perancangan Sistem Informasi

Aspek-aspek Dalam R/P-PL

Rekayasa Perangkat Lunak

Outline1

Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem

2

3

4

Avinanta Tarigan

Perancangan Sistem Informasi

Aspek-aspek Dalam R/P-PL

Rekayasa Perangkat Lunak

Software / Perangkat Lunak

Program Komputer, Mekanikal yang dapat dengan mudah dibentuk dan dirubah Produk Perangkat Lunak:Generik :untuk pengguna umum pengguna harus mengikuti apa yang telah dibuat oleh programmer

Bespoke / Tailor-made :dibuat khusus untuk sekelompok pengguna developer mengikuti requirement dari pengguna

5

Avinanta Tarigan

Perancangan Sistem Informasi

Aspek-aspek Dalam R/P-PL

Rekayasa Perangkat Lunak

Software / Perangkat Lunak

Program Komputer, Mekanikal yang dapat dengan mudah dibentuk dan dirubah Produk Perangkat Lunak:Generik :untuk pengguna umum pengguna harus mengikuti apa yang telah dibuat oleh programmer

Bespoke / Tailor-made :dibuat khusus untuk sekelompok pengguna developer mengikuti requirement dari pengguna

5

Avinanta Tarigan

Perancangan Sistem Informasi

Aspek-aspek Dalam R/P-PL

Rekayasa Perangkat Lunak

Software Engineering IApplication of systematic, disciplined, quantiable approach to the development, operation, and maintenance of software 1968 - NATO Software Engineering Conference, Garmisch, Deutschland. Term was popularized by F.L. Bauer Pioneers:C.A.R. Hoare David Parnas Barry Boehm & Fred Brooks

S.E. isa form of engineering but not just set of good programmers (David Parnas) not engineering but that it should be (Steve McConnell) is an art and a science (Donald Knuth)6 Avinanta Tarigan Perancangan Sistem Informasi

Aspek-aspek Dalam R/P-PL

Rekayasa Perangkat Lunak

Software Engineering II

Engineers belajar science + metoda untuk mengaplikasikannya Membutuhkan pengetahuan: computer engineering & science, managemen, matematik, manajemen proyek, management kualitas, software ergonomics, system engineering Peneliti (scientist) fokus pada satu subyek dan mendalaminya, tetapi engineer harus memilik pengetahuan yang cukup luas dan melebar

7

Avinanta Tarigan

Perancangan Sistem Informasi

Aspek-aspek Dalam R/P-PL

Problema

Outline1

Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem

2

3

8

Avinanta Tarigan

Perancangan Sistem Informasi

Aspek-aspek Dalam R/P-PL

Problema

Mengapa Kita Harus Belajar PPL

http://blog.amber.org/category/programming/ 9 Avinanta Tarigan Perancangan Sistem Informasi

Aspek-aspek Dalam R/P-PL

Problema

Karakteristik Software Yang Bagus

Maintainability PL harus dapat dengan mudah dirubah sesuai dengan perubahan kebutuhan pengguna Dependability PL harus dapat dipercaya (trustworthy) sehingga pengguna dapat menggantungkan sepenuhnya proses bisnis mereka Eciency PL harus esien dan tidak memakai resources yang tinggi Usability PL harus dapat digunakan (usable) oleh penggunanya dalam memenuhi kebutuhan mereka

10

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Denisi

Outline1

Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem

2

3

11

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Denisi

Proses Pengembangan PLHimpunan dari aktitas yang bertujuan untuk mengembangkan PL atau evolusi dari PL Secara generik:1

2

3

4

Spesikasi Mendinisikan bagaimana sistem harus bekerja, ruang lingkup, dan hambatan2nya Pengembangan Fase produksi: programming, dokumentasi, cek error, etc Validasi dan verikasi Memvalidasi bahwa PL dapat memenuhi kebutuhan pengguna (requirement) Evolusi Merubah PL sesuai dengan perubahan kebutuhan pengguna

12

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Denisi

Model Proses Pengembangan PL

Simplikasi proses pengembangan PL dari perspektiv yang spesik Perspektiv:Workow - aliran aktivitas Data-Flow based - aliran informasi Role/Action based - peran-peran pengembang

Beberapa model proses PLWaterfall model Evolutionary Formal transformation Integration from reusable components Agile and eXtreme Software Development

13

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

Outline1

Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem

2

3

14

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

The Waterfall ModelThe Spirit

15

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

The Waterfall ModelAs is

16

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

The Waterfall ModelProblem Dari Waterfall Model

Sangat sulit untuk mengakomodasi perubahan dalam proses Tidak eksibel dalam pemisahan proyek dalam beberapa langkah pengembangan Tidak mudah untuk merespon perubahan Dapat digunakan apabila kebutuhan pengguna sudah benar2 dimengerti, dikuasai, diresapi dan tidak akan berubah selama pengembangan

17

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

Evolutionary DevelopmentVersioning dan Prototyping

18

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

Evolutionary DevelopmentProblema dan Pengejawantahannya

Problem:Visibilitas proses tidak jelas terlihat Sistem kadang2 tidak terstruktur Membutuhkan skill khusus (misalnya, bahasa untuk rapid prototyping)

Dapat digunakan dalam:sistem interaktif yang kecil atau menengah mengembangkan bagian dari sistem yang besar (misalnya, user interface) sistem yang life-cyclenya pendek

19

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

Formal System DevelopmentKebutuhan user dispesikasikan dalam bentuk matematik Bentuk matematik tsb ditransformasikan dalam abstraksi-abstraksi spesikasi sampai pada program yang dapat dijalankan Requirement Deniiton Formal Specication Formal Transformation Executable Program Integration & System Testing Transformasi tsb correctness-preserving, dapat dengan mudah membuktikan bahwa program akhir sesuai dengan spesikasi awal Pendekatan Cleanroom20 Avinanta Tarigan Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

Formal System DevelopmentPenggunaannya

investasi awal sangat tinggi bias dalam penyusunan kebutuhan dapat diperkecil karena analisis detail sangat diperlukan dan mandatory ketidaklengkapan dan ketidakkonsistenan dapat diidentikasi dan dibetulkan penghematan dalam proyek yang biasanya disebabkan oleh problem dalam pendenisian kebutuhan

21

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

Formal System DevelopmentContoh Spesikasinya Dalam TLA+

22

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

Formal System DevelopmentFormal Transformation and Proofs

P1 P2 P3 P4 TRUE

23

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

Formal System DevelopmentProblems and Applicability

ProblemaDibutuhkan kepala yang pintar dan terlatih Tidak mudah (tidak mungkin) untuk memformalkan semua aspek dalam sistem

AplikasiCritical systems : safety dan security

24

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

Component-Reuse Oriented DevelopmentDenisi

Berdasarkan penggunaan kembali komponen-komponen PL dengan metoda yang sistematik (COTS Commercial-o-the-shelf) ProsesAnalisa Komponen Kebutuhan Modikasi Mendesain sistem dg memanfaatkan komponen-komponen yang ada Pengembangan dan Integrasi

Sangat disukai dan penting (bagi bisnis) tetapi tanpa metode yang tepat malah akan mendapatkan sistem yang tidak robust

25

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

Component-Reuse Oriented DevelopmentProses Pengembangannya

26

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

Process Iteration

Ide dasar: kebutuhan SELALU berubah selama pengembangan, sehingga perulangan proses dimana pengerjaan sebelumnya dirubah lagi adalah bagian pengembangan sistem secara keseluruhan Iterasi dapat diimplementasikan dalam setiap fase pengembangan generik Pendekatan berbasis perulangan prosesIncremental development Spiral development

27

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

Incremental DevelopmentDenition

Pengembangan dibagi menjadi bagian2 yang dapat berkembang secara bertambah (increments) Setiap bagian harus memenuhi fungsi-fungsi yang diperlukan Kebutuhan pengguna diprioritaskan dan prioritas tertinggi didahulukan dalam pengembangan Begitu dimulai, kebutuhan yang telah tertangani akan dibekukan sehingga memberikan tempat bagi kebutuhan lain untuk dapat berevolusi

28

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

Incremental DevelopmentIn a Diagram

29

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

Incremental DevelopmentKelebihan

Kebutuhan pengguna / kustomer dipenuhi pada setiap bagian yang selesai terlebih dahulu Bagian yang selesai terlebih dahulu menjadi prototipe Resiko rendah Bagian yang punya prioritas tertinggi dapat dites secara intensive

30

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

eXtreme programming

Pendekatan baru Pengembangan bagian-bagian kecil dari fungsi sistem Bergantung kepada :improvemen kode yang konstan keikutsertaan user dalam pengembangan pairwise programming

31

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

The Spiral Model (Boehm)

Proses direpresentasikan dalam aktivitas berbentuk spiral Setiap perulangan (loop) dalam spiral merepresentasikan sebuah fase dalam proses Fase-fase tidak x (spesikasi - design loop) dipilih sesuai dengan yang diperlukan Resiko selalu secara transparan dimonitor dan dipecahkan selama proses berlangsung

32

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

The Spiral Model (Boehm)

33

Avinanta Tarigan

Perancangan Sistem Informasi

Proses Pengembangan PL

Model Proses Pengembangan PL

The Spiral Model (Boehm)1

Mendenisikan tujuan dalam 1 siklus spiralTujuan spesik harus didenisikan sebagai output dari 1 siklus spiral

2

Indentikasi Resiko, assasement, pemecahanMencari semua resiko yang mungkin dan memecahkannya sebelum langkah berikutnya dimulai

3

Pengembangan dan ValidasiPengembangan sistem / software itu sendiri dan memvalidasinya sesuai dengan kebutuhan Pengembangan sesuai dengan model generik

4

Perencanaan berikutnyaReview hasil dari 1 siklus proyek Merencanakan pengembangan berikutnya

34

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Strategi Pengujian Secara Umum

Outline1

Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem

2

3

35

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Strategi Pengujian Secara Umum

Strategi Pengujian

BerupaRencana Pengujian Desain Pengujian Eksekusi Pengujian

Cukup eksibel sehingga setiap proyek dapat mempunyai kasus pengujian yang berbeda Harus cukup detail sehingga dapat dijadikan tolok ukur kemajuan proyek Hasil: Dokumen Spesikasi Pengujian panduan bagi pelaksana dan milestone bagi manajemen

36

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Strategi Pengujian Secara Umum

Karakteristik Pengujian Generik

Memasukkan formal technical reviews untuk mengeliminasi error sebelum pengujian dimulai Dimulai dari komponen-komponen sistem sampai pada sistem secara keseluruhan Teknik pengujian dipilih sesuai dengan ketepatannya setiap waktu / kasus Dilaksanakan oleh pengembang PL atau tim independen Pengujian & Debugging tidak sama, tetapi debugging harus ada di setiap testing

37

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Strategi Pengujian Secara Umum

Organisasi Pengujian Perangkat Lunak

Perbedaan konsep Verikasi (membuat PL dengan benar) dan Validasi (membuat PL yang benar) Problem Psikologi:Pengembang cenderung untuk memperlihatkan tur sistem dan validasinya terhadap kebutuhan user Pelaksanaan oleh tim luar potensi membuat konik dg pengembang

Tim luar bukan bertanggungjawab thd kualitas PL

38

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Strategi Pengujian Secara Umum

Kapan Pengujian Selesai ?

Problem: Tidak pernah selesai Biaya: Selesai begitu dana untuk Pengujian telah habis Kriteria Statistik (Musa & Ackerman)95% kepercayaan terhadap sistem tsb apabila dalam 1000 jam sisem berjalan terdapat probabilitas 0.995 operasi PL yang tidak gagal

39

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Pengujian PL Berarsitektur Konvensional

Outline1

Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem

2

3

40

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Pengujian PL Berarsitektur Konvensional

Proses Pengujian

41

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Pengujian PL Berarsitektur Konvensional

Proses Pengujian IPengujian UnitKomponen-komponen diuji secara individual Pengujian terhadap kode program dan algoritma

Pengujian ModulPengujian himpunan komponen-komponen yang saling berkaitan atau bergantungan

Pengujian Sub-SistemPengujian modul yang diintegrasikan kedalam satu sub-sistem. Fokus ada pada pengujian antar-muka

Pengujian SistemPengujian sistem secara keseluruhan Pengujian terhadap adanya pembrojolan (emergent properties)42 Avinanta Tarigan Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Pengujian PL Berarsitektur Konvensional

Proses Pengujian II

Pengujian Penerimaan PenggunaPengujian Penerimaan Pengguna terhadap PL tersebut Validasi terhadap Kebutuhan Pengguna

43

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Pengujian PL Berarsitektur Konvensional

Testing Phases

44

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Pengujian PL Berarsitektur Konvensional

Pengujian Unit

45

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Pengujian PL Berarsitektur Konvensional

Pengujian UnitAntarmuka:untuk memastikan aliran data yang masuk dan keluar sesuai

Struktur Data Lokalmemastikan integritas variabel lokal selama eksekusi

Kondisi Unit Pada Batas Limitunit selalu beroperasi dengan benar pada limit-limit tertentu

Independent Pathalgoritma yang berdiri sendiri beroperasi dengan benar

Error handling pathalgoritma untuk mendeteksi dan menangani error beroperasi dengan benar

46

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Pengujian PL Berarsitektur Konvensional

Kesalahan Umum

kesalahan aritmatika operasi menggunakan modus yang bercampur inisialisasi yang tidak benar presisi yang tidak terakurasi representasi simbolik yang tidak benar

47

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Pengujian PL Berarsitektur Konvensional

Pengujian Modul

48

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Pengujian PL Berarsitektur Konvensional

Pengujian Integrasi Sistem

Incremental Integration vs Big Bang Top-down IntegrationDepth First Integration Breadth First Integration Memverikasi kontrol

Bottom-up IntegrationStubs tidak diperlukan Clustering

49

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Pengujian PL Berarsitektur Konvensional

Pengujian Regresi dan Smoke

Pengujian berulang terhadap komponen / modul yang telah diuji sebelumnya akibat integrasi dengan yang belum diuji Smoke:integrasi bertahap dibuat setiap hari dalam bentuk build pengujian diulang pada tahap integrasi ini

KeuntunganResiko integrasi diminimalisasi Kualitas produk meningkat Memudahkan diagnosa error dan koreksi Kemajuan proyek dapat dilihat dengan mudah

50

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Pengujian Dalam Konteks PBO

Outline1

Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem

2

3

51

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Pengujian Dalam Konteks PBO

Pengujian Dalam Konteks OO

Prinsip enkapsulasi dan information hiding Pengujian class-class dan penurunannya Detail algoritma dalam setiap class dan keturunannya

52

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Pengujian Dalam Konteks PBO

Pengujian Integrasi Dalam Konteks OO

Pengujian Threadpengujian terhadap beberapa class yang tergabung dalam satu thread diuji terhadap input yang ditentukan sebelumnya

Pengujian Berdasarkan Penggunaanpengujian class terhadap penggunaannya di class yang lain pertama adalah pengujian independent class kedua adalah pengujian dependent class

Cluster Testing

53

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Pengujian Sistem

Outline1

Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem

2

3

54

Avinanta Tarigan

Perancangan Sistem Informasi

Pengujian Perangkat Lunak

Pengujian Sistem

Pengujian Sistem

Pengujian RecoveryBagaimana sistem dapat merekover dirinya thd suatu kesalahan

Pengujian KeamananBagaimana sistem dapat mempertahankan dirinya agar tidak masuk ke dalam state of insecure

Pengujian StressBagaimana sistem dapat bertahan beroperasi dalam tekanan waktu dan pelayanan

Pengujian PerformaBagaimana performa sistem dalam melaksanakan pekerjaannya

55

Avinanta Tarigan

Perancangan Sistem Informasi

End

Terimakasih