Senin, 23 September 2019

ANALISIS REKAYASA KEBUTUHAN

1.   Instagram



Instagram adalah sebuah aplikasi berbagi foto dan video yang memungkinkan pengguna mengambil foto, mengambil video, menerapkan filter digital, dan membagikannya ke berbagai layanan jejaring sosial, termasuk milik Instagram sendiri.

A.    Kebutuhan Fungsional
1)       Adanya fitur pembuatan story atau cerita Instagram.
2)       Dapat mengirim foto dan video ke akun lain.
3)       Adanya fitur mengirim pesan kepada sesama pemilik akun instagram.
4)       Adanya fitur siaran langsung.
5)       User dapat mengunggah status dengan foto.
6)       Menyediakan pencarian untuk menemukan akun orang lain.

              B.   Kebutuhan Non-Fungsional :
1)       Memiliki sistem keamanan yang tidak dapat diakses oleh orang lain.
2)       Memiliki tampilan sistem yang mudah untuk dipahami user.
3)       Pengguna dapat menambah dan juga membuat akun baru.
4)       Instagram dapat diakses melalui web browser.
5)       Sudah tersedia di IOS Apple dan juga OS Android.
6)       Dapat tersambung dengan akun facebook.


2.   Youtube



YouTube adalah sebuah situs web berbagi video. Situs web ini memungkinkan pengguna mengunggah, menonton, dan berbagi video.
A.   Kebutuhan Fungsional :
1)       Adanya fitur mengunggah video.
2)       Adanya fitur untuk mengunduh.
3)       Adanya fitur menonton video.
4)       Adanya fitur subscribe (berlangganan), like (suka) dan komentar kepada sebuah video.

             B.   Kebutuhan Non-Fungsional :
1)       Adanya batasan durasi untuk mengunggah video yaitu berdurasi 15 menit.
2)       Adanya batasan waktu untuk unduhan video yang dapat diperpanjang dengan update.
3)       Batasan ukuran berkas videonya yaitu 2 GB sampai 20 GB.


3.   Tokopedia




Tokopedia merupakan perusahaan teknologi Indonesia dengan misi mencapai pemerataan ekonomi secara digital dan berbasis online. Tokopedia merupakan pasar online dimana penjual menjual barang-barang secara online dalam aplikasi.

A.   Kebutuhan Fungsional :
1)       Memiliki banyak fitur pembayaran.
2)       Adanya fitur pencarian barang untuk mencari barang yang dicari.
3)       Pengguna dapat memesan dan membeli barang yang dipilih dan memilih fitur pembayarannya.
4)       Adanya fitur chat dengan penjual.
5)       Adanya fitur keranjang untuk daftar barang yang akan dibeli.
6)       Pengguna dapat membeli pulsa.
.
B.   Kebutuhan Non-Fungsional :
1)       Pengguna dapat membuat akun Tokopedia.
2)       Pembeli harus mengisi alamatnya, jika membeli sesuatu barang.
3)       Tampilan yang mudah dipahami dan sederhana.


4.   SIAK UPI


Portal SIAKKu merupakan satu-satunya layanan akademik untuk mahasiswa UPI yang terdiri dari seluruh kegiatan utama mahasiswa dan administrasi akademik.

A.   Kebutuhan Fungsional :
1)       Layanan perwalian online, berisi perubahan rencana studi, kontrak mata kuliah online, dan mengatur jadwal mata kuliah.
2)       Memiliki layanan pemberitahuan mengenai Uang Kuliah Tunggal (UKT).
3)       Layanan pemberitahuan tentang berita akademik UPI.
4)       Memiliki layanan berisi jadwal-jadwal penting seputar perkuliahan di UPI.
5)       Layanan menampilkan progress mahasiswa selama perkuliahan, berisi nilai IP dan IPK dan juga jumlah absen selama perkuliahan.
6)       Berisi Data Induk Mahasiswa UPI.
7)       Terdapat layanan pengiriman pesan ke Dosen Wali.

