• Tidak ada hasil yang ditemukan

Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) POKOK BAHASAN

N/A
N/A
Protected

Academic year: 2022

Membagikan "Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) POKOK BAHASAN"

Copied!
16
0
0

Teks penuh

(1)

Pertemuan 2

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

POKOK BAHASAN

 Biaya PL

 Software Quality Attribute

 Standar kualitas

 Takaran Jaminan Kualitas

 CASE TOOLS

 Siklus Hidup Perangkat Lunak

(SWDLC/Software Development Life Cycle)

(2)

BIAYA PERANGKAT LUNAK (SOFTWARE COST)

 Terkadang mendominasi biaya sistem secara keseluruhan

 Biaya terbesar untuk perangkat lunak terletak pada proses perawatan (maintenance) dibanding biaya pembuatannya (develop)

 Biaya pengadaan perangkat lunak yang di pasang pada PC sering lebih besar dibandingkan dengan harga perangkat kerasnya kec. Di negara-negara yang tidak menghargai HAKI

 Biaya perangkat lunak secara kasar sebesar 60% dari biaya untuk pembangunan dan 40% untuk pengujian

 Secara umum besarnya biaya bervariasi tergantung pada tipe sistem yang dibangun dan kebutuhan sistem seperti kinerja dan kehandalan sistem

 Biaya distribusi tergantung pada model pembangunan yang digunakan

SOFTWARE QUALITY ATTRIBUTE (1)

Ciri-ciri kualitas menurut lembaga penjamin mutu PL (ISO, ANSI, IEEE, dll):

 Correctness (kebenaran)

 Kesesuaian antara kode program dg spesifikasi

 Kebebasan aplikasi aktual pada sistem PL

 Reliability (tahan uji)

 Didasari pada correctness dan availability (ketersediaannya)

 Sebagai suatu kemungkinan bahwa sistem ini mampu memenuhi suatu kegunaan (tergantung spesifikasinya) untuk sejumlah masukan percobaan di bawah kondisi masukan dan rentang waktu yang telah ditentukan.

(3)

 User Friendliness (mudah digunakan)

 Adequacy (kecukupan)

 Learnability (mudah dipelajari)

 Robustness (antisipasi kesalahan)

 Maintenatibility (mudah dirawat)

 Readability (mudah dibaca)

 Extensibility (mudah diperluas)

 Testability (mudah untuk diuji/ditelusuri)

 Efficiency (efisiensi)

 Portability (mudah didistribusikan)

SOFTWARE QUALITY ATTRIBUTE (2)

UKURAN JAMINAN KUALITAS (1)

 Ukuran membangun (constructive measures)

 Aplikasi yg konsisten pada metode di seluruh fase proses pembangunan

 Penggunaan perlatan/ tools yang memadai

 Pembangunan PL pd basis kualitas yg tinggi di akhir tahapan

 Perawatan yang konsisten pada dokumenasi pengembangan

 Ukuran analitik (analytical measures)

 Analisis program yang statis

 Analisis program yang dinamis

 Pemeilihan test case yang sistematis

 Pencatatan yang konsisten pada analisis produk

(4)

 Ukuran Organisasi (Organization Measures)

 Pengalaman pengembang (developer) dalam mempelajari strategi dan teknik yang tepat dalam membangun PL

UKURAN JAMINAN KUALITAS (2)

KRISIS PERANGKAT LUNAK

 Masalah yang muncul:

 Estimasi jadwal dan biaya yang seringkali tidak tepat

 Produktivitas orang-orang software yang tidak dapat mengimbangi permintaan software

 Kualitas software yang kurang baik.

 Kurangnya pengetahuan tentang:

 Bagaimana mengembangkan software

 Bagaimana memelihara software yang ada, yang berkembang dalam jumlah besar

 Bagaimana mengimbangi permintaan software yang makin besar.

(5)

