Selasa, 27 September 2011

Tahap Analisis dalam Rekayasa Perangkat Lunak (RPL)


Tahap analisis

Apa itu analisis ? Apa tujuan analisis ? Apa yang dimodelkan pada tahap analisis ? Tahap analisis menjawab pertanyaan siapa yang akan menggunakan system, apa yang system lakukan, dimana dan kapan system akan digunnakan.
Tujuan analisis terstruktur adalah memodelkan masalah agar lebih mudah dipahami dan siap di design solusinya.
Selama tahap ini, kelompok proyek mencari system yang sedang beredar, mengidentifikasi kesempatan perbaikan dan menghasilkan konsep untuk system yang baru.
Tahap ini memiliki tiga step analisis yaitu strategi analisis, mengumpulkan kebutuhan, dan system proposal.
Ø  strategi analisis : ini dihasilkan untuk menuntun usaha kelompok proyek. Ini termasuk menganalisa system yang sedang beredar.
Ø  mengumpulkan kebutuhan : menganalisis informasi ini memberikan peranan penting untuk perkembangan konsep untuk system yang baru. Konsep ini digunakan untuk membangun kumpulan model analisis. 
Ø  system proposal : proposal sekarang ini untuk sponsor proyek dan kunci individual yang lain yang mana memutuskan apakah proyek akan berlanjut terus maju.
System proposal adalah inisial menyampaikan yang menjelaskan kebutuhan bisnis apa yang akan ditemui system baru.
Yang dimodelkan pada tahap analisis adalah permodelan fungsional (DFD), permodelan data (ERD), dan permodelan behaviouur (STD).
  • DFD (Data Flow Diagram)
Data Flow Diagram (DFD) merupakan alat yang digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir ataupun lingkungan fisik dimana data tersebut akan disimpan.
Pada dasarnya ada empat elemen yang digunakan, yaitu :
-          Process
-          Data flow
-          Data store
-          External entity
Contoh DFD:

  • ERD (Entity Relationship Diagram)

ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.

ERD untuk memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa elemen. Pada dasarnya ada lima elemen yang digunakan, yaitu : 
-          Entitas
-          Relasi
-          Attribut
-          Kardinalitas
-          Modalitas
Contoh ERD:

  • STD (State Transition Diagram)

STD menggambarkan bagaimana kerja sistem melalui kondisi (state) dan kejadian yang menyebabkan kondisi berubah. STD juga menggambarkan aksi yang dilakukan karena kejadian tertentu.
Pada dasarnya ada tiga elemen yang digunakan, yaitu :
-          State
-          Event
-          Action
Contoh STD:

Minggu, 18 September 2011

Metodologi dalam Rekayasa Perangkat Lunak (RPL)


Software Development Methodology
Apa itu metodologi ? Metodologi menyusun pendekatan untuk melaksanakan System Development Life Cycle (SDLC), metodologi akan berubah tergantung pada apakah perhatian pada proses bisnis / pada data tersebut mendukung bisnis. Dalam SDLC menyusun 4 pokok fase : planning, analysis, design, dan implementation. Menulis kode tanpa mengetahui secara benar permintaan system maka hanya dapat bekerja untuk program kecil, tetapi jarang bekerja untuk suatu program besar. Metodologi secara umum dibagi menjadi 3 yaitu structure design, rapid Application development (RAD), dan agile development.
>> Dalam metodologi structure design proyek berjalan secara urut dari tahap pertama lalu ke tahap selanjutnya. Intinya, sebuah tahap selesai sebelum tahap selanjutnya dimulai. Pada metodologi structure design ada 2 model yaitu waterfall model dan parallel development.
Contoh gambar waterfall model
> waterfall model
Model ini berurutan dari satu tahap ke tahap selanjutnya. Model ini sesuai bila kebutuhan telah dimengerti
Kelebihan
-          Mengidentifikasi kebutuhan system  jauh sebelum mulai programming sehingga perubahan kebutuhan diminimalkan
Kekurangan
-          Mengerjakannya sangat sulit
-          Membutuhkan waktu yang lama antara system proposal dan mengirim system baru
-          Design harus selesai sebelum mulai programming
Contoh gambar parallel development
> parallel development
Model ini percobaan ke alamat yang jangka waktunya panjang antara fase analysis dan mengirim system, design umumnya untuk keseluruhan system dilakukan lalu proyek dibagi dalam beberapa subproject
>> Dalam metodologi rapid Application development (RAD) ada 3 model yaitu phased development (versi seri), prototyping (system prototyping), dan throw-away prototyping (design prototyping).
Contoh gambar RAD : phased development
> RAD : phased development
Kelebihan
-          Mendapatkan system yang berguna untuk pemakai dengan cepat.
-          Sebagian besar fungsi yang penting diuji
Kekurangan
-          Inisial system disengaja tidak lengkap
-          Kebutuhan sistem mengembangkan sama dengan versi yang dilihat pemakai
 