B.   Kebutuhan Non-Fungsional :
1)       Layanan hanya untuk mahasiswa UPI yang terdaftar.
2)       Memiliki batasan waktu yang telah ditentukan dalam pengontrakan mata kuliah.
3)       Jika ingin mengubah data diri, harus menginformasikan langsung ke akademik kampus


Referensi :

UPI, Direktorat TIK. 2019. SIAKKu, Portal SIAK Mahasiswa UPI Terintegrasi [Online]. Tersedia di https://student.upi.edu/ (2019)
https://id.wikipedia.org/wiki/YouTube
https://www.tokopedia.com/about/
https://plus.kapanlagi.com/ramai-dibicarakan-apa-sih-instagram-stories-itu-557c97.html

Minggu, 15 September 2019

SOFTWARE DEVELOPMENT LIFE CYCLE

Incremental Model

Dalam model Incremental ini proses pengerjaan perangkat lunak akan dilakukan dengan metode pengembangan perangkat lunak dimana produk dirancang, diimplementasikan, dan diuji secara bertahap hingga produk selesai sampai menghasilkan perangkat lunak yang lengkap dengan semua fungsi yang diperlukan.



Kelebihan Incremental Model :
  1. Dikerjakan secara urut dan sistematis.
  2. Merupakan model dengan manajemen yang sederhana
  3. Mencegah ketidaknyamanan saat perubahan system. Klien dibiasakan perlahan-lahan menggunakan produknya setiap bagian per-bagian.
  4. Mampu menyesuaikan perubahan kebutuhan klien/customer.
  5. Resiko yang rendah pada pengembangan sistem.
  6. Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga kemudahan pemakaian sistem yang paling di utamakan.
  7. Tahap awal adalan dasar dari pembuatan tahap berikutnya (dikerjakan secara berurutan).
  8. Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat.
  9. Mampu mengakomodasi perubahan kebutuhan customer.
  10. Memaksimalkan pengembalian modal investasi konsumen.
Kekurangan Incremental Model :
  1. Staf dapat ditambahkan jika hasil incremental dikembangkan secara lebih lanjut.
  2. Cocok untuk proyek dengan skala kecil.
  3. Kemungkinan tiap bagian tidak dapat diintegrasikan.


Concurrent Development Model


Concurrent Development Model adalah suatu model pembuatan perangkat lunak yang mengimplementasikan suatu proses kerja yang dilakukan cepat namun dikerjakan secara bersama-sama dengan menjaga komunikasi dengan klien dan tetap efektif dalam mengerjakan berbagai penyelesaian masalah sesuai permintaan klien agar mudah dalam penggunaannya.

Kelebihan Concurrent Development Model :

  1. Hasil yang di dapat akan menghasilkan suatu sistem yang sangat baik karena terdapat perancangan yang terjadi secara besar dan terencana secara matang.
  2. Komunikasi dengan klien terjaga dengan baik.
Kekurangan Concurrent Development Model :

  1. Jika terjadi perubahan besar-besaran, maka akan membutuhkan biaya dan waktu yang besar.

Kelebihan v model:
1.    Sangat mudah untuk melakukan tailoring pada V Model agar sesuai dengan suatu proyek tertentu dan mudah juga untuk menambahkan method dan tool baru atau menghilangkan method dan tool yang dianggap sudah usang.
2.      V Model dikembangkan dan dipertahankan oleh publik. User dari V Model berpartisipasi dalam mengontrol dan menetapkan permintaan.
3.      Penyesuaian yang cepat pada projek yang baru.
4.      Memudahkan dalam pembuatan dokumen projek.

5.      Biaya yang murah dalam modifikasi dan perawatannya.

Kekurangan v model:
1.      V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
2.  V Model terlalu fleksibel yang artinya ada beberapa activity dalam V Model yang digambarkan terlalu abstrak sehingga tidak jelas apa yang dilakukan dalam activity tersebut.
3.      Prosesnya hanya secara sementara
4.      Tidak memiliki kesempatan untuk mempertimbangkan jika ada tools lain yang lebih baik, karena metode yang ditawarkan terbatas.

Kelebihan model Spiral:

