Senin, 07 Oktober 2013

RESUME TDA -- " Part 3 & 4 "


Nama :: Dyah Ayu Anggraeni
NIM   :: 10410110017
Prodi  :: S1 KA

:: ^^PART 3^^ ::
..:: DOKUMENTASI PROSES ::..

Dokumen yang diproduksi dalam proyek dapat dikategorikan dalam 2 kelas yang berbeda yaitu :
1.   Dokumentasi proses
Dokumen-dokumen ini merekam proses pengembangan dan maintenance.
Rencana-rencana, jadwal-jadwal, dokumen kualitas proses, standar organisasi dan standar proses merupakan dokumentasi proses.

2.   Dokumentasi produk
Dokumentasi ini menggambarkan produk yang sedang dikembangkan. Dokumentasi sistem menjelaskan produk dari sudut pandang teknis dalam mengembangkan dan memelihara sistem. Dokumentasi user menyediakan penjelasan produk yang berorientasi pada user.

: : KATEGORI  PROSES  DOKUMENTASI : :
Proses Dokumentasi dibagi menjadi 5 kategori yaitu :
1.       Perencanaan, perkiraan dan penjadwalan :
       Merupakan dokumen yang dibuat oleh manager yang digunakan untuk memperkirakan dan mengatur proses software.
2.       Laporan/Report :
Merupakan dokumen yang menginformasikan bagaimana sumber daya digunakan saat proses pengembangan.

3.      Standart :
Dokumen yang menjelaskan bagaimana proses itu berjalan. Dokumen – dokumen ini menentukan bagaimana seharusnya suatu proses diimplementasikan. Ada berbagai macam standar mulai dalam lingkup organisasi, nasional bahkan internasional.

4.       Lembar kerja/ working paper :
Sering kali merupakan dokumen komunikasi teknis utama dalam suatu proyek. Mereka merekam ide-ide dan pikiran-pikiran para engineer yang bekerja dalam proyek, yang merupakan dokumentasi produk versi sementara yang menjelaskan strategi pengimplementasian dan penentuan masalah yang telah diidentifikasi. Seringkali dokumen ini mencatat alasan-alasan pemilihan suatu keputusan dalam desain.

5.       Memo dan surat/pesan elektronik :
       Berisi detail percakapan antara manager dan pekerja.

      Karakteristik utama dari dokumentasi proses adalah  hampir semuanya akan menjadi kadaluarsa. Banyak informasi yang akan menjadi tidak  berguna  apabila  telah  terlewati  dan normalnya tidak ada kepentingan untuk tetap menyimpannya setelah sistem/software telah jadi, seperti jadwal / perencanaan pembuatan. Bagaimanapun juga tetap ada beberapa dokumentasi proses yang berguna apabila ada perubahan software yang diinginkan, seperti hasil testing dan lembar kerja yang mencatat alasan-alasan kenapa suatu desain dipilih dalam pembuatan suatu sistem.

      Sistem dokumentasi merupakan keseluruhan dokumen yang berhubungan dengan kebutuhan sistem hingga uji coba sistem tahap terakhir. Dokumen ini menjabarkan rancangan, implementasi dan uji coba dari sistem yang berguna dalam proses perawatannya.

Sistem dokumentasi mencakup :
1.        Dokumen yang menjelaskan spesifikasi dari sistem.
2.        Dokumen yang berisi tentang bagan-bagan sistem.
3.        Deskripsi dari masing-masing bagan tersebut.
4.        Menjelaskan fungsi dari setiap komponen.
5.        Daftar pusat code dari program.
6.        Dokumen hak cipta program dan validasi dokumen menggambarkan bagaimana masing-masing program tersebut divalidasi dan bagaimana validasi informasi.



:: ^^PART4^^ ::
..:: DOKUMENTASI PRODUK ::..
       Dokumentasi produk merupakan gambaran suatu produk software/sistem yang telah jadi.
Tidak seperti dokumentasi proses, dokumentasi produk biasanya berguna untuk waktu yang lebih lama,selama produk tersebut masih di gunakan.

Kualitas teknik Dokumentasi :
                          Kualitas dalam teknik publikasi adalah relatif
-      Kualitas dalam teknik publikasi tergantung pada persepsi seorang pengguna (pembaca)
-      Kesesuaian dengan persyaratan (Crosby, 1979)

