Kamis, 17 Januari 2013

Definisi Dan Contoh Software Development

                    Software development adalah salah satu tipe proyek dalam bidang IT yang berfokus pada menciptakan ataupun mengembangkan sebuah perangkat lunak. Software development sendiri bisa diperinci menjadi beberapa proses :
  • Menciptakan sebuah perangkat lunak untuk memenuhi kebutuhan manusia.
  • Mendesain software.
  • Mengembangkan sebuah software aplikasi pada perusahaan.
  • Mengembangkan sebuah platform.
                  Karena kerjanya yang tidak nampak (software) pekerjaan ini memiliki tingkat kesulitan yang tinggi, maka dari itu tidak sedikit software development yang gagal menjalankan kegiatannya dengan baik kegagalan tersebut banyak dikarenakan oleh proses pengerjaan sebuah proyek yang tidak sesuai dengan rencana awal. Salah satu tingkat kesulitannya adalah seorang software developer harus membuat sebuah software yang nantinya bisa dikembangkan lagi dan seorang software defeloper dituntut untuk bisa mendokumentasikan dengan baik setiap source code yang mereka gunakan sehingga seorang user dapat memahami dan memanfaatkan softwarenya dengan baik.

                Secara garis besar sebuah software development terbagi menjadi beberapa, yaitu :
       1. Planning

              Tahap ini adalah tahap paling awal dalam dunia software development, namun proses ini juga yang menjadi penentu keberhasilan software development tersebut dan langkah yang akan menghasilkan.
              - Proses kerja yang jelas antar anggota.
              - Timeline
              - Anggaran dana
Dalam hal ini juga dibutuhkan sebuah ketua proyek yang tegas dan jelas dalam penandatanganan kontrak, selain berisi tentang estimasi dana , kontrak kerja juga harus berisi batasan – batasan pengerjaan proyek yang jelas. Hal ini untuk mengantisipasi agar tim proyek tidak terikat oleh penambahan – penambahan modul yang nantinya mungkin terjadi.
       2. Requirement And Specification 
              Tahap ini dilakukan untuk menentukan fitur – fitur apa saja yang tepat serta yang dibutuhkan oleh software yang akan dibuat. Tahap ini dapat dilakukan dengan cara interview, observasi, dan studi pustaka.
       3.   Architecture and Design
              Tahap ini untuk menentukan detail – detail sistem yang akan digunakan, tahap ini bertujuan untuk menentukan desain keseluruhan dari software yang meliputi : konseptual database, sistem keamanan, dan interface.
        4. Implementation And Testing
               Tahap ini mulainya pembuatan sebuah software dengan berpedoman pada tahap – tahap sebelumnya yang telah ditetapkan. Sedangkan tahap testing merupakan tahap serangkaian pengujian terhadap software yang telah dibuat untuk menentukan kapabilitas dari sebuah software. Testing sendiri terbagi menjadi beberapa tahap pengujian : security testing, performance testing, stress testing, recovery testing.
       5. Development and Maintenance
              Kedua tahap terakhir ini adalah dimana software telah digunakan oleh user. Terdapat 2 hal penting yang ada pada tahap ini, antara lain : Training penggunaan software, Pemantauan software. Pemantauan ini dilakukan untuk melihat kestabilan dari sebuah software yang telah dibuat. Kestabilan bisa dinilai dari dengan tidak adanya bug yang muncul selama penggunaan software tersebut.

          Beberapa metode dibuat untuk menerapkan tahapan – tahapan diatas, diantaranya adalah :
Waterfall,  tahap – tahap diatas dikerjakan secara berurutan
Prototype, telah ada sebuah prototype ata software sebelum untuk kemudian dikembangkan sehingga tahap observasi tidak perlu dilakukan.
Incremental, Waktu keseluruhan pengerjaan proyek dibagi menjadi beberapa bagian yang lebih kecil,         kemudian tahap-tahap di atas dilakuka secara berurutan.
Spiral, Hampir sama dengan metode incremental, tetapi terdapat kemungkinan untuk dilakukan perbaikan,   sehingga terjadi perulangan dan bentuknya seperti spiral.

Berikut ini adalah beberapa tantangan yang harus dihadapi ketika kita akan memasuki dunia Software development, anatara lain :
- Project Leader harus memilikikemampuan interpersonal yang baik karena menyangkut                                  kelangsungan proyek
- Kebanyakan software development gagal karena team tidak bisa mengestimasi dengan pasti detail                  – detail kebutuhan dari proyek.
- Metode pengerjaan yang dipakai akan menentukan proses kerja dari setiap anggota team proyek.
- Software adalah benda abstrak, sehingga kemampuan untuk memahami bahasa komputer adalah                  mutlak bagi setiap anggota team.
- Pengerjaan software development yang cenderung individualis mengharuskan setiap anggotanya                    memiliki interaksi yang baik.

Proses tahapan sebuah bisnis Software development :
            - Mengidentifikasi peluang pasar.
- Menentukan kelangsungan hidup sebuah produk.
- Menentukan visi dari produk yang akan dihasilkan.
- Launching Produk.

1 komentar: