Showing posts with label Perangkat lunak profesional. Show all posts
Showing posts with label Perangkat lunak profesional. Show all posts

Thursday, October 13, 2016

Keuntungan dan Kerugian dari strategi pembangunan. Kasus : Pengembangan perangkat lunak kontrol kritis untuk pesawat


Anda seorang manajer perangkat lunak dalam sebuah perusahaan yang mengembangkan perangkat lunak kontrol kritis untuk pesawat. Anda bertanggung jawab untuk pengembangan sistem pendukung desain software yang mendukung terjemahan dari persyaratan perangkat lunak untuk spesifikasi perangkat lunak resmi.
Berikan komentar anda terkait keuntungan dan kerugian dari strategi pembangunan yang ada.
1.       Mengumpulkan persyaratan dari insinyur perangkat lunak dan pemangku kepentingan eksternal dan mengembangkan sistem menggunakan pendekatan plan-driven.
·         Keuntungan
a.       Mengumpulkan persyaratan sebelum pembangunan akan membuat desain yang lebih baik.
b.      Menggunakan pendekatan berbasis rencana pembangunan akan lebih berguna. Hal ini juga mempertimbangkan manajemen risiko.
c.       Sebagai sistem kontrol kritis, manajemen risiko yang diterapkan dalam pendekatan berbasis rencana akan berguna.
·         Kerugian
a.       Mengumpulkan persyaratan dari para insinyur perangkat lunak tidak akan memberikan hasil yang lebih baik. Persyaratan harus dikumpulkan dari sudut pandang pengguna.
b.      Masing-masing stakeholder memberikan prioritas yang berbeda untuk perubahan yang berbeda.
2.       Mengembangkan prototipe menggunakan bahasa scripting, seperti Ruby atau Python, mengevaluasi prototipe ini dengan insinyur perangkat lunak dan pemangku kepentingan lainnya, kemudian meninjau persyaratan sistem. Membangun kembali sistem akhir menggunakan Java.
·         Keuntungan
a.       Mengembangkan dengan berbagai Bahasa pemrograman akan mempunyai banyak backup sehingga dapat digunakan secara optimal dan powerfull nantinya
b.      Mengevaluasi prototype dengan pengembang dan pemangku kepentingan lainnya sangat penting agar sebelum di finalisasi akan muncul evaluasi perbaikan dari berbagai evalusi yang dilakukan sampai sistem mencapai syarat yang telah ditentukan.
·         Kerugian
a.       Penggunaan Bahasa pemrograman yang banyak memakan waktu dan biaya dan juga tenaga tentunya.
3.       Mengembangkan sistem di Java menggunakan pendekatan tangkas dengan pengguna yang terlibat dalam tim pengembangan.
·         Keuntungan
a.       Pendekatan tangkas yang melibatkan pengguna tentunya akan mempercepat proses pembuatan proyek, karena sistem yang dibuat akan dipantau langsung oleh penguna yang mengingikan sistem tersebut, sehingga apabila terdapat perubahan bisa dilaksanakan dengan cepat
·         Kerugian

a.       Perangkat lunak untuk pesawat ini merupakan proyek yang tidak main-main. Proses nya perlu memakan waktu lama dan proses yang lama agar dicapai hasil yang sesuai persyaratan dikarenakan transportasi pesawat ini jika terdapat kecelakaan maka akan membahayakan penumpang, dan pendekatan tangkas sepertinya tidak cocok dengan strategi ini.

Wednesday, October 12, 2016

Tanggung jawab profesional untuk menghasilkan kode yang dapat dipelihara dan berubah

Chapter 9 Pertanyaan 10
Apakah software enginers memiliki tanggung jawab yang profesional untuk menghasilkan kode yang dapat dipelihara, berubah dan bahkan jika hal ini tidak secara eksplisit diminta oleh employer mereka?


    Ya, software enginers memiliki tanggung jawab yang profesional dalam hal itu.
    Maintainability merupakan atribut penting untuk perangkat lunak yang baik. Setelah
perangkat lunak diluncurkan, perubahan atau evolusi tidak dapat dihindari untuk
menjaga perangkat lunak tetap berfungsi dan menyesuaikan dengan kebutuhan
pengguna.
    Pada ACM/IEEE Code of Ethics tertulis, "Software engineers shall act in a manner that
is in the best interests of their client and employer consistent with the public interest". Maka seorang software engineer seharusnya menciptakan kode yang maintainable dan mudah diubah untuk hasil perangkat lunak yang baik. Kecuali mungkin jika secara "eksplisit" tidak diperbolehkan oleh employer-nya.
 
 

Thursday, October 6, 2016

4 atribut penting tentang semua yang harus dimiliki oleh perangkat lunak profesional

Chapter 1 Pertanyaan 3
Apa empat atribut penting yang harus dimiliki semua perangkat lunak profesional ? Disarankan empat atribut lain yang terkadang menjadi signifikan


    Empat atribut penting yang harus dimiliki oleh semua perangkat lunak profesional yaitu:
1. Software harus di pelihara
        Tanpa pemeliharaan, software sangat sulit untuk memenuhi kebutuhan baru. Software harus bisa berkembang dengan mudah, contohnya seperti bisnis yang selalu meningkat setiap waktunya. Itu akan akan sangat tidak efisien jika pembuat perangkat lunak harus menulis ulang perangkat lunak tersebut dari nol setiap kali mereka diminta membuat perubahan. Memelihara perangkat lunak akan membuat kerangka perangkat lunak itu sendiri terorganisasi dengan baik, dokumentasi yang baik, kode yang bersih, dll.
2. Software harus dapat diandalkan dan aman
        Pada dasarnya, software tidak memiliki banyak bug. Dalam hal kegagalan, software seharusnya tidak menimbulkan kerusakan apapun. Selain itu, software juga harus aman. Akan sangat disayangkan jika sebuah situs perbankan online memiliki celah keamanan yang memungkinkan orang  luar untuk mengakses akun pengguna. Itu akan menjadi software yang kurang baik. Dalam hal bug atau keamanan, kecacatan dalam software harus segera diperbaiki, dan pengguna harus diberitahu setiap kelemahan utama software tersebut.
3. Software harus efisien
        Software harus menggunakan banyak sumber daya sistem yang dibutuhkan. Pemborosan sumber daya sistem akan memperlambat proses dan menurunkan respon. Menurut sumber yang saya cari di internet, healthcare.gov adalah contoh yang baik dari software yang tidak efisien.
4. Software harus diterima dengan baik
        Ini harus kompatibel dengan penggunaan dari pengguna, mudah dimengerti, dan dapat digunakan dengan baik. Sebagai contoh, sebuah aplikasi web harus memiliki kompatibel dengan semua browser. Desain interface yang baik dan mudah dimengerti oleh pengguna.

Tambahan empat atribut lain yang terkadang signifikan:

1. Software harus terukur
        Hal ini yang paling pertama diperlukan ketika membuat software yang berjalan pada jaringan. software yang baik harus dapat menangani banyak beban data yang besar jika diperlukan.
2. Software harus modern
        Software harus selalu up to date mengikuti perkembangan jaman dengan standar modern. Hal ini dapat juga membantu software agar lebih aman dengan menggunakan protokol keamanan saat itu.
3. Software harus etis
        Artinya software tidak boleh digunakan untuk tindakan tak bermoral. Mencakup banyak topik yang merupakan privasi. Perangkat lunak harus tetap mengikuti kode etik.
4. Software harus asli
        Maksudnya bukan larangan tentang pengunaan proyek open source, tapi apa yang dibuat harus merupakan karya dan ide asli.