Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... ·...

19
3/6/2012 1 Proses N. Tri Suswanto Saptadi Teknik Informatika http://trisaptadi.uajm.ac.id 02/28/11 1 nts/sb/tiuajm A Layered Technology Software Engineering a “quality” focus process model methods tools These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 3/6/2012 2 nts/rs/tiuajm

Transcript of Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... ·...

Page 1: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

1

Proses

N. Tri Suswanto Saptadi

Teknik Informatika

http://trisaptadi.uajm.ac.id

02/28/11 1nts/sb/tiuajm

A Layered Technology

Software Engineering

a “quality” focus

process model

methods

tools

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by

R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005

3/6/2012 2nts/rs/tiuajm

Page 2: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

2

Rekayasa

• Merupakan analisis

• Desain

• Konstruksi

• Verifikasi

• Manajemen kesatuan teknik (atau sosial)

3/6/2012 3nts/rs/tiuajm

Pandangan Umum RPL

• Masalah yang akan dipecahkan ?

• Karakteristik ?

• Bagaimana kesatuan diadakan ?

• Bagaimana kesatuan dibangun ?

• Pendekatan yang dipakai ?

• Bagaimana kesatuan ditopang selama proses koreksi, adaptasi, perkembangan, pencegahan

3/6/2012 4nts/rs/tiuajm

Page 3: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

3

Fase Umum

• Fase Definisi

Definition phase

• Fase Pengembangan

Development phase

• Fase Pemeliharaan

Maintenance phase

3/6/2012 5nts/rs/tiuajm

Fase Definisi

• Berfokus pada “apa” (what)

identifikasi informasi apa

Fungsi & unjuk kerja apa

Tingkah laku sistem seperti apa

Interface apa

Batasan desain apa

Kriteria validasi apa

3/6/2012 6nts/rs/tiuajm

Page 4: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

4

Fase Pengembangan

• Berfokus pada “bagaimana” (how)

Mendefinikan untuk di konstruksi

Perancangan akan diterjemahkan

Detail prosedur

Interface dikarakteristikan

Pengujian dilakukan

Diimplementasikan arsitektur PL

3/6/2012 7nts/rs/tiuajm

Fase Pemeliharaan

• Berfokus pada “perubahan” (change)

Koreksi kesalahan

Penyesuaian yang dibutuhkan

Perubahan akibat perkembangan

Perubahan kebutuhan pelanggan

3/6/2012 8nts/rs/tiuajm

Page 5: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

5

Empat Tipe Perubahan

• Koreksi

• Adaptasi

• Perkembangan

• Pencegahan

3/6/2012 9nts/rs/tiuajm

Koreksi

• Meskipun dengan jaminan kualitas yang terbaik, sepertinya pelanggan akan tetap menemukan cacat pada PL

• Corrective maintenance :

mengubah, membetulkan cacat atau kerusakan.

3/6/2012 10nts/rs/tiuajm

Page 6: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

6

Adaptasi

• Dari waktu ke waktu, lingkungan original seperti : CPU, OS, aturan bisnis, karakteristik produk eksternal dimana PL yang dikembangkan akan terus berubah

• Adaptif maintenance :

menghasilkan modifikasi kepada PL untuk mengakomodasi perubahan pada kebutuhan fungsional original.

3/6/2012 11nts/rs/tiuajm

Perkembangan

• Ketika PL dipakai, pemakai akan mengenali fungsi-fungsi tambahan yang memberi mereka keuntungan

• Prefective maintenance :

memperluas PL sehingga melampaui kebutuhan fungsi originalnya.

3/6/2012 12nts/rs/tiuajm

Page 7: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

7

Pencegahan

• Keadaan PL semakin memburuk sehubungan dengan waktu

• Preventive maintenance :

dilakukan untuk memungkinkan PL melayani kebutuhan para pemakainya melakukan perubahan pada program komputer sehingga bisa menjadi lebih mudah dikoreksi, disesuaikan dan dikembangkan.

3/6/2012 13nts/rs/tiuajm

Proses Perangkat Lunak

Kerangka Kerja Proses Umum

Aktivitas Kerangka Kerja

Aktivitas Pendukung

Point SQA (Software Quality Assurance)

Kejadian Penting, dapat dikirimkan

Tugas

Rangkaian Tugas

3/6/2012 14nts/rs/tiuajm

Page 8: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

8

Pendekatan SEI (RPL Institute)

• Initial: awal yang kadang membingungkan

• Repeatable: penelusuran masalah biaya, jadual, fungsionalitas

• Defined: didokumentasikan, distandarkan dan diintegrasikan

• Managed: pengukuran detail terhadap proses PL

• Optimizing: perubahan proses terus-menerus dengan inovatif

(Software Engineering Institute)

3/6/2012 15nts/rs/tiuajm

Model PL (Proses)

• Model Proses PL

• Model Waterfall

• Model Sekuensial Linier

• Model Prototipe

• Model RAD

• Model Spiral

• Model Formal

• Model Teknik Generasi Keempat (4GT)

3/6/2012 16nts/rs/tiuajm

Page 9: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

9

Model Proses PL

• Perkembangan PL dapat dianggap sebagai lingkaran pemecahan masalah

• Kerja RPL pada tingkat resolusi yang berbeda

• Secara realistis sulit untuk mengadakan penggolongan aktivitas yang teratur

3/6/2012 17nts/rs/tiuajm

Model Waterfall (air Terjun)

• SDLC (System Development Life Cycle) merupakan metodologi tradisional yang dipakai untuk mengembangkan dan memelihara sistem informasi

3/6/2012 18nts/rs/tiuajm

Page 10: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

10

SDLC – dari Sisi Pengembangan Database

Identifikasi dan Pemilihan Proyek

Inisiasi dan Perencanaan Proyek

Analisis

Perancangan Logis

Perancangan Fisik

Implementasi

Perawatan

Enterprise modeling•Analisa pemrosesan data sekarang•Analisa fungsi-fungsi bisnis dan kebutuhan database•Penentuan data dan database baru untuk mendukung bisnis

Conceptual data modeling•Identifikasi lingkup kebutuhan database•Analisa kebutuhan seluruh data untuk bisnis yang didukung database•Pengembangan model data konseptual dini, termasuk entitas dan hubungan•Pembandingan model data konseptual dengan enterprise data model•Pengembangan model data konseptual detail (mencakup entitas, hubungan, atribut, dan aturan bisnis)•Membuat model data konseptual yang konsisten terhadap model sistem informasi3/6/2012 19nts/rs/tiuajm

SDLC – dari Sisi Pengembangan Database

Identifikasi dan Pemilihan Proyek

Inisiasi dan Perencanaan Proyek

Analisis

Perancangan Logis

Perancangan Fisik

Implementasi

Perawatan

Physical database design and creation•Pendefinisian database dalam DBMS•Penentuan organisasi data secara fisik•Peraancangan program pemroses database

Logical database design •Analisa terhadap transaksi, formulir, query (database view) yang diperlukan fungsi-fungsi bisnis•Mengintegrasikan database view ke dalam model data konseptual•Mengidentifikasi kebutuhan integritas dan keamanan

Database implementation•Mengkodekan dan menguji program•Menyelesaikan dokumentasi database dan materi pelatihan•Memasang database dan mengonversi data

Database Maintenance•Analisa database dan aplikasi database terhadap kebutuhan informasi•Pengaturan database untuk meningkatkan kinerja•Pembetulan kesalahan

3/6/2012 20nts/rs/tiuajm

Page 11: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

11

Masalah dengan Waterfall

• Perubahan sulit dilakukan karena sifatnya yang kaku.

• Karena sifat kakunya, model ini cocok ketika kebutuhan dikumpulkan secara lengkap sehingga perubahan bisa ditekan sekecil mungkin. Tapi pada kenyataannya jarang sekali konsumen/pengguna yang bisa memberikan kebutuhan secara lengkap, perubahan kebutuhan adalah sesuatu yang wajar terjadi.

• Waterfall pada umumnya digunakan untuk rekayasa sistem yang besar dimana proyek dikerjakan di beberapa tempat berbeda, dan dibagi menjadi beberapa bagian subproyek.

3/6/2012 nts/rs/tiuajm 21

Model Sekuensial Linier (1 dari 3)

Fase lingkaran pemecahan masalah [RAC95]

Status quo

Definisi masalah

Pengembangan teknis

Penyatuan solusi

3/6/2012 22nts/rs/tiuajm

Page 12: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

12

Model Sekuensial Linier (2 dari 3)

Waterfall Model menurut referensi Pressman

3/6/2012 23nts/rs/tiuajm

Model Sekuensial Linier (3 dari 3)

Fase-fase dalam Waterfall Model menurut referensi Sommerville

3/6/2012 nts/rs/tiuajm 24

Page 13: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

13

Aktivitas Model Sekuensial linier

• Rekayasa & Pemodelan sistem / informasi

• Analisis kebutuhan PL

• Desain

• Generasi Kode

• Pengujian

• Pemeliharaan

3/6/2012 25nts/rs/tiuajm

Model Prototipe

• Mendefinisikan serangkaian sasaran umum bagi PL

• Tidak meliputi identifikasi kebutuhan Output, Pemrosesan, ataupun Input detail

• Tidak adanya kepastian algorithme

• Kemampuan penyesuaian dari sebuah OS

• Interaksi manusia dengan mesin

3/6/2012 26nts/rs/tiuajm

Page 14: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

14

Prototipe Paradigma

Mendengarkan Pelanggan

Membangun Memperbaiki

Market