KODE ETIK PROFESI

 Konfidensialitas (menghormati klien)

 Tidak boleh menerima pekerjaan di luar

 kompetensinya

 Hak kekayaan intelektual (HaKI)

 Penyalahgunaan komputer, hack, crack,

KODE ETIK INTERNASIONAL

 Digagas oleh masyarakat profesional di Amerika (1999) yang tergabung dalam ACM/IEEE

 Makna yang terkandung:

 Prinsip-prinsip kesepakatan yang dihubungkan dengan tingkah laku dan keputusan yang dibuat oleh para ahli profesional

 Masyarakat profesional: praktisi, pengajar, manajer, supervisor, pengambil kebijakan.

 Yang diatur:

 Masyarakat dan kepentingannya

 Klien dan atasan (pelayanan terbaik)

 Produk (jaminan mutu)

 Manajemen

 Profesi

 Kolega

 Diri sendiri (ada usaha untuk mengupdate ipteknya)

(6)

CASE TOOLS

 CASE (Computer Aided Software Engineering)

 Suatu peralatan baik HW maupun SW komputer yang digunakan untuk menyediakan pendukung otomatis dalam aktivitas pembangunan PL.

 Tujuan

meningkatkan produktivitas dalam proses pembangunan PL secara signifikan

 Dikelompokkan dalam 2 kategori:

1. Upper-CASE

Mendukung aktivitas proses pembangunan tahap awal (tahap analisis kebutuhan dan desain)

2. Lower-CASE

Mendukung aktivitas pembangunan di tahap akhir programming, debuging, dan testing)

Penggunaan CASE tools:

 Graphical Editors

Digunakan untuk membuat model sistem

 Data Dictionaries

Digunakan untuk mengatur unit-unit proyek

 GUI Builders

Digunakan untuk mengkonstruksi antarmuka pemakai

 Debugger

Digunakan untuk mencari kesalahan yg mungkin terjadi

 Automated Translators

Digunakan untuk pembangkitan source code program otomatis

 Compilator Integrated

Digunakan membuat antarmuka, koding, hingga membentuk aplikasi yg bisa dijalankan

 Instalator Kit

Digunakan untuk membuat file instalasi/setup

CASE TOOLS (2)

(7)

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

Proses Generik

 Spesifikasi

Apa yang harus dilakukan oleh perangkat lunak dan batasan/kendala pengembangannya

 Pengembangan

Proses memproduksi sistem perangkat lunak

 Validasi

Pengujian perangkat lunak terhadap keinginan pengguna

 Evolusi

Perubahan perangkat lunak berdasarkan perubahan keinginan.

MODEL PROSES RPL

 Model Waterfall,

 Model Prototyping,

 Model Evolutionary

 Model Spiral

 Reuse Based Development

(8)

WATERFALL MODEL

Pemodelan Sistem/

Informasi Requirement

Definitions

System and software design

Implementation and unit testing

Integr ation and system testing

Operation and maintenance

 Requirements Analysis And Definition Pembentukan kebutuhan

 System And Software Design

Mengubah kebutuhan-kebutuhan menjadi bentuk karakteristik yang dimerngerti perangkat lunak

 Implementation And Unit Testing Penulisan program

 Integration And System Testing

Memeriksa program, mencari kesalahan

 Operation And Maintenance

Pemeliharaan sistem, menambahkan fungsi

WATERFALL MODEL (2)

(9)

WATERFALL MODEL (3)

Problems Model Waterfall

1. Jarang sekali proyek yang prosesnya bisa dilakukan secara sequencial.

2. Sukar bagi customer untuk secara explisit mengemukakan semua kebutuhannya.

3. Customer harus sabar.

4. Developer sering menunda pekerjaan. Anggota tim harus menunggu anggota lainnya

5. menyelesaikan tugasnya.

PROTOTYPE MODEL

Mendengarkan Pelanggan

Membangun Konstruksi (prototipe)

Uji Pelanggan (evaluasi)