Contoh gambar RAD : prototyping
> RAD : prototyping
Model ini diulang-ulang sampai sistemnya lengkap.
Kelebihan
-          Mendapatkan working system untuk pemakai dengan cepat
-          Menenangkan pemakai saat proyek berjalan / dibuat
-          Dengan cepat mencari kebutuhan yang sesungguhnya
Kekurangan
-          Langkahnya cepat sehingga sulit untuk menyalurkan dengan hati-hati, methodical analysis
-          Masalah dapat dating karena keterangan terlambat di design, sehingga membutuhkan design ulang

Contoh gambar RAD : throw-away prototyping
> RAD : throw-away prototyping
Menggunakan prototypes hanya untuk memahami kebutuhan, prototype tidak mengerjakan design, setiap kebutuhan dimengerti, prototypes tersebut dibuang, system dibuat menggunakan SDLC
>> Dalam metodologi agile development hanya sedikit peraturan yang memudahkan untuk belajar dan diikuti. Mempersingkat SDLC karena menghapuskan banyak model dan dokumentasi; mudah menegaskan, iterative application development. Contoh yang termasuk dalam metodologi ini : Extreme Programming (XP), Scrum, dan dynamic systems development model (DSDM).
> Extreme Programming (XP)

Contoh gambar Extreme Programming (XP)
Pemakai menceritakan tentang system lakukan, kode program kecil, user feedback, diulang-ulang, standart itu penting (naming conventions, dan latihan coding)
Kemudian ada model yang evolusioner yaitu spiral model

Contoh gambar spiral model
Perputaran  produk software ini adalah proyek perkembangan konsep, proyek perkembangan produk baru, proyek perbaikan produk, dan proyek ongkos produk. Ada analisa resiko yang berbeda dengan yang lain. Model ini biasanya digunakan untuk proyek yang besar
Kelebihan
-          Aplikasi di system dan software besar
-          Baik digunakan selama ada mekanisme pengurangan resiko
Kekurangan
-          Dalam mengontrol (menuntut resiko tinggi dalam penilaian dan keahlian)
Cara memilih metodologi yang tepat:
1. Kejelasan kebutuhan pemakai
Berdasarkan ketidakjelasan kebutuhan pemakai metodologi yang paling baik RAD : prototyping, RAD : throw-away prototyping dan Extreme Programming (XP) lalu  yang paling buruk waterfall model dan parallel development
2. terbiasa dengan teknologi
Berdasarkan ketidakbiasaan dengan teknologi metodologi yang paling baik RAD : throw-away prototyping lalu  yang paling buruk waterfall model, parallel development, RAD : prototyping dan Extreme Programming (XP)
3. kompleksitas system
Berdasarkan komplesitas metodologi yang paling baik RAD : throw-away prototyping lalu  yang paling buruk RAD : prototyping dan Extreme Programming (XP)
4. system dapat dipercaya
Berdasarkan kepercayaan metodologi yang paling baik RAD : throw-away prototyping lalu  yang paling buruk RAD : prototyping
5. jadwal waktu terpendek/tercepat
Berdasarkan waktu yang terpendek/tercepat metodologi yang paling baik RAD : phased development, RAD : prototyping dan Extreme Programming (XP) lalu  yang paling buruk waterfall model
6. schedule visibility
Berdasarkan schedule visibility metodologi yang paling baik RAD : phased development dan RAD : prototyping lalu  yang paling buruk waterfall model dan parallel development