Wednesday, September 21, 2011

Analisis Terstruktur


Rabu, 21 September 2011 Jam 07:00-09.30 saya kuliah RPL Lanjut, di pertemuan kedua kali ini dosen saya bu Ayu Pertiwi bercerita “Analisis Terstruktur”. Dan diposting kali ini saya akan overview analisis terstruktur saat kuliah tadi .

Apa sih tujuan analisis ?????
Tujuannya adalah memodelkan PROBLEM agar lebih mudah dipahami dan siap di-design solusinya.
Dengan metode terstruktur pada tahap analisis kita memodelkan PROBLEM dari tiga sudut pandang:
1.      pemodelan fungsional; kita memodelkan fungsional P/L dalam terminologi proses dan aliran data antar proses; kita membuat DFD (data flow diagram)
2.      pemodelan data; kita memodelkan kebutuhan data yang yang harus dikelola P/L dalam terminologi entitas data dan relasi antar-entitas; kita membuat ERD (entity-relationship diagram)
3.      pemodelan kelakuan (behaviour); kita memodelkan aspek dinamis P/L dalam terminologi state, event, dan action; kita amembuat STD (state transition diagram)

Sunday, September 18, 2011

Model Proses Rekayasa Perangkat Lunak

Pemodelan dalam suatu rekayasa perangkat lunak merupakan suatu hal yang dilakukan di tahapan awal. Di dalam suatu rekayasa dalam perangkat lunak sebenarnya masih memungkinkan tanpa melakukan suatu pemodelan. Namun hal itu tidak dapat lagi dilakukan dalam suatu industri perangkat lunak. Pemodelan delam perangkat lunak merupakan suatu yang harus dikerjakan di bagian awal dari rekayasa, dan pemodelan ini akan mempengaruhi perkerjaan-pekerjaan dalam rekayasa perangkat lunak tersebut.
Di dalam suatu industri dikenal berbagai macam proses, demikian juga halnya dengan industri perangkat lunak. Perbedaan proses yang digunakan akan menguraikan aktivitas-aktivitas proses dalam cara-cara yang berlainan. Perusahaan yang berbeda menggunakan proses yang berbeda untuk menghasilkan produk yang sama. Tipe produk yang berbeda mungkin dihasilkan oleh sebuah perusahaan dengan menggunakan proses yang berbeda. Namun beberapa proses lebih cocok dari lainnya untuk beberapa tipe aplikasi. Jika proses yang salah digunakan akan mengurangi kualitas kegunaan produk yang dikembangkan.
Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk membantu proses pengembangan perangkat lunak. Model-model ini pada umumnya mengacu pada model proses pengembangan sistem yang disebut System Development Life Cycle (SDLC) seperti terlihat pada gambar dibawah ini,
Setiap model yang dikembangkan mempunyai karakteristik sendiri. Namun secara umum ada persamaannya, yaitu :
  1. Kebutuhan terhadap definisi masalah yang jelas. Input utama dari setiap model pengembangan perangkat lunak adalah pendefinisian masalah yang jelas. Semakin jelas akan semakin baik karena akan memudahkan dalam penyelesaian masalah. Oleh karena itu pemahaman masalah merupakan bagian penting dari model pengembangan perangkat lunak.
  2. Tahapan-tahapan pengembangan yang teratur. Meskipun model-model pengembangan perangkat lunak memiliki pola yang berbeda-beda, biasanya model-model tersebut mengikuti pola umum analysis – design – coding – testing – maintenance.
  3. Stakeholder berperan sangat penting dalam keseluruhan tahapan pengembangan. Stakeholder dalam rekayasa perangkat lunak dapat berupa pengguna, pemilik, pengembang, pemrogram dan orang-orang yang terlibat dalam rekayasa perangkat lunak tersebut.
  4. Dokumentasi merupakan bagian penting dari pengembangan perangkat lunak. Masing-masing tahapan dalam model biasanya menghasilkan sejumlah tulisan, diagram, gambar atau bentuk-bentuk lain yang harus didokumentasi dan merupakan bagian tak terpisahkan dari perangkat lunak yang dihasilkan.
  5. Keluaran dari proses pengembangan perangkat lunak harus bernilai ekonomis. Nilai dari sebuah perangkat lunak sebenarnya agak susah dirupiah- kan. Namun efek dari penggunaan perangkat lunak yang telah dikembangkan haruslah memberi nilai tambah bagi organisasi. Hal ini dapat Setiap model yang dikembangkan mempunyai karakteristik sendiri-sendiri.
Model proses perangkat lunak masih menjadi object penelitian, tapi sekarang ada banyak model umum atau paradigma yang berbeda dari pengembangan perangkat lunak, antara lain: