Selasa, 20 September 2011

Resume Kuliah Teknik Dokumentasi Aplikasi - Pertemuan 2

Resume 2
Mata kuliah : Teknik Dokumentasi Aplikasi
Dosen :
Ayuningtyas, S.Kom.,M.MT.,- MOS


Dokumentasi Perencanaan Proyek

Aktifitas Perencanaan Pengembangan perangkat lunak :
  • Memilih suatu model untuk proses pengembangan
  • Mengontrak dan menyusun team pembuat software
  • Membeli atau menyewa perangkat keras/lunak yang dibutuhkan
  • Memilih produk berpotensi berdasarkan pengalaman keorganisasian, sumber daya, dan tujuan.
  • Mengevaluasi informasi pasar mengenai viablitas produk
  • Mengestimasi biaya, jadwal, tersiko dan harga dari produk
  • Memilih bentuk laporan dan cara pengukuran perkembangan proyek
  • Memilih notasi untuk spesifikasi dan perancangan
  • Memilih bahasa pemrograman
  • Meletakkan standard untuk dokumentasi, coding, verifikasi dan pengujian
  • Memilih mekanisme pengaturan konfiguras
  • Menyiapkan bahan dan personil untuk instalasi
Beberapa dokumen yang biasa digunakan adalah :
  •  Project plan
  •  Spesifikasi disain
Dokumentasi Perencanaan Proyek 
1. Pengantar
  • Deskripsi masalah
  • Deskripsi lingkungan masalah
  • Tujuan client,organisasi dan sistem
  • Solusi dan ruang lingkupnya
2. Proposal
  • Fungsi yang diberikan pada solusi yang diajukan
  • Strategi umum untuk pengambangan solusi
  • Peran pengguna dan perangkat keras pada solusi
  • Keuntungan dan kerugian solusi tersebut
3. Keterbatasan Sistem (Constraint) 
  • Prioritas customer
  • Profil pengguna
  • Usia pengharapan produk
  • Pra-syarat kendala (reliabilitas)
  • Pra-syarat kinerja
  • Solusi Alternatif
  • Solusi feasible
  • Ketersediaan pada lingkungan pengguna
4. Estimasi 
  • Jadwal
  • Staf dan Organisasi
  • Budget
  • Analisis Cost/Benefit
  • Analisis resiko
  • Dokumen yang diberika
  • Perangkat lunak yang dibutuhkan
  • Fasilitas dan perangkat keras yang dibutuhkan
5. Prosedur 
  • Model proeses
  • Metodologi dan notasi
  • Standardisasi dan jaminan kualitas
  • Accountability monitoring
  • Kendali produk
  • Data pengujian dan sumber data
  • Kriteria akseptansi dan metoda pembayaran
6. Referensi
  • Dokumentasi yang digunakan dalam pengembangan
  • Kamus istilah
  • Kontrak yang diusulkan (jika ada)

5Dokumentasi Spesifikasi Disain

Dokumen ini pada dasarnya menerangkan tentang kebutuhan sistem yang akan dibuat. Beberapa paradigma perancangan akan menentukan model disain dan notasi. Beberapa pendekatan disain adalah :
  • Access-oriented design
  • Data-structure-oriented design
  • Data ow design
  • Functional design
  • Imperative design
  • Object-oriented design
  • Parallel design
  • Real-time design
  • Rules-oriented design
  • User centered design
Suatu dokumen spesifikasi disain terdiri dari : 

1. Pendahuluan
  • Garis besar permasalahan
  • Lingkungan aplikasi dan karakteristik pengguna
  • Notasi yang digunakan dalam disain
  • Tujuan proyek

2. Spesifikasi secara singkat
  • Fungsi perangkat lunak
  • Teknik yang digunakan untuk menyelesaikan masalah ini terutama ketika disainer tidak memiliki pengetahuan khusus
  • Kinerja yang harus dicapai
  • Deskripsi data
  • Hubungan data
  • Prioritas implementasi
  • Spesifikasi real time
  • Spesifikasi interakasi manusia dan mesin yang digunakan.
  • Batasan
  • Eksepsi
  • Modifikasi dan perawatan yang diprediksi

3. Disain arsitektur
  • Modul hirarki dan diagram interface
  • Deskripsi fungsi dan data
  • Spesifikasi interface

4. Disan secara ditail
  • Untuk tiap modul :
−   Deskripsi modul dan spesifikasi interface
−   Deskripsi proses
−   Definisi struktur data
−   Pra-syarat inisialisasi
−   Spesifikasi penanganan eksepsi
− Alternatif disain, untuk tiap disain yang ditolak disertakan keterangan alasan penolakanserta kondisi yang menyebabkan disain yang terpilih.

5. Referensi

  • Dokumentasi yang digunakan untuk mengembangkan disain
  • Daftar terminologi

-       Syarat instalasi
-       Spesifikasi penanganan ekspresi
-       Alternatif desain

Contoh model dokumentasi

Berikut ini diberikan suatu contoh dokumentasi perancangan suatu sistem komputer

yang berisi :

• Bagian 1. Kebutuhan pengguna

• Bagian 2. Spesifikasi

