Halaman

Rabu, 02 Oktober 2013

TUGAS2_VMODEL



       I.            PENDAHULUAN


Pada tahun 1986, Federal Ministry for Defense negara Jerman memulai dua proyek teknologi informasi. Kedua proyek tersebut adalah software development environment for information system (SEU-IS) dan software development environment for weapon and weapon delivery systems (SEU-WS). Dalam pelaksanaan kedua proyek tersebut ada beberapa tujuan yang ingin dicapai yaitu:
  • Membuat biaya dan proses-proses yang ada pada seluruh software development process  menjadi jelas.
  •   Menerapkan minimum standard untuk menjamin kualitas perangkat lunak yang dihasilkan.
  •   Melakukan standarisasi dan membuat Software Development Process lebih transparan.
V-Model dikembangkan untuk mewujudkan tujuan di atas. Hal ini disebabkan karena model-model yang ada pada masa itu dirasa belum sesuai dengan kebutuhan yang ada.
Variant pertama V-Model muncul pada tahun 1988 sebagai akibat dari proyek SEU-WS. Lalu pada tahun 1991, variant V-Model yang lebih baru muncul karena proyek SEU-IS. Hal ini terus berlangsung. Begitu dirasa adanya kebutuhan untuk melakukan perubahan maka akan dikembangkan variant V-Model yang baru.

Variant V-Model yang akan dibahas dengan lebih spesifik di sini adalah variant V-Model yang dikembangkan pada tahun 1997. Variant V-Model ini muncul karena adanya perkembangan pada Software Development Process (misal: object orientation).

    II.            PEMBAHASAN

Pengertian
Model ini merupakan perluasan dari model waterfall. Disebut sebagai perluasan karena tahap-tahapnya mirip dengan yang terdapat dalam model waterfall. Jika dalam model waterfall proses dijalankan secara linear, maka dalam V-Model proses dilakukan bercabang. Dalam V-Model ini digambarkan hubungan antara tahap pengembangan perangkat lunak dengan tahap pengujiannya.
V-Model mendefinisikan satu set kumpulan data, yang disebut produk yang terdiri dari topik individu. Produk, yang memiliki koneksi kuat, terlalu diatur oleh kelompok produk yang sama.

Deskripsi
V-Model terdiri dari tiga tahap, secara garis besar tahap-tahap tersebut adalah seperti yang akan dijelaskan di bawah ini:
·         Lifecycle process model
Lifecycle process model menjawab pertanyaan tentang apa yang harus dilakukan. Termasuk dalam tahap ini adalah menetapkan activity apa yang harus dilakukan, hasil apa yang diperoleh dari activity tersebut, dan apa saja yang ada di dalam hasil tersebut.
·         Allocation of methods
Allocation of methods menjawab pertanyaan bagaimana cara melakukannya. Termasuk dalam tahap ini adalah penentuan method apa yang akan digunakan untuk melakukan activity yang sudah ditetapkan pada tahap lifecycle process model.
·         Functional tool requirements
Functional tool requirements menjawab pertanyaan tool apa yang bisa digunakan untuk melakukannya. Termasuk dalam tahap ini adalah penentuan functional characteristic apa yang harus dimiliki oleh tool yang akan digunakan untuk melakukan activity pada tahap lifecycle process model.

Pada setiap tahap di atas ada empat area of functionality yang dikenal dengan sebutan submodel. Keempat submodel tersebut adalah:
·         Project management (PM)
Submodel ini merencanakan, me-monitor, dan mengontrol proyek. Selain itu submodel ini juga mengirimkan informasi pada submodel yang lain.
·         System development (SD)
Submodel ini men-develop software yang ingin dibuat.
·         Quality assurance (QA)
Submodel ini menspesifikasikan standar kualitas yang diinginkan dan memberitahukannya pada submodel yang lain. Submodel ini juga menspesifikasikan contoh test case dan kriteria untuk memastikan bahwa software yang dihasilkan dan proses untuk menghasilkannya berdasarkan dan sesuai dengan standar yang telah ditetapkan.
·         Configuration management (CM)
Submodel ini melakukan administrasi software yang dihasilkan.

Gambaran tentang tahap, submodel, dan hubungan antara tahap dan submodel dalam V Model diatas dapat dilihat pada gambar di bawah ini.

Gambar 1: Arsitektur V-Model


Karakteristik
Model prosedural digunakan untuk pengembangan aplikasi oleh IT-sistem ukuran yang paling beragam dan kompleksitas. Untuk menghasilkan dengan penyelesaian proyek-proyek kecil dan menengah tidak ada pengeluaran tambahan terlalu besar, V-model untuk kondisi proyek caper ukuran, yang mengurangi jumlah kegiatan dan produk dengan ukuran yang diperlukan, mendefinisikan.


Fase

Gambar 2: Fase V-Model


1.  Requirement Analysis & Acceptance Testing
Tahap Requirement Analysis sama seperti yang terdapat dalam model waterfall. Keluaran dari tahap ini adalah dokumentasi kebutuhan pengguna.
Acceptance Testing merupakan tahap yang akan mengkaji apakah dokumentasi yang dihasilkan tersebut dapat diterima oleh para pengguna atau tidak.

2.  System Design & System Testing
Dalam tahap ini analis sistem mulai merancang sistem dengan mengacu pada dokumentasi kebutuhan pengguna yang sudah dibuat pada tahap sebelumnya. Keluaran dari tahap ini adalah spesifikasi perangkat lunak yang meliputi organisasi sistem secara umum, struktur data, dan yang lain. Selain itu tahap ini juga menghasilkan contoh tampilan jendela dan juga dokumentasi teknik yang lain seperti Entity Diagram dan Data Dictionary.

3.  Architecture Design & Integration Testing
Sering juga disebut High Level Design. Dasar dari pemilihan arsitektur yang akan digunakan berdasar kepada beberapa hal seperti: pemakaian kembali tiap modul, ketergantungan tabel dalam basis data, hubungan antar tampilan, detail teknologi yang dipakai.

4.  Module Design & Unit Testing
Sering juga disebut sebagai Low Level Design. Perancangan dipecah menjadi modul-modul yang lebih kecil. Setiap modul tersebut diberi penjelasan yang cukup untuk memudahkan programmer melakukan coding. Tahap ini menghasilkan spesifikasi program seperti: fungsi dan logika tiap modul, pesan kesalahan, proses input-output untuk tiap modul, dan lain-lain.

5.  Coding
Dalam tahap ini dilakukan pemrograman terhadap setiap modul yang sudah dibentuk.


Keuntungan V Model
  • Bahasa yang digunakan untuk merepresentasikan konsep V-Model menggunakan bahasa formal. Sebagai contoh yaitu menggunakan objek model ataupun frame-frame
  • Meminimalisasikan kesalahan pada hasil akhir karena ada test pada setiap prosesnya
  • Penyesuaian yang cepat pada projek yang baru 
  •  Memudahkan dalam pembuatan dokumen projek
  •  Biaya yang murah dalam perawatan dan modifikasinya
  • V-Model sangat fleksibel. V-Model mendukung penambahan dan pengurangan method dan tool secara dinamik. Akibatnya sangat mudah untuk melakukan pembuatan pada V Model agar sesuai dengan suatu proyek tertentu dan sangat mudah untuk menambahkan method dan tool baru atau menghilangkan method dan tool yang dianggap sudah tidak terpakai lagi.
  • V-Model dikembangkan dan di-maintain oleh publik. User dari V Model berpartisipasi dalam change control board yang memproses semua change request terhadap V Model.

Kerugian V Model

  • Aktifitas V-Model hanya difokuskan pada projectnya saja, bukan pada keseluruhan organisasi. V-Model adalah proses model yang hanya dikerjakan sekali selama project saja, bukan keseluruhan organisasi.
  • Prosesnya hanya secara sementara. Ketika project selesai, jalannya proses model dihentikan. Tidak berlangsung untuk keseluruhan organisasi.
  • Metode yang ditawarkan terbatas. Sehingga kita tidak memiliki cara pandang dari metode yang lain. Kita tidak memiliki kesempatan untuk mempertimbangkan jika ada tools lain yang lebih baik.
·         Toolnya tidak selengkap yang dibicarakan. SDE atau Software Development Environment tidak ada tools untuk hardware di V-Model. Tool yang dimaksud adalah “Perangkat lunak yang mendukung pengembangan atau pemeliharaan / modifikasi dari sistem IT. V-Model adalah model yang berbasis objek sehingga hanya bisa digunakan sekali dalam suatu proyek.

·         V-Model terlalu fleksibel dalam arti ada beberapa aktivitas dalam V-Model yang digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang termasuk dalam aktivitas tersebut

Penerapan V-model
V-Model biasa digunakan pada proyek-proyek dengan skala yang besar. Sebagai contohnya yaitu digunakan di Jerman untuk mengatur sistem administrasi pemerintahannya dalam hal ini pada bagian BWB (Bundesamt für Wehrtechnik und Beschaffung = German Federal Office for Procurement).


Sumber:





Pertanyaan :
1.      672011078, Apa yang dimaksud dengan mendevelope software?
Jawab : Adalah sebuah pengembangan, misalkan software hanya bisa menghitung hasil penjumlahan, setelah di develope jadi bisa menghitung perkalian dan pengurangan, jadi lebih berkembang.

2.      672011212, Kenapa dikatakan model project oriented?
Jawab : Hanya berorientasi pada satu objek, jadi tidak bisa dilakukan secara bersama. Hanya satu user yang bisa mengoperasikan dalam satu projek software.

3.      702011037, apa yang dimaksud dari bercabangnya V model?
Jawab: Karena alur proses ini berurutan, seperti yang sudah ada di bagan atas, pada gambar Fase V-Model, Kita bisa membaca dari sudut kiri atas V(requirement) ke kanan, berakhir pada titik kanan atas(acceptance test execution).

Tugas1_RPL



I . PENDAHULUAN
A. Latar Belakang
Berbicara mengenai teknologi pasti tidak akan lepas dari alat elektronik. Seiring dengan majunya perkembangan zaman, semakin canggih pula teknologi yang ada. Salah satunya yang sering kita gunakan adalah komputer atau laptop.
Dari zaman ke zaman komputer selalu berkembang. Mulai dari komputer generasi pertama hingga generasi yang akan datang. Tetapi pada dasarnya fungsi atau kegunaan komputer intinya sama. Dimana mempunyai komponen perangkat keras dan perangkat lunak. Perangkat keras yang sering disebut sebagai perangkat keras pada konputer. Serta perangkat lunak yang sering disebut sebagai perangkat lunak dalam komputer. Perangkat yang akan kita paparkan pada makalah ini adalah perangkat lunak.
B. Rumusan Masalah
1.      Jelaskan pengertian Perangkat Lunak!
2.      Sebutkan dan jelaskan sifat Perangkat Lunak!
3.      Sebutkan dan jelaskan tujuh kategori Perangkat Lunak!
4.      Jelaskan Pengertian Rekayasa Perangkat Lunak!
5.   Jelaskan pengertian Proses Rekayasa Perangkat Lunak, apa dan bagaimana suatu perangkat lunak dikatakan sukses!
C. Tujuan
Makalah Rekayasa perangkat lunak ini kami susun guna :
1.      Memenuhi tugas mata kuliah Rekayasa Perangkat Lunak
2.      Mengasah kemampuan kami dalam menyusun makalah
3.      Mengetahui apa itu perangkat lunak beserta komponen-komponen yang ada di dalamnya.

D. Manfaat
Kami mengharapkan pembaca mengerti sedikit mengenai perangkat lunak dan komponen yang ada di dalamnya melalui makalah ini.