(10)

 Prototype Paradigm dimulai dengan mengumpulkan kebutuhan-kebutuhan customer.

 Developer dan customer bertemu dan mendefinisikan obyektif software secara menyeluruh, mengidentifikasi kebutuhan-kebutuhan yang diketahui dari area pekerjaan.

 Setelah itu dibuat Quick Design.

 Quick Design difokuskan pada representasi aspek software yang bisa dilihat customer/user (misal: format input dan output).

 Quick Design cenderung ke pembuatan prototipe.

 Prototipe dievaluasi customer/user dan digunakan untuk menyempurnakan kebutuhan software yang akan dikembangkan.

PROTOTYPE MODEL (2)

PROTOTYPE MODEL (2)

 Sering terjadi customer menjabarkan objektif umum mengenai software yang diminta, tetapi tidak bisa mendefinisakan input, proses, output yang diminta secara detail.

 Disisi lain, developer menjadi tidak yakin terhadap efisiensi algoritma, kemampuan adaptasi terhadap sistem operasi, atau bentuk interaksi mesin dengan orang.

 Untuk mengatasi situasi tersebut, bisa digunakan pendekatan Prototype Paradigm.

(11)

PROTOTYPE MODEL (3)

Problems Prototyping Model

 Customer melihat prototipe tersebut sebagai versi dari software.

 Pada saat produk tersebut harus dibangun ulang supaya level kualitas bisa terjamin,

 Customer akan mengeluh dan meminta sedikit perubahan saja supaya prototipe tersebut bisa berjalan.

 Development membuat implemetasi yang kompromitas dengan tujuan untuk memperoleh prototipe pekerjaan secara cepat.

 Dampaknya adalah sistem operasi atau bahasa pemrograman yang dipergunakan tidak tepat, algoritma tidak efisien.

EVOLUTIONARY MODEL

(12)

Penjelasan :

1. Kombinasikan elemet-element dari waterfall dengan sifat iterasi/perulangan.

2. Element-element dalam waterfall dikerjakan dengan hasil berupa produk dengan

3. Spesifikasi tertentu, kemudian proses dimulai dari fase pertama hingga akhir dan menghasilkan produk dengan spesifikasi yang lebih lengkap dari yang sebelumnya.

4. Demikian seterusnya hingga semua spesifikasi memenuhi kebutuhan yang ditetapkan oleh pengguna.

EVOLUTIONARY MODEL INCREMENTAL (2)

5. Produk hasil increment pertama biasanya produk inti (core product), yaitu produk yang memenuhi kebutuhan dasar. Produk tersebut digunakan oleh pengguna atau menjalani review/ pengecekan detil. Hasil review tersebut menjadi bekal untuk pembangunan pada increment berikutnya. Hal ini terus dikerjakan sampai produk yang komplit dihasilkan.

6. Model ini cocok jika jumlah anggota tim pengembang/pembangun PL tidak cukup.

7. Mampu mengakomodasi perubahan secara fleksibel.

8. Produk yang dihasilkan pada increment pertama bukanlah prototype, tapi produk yang sudah bisa berfungsi dengan spesifikasi dasar.

EVOLUTIONARY MODEL

INCREMENTAL (3)

(13)

Kekurangan Incremental Model:

 Hanya cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding)

 Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing- masing hasil increment

EVOLUTIONARY MODEL INCREMENTAL (4)

EVOLUTIONARY MODEL SPIRAL

(14)

Penjelasan :

 Customer Comunication

Membangun komunikasi yang baik dengan pelanggan

 Planning

Mendefinisikan sumber, batas waktu, informasi-informasi lain seputar proyek

 Risk Analyst

Identifikasi resiko management dan teknis

 Engineering

Pembangunan contoh-contoh aplikasi misalnya prototype

 Construction and release

Pembangunan, test, install dan report

 Customer Evaluation

Mendapatkan feedback dari pengguna berdasarkan evaluasi pada fase engineering dan fase instalasi

