Elemen-elemen Kunci dalam RPL
- Metode : 'how to' yang bersifat teknis
Meliputi bidang-bidang perencanaan proyek, estimasi, analisis persyaratan, perancangan, coding, pengujian, dan pemeliharaan.
- Tool : memberikan dukungan automasi bagi metode
- Prosedur : mengintegrasikan metode dan tool
Siklus Klasik (Model Air Terjun)
Berdasarkan siklus konvensional dalam bidang rekayasa lainnya, dengan pendekatan sekuensial yang sistematis.
Tahapan-tahapan dalam siklus klasik :
- Analisis dan rekayasa sistem : perangkat lunak merupakan bagian dari sebuah sistem, untuk mendapatkan gambaran yang meluas pada aras sistem.
- Analisis persyaratan : fokus lebih terarah ke perangkat lunak, berusaha mengetahui aspek 'what', melibatkan pemakai dan pengembang.
- Perancangan : menerjemahkan persyaratan menjadi suatu bentuk representasi yang dapat dievaluasi kualitasnya sebelum coding dilakukan.
- Coding (penulisan program) : penerjemahan rancangan ke dalam bentuk yang dapat dimengerti komputer, menggunakan bahasa pemrograman teretentu.
- Pengujian : berfokus pada rincian logikal dari perangkat lunak, bertujuan mengungkap dan menghilangkan kesalahan-kesalahan yang ada sehingga perangkat lunak bekerja sesuai dengan yang diharapkan.
- Pemeliharaan : meliputi kegiatan-kegiatan koreksi kesalahan dan penyesuaian perangkat lunak terhadap perubahan lingkungannya.
Problem : ketidaksadaran bahwa prototipe bukan hasil yang diharapkan.
- Pemakai : tidak sabar menunggu perangkat lunak yang sebenarnya.
- Pengembang : pemakaian teknik dan tools yang tidak optimal pada prototipe yang akhirnya tetap digunakan pada perangkat lunak yang sesungguhnya.
Model Spiral
Menggabungkan keuntungan-keuntungan model air terjun dan prototyping, dan memasukkan aktivitas analisis resiko (risk analysis).
Melibatkan proses iterasi, tiap iterasi bekerja pada satu 'level produk' (dari level prototipe sampai pada level perangkat lunak yang diinginkan). Tiap perpindahan level didahului oleh analisis resiko.
Terdiri dari empat aktivitas utama :
- Perencanaan : penentuan sasaran, alternatif solusi, dan hambatan.
- Analisis resiko : analisis alternatif solusi dan identifikasi resiko.
- Perekayasaan : pengembangan produk pada 'level berikutnya'.
- Evaluasi oleh pemakai : diterapkan pada hasil proses perekayasaan.
Problem : menuntut keahlian dalam bidang analisis resiko.
Tentang Blog Ini
Blog ini berisi Materi Kuliahku.
Rangkuman-rangkuman saat akan Ujian dan tugas-tugas yang dikumpul dalam bentuk print out, daripada hilang dan gak ada bekas makanya ku posting di Blog ini.
Rangkuman-rangkuman saat akan Ujian dan tugas-tugas yang dikumpul dalam bentuk print out, daripada hilang dan gak ada bekas makanya ku posting di Blog ini.
Tampilkan postingan dengan label Rekayasa Perangkat Lunak. Tampilkan semua postingan
Tampilkan postingan dengan label Rekayasa Perangkat Lunak. Tampilkan semua postingan
Jumat, 17 April 2009
Metode-metode Rekayasa Perangkat Lunak
Pendekatan-pendekatan terstruktur terhadap pengembangan perangkat lunak mencakup model, notasi, aturan, saran pengembangan sistem (rekomendasi), dan panduan proses.
Deskripsi model sistem Deskripsi model yang harus dikembangkan dan notasi yang digunakan untuk mendefinisikan model-model ini. Ex : model aliran data.
Aturan Batasan yang berlaku bagi model sistem. Ex : Setiap entitas pada model sistem harus memiliki nama yang unik.
Rekomendasi Saran dalam membentuk perancangan yang baik. Ex : Tidak ada objek yang memiliki lebih dari tujuh sub-objek yang berhubungan dengannya.
Panduan Proses Aktifitas yang bisa diikuti untuk mengembangkan model sistem. Ex : Atribut objek harus didokumentasi sebelum mendefinisikan operasi yang berhubungan dengan objek.
CASE (Computer-Aided Software Engineering)
Mencakup berbagai macam program yang digunakan untuk mendukung kegiatan PL seperti analisis persyaratan, pemodelan sistem, debugging, dan pengujian.
Atribut-atribut PL yang baik
Perangkat Lunak seharusnya memberikan user kebutuhan fungsionalitas dan kinerja yang :
Dapat dipelihara (Maintanability) PL harus dapat memenuhi perubahan kebutuhan user.
Dapat diandalkan (Dependability) PL harus dapat dipercaya dan tidak menyebabkan kerusakan fisik atau ekonomi jika terjadi kegagalan sistem.
Efisien PL harus efisien dalam penggunaan sumber daya sistem.
Kemampupakaian (Usability) PL harus dapat dipakai sesuai dengan yang direncanakan.
Tantangan Kunci yang dihadapi RPL ?
Tantangan Warisan (Legacy) Tantangan memelihara dan meng-update PL sedemikian sehingga biaya yg berlebihan dapat dihindari dan layanan bisnis yg penting tetap dilakukan.
Tantangan Heterogenitas Tantangan teknik pengembangan untuk membangun perangkat lunak yang dapat diandalkan dan cukup flexibel untuk menghadapi heterogenitas yang ada.
Tantangan Pengiriman Tantangan mempersingkat waktu kirim sistem besar dan kompleks, tanpa mengurangi kualitas sistem.
Konsep Object-Oriented
Harus dipahami untuk menerapkan elemen berbasis class pada model analisis
Konsep-konsep kunci:
@Classes dan objects @ Attributes dan operations @Encapsulation dan instantiation @Inheritance
Pemikiran object-oriented dimulai dengan sebuah class, sering didefinisi sebagai :
% template %deskripsi umum @ “blueprint” ... Menggambarkan sekelompok item yang mirip
Alasan Sulitnya Memilih Software Engineering
Berdasarnya personality yang jujur, memilih seorang programmer sangat sulit, karena :
- Personality is dinamic, not static : kepribadian sesorang bisa berubah sejalan dengan perkembangan karirnya.
- Karena perbedaan pribadi ini perlu kejelian dalam penempatan para programmer, apakah dia di bagian perancangan, penguji, dsb.
- Personality/manusia dalam melakukan tes masuk perusahaan kadang-kadang curang.
Faktor Penting Rekayasa Perangkat Lunak
Dalam rekayasa software, ada beberapa faktor penting kaitannya dengan human factor dan ergonomic :
- Privacy : seorang programmer memerlukan tempat dimana dia bisa bekerja tanpa interupsi.
- Outside Awareness : orang cenderung lebih suka dengan sinar/cahaya alami dan pemandangan lingkungan luarnya yang alami pula.
- Personalization : manusia secara individu mempunyai kebiasaan yang berbeda dalam bekerja dan mempunyai pendapat yang berbeda dalam dekorasi ruangannya
Tingkatan Spesifikasi
1. Requirement Definition : pernyataan bahasa natural (bahasa sehari-hari) terhadap apa yang diharapkan user untuk dapat dipenuhi.
2. Requirement Specification : struktur/bentuk dokumen yang menjelaskan pelayanan sistem lebih detil.
3. Software Specification : deskripsi abstrak tentang suatu software yang merupakan dasar untuk perancangan dan implementasi
Analisis Persyaratan Perangkat Lunak
Software Requirement Analysis (SRA) berfungsi sebagai jembatan antara pengalokasian fungsi pada perangkat lunak dan perancangan perangkat lunak. Memungkinkan didefinisikannya fungsi-fungsi dan kinerja perangkat lunak, antarmuka perangkat lunak dengan elemen sistem lainnya, dan kekangan-kekangan yang harus dipenuhi oleh perangkat keras.
Aktivitas SRA :
- Pemahaman persoalan (dalam konteks software).
- Evaluasi dan sintesis.
- Pemodelan (prototyping).
- Spesifikasi perangkat lunak dan reviewnya.
Deskripsi model sistem Deskripsi model yang harus dikembangkan dan notasi yang digunakan untuk mendefinisikan model-model ini. Ex : model aliran data.
Aturan Batasan yang berlaku bagi model sistem. Ex : Setiap entitas pada model sistem harus memiliki nama yang unik.
Rekomendasi Saran dalam membentuk perancangan yang baik. Ex : Tidak ada objek yang memiliki lebih dari tujuh sub-objek yang berhubungan dengannya.
Panduan Proses Aktifitas yang bisa diikuti untuk mengembangkan model sistem. Ex : Atribut objek harus didokumentasi sebelum mendefinisikan operasi yang berhubungan dengan objek.
CASE (Computer-Aided Software Engineering)
Mencakup berbagai macam program yang digunakan untuk mendukung kegiatan PL seperti analisis persyaratan, pemodelan sistem, debugging, dan pengujian.
Atribut-atribut PL yang baik
Perangkat Lunak seharusnya memberikan user kebutuhan fungsionalitas dan kinerja yang :
Dapat dipelihara (Maintanability) PL harus dapat memenuhi perubahan kebutuhan user.
Dapat diandalkan (Dependability) PL harus dapat dipercaya dan tidak menyebabkan kerusakan fisik atau ekonomi jika terjadi kegagalan sistem.
Efisien PL harus efisien dalam penggunaan sumber daya sistem.
Kemampupakaian (Usability) PL harus dapat dipakai sesuai dengan yang direncanakan.
Tantangan Kunci yang dihadapi RPL ?
Tantangan Warisan (Legacy) Tantangan memelihara dan meng-update PL sedemikian sehingga biaya yg berlebihan dapat dihindari dan layanan bisnis yg penting tetap dilakukan.
Tantangan Heterogenitas Tantangan teknik pengembangan untuk membangun perangkat lunak yang dapat diandalkan dan cukup flexibel untuk menghadapi heterogenitas yang ada.
Tantangan Pengiriman Tantangan mempersingkat waktu kirim sistem besar dan kompleks, tanpa mengurangi kualitas sistem.
Konsep Object-Oriented
Harus dipahami untuk menerapkan elemen berbasis class pada model analisis
Konsep-konsep kunci:
@Classes dan objects @ Attributes dan operations @Encapsulation dan instantiation @Inheritance
Pemikiran object-oriented dimulai dengan sebuah class, sering didefinisi sebagai :
% template %deskripsi umum @ “blueprint” ... Menggambarkan sekelompok item yang mirip
Alasan Sulitnya Memilih Software Engineering
Berdasarnya personality yang jujur, memilih seorang programmer sangat sulit, karena :
- Personality is dinamic, not static : kepribadian sesorang bisa berubah sejalan dengan perkembangan karirnya.
- Karena perbedaan pribadi ini perlu kejelian dalam penempatan para programmer, apakah dia di bagian perancangan, penguji, dsb.
- Personality/manusia dalam melakukan tes masuk perusahaan kadang-kadang curang.
Faktor Penting Rekayasa Perangkat Lunak
Dalam rekayasa software, ada beberapa faktor penting kaitannya dengan human factor dan ergonomic :
- Privacy : seorang programmer memerlukan tempat dimana dia bisa bekerja tanpa interupsi.
- Outside Awareness : orang cenderung lebih suka dengan sinar/cahaya alami dan pemandangan lingkungan luarnya yang alami pula.
- Personalization : manusia secara individu mempunyai kebiasaan yang berbeda dalam bekerja dan mempunyai pendapat yang berbeda dalam dekorasi ruangannya
Tingkatan Spesifikasi
1. Requirement Definition : pernyataan bahasa natural (bahasa sehari-hari) terhadap apa yang diharapkan user untuk dapat dipenuhi.
2. Requirement Specification : struktur/bentuk dokumen yang menjelaskan pelayanan sistem lebih detil.
3. Software Specification : deskripsi abstrak tentang suatu software yang merupakan dasar untuk perancangan dan implementasi
Analisis Persyaratan Perangkat Lunak
Software Requirement Analysis (SRA) berfungsi sebagai jembatan antara pengalokasian fungsi pada perangkat lunak dan perancangan perangkat lunak. Memungkinkan didefinisikannya fungsi-fungsi dan kinerja perangkat lunak, antarmuka perangkat lunak dengan elemen sistem lainnya, dan kekangan-kekangan yang harus dipenuhi oleh perangkat keras.
Aktivitas SRA :
- Pemahaman persoalan (dalam konteks software).
- Evaluasi dan sintesis.
- Pemodelan (prototyping).
- Spesifikasi perangkat lunak dan reviewnya.
Rekayasa Perangkat Lunak
Perangkat Lunak (Software) tidak sama dengan program komputer. Perangkat lunak tidak hanya mencakup program, tetapi juga semua dokumentasi dan konfigurasi data yang berhubungan, yang diperlukan untuk membuat agar program beroperasi dengan benar. By:artincomputer.blogspot.com
Sistem Perangkat Lunak terdiri dari :
• Sejumlah program yg terpisah
• File-file konfigurasi
• Dokumentasi sistem
• Dokumentasi User
Dua tipe produk perangkat lunak :
Produk Generik
Sistem stand-alone standar yg diproduksi oleh organisasi pengembang dan dijual ke pasar terbuka ke siapapun yg membelinya. Biasa disebut sebagai software shrink-wrapped.
Contoh : pengolah kata (word processor).
Produk pesanan (yang disesuaikan)
Sistem yg dipesan oleh pelanggan tertentu. Dikembangkan khusus bagi pelanggan oleh kontraktor perangkat lunak.
Contoh : Sistem untuk mendukung proses bisnis tertentu dan sistem kontrol lalu lintas udara.
Perbedaan PENTING antara tipe2 perangkat lunak :
Pada produk generik, organisasi yang mengembangkan perangkat lunak mengontrol spesifikasi perangkat lunak.
Pada produk pesanan, spesifikasi biasanya dikembangkan dan dikontrol oleh organisasi yang membeli perangkat lunak tersebut.
REKAYASA PERANGKAT LUNAK
RPL atau Software Engineering (SE)
Disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan.
Perbedaan antara RPL dengan Computer Science ?
Intinya, computer science berhubungan dengan teori dan metode yang mendasari sistem komputer dan perangkat lunak, sedangkan RPL berhubungan dengan praktek dalam memproduksi perangkat lunak.
Perbedaan RPL dengan Rekayasa Sistem ?
Rekayasa sistem berkaitan dengan semua aspek dalam pembangunan sistem berbasis komputer termasuk hardware, rekayasa PL dan proses. RPL adalah bagian dari rekayasa sistem yang meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada sistem.
Proses Perangkat Lunak
Serangkaian kegiatan dan hasil-hasil relevannya yang menghasilkan perangkat lunak sebagian besar dilakukan oleh perekayasa perangkat lunak. Ada 4 kegiatan/aktivitas pada proses PL :
• Spesifikikasi Perangkat Lunak Fungsionalitas perangkat lunak dan batasan kemampuan operasinya harus didefinisikan.
• Pengembangan Perangkat Lunak Perangkat lunak yang memenuhi spesifikasi harus di produksi
• Validasi Perangkat Lunak Perangkat lunak harus divalidasi untuk menjamin bahwa perangkat lunak melakukan apa yang diinginkan oleh pelanggan.
• Evolusi Perangkat Lunak Perangkat lunak harus berkembang untuk memenuhi kebutuhan pelanggan.
Model Proses Perangkat Lunak By:artincomputer.blogspot.com
Merupakan deskripsi yang disederhanakan dari proses perangkat lunak ,Bisa mencakup kegiatan yang merupakan bagian dari proses perangkat lunak, produk perangkat lunak, dan peran orang yang terlibat pada rekayasa perangkat lunak (Perekayasa PL).
Contoh Jenis Model Proses PL
Model aliran kerja (workflow) menunjukkan kegiatan pada proses bersama dengan input, output, dan ketergantungannya. Merepresentasikan pekerjaan manusia.
Model aliran data (data flow) merepresentasikan proses sebagai suatu set kegiatan yang melakukan transformasi data. Menunjukkan bagaimana input ke proses, misalnya spesifikasi ditransformasi menjadi output, misalnya menjadi desain.
Model peran/aksi merepresentasikan peran orang yang terlibat pada PL dan kegiatan yg menjadi tanggung jawab mereka.
Model atau paradigma umum pada proses PL
Model air terjun (waterfall) Mengambil kegiatan dasar seperti spesifikasi, pengembangan, validasi, dan evolusi dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya.
Pengembangan evolusioner Pendekatan ini berhimpitan dengan kegiatan spesifikasi, pengembangan, dan validasi. Sistem awal dikembangkan dengan cepat dari spesifikasi abstrak. Sistem ini kemudian di perbaiki dengan masukan dari pelanggan untuk menghasilkan sistem yang memuaskan kebutuhan pelanggan. By:artincomputer.blogspot.com
Pengembangan Sistem Formal Pendekatan ini menghasilkan suatu sistem matematis yang formal dan mentransformasikan spesifikasi ini, dengan menggunakan metode matematik menjadi sebuah program.
Pengembangan berdasarkan pemakaian ulang (Reusable) Teknik ini menganggap bahwa bagian-bagian sistem sudah ada. Proses pengembangan sistem terfokus pada pengintegrasian bagian-bagian sistem dan bukan pengembangannya dari awal.
Sistem Perangkat Lunak terdiri dari :
• Sejumlah program yg terpisah
• File-file konfigurasi
• Dokumentasi sistem
• Dokumentasi User
Dua tipe produk perangkat lunak :
Produk Generik
Sistem stand-alone standar yg diproduksi oleh organisasi pengembang dan dijual ke pasar terbuka ke siapapun yg membelinya. Biasa disebut sebagai software shrink-wrapped.
Contoh : pengolah kata (word processor).
Produk pesanan (yang disesuaikan)
Sistem yg dipesan oleh pelanggan tertentu. Dikembangkan khusus bagi pelanggan oleh kontraktor perangkat lunak.
Contoh : Sistem untuk mendukung proses bisnis tertentu dan sistem kontrol lalu lintas udara.
Perbedaan PENTING antara tipe2 perangkat lunak :
Pada produk generik, organisasi yang mengembangkan perangkat lunak mengontrol spesifikasi perangkat lunak.
Pada produk pesanan, spesifikasi biasanya dikembangkan dan dikontrol oleh organisasi yang membeli perangkat lunak tersebut.
REKAYASA PERANGKAT LUNAK
RPL atau Software Engineering (SE)
Disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan.
Perbedaan antara RPL dengan Computer Science ?
Intinya, computer science berhubungan dengan teori dan metode yang mendasari sistem komputer dan perangkat lunak, sedangkan RPL berhubungan dengan praktek dalam memproduksi perangkat lunak.
Perbedaan RPL dengan Rekayasa Sistem ?
Rekayasa sistem berkaitan dengan semua aspek dalam pembangunan sistem berbasis komputer termasuk hardware, rekayasa PL dan proses. RPL adalah bagian dari rekayasa sistem yang meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada sistem.
Proses Perangkat Lunak
Serangkaian kegiatan dan hasil-hasil relevannya yang menghasilkan perangkat lunak sebagian besar dilakukan oleh perekayasa perangkat lunak. Ada 4 kegiatan/aktivitas pada proses PL :
• Spesifikikasi Perangkat Lunak Fungsionalitas perangkat lunak dan batasan kemampuan operasinya harus didefinisikan.
• Pengembangan Perangkat Lunak Perangkat lunak yang memenuhi spesifikasi harus di produksi
• Validasi Perangkat Lunak Perangkat lunak harus divalidasi untuk menjamin bahwa perangkat lunak melakukan apa yang diinginkan oleh pelanggan.
• Evolusi Perangkat Lunak Perangkat lunak harus berkembang untuk memenuhi kebutuhan pelanggan.
Model Proses Perangkat Lunak By:artincomputer.blogspot.com
Merupakan deskripsi yang disederhanakan dari proses perangkat lunak ,Bisa mencakup kegiatan yang merupakan bagian dari proses perangkat lunak, produk perangkat lunak, dan peran orang yang terlibat pada rekayasa perangkat lunak (Perekayasa PL).
Contoh Jenis Model Proses PL
Model aliran kerja (workflow) menunjukkan kegiatan pada proses bersama dengan input, output, dan ketergantungannya. Merepresentasikan pekerjaan manusia.
Model aliran data (data flow) merepresentasikan proses sebagai suatu set kegiatan yang melakukan transformasi data. Menunjukkan bagaimana input ke proses, misalnya spesifikasi ditransformasi menjadi output, misalnya menjadi desain.
Model peran/aksi merepresentasikan peran orang yang terlibat pada PL dan kegiatan yg menjadi tanggung jawab mereka.
Model atau paradigma umum pada proses PL
Model air terjun (waterfall) Mengambil kegiatan dasar seperti spesifikasi, pengembangan, validasi, dan evolusi dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya.
Pengembangan evolusioner Pendekatan ini berhimpitan dengan kegiatan spesifikasi, pengembangan, dan validasi. Sistem awal dikembangkan dengan cepat dari spesifikasi abstrak. Sistem ini kemudian di perbaiki dengan masukan dari pelanggan untuk menghasilkan sistem yang memuaskan kebutuhan pelanggan. By:artincomputer.blogspot.com
Pengembangan Sistem Formal Pendekatan ini menghasilkan suatu sistem matematis yang formal dan mentransformasikan spesifikasi ini, dengan menggunakan metode matematik menjadi sebuah program.
Pengembangan berdasarkan pemakaian ulang (Reusable) Teknik ini menganggap bahwa bagian-bagian sistem sudah ada. Proses pengembangan sistem terfokus pada pengintegrasian bagian-bagian sistem dan bukan pengembangannya dari awal.
Langganan:
Postingan (Atom)