Skip to main content

Posts

Showing posts from May, 2023

A Simple Safety-Critical System Menurut Ian Sommerville

Terdapat beragam variasi sistem berbasis komputer yang kritis, meliputi sistem kontrol untuk perangkat dan mesin hingga sistem informasi dan e-commerce. Sistem-sistem ini dapat menjadi contoh yang sangat baik dalam buku rekayasa perangkat lunak, karena teknik rekayasa perangkat lunak tingkat tinggi kerap digunakan dalam proses pengembangannya. Akan tetapi, memahami sistem-sistem ini dapat menjadi tugas yang menantang, karena diperlukan pemahaman terhadap fitur-fitur dan batasan domain aplikasi di mana mereka beroperasi. Oleh karena itu, dalam beberapa pembahasan ini, saya menggunakan sebuah contoh studi kasus sistem kritis yang berfokus pada simulasi operasi pankreas (organ dalam) dalam bidang medis. Pilihan ini saya ambil karena kita semua memahami isu-isu dalam bidang medis, dan dengan jelas dapat memahami mengapa keamanan dan keandalan menjadi sangat penting bagi jenis sistem ini. Sistem yang telah dipilih bertujuan untuk memberikan bantuan kepada individu yang menderita diabetes. D...

Establishing The Groundwork (Membangun Landasan) Menurut Roger S. Pressman

Dalam kondisi ideal, pemangku kepentingan dan insinyur perangkat lunak bekerja bersama dalam sebuah tim. Dalam situasi seperti itu, requirements engineering hanya menjadi sebuah permasalahan dalam berkomunikasi yang efektif dengan rekan tim yang dikenal. Namun, pada kenyataannya seringkali situasinya jauh berbeda. Para pelanggan atau pengguna akhir mungkin berada di lokasi yang berbeda, baik itu di kota maupun negara yang berbeda. Mereka mungkin hanya memiliki pemahaman yang kurang jelas tentang apa yang mereka butuhkan, atau bahkan memiliki pendapat yang bertentangan mengenai sistem yang akan dibangun. Selain itu, pengetahuan teknis mereka mungkin terbatas, dan mereka mungkin memiliki keterbatasan waktu dalam berinteraksi dengan insinyur persyaratan. Semua aspek ini tidak diinginkan, namun cukup umum terjadi, dan sering kali memaksa kita untuk bekerja dalam batasan yang ditetapkan oleh situasi tersebut.  Pada bagian selanjutnya, saya akan membahas langkah-langkah yang perlu dilaku...

Requirements Engineering Menurut Roger S. Pressman

Merancang serta membangun perangkat lunak komputer merupakan suatu tugas yang penuh tantangan, membutuhkan kreativitas, dan memberikan kepuasan tersendiri. Sebenarnya, proses membangun perangkat lunak sangat menarik sehingga banyak pengembang perangkat lunak ingin langsung terjun tanpa memiliki pemahaman yang jelas tentang kebutuhan yang sebenarnya. Mereka beranggapan bahwa segalanya akan menjadi jelas saat mereka sedang dalam tahap pembangunan, bahwa para pemangku kepentingan proyek akan mampu memahami kebutuhan hanya setelah melihat versi awal perangkat lunak, dan bahwa segala sesuatu berubah begitu cepat sehingga upaya untuk memahami persyaratan secara detail hanya akan membuang-buang waktu. Pokoknya, yang terpenting adalah menghasilkan program yang berfungsi, sedangkan hal lain dianggap kurang penting. Argumen-argumen ini memang menarik karena mengandung sebagian kebenaran, namun setiap argumen tersebut memiliki kekurangan dan bisa menyebabkan kegagalan proyek perangkat lunak. Pros...

Critical Systems (Sistem Penting) Menurut Ian Sommerville

Gagalnya perangkat lunak merupakan hal yang sering terjadi. Biasanya, kegagalan ini hanya menyebabkan ketidaknyamanan tanpa adanya kerusakan yang berkelanjutan. Namun, dalam beberapa situasi, kegagalan sistem dapat mengakibatkan dampak ekonomi yang besar, kerusakan fisik, atau bahkan ancaman terhadap nyawa manusia. Sistem yang memiliki risiko seperti ini disebut sebagai sistem kritis. Sistem kritis ini merupakan sistem yang menjadi pilar penting bagi individu atau bisnis. Jika sistem ini tidak mampu memberikan layanan sesuai harapan, maka dapat timbul masalah serius dan kerugian yang signifikan. Terdapat tiga klasifikasi utama dari sistem yang termasuk dalam kategori kritis: Safety-critical systems  Sebuah sistem yang apabila mengalami kegagalan dapat menyebabkan cedera, kehilangan nyawa, atau kerusakan lingkungan yang parah. Sebagai contoh, sistem kontrol untuk pabrik pembuatan bahan kimia termasuk dalam kategori sistem yang sangat penting untuk keselamatan (safety-critical). Miss...

Principles That Guide Each Framework Activity (Prinsip yang Memandu Setiap Kegiatan Kerangka Kerja) Menurut Roger S. Pressman

 Pada bagian selanjutnya, saya memperhatikan prinsip-prinsip yang memiliki dampak signifikan terhadap kesuksesan setiap aktivitas dalam kerangka kerja generik yang didefinisikan sebagai bagian dari proses pengembangan perangkat lunak. Dalam banyak situasi, prinsip-prinsip yang dibahas untuk setiap kegiatan dalam kerangka kerja tersebut merupakan pengembangan dari prinsip-prinsip yang telah dijelaskan dalam pembahasan sebelumnya. Prinsip-prinsip tersebut mewakili inti dari konsep-konsep yang disajikan pada tingkat abstraksi yang lebih rendah. 1.1 Communication Principles Sebelum menganalisis, memodelkan, atau menentukan persyaratan pelanggan, langkah awal yang harus dilakukan adalah mengumpulkan persyaratan tersebut melalui kegiatan komunikasi. Seorang pelanggan menghadapi masalah yang mungkin dapat diselesaikan melalui solusi berbasis komputer. Anda merespons permintaan bantuan dari pelanggan tersebut, dan proses komunikasi pun dimulai. Namun, dalam perjalanan dari komunikasi ...

Core Principles (Prinsip Inti) Menurut Roger S. Pressman

 Rekayasa perangkat lunak diarahkan oleh serangkaian prinsip inti yang membantu dalam menerapkan proses perangkat lunak yang bermakna dan metode rekayasa perangkat lunak yang efektif. Pada tahapan proses, prinsip-prinsip inti ini membentuk dasar filosofis yang memandu tim pengembang perangkat lunak dalam menyusun kerangka kerja dan melakukan berbagai kegiatan, mengarahkan alur proses, serta menghasilkan beragam produk kerja dalam rekayasa perangkat lunak. Pada tingkat praktik, prinsip-prinsip inti ini menetapkan sekumpulan nilai dan aturan yang berfungsi sebagai pedoman saat menganalisis masalah, merancang solusi, mengimplementasikan dan menguji solusi, serta akhirnya mengaplikasikan perangkat lunak kepada pengguna komunitas. Dalam pembahasan sebelumnya, saya mengidentifikasi sekelompok prinsip umum yang mencakup proses dan praktik rekayasa perangkat lunak: (1) memberikan nilai kepada pengguna akhir, (2) menjaga kesederhanaan, (3) mempertahankan visi proyek dan produk, (4) menyadar...