Kamis, 12 September 2013

SDLC

http://melengo.files.wordpress.com/2012/10/sdlc.png
SDLC (Systems Development Life Cycle, Siklus Hidup Pengembangan Sistem) atau Systems Life Cycle (Siklus Hidup Sistem), dalam rekayasa sistem dan rekayasa perangkat lunak, adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atauinformasi. SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap: rencana(planning),analisa (analysis), desain (design), implementasi (implementation), uji coba (testing) dan pengelolaan (maintenance). Dalam rekayasa perangkat lunak, konsep SDLC mendasari berbagai jenis metodologi pengembangan perangkat lunak. Metodologi-metodologi ini membentuk suatu kerangka kerja untuk perencanaan dan pengendalian pembuatan sistem informasi, yaitu proses pengembangan perangkat lunak. Terdapat 3 jenis metode siklus hidup sistem yang paling banyak digunakan, yakni: siklus hidup sistem tradisional (traditional system life cycle), siklus hidup menggunakan protoyping (life cycle using prototyping), dan siklus hidup sistem orientasi objek (object-oriented system life cycle). SDLC (Software Development Life Cycle) berarti sebuah siklus hidup pemngembangan perangkat lunak yang terdiri dari beberapa tahapan-tahapan yang sangat penting dalam keberadaan perangkat lunak yang dilihat dari segi pengembangannya.

Adapun kegunaan utama dari SDLC adalah mengakomodasi beberapa kebutuhan. Kebutuhan-kebutuhan itu biasanya berasal dari kebutuhan pengguna akhir dan juga pengadaan perbaikan sejumlah masalah yang terkait dengan pengembangan perangkat lunak. Kesemua itu dirangkum pada proses SDLC yang dapat berupa penambahan fitur baru (baca : kemampuan penggunaan) baik itu secara modular (baca : instalasi parsial atau update dan upgrade perangkat lunak) maupun dengan proses instalasi baru (baca : penggantian perangkat lunak menyeluruh atau software replacement). Dari proses SDLC juga berapa lama umur sebuah perangkat lunak dapat diperkirakan untuk dipergunakan yang dapat diukur atau disesuaikan dengan kebijakan dukungan (baca : software support) dari pengembang perangkat lunak terkait.

1.       mengidentifikasi masalah, peluang, dan tujuan
2.       Menentukan syarat-syarat informasi
3.       Menganalisis kebutuhan system
4.       Merancang sistem yang direkomendasikan
5.       Mengembangkan dan mendokumentasikan perangkat lunak
6.       Menguji dan mempertahankan system
7.       Mengimplementasikan dan mengevaluasi sistem


  1. Perencanaan
    Fase perencanaan adalah sebuah proses dasar untuk memahami mengapa sebuah sistem harus dibangun. Pada fase ini diperlukan analisa kelayakan dengan mencari data atau melakukan proses information gathering kepada pengguna.
  2. Analisa
    Fase analisa adalah sebuah proses investigasi terhadap sistem yang sedang berjalan dengan tujuan untuk mendapatkan jawaban mengenai pengguna sistem, cara kerja sistem dan waktu penggunaan sistem. Dari proses analisa ini akan didapatkan cara untuk membangun sistem baru.
  3. Rancangan
    Fase perancangan merupakan proses penentuan cara kerja sistem dalam hal architechture design, interface design, database dan spesifikasi file, dan program design. Hasil dari proses perancangan ini akan didapatkan spesifikasi sistem.
  4. Implementasi
    Fase implementasi adalah proses pembangunan dan pengujian sistem, instalasi sistem, dan rencana dukungan sistem.


ICONIX

ICONIX merupakan salah satu model dari rekayasa perangkat lunak yang dapat digunakan untuk pengembangan sebuah software. ICONIX Process sejatinya berada di antara Rational Unified Process (RUP) yang proses perancangannya sangat banyak dan pendekatan Extreme Programming (XP) yang proses perancangannya sangat sedikit . ICONIX Process menggunakan use case, seperti RUP tetapi tanpa banyak pentabelan. Proses ICONIX juga relatif kecil dan sederhana seperti XP tetapi tidak mengabaikan analisis dan design. Proses ICONIX membuat penggunaan UML menjadi efisien karena tetap terfokus pada requirement. 