• Bagian 3. Disain

• Bagian 4. Implementasi dan pemilihan teknologi

• Bagian 5. Pengujian

• Bagian 6. Aplikasi (bila perlu)

• 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.

Analisis Kebutuhan (Requirement Analysis )
      Bagian ini akan menganalisis kebutuhan yang dijabarkan pada bagian sebelumnya serta kaiatannya dengan hal-hal yang mempengaruhi pelaksanaan ataupun pemilihan solusi. 

  • Requirement prioritisation.
Menjabarkan kebutuhan mana yang terpenting dari kebutuhan-kebututhan yang timbul untuk sistem yang akan dibuat tersebut.
  • Constraint and Risk Analysis.
Memahami halangan dan resiko yang ada untuk mengimplementasikan model dan mengaplikasikan sistem ini.
  • Trade-off analysis.
Mengetahui hal-hal yang saling bertentangan dalam perancangan, pengimplementasian serta pengaplikasian dari solusi.

Model Kebutuhan (Requirement model ),
     Bagian ini menyusun model kebutuhan tersebut menjadi suatu bentuk model kebutuhan. Disusun atas hierarchical (functional) model dari prioritas, risk functional, non-functional requirement dan suatu prototype yang interactive. Model ini digunakan untuk mengurangi ketidak pastian kebutuhan sistem, sehingga tercapai kesepakatan antara pemberi kerja dan pelaksana kerja.
  •  Functional model
  • Exploratory prototype
  • Requirement trace
  • The conceptual model
Joint Requirement Planning Diagram, dapat digunakan untuk mendapatkan user requirement. 

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.
 
- Essential Capabilities.
Dijabarkan fungsi utama dari sistem. Ini merupakan fungsi minimal yang harus dipenuhi oleh sistem yang dibuat.
- Additional Capabilites
Dideskripsikan fungsi tambahan yang timbul karena dipenuhi dan digunakan sistem ini.
- Future Capabilities
Menjelaskan fungsi pada masa datang dari sistem ini. Penjelasan ini erat kaitannya dengan marketing strategy, technological, dan Sales 
  • Komponen sistem
     Pada bagian ini dijabarkan komponen-komponen yang dibutuhkan untuk sistem secara keseluruhan. Termasuk software, hardware, user, dan organisasi penunjang. Untuk mempermudah penjabaran pembagian tugas antar komponen dapat dilakukan process decomposition dan penjabaran relationship antar komponen.
  • 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.
• Characteristics and Constraints
Dijabarkan karakteristik tiap komponen pendukung sistem, termasuk karakteristik fisis, elektris, maupun karakteristik perangkat lunak (misal user friendly, interaktif). Juga dijabarkan keterbatasan di dalam penggunaan sistem (misal pengguna harus menggunakan kaki sebagai masukan).
• Physical characteristics
Dijabarkan bentuk luar dari sistem secara keseluruhan. Misal ukuran berat dan lain-lain.
• Environmental characteristics
Lingkungan tempat kerja dari sistem ini
• Human Factors
Dijabarkan pengaruh manusia di dalam operasi sistem, baik sebagai penentu operasi, misal dalam decision making system, atau supervised control system. Juga pengaruh manusia dalam menimbulkan ketidak-akuratan atau kesalahan sistem. 


Untuk mempermudah proses spesifikasi dapat digunakan prototyping, contoh I/O screen, contoh keluaran. Proses pelaksanaan spesifikasi ini dalam pelaksanaan proyek sesungguhnya biasanya menggunakan metoda formal Joint Application Design (JAD).
 
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. Langkah-langkah disain akan sangat bergantung pada model dari sistem yang dibuat. Pada dasarnya akan meliputi : 


1. Disain sistem utama
Diagram blok
Sebagai langkah pertama adalah menggambar blok pembangun sistem secara keseluruhan juga digambarkan interface antara kedua bagian tersebut. Blok diagram terdiri dari 2 bagian :
• Dunia di luar sistem
• Sistem
Flow of control
Dapat menggunakan Algoritmic State Machine (ASM). Yang menerangkab kondisi-kondisi yang mungkin dari sistem serta transisi dari satu kondisi ke kondisi lainnya. Diturunkan dari operasi sistem.
  • Representation of Data Flow
Menggambarkan aliran data serta transformasi yang dialami data tersebut dalam sistem
  • Decomposition into functions
Membagi-bagi fungsi secara keseluruhan menjadi sub sistem dengan sub fungsinya. Dapat digunakan Tree Diagram.
  • Relationship among function.
Dijelaskan hubungan antar sub sistem dengan kaitannya terhadap subfungsinya. 
  • Module spesification
          Dalam memilih diagram atau notasi untuk mendisain perlu diperhatikan beberapa point :
  • Suatu alat bantu untuk berfikir secara jelas
Suatu diagram yang baik akan membantu orang untuk memahami ide yang kompleks. Suatu diagram notasi harus direncanakan untuk mempermudah cara fikir dan komunikasi dan untuk berfikir yang berbantukan komputer. Diagram merupakan alat bantu
  •  Mudah dimengerti
