Rabu, 14 September 2011

tugas

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:
  1. Initiating: perencanaan proyek awal, dalam proses untuk dipilih/disetujui.
  2. Planning: perencanaan adalah proses yang berulang (perhatikan gambar). Perencanaan pada dasarnya menggambarkan proses bagaimana proyek akan dilaksanakan hingga selesai.
  3. Executing: setelah proyek direncanakan, tim proyek memulai pekerjaannya.
  4. Controlling: selama tim proyek mengerjakan tugasnya, project manager mengontrolnya.
  5. 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:
Berikut akan dijelaskan mengenai deskripsi dan fungsi SDM pada proyek rekayasa perangkat lunak.
  1. Software Project Manager
  2. System Analyst
  3. System Design
  4. Programmer
  5. System Testing
  6. System Documentation
1.      Project Manager – Document SDPLN
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:
  1. 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.
  2. Manajer proyek bersama dengan tim manajemen proyek bertanggung jawab menentukan kualitas dan nilai proyek.
  3. Peran dan tanggung jawab dari manajer proyek biasanya kritis pada kebanyakan proyek tapi sangat berarti dalam penerapannya.
  4. Manajer proyek bersama dengan tim manajemen proyek harus mengkoordinir dan mengarahkan berbagai alat penghubung teknis dan organisasi yang ada dalam proyek.
  5. 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.
  6. Manajer proyek bersama dengan pemberi kuasa menyediakan sumber daya organisasi untuk merancang aktivitas proyek.
  7. Manajer proyek juga mempunyai tanggung jawab kepada sumber daya manusia untuk menerima dan melepas bawahannya tergantung atas organisasi atau industri dimana mereka menjadi anggota.
  8. Manajer proyek bertanggung jawab dalam membuat pelaporan rangkap kepada manajer fungsional dan timnya sendiri.
  9. 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 unit program
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 integrasi
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 validasi
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 sistem
Pengujian yang dilakukan sepenuhnya pada sistem berbasis komputer
  • Recovery testing
Pengujian dilakukan dimana sistem diusahakan untuk gagal, kemudian diuji normalisasinya.
  • Security testing
Dilakukan untuk menguji mekanisme proteksi.


Teknik Pengujian
  • Pengujian Black Box
Digunakan untuk menguji fungsi-fungsi khusus dari perangkat lunak yang dirancang.
  • Pengujian White Box
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>



2 komentar:

<> alert("Assalamualaikum ......... ((^_^))");