Syarat dari teknik publikasi dari sebuah buku :
  • Memberikan nilai/informasi yang baik.
  • Informasi yang digunakan akurat
  • Customer tidak banyak tanya
  • Pengeluaran yang dikeluarkan dengan rendah :
  • Memberikan batasan yang rendah terhadap orang yang tidak suka membaca
  • Mengurangi biaya dukungan dari customer support
  • Tidak banyak turun lapangan tetapi banyak memmbaca buku petunjuk
  • Meningkatkan penjualan

6 langkah dalam proses menulis :
  • Analisa pembaca : Mengetahui dan menganalisa siapa yang akan membaca buku kita sangatlah penting, hal ini dikarenakan agar buku yang telah dibuat tidak salah sasaran.
  • Membuat ringkasan : Agar para pembaca mengetahui definisi awal atau ringkasan dari buku maka perlu ditambahkan untuk menarik minat para pembaca.
  • Mebuat rincian : Setelah ringkasan dapat membuat tertarik para pembaca, tentu saja di dalam buku harus dibuatkan pendefinisian secara rinci mengenai materi yang dibawakan.
  • Memilih gaya dan format yang akan digunakan : Gaya penulisan dan format penulisan perlu diperhatikan agar tidak membuat pembaca merasa bosan dengan isi buku dan juga agar pembaca tertarik untuk membaca buku.
  • Menulis buku manual : Setelah semua bahan di atas dipersiapkan, maka sekarang waktunya untuk menulis bukunya berdasarkan konsep - konsep di atas.
  • Mencoba buku manual : Jika buku sudah dibuat, proses selanjutnya melakukan percobaan kepada para pembaca.
Dokumentasi produk meliputi ::
·      User Documentation : menjelaskan kepada user bagaimana cara mengoprasikan produk software.
·      System Documentation : yang utamanya diperuntukkan bagi teknisi maintenance.

:: USER DOCUMENTATION ::
Pengguna dari suatu Software/sistem tidaklah dapat disamaratakan. Merupakan suatu hal yang penting untuk membedakan antar end-user dengan system administrator.
1.      End-user :
menggunakan software sebagai alat bantu untuk mengerjakan suatu tugas, menulis sebuah buku, mengelola keuangan, bahkan menerbangkan pesawat. Mereka ingin tahu seberapa software dapat memudahkan pekerjaan mereka tetapi tidak ingin tahu detail teknis tentang software tersebut.
2.      System administrator :
bertanggung jawab mengelola dan memelihara software yang digunakan oleh end-user. Dapat berupa operator, network manager, hingga master teknis yang memecahkan segala permasalahan end-user berkaitan dengan software, atau juga penghubung antara user dengan software developer.

:: Tipe-Tipe User Documentation ::
1.    Functional description of software/system :
- Secara singkat menggambarkan kebutuhan sistem untuk menjalankan program
- Servis-servis yang dimiliki (fitur2) aplikasi
- Gambaran umum dr aplikasi (abstraksi)
=>User dapat menentukan apakah aplikasi benar-benar dibutuhkan hanya dengan
membaca functional description dan introductory manual.

2.    The system installation document :
- Diperuntukan bagi system administrator.
- Menyediakan informasi mendetail bagaimana cara menginstall system di lingkungan
system yang spesifik.
- Mencantumkan gambaran file-file apa yang membentuk suatu sistem/aplikasi
- Persyaratan minimum dari hardware yang dibutuhkan.
- File-file(aplikasi) yang harus ada sebelum sistem diinstall
- Cara memulai system/aplikasi
- Cara mengkonfigurasi aplikasi agar berjalan dengan system yang telah ada
=>Adanya installer otomatis untuk aplikasi-aplikasi sekarang membuat para pembuat
S/W memandang tidak perlu adanya dokumen ini, padahal pada kenyataannya
dokumen instalasi ini masih dibutuhkan agar para System manager dapat
menemukan dan memecahkan sumber masalah jika ada problem pada waktu
instalasi.

3. The introductory manual :             
- Menyediakan pengenalan tentang system/aplikasi yang menggambarkan
  fungsi/penggunaan umum dari system/aplikasi tersebut.
- Menjelaskan cara memulai menggunakan program
- Menjelaskan bagaimana para user dapat menggunakan fungsi-fungsi umum yang
  dimiliki aplikasi disertai ilustrasi dan contoh bebas.
- Mencantumkan kesalahan-kesalahan yang umum/sering dilakukan oleh user dan
  cara menyelesaikannya.

4. The system reference manual :
- Menjelaskan semua kegunaan dan fungsi yang dimiliki system/aplikasi
- Mencantumkan semua pesan kesalahan yang dimiliki sistem dan cara mengatasinya
  secara lengkap dan detail
- Penggunaan bahasa resmi dan teknik bisa digunakan
=>Mencantumkan secara lengkap fitur dan cara operasional dari system/aplikasi

5. System administrator guide :
- Installation + system reference manual.
 
:: SYSTEM DOCUMENTATION ::

     System Documentation mencakup semua gambaran sistem itu sendiri mulai dari spesifikasi kebutuhan hingga hasil pengetesan yang dapat diterima (final acceptance test plan). Dokumen – dokumen yang menggambarkan bagaimana desain, implementasi dan pengetesan suatu sistem merupakan dokumen penting untuk bisa memahami dan memaintain
software tersebut.

       Untuk suatu sistem besar yang dikembangkan dalam rangka memenuhi spesifikasi
kebutuhan dari pelanggan, sistem documentation harus mencakup :
1.  Dokumen yang mencatat kebutuhan pelanggan dan alasan-alasannya.
2.  Dokumen yang menggambarkan arsitektur dari sistem
3.  Untuk setiap program yang ada pada sistem, gambaran arsitektur dari program tersebut.
4. Untuk setiap komponen sistem, gambaran dari fungsionalitas / kegunaan dan interface-  interfacenya.
5. Listing kode program. Harus disertai komentar-komentar yang dapat menjelaskan bagian- bagian program yang kompleks beserta alasan penggunaan metode pengkodean tersebut. Apabila penamaan yang baik dan struktur pemrograman yang baik telah digunakan, listing kode tersebut akan lebih mudah dipahami tanpa memerlukan komentar tambahan.
6. Dokumen validasi. Menjelaskan bagaimana setiap program divalidasi dan kaitannya  dengan spesifikasi kebutuhan yang diinginkan oleh pelanggan.
7.  Panduan sistem maintenance, yang menjelaskan permasalahan-permasalahan yang telah diketahui dapat terjadi pada sistem.

SUMBER::



Senin, 30 September 2013

RESUME TDA ( Part-2 )



Nama :: Dyah Ayu Anggraeni
NIM   :: 10410110017
Prodi  :: S1 KA


:: DOKUMENTASI  PROSES ::
Dokumentasi proses merupakan pendekatan praktis untuk mengelola dan mempersiapkan dokumen yang diperlukan untuk menerapkan sistem. Dokumentasi proses adalah proses pertama dalam aktivitas peningkatan. Dokumentasi proses pada dasarnya dapat dilakukan pada dua saat yang berbeda, yaitu:
1.      Satu per satu terkait dengan proyek yang melibatkan proses tertentu.
     Proses baru didokumentasikan jika sebuah proyek atau aktivitas lain dimulai untuk meningkatkan              proses tersebut.
2.       Keseluruhan di awal yang bersifat umum.
      Dilakukan dengan melihat keseluruhan perusahaan dan dokumentasi seluruh atau sebagian besar proses bisnis.
       Sistem dokumentasi merupakan keseluruhan dokumen yang berhubungan dengan kebutuhan sistem hingga uji coba sistem tahap terakhir. Dokumen ini menjabarkan rancangan, implementasi dan uji coba dari sistem yang berguna dalam proses perawatannya.

Proses Dokumentasi dibagi menjadi 5 kategori yaitu :
1.        Perencanaan, perkiraan dan penjadwalan adalah dokumen yang dibuat oleh manager yang digunakan untuk memperkirakan dan mengatur proses software.
2.        Laporan/Report, merupakan dokumen yang menginformasikan bagaimana sumber daya digunakan saat proses pengembangan.
3.        Standart, dokumen yang menjelaskan bagaimana prose situ berjalan.
4.        Lembar kerja/ working paper , Sering kali merupakan dokumen komunikasi teknis utama
dalam suatu proyek. Mereka merekam ide-ide dan pikiran-pikiran para engineer yang
bekerja dalam proyek, yang merupakan dokumentasi produk versi sementara yang
menjelaskan strategi pengimplementasian dan penentuan masalah yang telah
diidentifikasi. Seringkali dokumen ini mencatat alasan-alasan pemilihan suatu
keputusan dalam desain.
5.        Memo dan surat/pesan elektronik, berisi detail percakapan antara manager dan pekerja.

System Development Life Cycle ( SDLC ) ::
Suatu proses pengembangan sistem informasi melalui investigasi, analisis, desain, implementasi dan pemeliharaan.

Perlunya SDLC ::
•      Sistem informasi bersifat dinamis (isi maupun lingkungannya)
•      Pembangunan sistem informasi tidak linier
•      Kebutuhan pemakai berkembang
•      Supply vs demand driven

Tahapan dari SDLC ::

