PRPL ("Part 1")
Pengertian Proyek Rekayasa Perangkat Lunak adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, disain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan.
Proses manajemen proyek perangkat lunak dimulai dengan kegiatan project planning (perencanaan proyek). Yang pertama dari aktifitas ini adalah estimation (perkiraan). Estimasi membawa resiko yang inheren (dari diri sendiri) dan resiko inilah yang membawa ketidakpastian. Yang mempengaruhi estimasi :
- Project complexity (kompleksitas proyek)
- Project size (ukuran proyek)
- Struktural uncertainty (ketidakpastian struktural)
Tujuan Perencanaan Proyek Perangkat Lunak :
menyediakan sebuah kerangka kerja yang memungkinkan manajer membuat estimasi yang dapat dipertanggungjawabkan terhadap sumber daya, biaya dan jadwal pada awal proyek yang dibatasi oleh waktu.
Aktifitas Perencanaan Proyek PL
1. Menentukan ruang lingkup PL
2. Mengestimasi sumber daya yang dibutuhkan
RUANG LINGKUP PL
Ruang lingkup PL menggambarkan : fungsi, kinerja, batasan, interface dan reliabilitas.Fungsi yang digambarkan dlm statemen ruang lingkup dievaluasi untuk memberikan awalan yang lebih detail pada saat dimulai estimasi. Kinerja melingkupi pemrosesan dan kebutuhan waktu respon. Batasan mengidentifikasi batas yang ditempatkan pada PL oleh perangkat keras eksternal, memori atau sistem lain.
A.
Tahapan:
|
tahapan yang dilalui pada proyek RPL |
Keterangan:
- Initiating: perencanaan proyek awal, dalam proses untuk dipilih/disetujui.
- Planning: perencanaan adalah proses yang berulang (perhatikan gambar). Perencanaan pada dasarnya menggambarkan proses bagaimana proyek akan dilaksanakan hingga selesai.
- Executing: setelah proyek direncanakan, tim proyek memulai pekerjaannya.
- Controlling: selama tim proyek mengerjakan tugasnya, project manager mengontrolnya.
- Closing: setelah proyek diselesaikan project manager akan menutup proyek software.
B.
Dokumen:
1.
Software Development Plan
(RUP SDPLN) : dibuat untuk Proyek Manager (PM)
Penjelasan singkat:
Software development plan merupakan dokumen yang dibuat oleh oleh project manager untuk menggambarkan secara umum kinerja team dimulai dari tujuan pembuatan, ruang lingkup, lama pengerjaan serta team yang terlibat dalam pengerjaan suatu project sistem informasi. Diharapkan dengan adanya software development plant dapat memperjelas sistem yang akan dibangun.
Software development plan membantu anggota team bekerja sesuai dengan tugas masing-masing, diharapkan dengan pembagian kinerja yang sudah jelas dapat menghasilkan suatu sistem informasi yang dapat menyelesaikan permasalahan yang ada pada perusahaan .
2.
Software Requirement
Specification (RUP SRS) : dibuat untuk Sistem Analisis
Penjelasan singkat:
Software Requirements
Specification (SRS) menjelaskan secara detail dan lengkap tentang semua
software yang diperlukan dalam project Rancang Bangun Sistem Informasi
Manajemen Inventori ini. Pada SRS ini
juga akan dicantumkan tentang gambaran system yang telah ada, kebutuhan
spesifikasi software, hardware.
3.
Software Architecture
Development (RUP SAD) : dibuat untuk sistem Design dan infrastruktur yang digunakan
Penjelasan singkat:
Software Architecture Document merupakan
dokumen yang menjelaskan arsitektur perangkat lunak yang akan dibuat. Dokumen
ini dikerjakan oleh bagian design system yang berisi tentang overview dokumen,
architectural representation,
architectural goals and constrains, decomposition of modul function(context
diagram, dfd level n) , architecture description(cdm dan pdm), detail of
description architecture dan implementation view (desain input/output).
4.
Test Plan (RUP TSTPLN) : dibuat
untuk mengukur SRS dan SAD yang sudah ditetapkan
Penjelasan singkat:
Testing software adalah proses
mengoperasikan software dalam suatu kondisi yang dikendalikan, untuk verifikasi
apakah telah berlaku sebagaimana telah ditetapkan (menurut spesifikasi),
mendeteksi error, dan validasi apakah spesifikasi yang telah ditetapkan sudah
memenuhi keinginan atau kebutuhan dari pengguna yang sebenarnya.
C.
Sumber Daya Manusia:
Project manager adalah sesorang yang profesional dalam bidang manajemen proyek. Project Manager memiliki tanggung jawab terhadap perencanaan, eksekusi, dan penutupan suatu proyek, biasanya proyek yang dikerjakan berhubungan dengan industri konstruksi, arsitektur, jaringan komputer, telekomunikasi atau pengembangan software.
Project manager adalah seseorang yang dapat diandalkan agar tujuan/target dari suatu proyek dapat tercapai dengan baik. Kuncinya, seorang project manager harus bertanggung jawab dan dapat menyusun rencana serta strategi dalam mencapai suatu target sesuai dengan kebutuhan. Selain itu, seorang project manager juga harus mempertimbangkan 3 hal penting dalam suatu proyek (constraint) yang terdiri dari: cost (biaya), time (waktu), dan quality (kualitas).
Project manager sering disebut sebagai perantara dari klien dan harus dapat menentukan serta mengimplementasikan apa saja kebutuhan yang diinginkan oleh klien. Kemampuan untuk beradaptasi dalam berbagai jenis prosedur pada lingkungan internal klien dan dapat menjalin hubungan baik dengan klien akan sangat penting dalam menjamin cost (biaya), time (waktu), quality (kualitas), dan si atas itu semua adalah kepuasaan klien dapat tercapai.
Tugas – tugas PM
Melaksanakan pekerjaan proyek sesuai schedule, Budgeting, Rekruitment, Supervisi, Planning, Schedulling, Inventory, Control, QC/QA, Cost control
Peranan Dan Tanggung Jawab Manajer
PMBOK Guide (PMI, 2001) menjabarkan peranan tanggung jawab serta apa yang harus dimiliki oleh seorang manajer proyek pada setiap proses manajemen proyek.
Berikut peran dan tanggung jawab PM:
- Manajer proyek dan tim manajemen risiko memberi
tanggapan kepada pemilik proyek terhadap risiko yang dilaporkan. Hal ini
akan mengurangi efek yang tidak diantisipasi dan koreksi yang diperlukan
untuk mengurangi risiko.
- Manajer proyek bersama dengan tim manajemen
proyek bertanggung jawab menentukan kualitas dan nilai proyek.
- Peran dan tanggung jawab dari manajer proyek
biasanya kritis pada kebanyakan proyek tapi sangat berarti dalam
penerapannya.
- Manajer proyek bersama dengan tim manajemen
proyek harus mengkoordinir dan mengarahkan berbagai alat penghubung teknis
dan organisasi yang ada dalam proyek.
- Manajer proyek harus mengenali proyek dan
ditugaskan sejak awal studi kelayakan. Manajer proyek harus selalu ditugaskan
sebelum dimulai perencanaan proyek dilaksanakan dan lebih disukai yang
sebelumnya telah banyak menyelesaikan proyek tersebut.
- Manajer proyek bersama dengan pemberi kuasa
menyediakan sumber daya organisasi untuk merancang aktivitas proyek.
- Manajer proyek juga mempunyai tanggung jawab
kepada sumber daya manusia untuk menerima dan melepas bawahannya
tergantung atas organisasi atau industri dimana mereka menjadi anggota.
- Manajer proyek bertanggung jawab dalam membuat
pelaporan rangkap kepada manajer fungsional dan timnya sendiri.
- Manajer proyek yang diusulkan harus bersertifikat
Project Management Profesional (PMP) atau yang diusulkan harus
mempunyai dokumentasi pengalaman kerja sebelumnya pada proyek yang sama.
2.
System Analyst – Document SRS\
Analis sistem(system analyst) adalah orang yang menganalisis sistem (mempelajari masalah-masalah yang timbul dan menentukan kebutuhan-kebutuhan pemakai sistem) untuk mengidentifikasikan pemecahan yang beralasan. Sebutan lain untuk analis sistem ini adalah analis informasi (information analyst), analis bisnis (business analyst), perancang sistem (system designer), konsultan sistem (system consultant) dan ahli teknik sistem (system engineer).
§ Mengumpulkan
informasi untuk penganalisaan dan evaluasi sistem yang sudah ada maupun untuk
rancangan suatu sistem.
§ Riset,
perencanaan, instalasi, konfigurasi, troubleshoot, pemeliharaan, dan upgrade
sistem pengoperasian.
§ Melakukan
analisis dan evaluasi terhadap prosedur bisnis yang ada maupun yang sedang
diajukan atau terhadap kendala yang ada untuk memenuhi keperluan data
processing.
§ Mempersiapkan
flow chart dan diagram yang menggambarkan kemampuan dan proses dari sistem yang
digunakan.
§ Melakukan
riset dan rekomendasi untuk pembelian, penggunaan, dan pembangunan hardware
dan software.
§ Memperbaiki
berbagai masalah seputar hardware, software, dan konektivitas, termasuk di
dalamnya akses pengguna dan konfigurasi komponen.
§ Memilih
prosedur yang tepat dan mencari support ketika terjadi kesalahan, dan panduan
yang ada tidak mencukupi, atau timbul permasalahan besar yang tidak terduga.
§ Mencatat dan
memelihara laporan tentang perlengkapan perangkat keras dan lunak, lisensi
situs dan/ atau server, serta akses dan security pengguna.
§ Mencari
alternatif untuk mengoptimalkan penggunaan komputer.
§ Mampu
bekerja sebagai bagian dari team, misalnya dalam hal jaringan, guna menjamin
konektivitas dan keserasian proses di antara sistem yang ada.
§ Mencatat dan
menyimpan dokumentasi atas sistem.
§
Mendokumentasikan kekurangan serta solusi terhadap
sistem yang adasebagai catatan untuk masa yang akan datang.
3. System
Design – Document SAD
Desain sistem dapat didefinisikan sebagai penggambaran, perencanan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam kesatuan yang utuh dan berfungsi. Desain sistem dapat dibagi dalam dua bagian yaitu :
§ Desain
sistem secara umum ( General Systems Design )
§ Desain
sistem terinci ( Detailed Systems )
Penerjemahan persyaratan sistem informasi akuntansi yang masih dalam bahasa umum (konseptual) ke dalam spesifikasi rinci sehingga dapat dipergunakan untuk penyusunan kode dan pengujian program komputer. Dalam penyusunan desain fisik atau desain rinci tim kerja menyusun semacam skenario tentang bagaimana desain konseptual sistem informasi diterapkan. Dibutuhkan skema dalam melakukan tahap desain fisik sebagai berikut.
|
Detailed systems |
Tahap desain sistem mempunyai dua tujuan utama, yaitu :
§ Untuk
memenuhi kebutuhan kepada pemakai sistem
§ Untuk
memberikan gambaran yang jelas dan rancang bangun yang lengkap kepada pemrogram
komputer dan ahli teknik lainnya yang terlibat
Referensi :
Jogiyanto
H.M, Analisa dan Desain Sistem Informasi Pendekatan Terstruktur Teori dan
Praktek Aplikasi Bisnis , Andi Offset, Yogyakarta, 2005.
4. Programmer
·
Mengmbil bagian dalam pengembangan dan integrasi
perangkat lunak.
·
Mengembangkan secara aktif kemampuan dalam
pengembangan perangkat lunak.
·
Menerima permintaan user untuk masalah-masalah yang
harus diselesaikan.
·
Menyediaakan dukungan dan penyelesaian masalah
konsumen baik untuk konsumen internal maupun eksternal.
·
Bertanggung jawab atas kepuasan terkini pelanggan.
·
Melakukan tugas-tugas yang berkaitan dan tanggung
jawab yang diminta, seperti dalam sertifikat dan menuruti rencana dasar
perusahaan untuk membangun kecakapan dalam portfolio pruduk.
·
Membentuk kekompakan maksimum dalam perusahaan bersama
dengan rekan-rekan dalam perusahaan.
5. System
Testing - Document Test Plan
System Testing merupakan proses menjalankan dan mengevaluasi sebuah perangkat lunak secara manual maupun otomatis untuk menguji apakah perangkat lunak sudah memenuhi persyaratan atau belum. Pengujian tersebut dilakukan untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil sebenarnya.
Dari banyak jenis testing, kita akan mencoba dua macam testing, yaitu functional testing dan unit testing.Inti dari Functional Test adalah tester melakukan test berdasarkan dari fungsi-fungsi yang terdapat di aplikasi yang sedang dibangun. Misalnya, fungsi button save, edit, delete. Tester harus bisa membuktikan bahwa record tersebut benar-benar ter-save, edit atau delete.Contoh lain misalnya, saat diminta masukin data (contoh: kode pos), data yang harus masuk adalah angka, ketika sang tester memasukkan huruf atau special character, sistem/aplikasi harus bisa mengeluarkan warning yang memberitahukan kalau data input tersebut salah.
System Testing merupakan proses menjalankan dan mengevaluasi sebuah perangkat lunak secara manual maupun otomatis untuk menguji apakah perangkat lunak sudah memenuhi persyaratan atau belum. Pengujian tersebut dilakukan untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil sebenarnya.
Sedangkan Unit Testing adalah salah satu bagian dari proses construction, di mana unit terkecil dari source code sebuah software yang sedang dikembangkan, diisolasi secara terpisah antara satu dan lainnya, lalu diuji apakah output dari unit tersebut sudah sesuai dengan ekspektasi atau kebutuhan yang ada. Ekspektasi seperti apa yang dimaksud? Ekspektasi yang dihasilkan dari proses design, yaitu behavior yang diharapkan dari unit tersebut. Jika inputnya begini maka target output yang diinginkan seperti apa. Inilah ekspektasi yang dimaksud.
Setelah
dilakukan penyusunan system maka dilakukan pengujian system dengan
tujuan untuk mengetahui masih ada atau tidak kesalahan program,
kekurangan atau system yang disusun, kemudian dilakukan implementasi
system berupa upload keserver dan publishing.
Konsep pengujian testing dan implementasi system informasi
1. Pengujian terhadap mosel system informasi
2. Pengujian terhadap model system
3. Pengujian terhadap lgica, output, relasi data dalam menghasilkan laporan informasi kepada user.
4. Pengujian terhadap tahapan analisis
5. Pengujian tehadap tahapan perancangan
6. Pengjian terhadap keunggulan dan kelemahan software dan hardware yang digunakan
7. Pengujian terhadap kasus yang dibahas.
Prinsip pengujian yang harus diperhatikan
- Dapat dilacak hingga ke persyaratan atau dokumen SRS.
- Pengujian harsu direncanakan sebelum pelaksanaan pengujian.
- Pengujian harus dimulai dari hasl yang kecil, diteruskan ke hal-hal yang besar.
- Pengujian yang berlebihan tidak akan mungkin dapat dilaksanakan.
- Pengujian sebaiknya dilakukan oleh pihak ketiga.
Tujuan Pengujian
- Menilai apakah perangkat lunak yang dikembangkan telah memenuhi kebutuhan pemakai.
- Menilai apakah tahap pengembangan perangkat lunak telah sesuai dengan metodologi yang digunakan.
Strategi Pengujian
Pengujian difokuskan pada unit terkecil dari suatu modul program. Dilaksanakan dengan menggunakan driver dan stub. Driver adalah suatu program utama yang berfungsi mengirim atau menerima data kasus uji dan mencetak hasil dari modul yang diuji. Stub adalah modul yang menggantikan modul sub-ordinat dari modul yang diuji.
Pengujian terhadap unit-unit program yang saling berhubungan (terintegrasi) dengan fokus pada masalah interfacing. Dapat dilaksanakan secara top-down integration atau bottom-up integration.
Pengujian ini dimulai jika pada tahap integrasi tidak ditemukan kesalahan. Suatu validasi dikatakan sukses jika perangkat lunak berfungsi pada suatu cara yang diharapkan oleh pemakai.
Pengujian yang dilakukan sepenuhnya pada sistem berbasis komputer
Pengujian dilakukan dimana sistem diusahakan untuk gagal, kemudian diuji normalisasinya.
Dilakukan untuk menguji mekanisme proteksi.
Teknik Pengujian
Digunakan untuk menguji fungsi-fungsi khusus dari perangkat lunak yang dirancang.
Digunakan untuk mengetahui cara kerja suatu perangkat lunak secara internal.
6. System Documentation
Dokumentasi adalah penyimpanan berbentuk materi tertulis atau dalam bentuk lainnya yang mendeskripsikan bagaimana cara beroperasinya suatu sistem, serta mencakup hal-hal apa saja yang dapat dilakukan program dan prosedur yang harus diikuti oleh user.
Dokumentasi digunakan untuk tujuan-tujuan berikut:
- Pelatihan
- Penginstruksian
- Pengkomunikasian
- Penetapan standar kinerja
- Pemeliharaan system
- Referensi historis
<back to top>