1.       Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam mencari kekurangan kebutuhan.
2.       Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
3.      Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer. 
4.       Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
5.     Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
6.   Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif.
7.    Membutuhkan pertimbangan langsung terhadap resiko teknis sehingga mengurangi resiko sebelum menjadi permasalahan yang serius.

Kekurangan model Spiral:

1.  Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer. Karena rata-rata klien tidak percaya pendekatan evolusioner dapat diatur oleh kedua pihak.
2.   Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses. Agar resiko yang buruk tersebut dapat dikendalikan dan diatur.
3.       Belum adanya bukti jika metode ini cukup efisien karena usianya relatif baru.
4.   Membutuhkan waktu yang lama untuk menerapkan paradigma ini menuju kepastian yang absolute.

Kelebihan Rapid Application Development           :
  1. Penghematan waktu dalam keseluruhan fase projek dapat dicapai.
  2. RAD sangat membantu pengembangan aplikasi yang berfokus pada waktu penyelesaian projek.
  3. Perubahan desain sistem dapat lebih berpengaruh dengan cepat.
  4. Sudut pandang user disajikan dalam sistem akhir baik melalui fungsi-fungsi sistem atau antarmuka pengguna.
  5.  RAD menciptakan rasa kepemilikan yang kuat di antara user dan pengembang.


Kekurangan Rapid Application Development   :
  1. Membutuhkan SDM yang cukup besar karena model ini cocok untuk proyek dengan skala besar.
  2. Kinerja dari perangkat lunak yang dihasilkan dapat menjadi masalah jika perangkat lunak yang akan dibangun tidak dapat dibagi menjadi beberapa komponen, sehingga pendekatan dengan model ini kurang bagus.
  3. RAD model tidak cocok digunakan untuk sistem perangkat lunak yang memiliki risiko sangat tinggi, misalnya menggunakan teknologi baru yang belum dikenal dan dikuasai pengembang.
  4. Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi.

     Specialized Process Models
Model proses khusus ini mengambil banyak karakteristik dari satu atau lebih dari model tradisional yang lainnya.

       1.       Component-Based Development,
     Component-Based Development juga dikenal sebagai pembangunan berbasis komponen (CBD) yang mengedepankan konsep reusability (dalam bentuk komponen). Component-Based Development merupakan variasi model spiral. 

  
        2.       The Formal Methods Models
     Formal Methods adalah jenis tertentu dari teknik matematis berbasis spesifikasi, pengembangan dan verifikasi sistem perangkat lunak dan perangkat keras. 


       3.       Aspect-Oriented Software Development (AOSD)
     Aspect-Oriented Software Development adalah teknologi pengembangan perangkat lunak dari sistem software untuk mengisolasi fungsi sekunder atau pendukung dari logika program utama ini dan mengedepankan pendefinisian, penspesifikasian, dan pembangunan aspek.



  


     Agile Method
Agile Method adalah model proses yang menekankan pada fast delivery dari setiap poin aktifitas dalam rangka memperpendek jangka waktu proyek pembangunan perangkat.

 
     Kelebihan dari Agile Method           :
1.      Meningkatkan kepuasan kepada klien.
2.      Dapat melakukan review pelanggan mengenai software yang dibuat lebih awal.
3.      Pembangunan system dibuat lebih cepat.
4.      Mengurangi resiko kegagalan implementasi software dari segi non-teknis.
5.      Jika pada saat pembangunan system terjadi kegagalan kerugian dari segi materi relatif kecil.
     Kekurangan dari Agile Method      :
1.      Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
2.      Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
3.      Tidak cocok dalam skala tim yang besar (>20 orang).
4.      Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.


  
     Scrum
            Scrum adalah sebuah metode iteratif yang termasuk dalam metode Agile tentang bagaimana cara Anda mengelola dan menjalankan sebuah proyek untuk manajemen pengembangan software. 

      Kelebihan dari Scrum          :
      1.      Keperluan berubah dengan cepat.
2.     Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan          satu sama lain.
3.      Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat.
4.      Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun.
5.      Proses Scrum mampu menyatakan bahwa produk selesai kapan pun diperlukan.
      Kekurangan sari Scrum       :
      1.      Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
2.      Lemah dalam perencanaan arsitektur