II. PEMBAHASAN
A. Pengertian Perangkat Lunak
Perangkat lunak merupakan sekumpulan data-data elektronik yang tersimpan dan diatur oleh komputer yang berupa program atau instruksi yang dapat dijalankan dengan melalui media manusia untuk menjalankan dan eksekusi suatu perintah.
Perangkat lunak terdiri dari susunan logika dan melibatkan berbagai komponen dalam komputer, seperti sistem operasi, program, dan data yang disimpan atau dibaca. Logika yang ada dalam perangkat lunak tersebut disusun sedemikian rupa sehingga komputer dapat memahami dan menjalankan instruksi yang terkandung didalamnya dan hasilnya dinamakan program executable (EXE).
B.1.     Sifat Perangkat Lunak
1.      Perangkat lunak merupakan elemen sistem logik dan bukan elemen sistem fisik seperti hardware
2.     Elemen itu tidak aus, tetapi bisa rusak.
3.     Elemen perangkat lunak itu direkayasa atau dikembangkan dan bukan dibuat di pabrik seperti perangkat keras.
4.     Perangkat lunak itu tidak bisa dirakit.
B.2.     Jenis-jenis software :

1.      Retail
adalah perangkat lunak yang didapatkan dengan cara pembelian secara sah/resmi kepada produsenya dan berlisensi
2.      Free software (Perangkat Lunak Bebas)
Adalah perangkat lunak yang bebas dalam menggunakan, mempelajari, mengubah, menyalin atau menjual sebuah perangkat lunak, seseorang tidak perlu meminta ijin dari siapa pun.
Untuk menjadikan sebuah perangkat lunak sebagai perangkat lunak bebas, perangkat lunak tersebut tidak harus memiliki sebuah lisensi, atau berada dalam domain publik dan menyediakan akses ke kode sumbernya bagi setiap orang. Gerakan perangkat lunak bebas (free software movement) yang merintis perangkat lunak bebas berawal pada tahun 1983, bertujuan untuk memberikan kebebasan ini dapat dinikmati oleh setiap pengguna komputer.
3.      Open Source
adalah jenis perangkat lunak yang kode sumbernya terbuka untuk dipelajari, diubah, ditingkatkan dan disebarluaskan. Karena sifat ini, umumnya pengembangannya dilakukan oleh satu paguyuban terbuka yang bertujuan mengembangkan perangkat lunak bersangkutan. Produk perangkat lunak yang dihasilkan ini biasanya bersifat bebas dengan tetap menganut kaidah dan etika tertentu.