Tahapan dari proses ICONIX terdiri dari empat tahap, yaitu : 

1. Requirements 


a) Functional requirements  
Mengumpulkan segala kebutuhan fungsional yang diperlukan dalam pembuatan perangkat lunak. Kebutuhan fungsional dari perangkat lunak merupakan modal utama dalam pengembangan perangkat lunak. Semua kebutuhan dalam pengembangan perangkat lunak dikumpulkan menjadi satu bagian. Kemudian dilakukan analisis mengenai kebutuhan fungsional dan kubutuahan non fungsional. 
 b) Domain modeling 
Domain modeling merupakan pondasi dari bagian static dari UML. Domain modeling didapatkan dari mengekstrak kata benda yang didapatkan dari Functional requirements. Kata benda yang didapatkan saling dihubungkan sesuai kebutuhan dari perangkat lunak.
 c) Behavioral requirements/ Use Case modeling 
Use Case modeling merupakan bagian dari proses ICONIX yang menjelaskan tentang segala hal yang dilakukan oleh pengguna dari sistem. Proses ini menjelaskan tentang segala hal yang dilakukan oleh pengguna dan hubungan terhadap tanggapan dari sistem. Dalam proses ini, desain perangkat lunak diharapkan dijelaskan secara rinci karena perangkat lunak didedikasikan berdasarkan kebutuhan pengguna. 
 d) Milestone 1 : Requirements Review 
 Peninjauan ulang dilakukan sebagai berikut : 
 i. Memastikan bahwa bahwa use case text telah sesuai dengan kebutuhan pengguna. 
 ii. Memastikan bahwa domain model telah menunjukkan hubungan yang benar. 
 iii. Memastikan bahwa use case telah terorganisir dalam satu paket. 


 2. Analysis and Preliminary Design 


 a) Robustness analysis
 Analisis dilakukan dengan cara membuat robustness diagram yang menghubungkan antara analisis dan desain. 
b) Update domain model Pengubahan 
 domain model yang telah dibuat sesuai dari hasil robustness analysis. Pengubahan dilakukan dengan menambahkan class yang tidak ada, menghilangkan ambiguitas, dan menambahkan atribut pada domain object. 
c) Tulis kembali use case yang telah dibuat. 
d) Milestone 2 : Preliminary Design Review (PDR) 
Dilakukan analisis mengenai kecocokan use case text dengan robustness diagram, dan memastikan semua entitas yang terdapat pada robustness diagram telah diperbaharui di domain model. 

3. Detailed Design 


a) Sequence Diagram Sequence 
Diagram merupakan digram alir yang disusun berdasarkan robustness diagram. Diagram ini dibuat untuk setiap use case. Tujuan dari dibuatnya diagram ini adalah untuk mengalokasikan behavior ke class. 
 b) Update domain model
 Perubahan domain model berdasarkan hasil Sequence Diagram. Pada perubahan ini terdapat penambahan operasi pada domain object.
 c) Milestone 3 : Critical Design review (CDR) 
 Peninjauan ulang dilakukan dengan memastikan bahwa desain telah memenuhi semua kebutuhan dari hasil identifikasi sebelumnya. 

4. Implementation 


a) Coding/Unit testing 
 Pada tahap ini mulai dilakukan proses coding berdasarkan hasil pengembangan model yang telah disusun sebelumnya. Jika proses coding telah dilaksanakan maka dapat dilakukan pengujian. 
b) Integration and scenario testing 
 Dilakukan pengujian secara integrasi dan sesuai dengan skenario. Pengujian yang dilakukan dapat berupa black box testing maupun white box testing. 
c) Perform code review dan model update 
Melakukan analisa kode program dari hasil pengujian dan melakukan perubahan dari hasil analisa.