1.  Planning (Perencanaan)
2.  Analysis (Analisa)
3.  Design (Perancangan/Desain)
4.  Implementation (Implementasi/Penerapan)
5.  Use (Penggunaan)

Ada 2 Metode yang sering di gunakan  untuk proses dokumentasi, yaitu :
1.    Metode Waterfall (Pendekatan tradisional)
2.    Metode Agile

A.  METODE WATERFALL
       Model Waterfall adalah sebuah metode pengembangan software yang bersifat sekuensial dan terdiri dari 5 tahap yang saling terkait dan mempengaruhi.


 
         

Waterfall, merupakan SDLC tertua karena sifatnya yang natural. Urutan SDLC waterfall ini bersifat serial dari proses perencanaan, analisa, desain, dan implementasi pada sistem. Model ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan.

Kelebihan dari Metode Waterfall :
-   Merupakan model pengembangan paling handal dan paling lama digunakan.
-   Cocok untuk system software berskala besar.
-   Cocok untuk system software yang bersifat generic.
-   Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol.
     
      Kekurangan dari Metode Waterfall :
-   Persyaratan system harus digambarkan dengan jelas.
-   Rincian proses harus benar-benar jelas dan tidak boleh berubah-ubah.
Partisi projek ke stages yang berbeda tidak fleksibel. Hali ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna Oleh sebab itu model ini hanya cocok digunakan apabila kebutuhan pengguna sudah dimengerti dengan baik.

B.       METODE AGILE
            Agile methods merupakan salah satu dari beberapa metode yang digunakan dalam pengembangan sooftware. Agile method adalah jenis pegembangan sistem jangka pendek yang memerlukan adaptasi cepat dan pengembang terhadap perubahan dalam bentuk apapun. Dalam Agile Software Development interaksi dan personel lebih penting dari pada proses dan alat, software yang berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari pada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting daripada mengikuti rencana.
Agile Method juga dapat diartikan sekelompok metodologi pengembangan software yang didasarkan pada prinsip-prinsip yang sama atau pengembangan system jangka pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun.

Kelebihan dari Agile Method :
1.    Meningkatkan kepuasan kepada klien
2.    Pembangunan system dibuat lebih cepat
3.    Mengurangi resiko kegagalan implementasi software dari segi non-teknis
4.    Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi relative kecil.

Kekurangan dari Agile Method :
1.     Membutuhkan manajemen tim yang terlatih dan mempunyai ilmu yang sudah tinggi.
2.     Agile jarang dipraktekkan secara langsung.
3.     Agile  sulit  diimplementasikan  dalam  proyek  yang berskala besar.
4.     Lemah dalam perencanaan arsitektur
5.     Keterbatasan waktu dalam perencanaan proyek.

Berikut ini diberikan suatu contoh dokumentasi perancangan suatu sistem komputer
yang berisi :
1. Kebutuhan pengguna
2. Spesifikasi
3. Disain
4. Implementasi dan pemilihan teknologi
5. Pengujian
6. Aplikasi
• Lampiran
 

1.   Kebutuhan pengguna (user requirement) 
          Bagian ini menjelaskan kebutuhan dari sistem baik, dari sis pengguna, fungsi maupun teknologi. Bagian ini terdiri dari :  
Definisi Kebutuhan (Requirement definition )  
          Bagian ini mendefinisikan kebutuhan dan hal-hal yang berkaitan dengan kebutuhan akan sistem secara menyeluruh. Biasanya dalam kasus kondisi sebenarnya, dokumen ini harus disetujui oleh pemberi kerja dan pelaksana kerja. Bagian yang dibahas dalam dokumen ini adalah : 
·       Purposeful requirement.
     Menjelaskan mengapa kebutuhan itu perlu dipenuhi
·       Functional requirement.
     Apakah fungsi sebenarnya yang dibutuhkan oleh user dari sistem ini.
·       Nonfunctional requirement
     Dan kebutuhan sistem yang tidak berkaitan dengan fungsinya yang melibatkan seperti, bisa dimodifikasi,    testing, dan portabilitas
·       User Profile
     Menerangkan tentang pengguna dari sistem ini, terutama yang berkaitan dengan tingkat pengenalan terhadap teknologi yang akan diterapkan.

                         
2.   Spesifikasi 
           Pada bagian ini dijabarkan spesfikiasi detail dari sistem yang harus dibuat, spesifikasi   ini meliputi hal-hal berikut ini :