C.    Kategori Perangkat Lunak
Roger S. Pressman membagi tujuh kategori perangkat lunak, yaitu (Pressman, 2005):
1.      System Software
System software adalah gabungan dari beberapa program yang ditulis untuk melayani program lainnya. Contoh dari system software seperti compilers, editors, dan file management utilities. Adapun contoh lain dari aplikasi system software adalah komponen-komponen sistem operasi, drivers, networking software, telecommunication processors. Pada beberapa kasus system software dikarakteristikkan oleh banyaknya interaksi dengan perangkat keras komputer, pengguanaan besar oleh banyak pengguna, operasi yang membutuhkan penjadwalan, berbagi sumberdaya dan manajemen proses yang canggih, kompleksitas struktur data, dan antar muka eksternal.
2.       Application Software
Application software terdiri dari beberapa program stand-alone yang menyelesaikan kebutuhan bisnis yang spesifik. Aplikasi jenis ini memproses data bisnis sebagai cara untuk memfasilitasi operasi bisnis dan menejemen pengambil keputusan. Pada aplikasi yang memproses data secara konvensional, application software digunakan untuk mengatur fungsi bisnis di waktu nyata (real-time). Contohnya seperti aplikasi points of sale, aplikasi manufaktur yang mengatur kontrol proses secara nyata (realtime).
3.      Engineering / Scientific Software
Kategori perangkat lunak ini, telah digolongkan oleh algortima “number-crunching”, lingkup aplikasi dari astronomi sampai vulkanologi, dari analisis perhitungan otomotif hingga orbit luar angkasa yang dinamis, dan dari biologi molekuler hingga produksi otomatis, aplikasi kategori ini dipergunakan bagi kepentingan riset dan pengolahan perhitungan bidang ilmu terapan (scientific).
4.      Embedded Software
Kategori perangkat lunak ini terletak pada kedalaman sebuah produk atau sistem dan digunakan untuk menjalankan dan mengatur fitur dan fungsi-fungsi untuk kebutuhan pengguna dan sistem itu sendiri. Contohnya adalah tombol pengaturan untuk oven microwave, tombol digital untuk pengaturan penunjuk bahan bakar, sistem pengereman pada kendaraan.
5.      Product-line Software
Dirancang untuk menyediakan kemampuan spesifik bagi pengguna yang beragam. Product-linse Software dapat fokus kepada target pasar tertentu dan terbatas (contohnya aplikasi pengaturan inventori) atau  kepada target pasar acak (contoh word processing, computer graphic, multimedia, entertainment, database management, personal dan business financial applications).
6.      Web Applications
Kategori ini sering disingkat “Webapps”. Dalam versi sederhananya webapps dapat berupa kumpulan file hypertext yang menampilkan informasi menggunakan teks dan grafik yang terbatas. Namun semisal e-commerce dan aplikasi B2B, WebApps berkembang kedalam lingkungan komputer yang kompleks yang tidak hanya mengembangkan features standalone program, fungsi perhitungan kompleks, dan isi kepada penggunannya, tetapi juga terintegrasi dengan database perusahaan dan aplikasi bisnis.
7.      Artificial Intelligence Software (AI)
Pembuatan Artificial Intelligence Software menggunakan algoritma nonnumerical untuk memecahkan masalah yang kompleks yang tidak dapat dilakukan olperhitungan atau analisis langsung. Aplikasi yang termasuk pada kategori ini adalah robotic, expert system, pattern recognition image or voice, artificial neural network, theoremproving, game playing.

D.    Pengertian Rekayasa Perangkat Lunak
Rekayasa perangkat lunak atau RPL, dalam bahasa inggris Software Engineering atau SEadalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangkat lunak dan manajemen kualitas.
          IEEE Computer Society mendefinisikan rekayasa perangkat lunak sebagai penerapan suatu pendekatan yang sistematis, disiplin dan terhitung atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak

E.     Proses Rekayasa Perangkat Lunak, dan bagaimana dikatakan sukses
Dalam proses rekayasa perangkat lunak terdapat tahap dapat yang terus berulang, karena karakteristik perangkat lunak yang membutuhkan pemeliharaan dan continue development agar perangkat lunak tidak kadarluasa. Dalam proses pemelihataan kita melakukan koreksi kesalahan, adaptasi kebutuhan, peningkatan kemampuan atau fungsi dan bentuk pencegahan lainnya agar perangkat lunak tersebut tidak kadarluasa.
Berikut tahapnya:
1.      Pendefinisian tentang rekayasa system apa yang akan dibuat. Diperlukan proses perencanaan dan analisis kebutuhan.
2.      pengembangan, dalam tahap ini adalah bagaimana produk yang telah didefinisikan dengan jelas kemudian akan mulai diimplementasikan.  Maka pada proses pengembangan ini akan dilakukan desain perangkat lunak, kemudian mengenerate koding-koding pembangun program, hingga program siap dites kebenarannya.

Penyebab kegagalan rekayasa perangkat lunak adalah :
1.      Perencanaan yang tidak realistik, terlalu optimis dalam perhitungan.
2.      Sistem pemantauan kerja yang tidak berjalan dengan seharusnya.
3.      Perubahan kebutuhan.
4.      Resiko-resiko lainnya
Jika penyebab tersebut tidak ada dalam proses maupun hasil yang telah dirancang pada rekayasa perangkat lunak, maka perangkat lunak tersebut bisa dikatakan sukses


Sumber:
http://tintasaya.wordpress.com/rekayasa-perangkat-lunak/proses-rekayasa-perangkat-lunak/