Uji Pelanggan-Mengendalikan

Market

3/6/2012 27nts/rs/tiuajm

Masalah Prototype

• Hal yang diabaikan: efisiensi,kualitas, kemudahan dipelihara/ dikembangkan, dan kecocokan dengan lingkungan yang sebenarnya. Jika klien merasa cocok dengan prototype yang disajikan dan berkeras terhadap produk tersebut, maka developer harus kerja keras untuk mewujudkan produk tersebut menjadi lebih baik, sesuai kualitas yang seharusnya.

• Developer biasanya melakukan kompromi dalam beberapa hal karena harus membuat prototype dalam waktu singkat. Mungkin sistem operasi yang tidak sesuai, bahasa pemrograman yang berbeda, atau algoritma yang lebih sederhana.

3/6/2012 nts/rs/tiuajm 28

Page 15: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

15

Aplikasi Sistem Konstruksi dgn Pendekatan RAD(Rapid Aplication Development) (1 dari 2)

• Business modelling: menjawab pertanyaan-pertanyaan informasi apa yang mengendalikan proses bisnis? Informasi apa yang dihasilkan? Siapa yang menghasilkan informasi? Kemana informasi itu diberikan? Siapa yang mengolah informasi?

• Data modelling: aliran informasi yang sudah didefinisikan, disusun menjadi sekumpulan objek data. Ditentukan karakteristik/atribut dan hubungan antar objek-objek tersebut.

• Process Modelling : objek data yang sudah didefinisikan diubah menjadi aliran informasi yang diperlukan untukmenjalankan fungsi-fungsi bisnis.

3/6/2012 29nts/rs/tiuajm

Aplikasi Sistem Konstruksi dgn Pendekatan RAD(Rapid Aplication Development)

• Application Generation: RAD menggunakan component program yang sudah ada atau membuat component yang bisa digunakan lagi, selama diperlukan.

• Testing and Turnover: karena menggunakan component yang sudah ada, maka kebanyakan component sudah melalui uji atau testing. Namun component baru dan interface harus tetap diuji.

3/6/2012 30nts/rs/tiuajm

Page 16: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

16

Model RAD

3/6/2012 31nts/rs/tiuajm

Model Spiral

• Komunikasi pelanggan

• Perencanaan

• Analisis resiko

• Perekayasaan

• Konstruksi dan peluncuran

• Evaluasi pelanggan

3/6/2012 32nts/rs/tiuajm

Page 17: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

17

3/6/2012 nts/rs/tiuajm 33

Spiral Model (Boehm)

SetiapLoop dibagi menjadi beberapa sektor

• Objective settings (menentukan tujuan): menentukan tujuan dari fase yang ditentukan.

• Risk assessment and reduction (Penanganan dan pengurangan resiko): setiap resiko dianalisis secara detil pada sektor ini.

• Development and Validation (Pembangunan dan pengujian): Setelah evaluasi resiko, maka model pengembangan sistem dipilih.

• Planning (perencanaan): Proyek dievaluasi atau ditinjau-ulang dan diputuskan untuk terus ke fase loop selanjutnya atau tidak

3/6/2012 nts/rs/tiuajm 34

Page 18: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

18

Model Variasi Spiral (1 dari 2)

3/6/2012 nts/rs/tiuajm 35

Model Variasi Spiral (2 dari 2)

• Customer communication: membangun komunikasi yang baik dengan pengguna/ customer.

• Planning: mendefinisikan sesumber, batas waktu, informasi-informasi lain seputar proyek

• Risk analysis: identifikasi resiko managemen dan teknis

• Engineering: pembangunan contoh-contoh aplikasi, misalnya prototype

• Construction and release: pembangunan, test, install dan support.

• Customer evaluation: mendapatkan feedback dari pengguna beradasarkan evaluasi PL pada fase engineering dan fase instalasi.

3/6/2012 nts/rs/tiuajm 36

Page 19: Proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/Analisis Dan Rekayasa Perangkat Lunak/02 Proses... · 02/28/11 nts/sb/tiuajm 1 A Layered Technology Software Engineering a “quality”

3/6/2012

19

Model Formal

• Mencakup sekumpulan aktivitas yang membawa kepada spesifikasi matematis PL komputer.

• Memungkinkan perekayasa PL untuk mengkhususkan, mengembangkan, dan memverivikasi sistem berbasis komputer dengan menggunakan notasi matematis yang tepat.

3/6/2012 37nts/rs/tiuajm

Model Teknik Generasi Keempat (4GT)

• Mencakup serangkaian bantu perangkat lunak luas yang secara umum memiliki karakteristik.

• Alat bantu secara otomatis memunculkan kode sumber yang berdasarkan pada spesifikasi perekayasa.

• Pengembang harus melakukan pengujian secara teliti terhadap suatu produk.

3/6/2012 38nts/rs/tiuajm