Suatu diagram harus digunakan bila memiliki pengertian yang jtelah dikenal. Harus dihindari simbol yang sulit dijelaskan.
  • Sebagai alat bantu untuk komunikasi dengan end-user
End user harus dapat memahami disain dan memberikan masukan kepada disainer. Jadi penggunaan notasi yang membingungkan end-user sebaiknya dihindari. 

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. 

Dokumentasi tambahan

Manual penggunaan 
Bagian ini berisis manual yang memberikan petunjuk cara pengoperasian alat. Secara singkat diberikan petunjuk pemakaian dari program tersebut. Terutama tentang menu-menu dari program ini. Terdiri dari : 

1. Pengantar
• Tujuan dari produk
• Lingkungan operasi
• Fungsi secara umum
• Fitur khusus
• Keterbatasan
• Keterangan dan notasi dokumen ini

2. Installasi
• Persyaratan minimal sistem yang dibutuhkan
• Menyalin dan memback-up
• Proses instalasi
• Menkon_gurasi /kustomisasi produk

3. Tutorial
• Penjelasan langkah-demi langkah dengan contoh
• Penjelasan tiap contoh
• Pengembangan dari contoh dasar
• Penggunaan Help online dan petunjuk penggunaan (manual)

4. Instruksi ditail
• Keluaran dari produk
• Masukan untuk produk
• Pengoperasian produk
• Penanganan error
• Fungsi khusus 

5. Ditail teknis

• Prinsip dari operasi

• Fitur lanjutan

• Algoritma utama yang digunakan

• Struktur data utama

• Modifikasi produk

• Cara memperoleh dukungan teknis dan informasi lanjutan


Maintenance Manual 


Bagian ini menerangkan tata cara perawatan dan pengelolaan sistem yang baik, agar sistem dapat beroperasi dengan aman dan memberikan fungsinya sebaik mungkin Dibagi menjadi :

• Maintenance Manual.

Sub bagian ini hanya memberikan tentang tata cara perawatan baik secara elektris, fisis maupun perawatan perangkat lunak yang harus dilakukan.

• Trouble shooting Manual.

Sub bagian ini memberikan petunjuk tentang yang harus dilakukan oleh pengguna sistem bila terjadi kerusakan, atau ketidak normalan kerja sistem.

• Tingkat kerusakan yang ditulis biasanya hanyalah sampai pada level yang ringan dan tak perlu penanganan secara khusus.


Dokumentasi testing

Untuk menunjukkan performansi dari sub sistem dan sistem dijabarkan pada bagian ini. Testing bisa dilakukan untuk :

• Sub rutin yang penting

Ini dilakukan dengan cara memasukkan nilai input ke sub rutin tersebut dan hasil dari sub rutin tersebut di-print. Hal ini dilakukan untuk sub-rutin yang pokok. Nilai input yang digunakan adalah nilai input yang menunjukkan kerja dari sub rutin tersebut.

• Program secara keseluruhan

Ini dilakukan dengan memberikan suatu nilai input tertentu, yang sudah diketahui outputnya. Dengan membandingkan hasil program dan acuan tersebut bisa dilihat hasil kerja dari program tersebut.


Dokumentasi source code 

Untuk dokumentasi dari satu program harap dilakukan :

• Penamaan variable, constanta, procedure, function yang jelas dan menunjukkan fungsinya. Usahakan seragam dan jelas serta konsisten.

• Pada header setiap prosedur harus dilengkapi dengan keterangan :

o Fungsi dari prosedur, dan algoritma yang digunakan (jika spesikasi)

o Variable lokal masukan, dan variable lokal keluaran

o Variable global yang digunakan, variable global yang dipengaruhi. 
Pada header dari program utama diberikan :

o Nama penulis program

o Editor

o Compiler dan Library yang digunakan

o Versi dan upgrade history

o Tanggal pembuatan software

o Deskripsi singkat tentang software

• Sedangkan pada tiap modul diberikan informasi

o Nama modul :

o Fungsi :

o Parameter interface dan modus :

o Preassertion :

o Postassertion :

o Dampak global dan sampingan :

o Exception :

o Prasyarat perangkat keras dan sistem operasi :

o Catatan pembuatan dan modi_kasi :

o Algoritma :

o Struktur data utama :

o Called by:

o Calls : 


Dokumentasi testing 

Biasanya terdiri dari

• Kebutuhan (menyatakan ulang dari dokumentasi spesikasi)

• Metodologi verikasi disain, jadual dan pihak yang bertanggung-jawab

• Metodologi verikasi kode, jadual, pihak yang bertanggungjawab

• Response data pengujian, jadual dan pihak yang bertanggungjawab

• Rencana pengujian

• Fitur dan sisi yang akan diujikan

• Personal yang bertanggungjawab serta jadual

• Perangkat bantu atau program bantu yang dibutuhkan

• Data pengujian dan instruksi pengujain

• Hasil pengujian yang diharapkan

• Hasil pengujian sesungguhnya, serta analsisi (jika ada)




Referensi
Download pada Link  :  
- Link 1
 






Tidak ada komentar:

Posting Komentar

Blogger templates

Twitter Delicious Facebook Digg Stumbleupon Favorites More