EVOLUTIONARY MODEL SPIRAL (2)

 Pada model spiral, resiko sangat dipertimbangkan.

Resiko adalah sesuatu yang mungkin mengakibatkan kesalahan.

 Model spiral merupakan pendekatan yang realistik untuk Perangkat Lunak berskala besar.

 Pengguna dan pembangun bisa memahami dengan baik software yang dibangun karena setiap kemajuan yang dicapai selama proses dapat diamati dengan baik. Namun demikian, waktu yang cukup panjang mungkin bukan pilihan bagi pengguna, karena waktu yang lama sama dengan biaya yang lebih besar.

EVOLUTIONARY MODEL SPIRAL (3)

(15)

REUSE BASED

A. Software Re-engineering

 Apakah itu?

Restrukturisasi atau menulis ulang sebagian atau keseluruhan dari sistem yang telah ada tanpa merubah fungsionalitasnya.

 Kapan?

Ketika sebagian tetapi tidak semua sub sistem yg besar membutuhkan perawatan yg sering

Ketika HW dan SW sudah lama hampir tak berfungsi

 Bagaimana?

Sistem bisa di restrukturisasi dan didokumentasi ulang untuk membuat menjadi mudah dalam perawatan

 Software Re-engineering (lanjutan)

 Mengapa?

 Mengurangi resiko

SW yang baru dibangun membawa resiko yg tinggi

 Mengurangi biaya

Biaya untuk re-engineering sering lebih kecil dibanding membangun SW baru.

REUSE BASED (2)

(16)

REUSE BASED (3)

B. Reverse Engineering

 Analisis SW kembali dalam tahap pemahaman dlm desain dan spesifikasinya

 Bisa sebagian proses re-engineering atau sebagian spesifikasi sistem untuk diimplementasi ulang

 Membangun database dan bangkitkan program informasi dari proses ini

 Mengapa?

 Kode aslinya telah dalam keterbatasan dimana sudah terlalu lama, misal kebutuhan memori, kinerja, dll

 Perawatan terbentur pada struktur dan program yang rusak sehingga membutuhkan kerja yg sangat keras

 Program secara otomatis distrukturisasi ulang untuk menghilangkan beberapa bagian yang tidak beres dalam kondisi yang sangat kompleks.

REUSE BASED (3)

Referensi

Dokumen terkait

Hasil analisis bivariat untuk hubungan lama kerja dengan gangguan fungsi paru pekerja bongkar muat di pelabuhan Manado, memperoleh nilai signifikansi sebesar 0,838

Dari deskripsi hasil penelitian, penulis akan membahas mengenai strategi komunikasi yang dilakukan oleh Pecinta Alam Bahari dalam melestarikan hutan mangrove.

Ikan asin kering adalah produk olahan hasil perikanan dengan bahan baku ikan yang telah mengalami perlakuan penggaraman dengan atau tanpa perebusan, dan

Ayon kay Franesca Di Meglio (2012), Stress takes its Toll on College Students, ang mga taong nagtatrabaho na hindi akma sa kanilang mga pinag-aralan ay sinasabing

Daftar kegiatan dapat dibuat per kegiatan atau merupakan daftar kegiatan yang dilakukan selama periode tertentu, dapat per bulan, per enam bulan, atau per tahun.  IDI tidak

Sikap dan persepsi mempengaruhi kemampuan peserta didik untuk belajar. Jika peserta didik memandang bahwa ruangan kelas sebagai suatu tempat yang tidak nyaman dan tidak teratur,

Wajib menyerahkan Berita Acara Yudisium beserta lampiran syarat-syaratnya di Pelayanan Direktorat Administrasi Akademik dan Kemahasiswaan Gedung Unit IV, mulai tanggal 20 April

Hasil penelitian ini sesuai dengan landasan teori penelitian yang menyatakan bahwa pada infeksi dengue terjadi perubahan kadar lipid, sehingga kadar lipid juga