110 likes | 267 Views
Software Engineering. Software Process. Outline. Lifecycle Model Firewall Model Alternatives to Firewall Model Software Process Evaluation Software Process Observation and Improvement Process Programming. Target Software Engineering. Produk
E N D
Software Engineering Software Process Software Engineering
Outline • Lifecycle Model • Firewall Model • Alternatives to Firewall Model • Software Process Evaluation • Software Process Observation and Improvement • Process Programming Software Engineering
Target Software Engineering • Produk • Seluruh produk – termasuk hasil sementara selama proses pengembangan dan dokumen – yang dihasilkan • Process • Tahapan/proses untuk menghasilkan produk di atas • →Dalam software engineering, pertimbangan metodologi dalam proses pengembangan/pembangunan software, merupakan hal yang penting Software Engineering
Lifecycle Model • Konsep lifecycle muncul pada awal lahirnya software engineering • Pemodelan proses mulai dari perencanaan, perancangan dan pembuatan, pengoperasian, sampai ke penghapusan • Istilah lifecycle muncul dari ilmu biologi, namun secara umum menunjuk pada proses suatu "benda" mulai dari lahir sampai mati, seperti pada manusia atau produk barang • Software lifecycle menunjukkan bagaimana proses pengembangan software secara normative, dengan tujuan: • Menentukan tahapan pengembangan yang standar • Menggunakannya sebagai model manajemen proyek • Sebagai dasar untuk menentukan standar metodologi, alat, sistem instrumen dokumen, dsb. Software Engineering
Firewall Model • Model lifecycle software yang paling awal, yang sampai sekarang masih digunakan di beberapa tempat analysis design programming test operation/ maintenance Software Engineering
V-Model user acceptance test operation/ maintenance analysis design system test programming unit test Software Engineering
Firewall Model Explained • Artikel yang memuat konsep firewall model pertama kali • W. W. Royce. Managing the development of large software systems. In Proceedings WESCON, Aug. 1970. reprinted in the Proceedings 9th International Conference on Software Engineering, 1987. • Belum ada istilah "firewall" maupun "lifecycle" • Penekanan dalam firewall model: • Batasan antar tahapan harus jelas, dan antar tahapan harus dijembatani dengan dokumentasi yang resmi • Proses kembali ke tahapan sebelumnya harus diminimalisir Software Engineering
Alternatif Firewall Model • "Proses kembali ke tahapan sebelumnya harus diminamilisir", dalam prakteknya tidak mungkin/tidak realistis • Alternatif lain: • Prototyping Model→ Sebelum membuat softare sistem yang diinginkan, dibuat dulu sistem ujicoba→ Untuk memastikan kebutuhan pengguna • Sequential Evolving Type Model→ Berbeda dengan prototyping, model ini semuanya sudah jelas, hanya dalam implementasinya dilalukan secara bertahap→ eXtreme Programming, agile process Software Engineering
Software Process Evaluation • Upaya untuk mengkaji, apakah proses yang digunakan sudah benar • Upaya untuk menilai/memberikan ranking pada perusahaan dilihat dari proses yang digunakan • Contoh: • CMM → CMMI, SE-CMM • ISO → ISO9000/ISO9001, ISO9000-3 • SPICE → mirip CMM yang lahir di US, tapi SPICE lahir di Eropa Software Engineering
Process Programming • M.Lehman (Chairman), 8th ICSE (International Conference on SE), 1985: "Proses adalah hal yang penting dalam pengembangan software" • "Software processes are software too", L. Osterweil, 9th International Conference on Software Engineering, pp. 2–13, Apr. 1987 • Proses pengembangan software dideskripsikan dalam secara procedural seperti halnya program, setelah itu di-"execute" • Tujuan process programming: • Mengkaji dan mencari solusi perbaikan pada proses yang dilakukan, terutama pada tahapan di mana faktor manusianya besar • Melakukan penelitian terhadap bahasa dan ujicoba deskripsi pada sistem yang dapat menjelaskan proses secara sistematis • Mengembangkan suatu development environment di mana konsep proses menjadi intinya Software Engineering
Contoh Penelitian dalam PP • Deskripsi secara sistematis/pemodelan proses • Menggunakan Hierarchycal and Functional Type Language • Rule-based process description dan object-based production management • Software development environment based on process • Process design and execution • Process design concept: prescriptive & proscriptive • Scheduling description methods • Object (product/artifact) management • PCTE (Portable Common Tool Environment), IRDS (Information Resource Dictionary System) Software Engineering