·       Spesifikasi siklusi operasi sistem (System Operating Cycle Spesification )
    Dalam bagian ini dijelaskan siklus penggunaan sistem ini, tujuan untuk mendapatkan spesfikasi teknis terutama akan berguna pada bagian implementasi. Sistem fault tolerant 24 jam akan berbeda dengan sistem yang beroperasi 1 jam sehari.Begitu juga siklus kerja sistem, atau langkah kerja satu demi satu dispesfikikasikan. 

·       Spesifikasi fungsional  
     Pada bagian ini dijabarkan fungsi dari sistem yang akan dibuat.

·       Spesifikasi kinerja  
                 Pada bagian ini dijelaskan performansi / unjuk kerja yang ingin dicapai serta   kemungkinan keterbatasan   di dalam penggunaan sistem. Setiap kebutuhan diusahakan dispesifikasikan dengan jelas, termasuk karakteristik elektris dan fisis.

3.     Disain
                    Pada bagian ini diterangkan metoda dari solusi yang digunakan untuk memenuhi kebutuhan yang telah dispesifikasikan pada bagian terdahulu. Yang dijelaskan dalam bagian ini adalah langkah perancangan dari solusi yang ditawarkan. Sedapat mungkin harus dipisahkan antara perancangan dan implementasi. Pada perancangan diusahakan sedapat mungkin yang dilakukan adalah memodelkan solusi secara logika atau secara algoritmis. Tanpa terkait erat dengan teknologi yang digunakan dalam proses implementasi dari model. Keterkaitan implementasi hanyalah menjadi constraint dari model bukan menjadi dasar disain.

4.   Implementasi dan pemilihan teknologi 
            Pada bagian ini dijelaskan metoda dan peralatan yang digunakan untuk mengimplementasikan solusi yang telah diajukan dalam bagian disain. Sebaiknya alasan pemilihan teknologi yang digunakan haruslah dijabarkan pada bagian ini. Misal alasan pemilihan suatu jenis komponen perlu diberikan dengan jelas dalam bagian ini, misal mengapa memilih CMOS atau TTL.
Dalam bagian implementasi diterangkan skema atau diagram yang digunakan, baik elektronis, fisis, ataupun keterangan program dengan menggunakan metoda diagram yang sesuai. Misal untuk rangkaian elektronis menggunakan skema elektronis, sedangkan untuk program dengan ow chart, dan lain lain.
Sebelum dilakukan pemilihan teknologi atau level alat yang digunakan maka harus dilakukan estimasi terhadap beberapa hal :
  Estimasi waktu untuk mengembangkan sistem
  Estimasi panjangnya program
  Estimasi kebutuhan memori
  Estimasi kecepatan eksekusi
Juga harus dipertimbangkan pembagian antara software dan hardware . 


5.   Pengujian (testing)
            Bagian ini menunjukkan kerja dari sistem baik untuk masukan yang bersifat normal, ataupun untuk masukan yang di luar ambang normal. Setiap pengujian dilakukan dokumentasi sebagai bukti otentik kemampuan sistem. 
Pada dasarnya disamping testing yang bersifat testing dalam kondisi operasi, akan baik pula bila dilakukan testing berikut ini :
·       Recovery testing.
     Pengujian dilakukan untuk mengetahui kemampuan sistem, untuk mengembalikan ke kondisi normal setelah suatu masukan atau kondisi di luar dari yang dispesfikasikan.  Untuk sistem-sistem yang bersifat fault-tolerant, jenis pengujian ini merupakan suatu   kewajiban.
·       Stress testing.
   Pengujian ini dilakukan untuk mengetahui kemampuan sistem dalam menangani beban kerja yang berat, sangat baik untuk mengetahui kemampuan maksimal dari sistem.
·       Security testing.
    Testing ini dilakukan untuk jenis-jenis aplikasi yang berkaitan dengan keamanan sistem,baik dari pengguna yang melakukan kesalahan tidak sengaja,ataupun sengaja.
     Dapat digunakan beberapa metodologi testing:
·       Use-Case
·       White Box
·       Black Box
·       Loop testing
      
Dapat digunakan beberapa satuan untuk menunjukkan hasil kerja sistem, bila dalam perangkat keras telah jelas besaran yang digunakan misal : frekuensi response, slew rate dll. Untuk perangkat lunak dapat digunakan : software metric, cyclomatic complexity. Pada dasarnya suatu testing akan melakukan : 
·       Verifikasi.
     Menjamin bahwa sistem benar-benar bekerja sesuai fungsinya.
·       Validasi .
     Menjamin bahwa sistem benar-benar memenuhi keinginan pemakai. 


. . . : :SUMBER: : . . .