1. Apa yang disebut software process dan software product? Jelaskan
Beberapa pengertian software process dari para ahli :
2. Menurut Ian Sommerville pada bukunya yang berjudul Software Engineering (9th Edition), Software Process adalah Pendekatan sistematis yang digunakan dalam rekayasa perangkat lunak serta merupakan sebuah aktifitas terurut yang menuju kepada produksi dari pembuatan produk rekayasa perangkat lunak.
Dapat disimpulkan bahwa Software Process adalah proses perangkat lunak yang berupa langkah - langkah yang dapat memiliki sub-sub langkah yang terurut untuk membuat sebuah produk rekayasa perangkat lunak yang dapat dieksekusi secara otomatis.
Software Product
Merupakan manfaat software dijadikan sebuah produk yang dapat dijual kepada masyarakat atau perusahaan yang membutuhkan. Misalnya: sistem kasir, sistem pos (Point of Sale), sistem keuangan, dan lain-lain. Sistem tersebut bersifat paten yang dibuat oleh perusahaan tertentu yang kemudian dijadikan produk dari perusahaan tersebut yang dapat dijual kepada perusahaan lain yang membutuhkan. Biasanya produk software ini diberi nama yang dijadikan trend atau ciri khas dari perusahaan tersebut. Misalkan dari perusahaan Bitncode, semua produk aplikasi yang dibuat diberi nama Bit, Yaitu: BitFinance, BirKasir, BitAbsensiOnline, dan lain-lain. Kegunaan software sebagai produk ini telah diterapkan di Jepang, dan negara-negara barat.
2. Perkiraan biaya membuat software?
Biaya Pembuatan Software Toko Atau Penjualan/ Point Of Sale (POS) Berbasis Web.
Software penjualan dari EroSOFT di bangun untuk mengelola data penjualan dan manajemen stok barang.
Berikut Ini Beberapa Keuntungan Menggunakan Program EroSOFT:
- Berbasis Web dan Cloud Computing.
Aplikasi di jalankan melalui Browser komputer dengan akses internet.
Dan semua pengolahan data terpusat di server.
- Kemudahan Akses.
Dapat diakses dimana saja, Kapan saja melalui Browser tanpa harus melakukan installasi di masing-masing komputer.
- Kemudahan Maintenance / Pemeliharaan.
Dengan sistem terpusat di server, Maka pemeliharaan menjadi lebih mudah dan sederhana. Karena setiap pembaharuan (upgrade)
hanya dilakukan di server host.Tidak perlu menginstall di setiap komputer klien.
- Keamanan Data.
Penyimpanan data lebih aman dan terjamin. Karena data tersimpan di server dan diawasi oleh seseorang administrator server yang berpengalaman.
Sehingga kerusakan sistem komputer klien tidak mempengaruhi data yang sudah tersimpan.
- Bersifat Multi-user.
Karena aplikasi bisa di akses oleh banyak komputer klien dan saling berinteraksi, Maka Aplikasi di buat beberapa versi sesuai Hak Akses.
Yaitu Aplikasi untuk user/Kasir, Admin dan untuk Owner/ Pemilik.
- Support Life time.
Dengan adanya biaya penyimpanan dan pemeliharaan data, Maka bantuan masalah aplikasi bersifat Life time/ pelayanan seterusnya.
Sehingga setiap keluhan dan pengaduan klien akan tetap di layani selama penggunaan aplikasi.
- Efisiensi Waktu Pemilik.
Karena aplikasi dirancang bisa di monitoring di mana saja, maka Pemilik tidak harus berada di lokasi setiap hari.
dan dapat memonitoring beberapa titik lokasi dalam satu aplikasi rekap laporan.
- Alokasi biaya yang lebih efektif.
Kerusakan sistem komputer klien akibat virus dan lain-lain, atau pergantian komputer baru, tidak membeli lisensi baru atau pengeluaran biaya lagi.
dan Untuk mengakses aplikasi tidak memerlukan spesifikasi komputer yang tinggi.
- Berbasis Web dan Cloud Computing.
Aplikasi di jalankan melalui Browser komputer dengan akses internet.
Dan semua pengolahan data terpusat di server.
- Kemudahan Akses.
Dapat diakses dimana saja, Kapan saja melalui Browser tanpa harus melakukan installasi di masing-masing komputer.
- Kemudahan Maintenance / Pemeliharaan.
Dengan sistem terpusat di server, Maka pemeliharaan menjadi lebih mudah dan sederhana. Karena setiap pembaharuan (upgrade)
hanya dilakukan di server host.Tidak perlu menginstall di setiap komputer klien.
- Keamanan Data.
Penyimpanan data lebih aman dan terjamin. Karena data tersimpan di server dan diawasi oleh seseorang administrator server yang berpengalaman.
Sehingga kerusakan sistem komputer klien tidak mempengaruhi data yang sudah tersimpan.
- Bersifat Multi-user.
Karena aplikasi bisa di akses oleh banyak komputer klien dan saling berinteraksi, Maka Aplikasi di buat beberapa versi sesuai Hak Akses.
Yaitu Aplikasi untuk user/Kasir, Admin dan untuk Owner/ Pemilik.
- Support Life time.
Dengan adanya biaya penyimpanan dan pemeliharaan data, Maka bantuan masalah aplikasi bersifat Life time/ pelayanan seterusnya.
Sehingga setiap keluhan dan pengaduan klien akan tetap di layani selama penggunaan aplikasi.
- Efisiensi Waktu Pemilik.
Karena aplikasi dirancang bisa di monitoring di mana saja, maka Pemilik tidak harus berada di lokasi setiap hari.
dan dapat memonitoring beberapa titik lokasi dalam satu aplikasi rekap laporan.
- Alokasi biaya yang lebih efektif.
Kerusakan sistem komputer klien akibat virus dan lain-lain, atau pergantian komputer baru, tidak membeli lisensi baru atau pengeluaran biaya lagi.
dan Untuk mengakses aplikasi tidak memerlukan spesifikasi komputer yang tinggi.
Harga yang kami tawarkan untuk software toko atau penjualan adalah:
Dengan Rincian Sebagai Berikut:
- Biaya Pembuatan Software Rp. 5.750.000
- Biaya Training by Remote PC Rp. -
- Biaya Transport Rp. -
- Biaya Penyimpanan Data ( Cloud ) Rp. 203.500 / Bulan
- Biaya Pemeliharaan Data ( Cloud ) Rp. 100.000/ Bulan
- Biaya Support Online - Life Time Rp. Gratis
Dengan Rincian Sebagai Berikut:
- Biaya Pembuatan Software Rp. 5.750.000
- Biaya Training by Remote PC Rp. -
- Biaya Transport Rp. -
- Biaya Penyimpanan Data ( Cloud ) Rp. 203.500 / Bulan
- Biaya Pemeliharaan Data ( Cloud ) Rp. 100.000/ Bulan
- Biaya Support Online - Life Time Rp. Gratis
3. Team yang terlibat dalam pembuatan software?
1. Project Sponsor
Project Sponsor adalah seorang manajemen puncak (beserta anggota tim jika perlu), yang diserahkan tugas khusus oleh perusahaan sebagai penanggung jawab proyek sistem informasi. Paling tidak salah seorang anggota direksi harus berada dalam tim ini untuk mencegah hambatan-hambatan berarti dalam pelaksanaan proyek. Secara prinsip, Direktur Utama atau Presiden Direktur-lah yang harus menjadi Project Sponsor.
2. Project Manajer
Seorang project manager mempunyai tanggung jawab dan tugas yang bermacam-macam, tidak hanya terfokus pada hal-hal yg teknis sifatnya. Bagaimana layaknya seorang project manager harus mempunyai kemampuan membuat tim tetap solid, mampu memonitor dan mengontrol budget serta mempunyai kemampuan analisis resiko yang baik.
Tanggung Jawab seorang Project Manager terdiri dari:1. ProyekProyek harus selesai sesuai dengan budget, sesuai dengan spesifikasi, dan waktu. Ketiga aspek itu harus dipenuhi oleh seorang Project Manager.2. OrganisasiSeorang Project Manager juga mempunyai tanggung jawab terhadap organisasi. Proyek yang ditangani harus mempunyai return yang nyata terhadap organisasi. Taat kepada setiap kebijakan yang di keluarkan organisasi, harus mengambil keputusan dengan wewenang yang terbatas dari organisasi, dan juga kadang-kadang seorang Project Manager juga harus mengambil keputusan yang bukan yang terbaik bagi poyek tetapi terbaik buat Organisasi.3. Tim KerjaSeorang Project Manager harus memberikan feedback dari hasil pekerjaan proyek jika diperlukan, memberikan perhargaan terhadap anggota tim proyek yang mempunyai prestasi yang baik, dan tantangan yang paling sulit adalah menyeimbangkan antara kepentingan anggota tim, kepentingan tim, dan kepentingan proyek.
Untuk melaksanakan tanggung jawab yang telah dijabarkan diatas, seorang project manager perlu memiliki skill yang bermacam-macam. Gary Heerken ( 2002) mengkategorikan skill & pengetahuan yang diperlukan seorang Project Manager menjadi 4 (empat) kategori :
Untuk melaksanakan tanggung jawab yang telah dijabarkan diatas, seorang project manager perlu memiliki skill yang bermacam-macam. Gary Heerken ( 2002) mengkategorikan skill & pengetahuan yang diperlukan seorang Project Manager menjadi 4 (empat) kategori :
1.Project Management process skillSkill Proses manajemen proyek, bisa di sebut hard skill merupakan pengetahuan dan keahlian yang berhubungan dengan mekanisme dari manajemen proyek.
Seorang Project Manager harus bisa menguasai teknik, tools manajemen proyek dan teknologi yang bisa diaplikasikan di proyek. Contohnya seorang project manager harus bisa membuat work breakdown structure, membuat network diagram, dan bisa mempersiapakan dokumen-dokumen yang diperlukan klien.
Seorang Project Manager harus bisa menguasai teknik, tools manajemen proyek dan teknologi yang bisa diaplikasikan di proyek. Contohnya seorang project manager harus bisa membuat work breakdown structure, membuat network diagram, dan bisa mempersiapakan dokumen-dokumen yang diperlukan klien.
2.Interpersonal & behavioral skillMemimpin proyek berarti mengatur dan menyelesaikan segala sesuatu melalui orang lain. Seorang Project manager harus mempunyai Interpersonal & Behavioral skill yang baik, bisanya disebut soft skill. Behavioral skill meliputi gaya (style), Kelakuan pesonal (personnal conduct), dan pendekatan (approach).
3.Technology management skillBanyak proyek yang melekat pada yang namanya teknologi. Teknologi menuju kepada proses dari proyek. Sebagai contoh, proses itu mencakup pengembangan software, proses kimia, atau konstruksi komersial. Kemampuan untuk mengkoordinasi proses teknologi ini sangat penting jika ingin menjadi seorang project manager. Beberapa skill manajemen teknologi yang perlu dikuasai oleh seorang Project Manager yaitu :
- kemampuan dalam teknologi proyek
- Kemampuan dalam mendukung teknologi area
- Pengetahuan tentang industri
- Kemampuan dalam mempersiapkan spesifikasi teknis secara kompreshensif
- kemampuan dalam disain
4. Internal audit dan Quality AssuranceQuality Assurance terdiri dari tim yang mengawasi agar pelaksanaan proyek dapat selalu terjamin kualitasnya sesuai dengan standar mutu yang ada (standar lokal perusahaan konsultan yang bersangkutan atau standar internasional seperti ISO). Fokus dari tim Quality Assurance lebih pada kualitas dari outputoutput yang dihasilkan oleh proyek ini, seperti laporan, rekomendasi, desain, perangkat lunak, perangkat keras, dan lain sebagainya.Tim inti proyek software developer dapat dikategorikan menjadi tiga bagian utama: Sistem Software, Software Developer dan Tester. Tim Sistem Software merupakan kumpulan para ahli manajemen yang sangat menguasai ilmu desain aplikasi software, Tim Software Developer merupakan para ahli programmer pembuat sebuah aplikasi software, sedangkan tim Tester merupakan para ahli untuk menguji layak tidaknya sebuah aplikasi software dikembangkan.Berikut Penjelasannya :
1. Divisi Sistem Software
a. System AnalystBeberapa hal penting yang dilakukan oleh seorang sistem analyst adalah sebagai berikut :
b. Sofware Designer
Software designer adalah seseorang yang bekerja untuk menciptakan sebuah perangkat lunak pada level yang cukup tinggi yang sesuai dengan kebutuhan pelanggan atau manajemen. Seorang designer tidak melakukan proses coding sendiri, namun bertugas untuk memastikan bahwa semua kebutuhan software telah ada dan diperhitungkan dengan baik sebelum proses coding yang sebenarnya dimulai. Mereka mengambil tujuan akhir dari pelanggan dan merencanakan berbagai tahap pengembangan dari konsep awal sampai dengan sistem selesai dibuat. Mereka menggunakan IT dalam setiap aspek pekerjaan mereka. Pemrograman dan perencanaan, keduanya dilakukan pada komputer, dan sinkronisasi data yang diperlukan untuk rencana dan komunikasi yang efektif membutuhkan penggunaan jaringan media yang modern.
Software design tidak hanya terlihat pada perusahaan yang memproduksi program dan perangkat lunak, tetapi juga pada perusahaan yang membutuhkan solusi pada sebuah perangkat lunak namun tidak ada perangkat lunak yang mampu mengatasinya.
Desainer software memegang peranan penting dalam segala hal yang berkaitan dengan software, programming, matematika, logika, perencanaan, dan komunikasi. Mereka yang menemukan diri mereka tertarik untuk bekerja dalam pembuatan program atau game biasanya akan tertarik dalam mendesain perangkat lunak.
Biasanya software designer bekerja dengan erat dengan Quality Assurance Specialist. Project Manager tim desain pengembangan perangkat lunak, dan segala yang berhubungan dengan mendesain perangkat lunak.
- Bekerja dalam meneliti sebuah masalah
- Merencanakan solusi terhadap masalah yang ada
- Merekomendasikan software dan sistem yang dibutuhkan
- Mengkoordinir pengembangan untuk memenuhi kebutuhan bisnis atau kebutuhan lainnya.
- Merencanakan aliran sistem dari bawah ke atas.
- Berinteraksi dengan pelanggan untuk belajar dan mendokumentasikan kebutuhan yang nantinya akan digunakan untuk membuat Bussiness Requirement Document.
- Menuliskan kebutuhan teknis dari fase kritis.
- Berinteraksi dengan designer untuk memahami keterbatasan perangkat lunak.
- Membantu programmer selama pengembangan sistem, seperti menyediakan use case, flowchart, atau bahkan design database.
- Melakukan pengujian sistem.
- Mendeploy sistem yang teah selesai dibangun.
- Mendokumentasikan kebutuhan atau berkontribusi dalam pembuatan user manual.
- Kapanpun proses pengembangan dilakukan, system analyst bertanggung jawab untuk merancang komponen dan memberikan informasi tersebut kepada developer.
- Seorang programmer tidak boleh membuat atau mendistribusikan Malware.
- Seorang programmer tidak boleh menulis kode yang sulit diikuti dengan sengaja.
- Seorang programmer tidak boleh menulis dokumentasi yang dengan sengaja untuk membingungkan atau tidak akurat.
- Seorang programmer tidak boleh menggunakan ulang kode dengan hak cipta kecuali telah membeli atau telah meminta izin.
- Tidak boleh mencari keuntungan tambahan dari proyek yang didanai oleh pihak kedua tanpa izin.
- Etika profesi yang berlaku bagi programmer di indonesia. Tidak boleh mencuri software khususnya development tools.
- Tidak boleh menerima dana tambahan dari berbagai pihak eksternal dalam suatu proyek secara bersamaan kecuali mendapatkan izin.
- Tidak boleh menulis kode yang dengan sengaja menjatuhkan kode programmer lain untuk mengambil keuntungan dalam menaikkan status.
- Tidak boleh membeberkan data-data penting karyawan dalam perusahaan.
- Tidak boleh memberitahu masalah keuangan pada pekerja dalam pengembangan suatu proyek.
- Tidak pernah mengambil keuntungan dari pekerjaan orang lain.
- Tidak boleh mempermalukan profesinya.
- Tidak boleh secara asal-asalan menyangkal adanya bug dalam aplikasi.
- Tidak boleh mengenalkan bug yang ada di dalam software yang nantinya programmer akan mendapatkan keuntungan dalam membetulkan bug.
- Terus mengikuti perkembangan ilmu komputer.
b. Sofware Designer
Software designer adalah seseorang yang bekerja untuk menciptakan sebuah perangkat lunak pada level yang cukup tinggi yang sesuai dengan kebutuhan pelanggan atau manajemen. Seorang designer tidak melakukan proses coding sendiri, namun bertugas untuk memastikan bahwa semua kebutuhan software telah ada dan diperhitungkan dengan baik sebelum proses coding yang sebenarnya dimulai. Mereka mengambil tujuan akhir dari pelanggan dan merencanakan berbagai tahap pengembangan dari konsep awal sampai dengan sistem selesai dibuat. Mereka menggunakan IT dalam setiap aspek pekerjaan mereka. Pemrograman dan perencanaan, keduanya dilakukan pada komputer, dan sinkronisasi data yang diperlukan untuk rencana dan komunikasi yang efektif membutuhkan penggunaan jaringan media yang modern.
Software design tidak hanya terlihat pada perusahaan yang memproduksi program dan perangkat lunak, tetapi juga pada perusahaan yang membutuhkan solusi pada sebuah perangkat lunak namun tidak ada perangkat lunak yang mampu mengatasinya.
Desainer software memegang peranan penting dalam segala hal yang berkaitan dengan software, programming, matematika, logika, perencanaan, dan komunikasi. Mereka yang menemukan diri mereka tertarik untuk bekerja dalam pembuatan program atau game biasanya akan tertarik dalam mendesain perangkat lunak.
Biasanya software designer bekerja dengan erat dengan Quality Assurance Specialist. Project Manager tim desain pengembangan perangkat lunak, dan segala yang berhubungan dengan mendesain perangkat lunak.
c. ImplementerSalah satu kendala yang umum dijumpai oleh para pengusaha yang ingin melakukan investasi dalam pengadaan sistem di perusahaan mereka adalah tidak adanya bimbingan yang memadai dari vendor pembuat sistem. Oleh sebab itu, jasa tim implementor yang dapat diperbantukan di perusahaan apabila diperlukan.Tugas dari anggota tim implementor ini adalah membantu mempercepat proses implementasi sistem pada usaha, sekalipun usaha tersebut telah cukup lama beroperasi.Tugas Implementator :• Penataan sistem keuangan dengan menggunakan fasilitas yang ada pada software developer secara lebih optimal.• Penanganan stok awal barang persediaan.• Administrasi budget
3. Divisi Tester
a. Software TesterSoftware Tester merupakan salah satu posisi yang menjadi ‘musuh’ para developer. Tugas utama dari seorang software tester adalah melakukan pengecekan atau testing terhadap error atau bug di dalam sebuah aplikasi atau program.
Dengan kata lain, keberhasilan seorang software tester adalah kegagalan bagi developer, demikian juga sebaliknya. Namun, pada dasarnya keberhasilan software tester ataupun keberhasilan developer memiliki tujuan yang sama, yaitu untuk membuat sebuah aplikasi atau software bebas dari bug (meskipun sebenarnya tidak ada aplikasi yang bisa benar-benar bebas dari bug).
Banyak orang yang berpikir bahwa tugas software tester adalah tugas yang sangat mudah, namun pada kenyataannya tugas software tester adalah tugas yang sulit dan memiliki tanggungjawab yang besar terhadap keberhasilan sebuah produk IT. Selain harus memiliki kesabaran dan ketelitian, seorang software tester juga dituntut untuk proaktif dan memiliki kreatifitas imajinasi yang tinggi.
Berkutat dengan dokumen-dokumen adalah hal yang biasa dan lumrah, karena tanpa dokumen, software tester tidak dapat membuat test scenario yang baik. Dokumen apa saja yang dibutuhkan oleh software tester :
Dengan kata lain, keberhasilan seorang software tester adalah kegagalan bagi developer, demikian juga sebaliknya. Namun, pada dasarnya keberhasilan software tester ataupun keberhasilan developer memiliki tujuan yang sama, yaitu untuk membuat sebuah aplikasi atau software bebas dari bug (meskipun sebenarnya tidak ada aplikasi yang bisa benar-benar bebas dari bug).
Banyak orang yang berpikir bahwa tugas software tester adalah tugas yang sangat mudah, namun pada kenyataannya tugas software tester adalah tugas yang sulit dan memiliki tanggungjawab yang besar terhadap keberhasilan sebuah produk IT. Selain harus memiliki kesabaran dan ketelitian, seorang software tester juga dituntut untuk proaktif dan memiliki kreatifitas imajinasi yang tinggi.
Berkutat dengan dokumen-dokumen adalah hal yang biasa dan lumrah, karena tanpa dokumen, software tester tidak dapat membuat test scenario yang baik. Dokumen apa saja yang dibutuhkan oleh software tester :
1. SRS (System Requirement Specification)Merupakan dokumen yang menyediakan panduan mengenai spesifikasi requirement sistem yang diinginkan oleh client/user secara lengkap terhadap suatu bagian/keseluruhan aplikasi.
2. SAD (Software Architecture Document)Merupakan dokumen yang menggambarkan desain arsitektur (flow process) secara umum dari modul yang ada dalam sebuah sistem. SAD memuat spesifikasi yang lebih rinci dari dokumen SRS.
Dari semua dokumen inilah sofware tester kemudian akan mengetahui seperti apa sistem yang akan di testing. Setelah mengetahui proses bisnis dari sistemnya, maka software tester harus membuat test case yang terdiri dari langkah-langkah pengetesan terhadap sistem yang dibagi-bagi kedalam tiap modul/unit sistem.
Dari semua dokumen inilah sofware tester kemudian akan mengetahui seperti apa sistem yang akan di testing. Setelah mengetahui proses bisnis dari sistemnya, maka software tester harus membuat test case yang terdiri dari langkah-langkah pengetesan terhadap sistem yang dibagi-bagi kedalam tiap modul/unit sistem.
Sumber : - http://stringlabs.blogspot.co.id/2015/02/software-process-rpl.html
- http://www.ngelmu.id/pengertian-software/
- https://projects.co.id/public/browse_services/view/072311/jasa-pembuatan-software-toko-atau-penjualan-point-of-sale-pos-berbasis-web
- http://hegarwinda26.blogspot.co.id/2012/03/struktur-organisasi-software-developer.html
- Ian Sommerville, Software Engineering (9th Edition)
- M Deploy, Software Engineering Process
Tidak ada komentar:
Posting Komentar