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.