SOFTWARE ENGINEERING - sciences

SOFTWARE ENGINEERING



SOFTWARE ENGINEERING

http://ilmu7788.blogspot.co.id/

A.    Pengertian Software Engineering
Software engineering adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal requirement capturing (analisa kebutuhan pengguna), specification
(menentukan spesifikasi dari kebutuhan pengguna), design, coding, testing sampai pemeliharaan sistem setelah digunakan.
Definisi Software Engineering menurut IEEE (Institute of Electrical and Electronics Engineers) pada proyek SWEBOK (Software Engineering Body of Knowledge) adalah aplikasi sistematik, disiplin, pendekatan kuantitatif untuk pengembangan, operasi dan pemeliharaan dari software; atau dapat disimpulkan sebagai teknik aplikasi untuk perangkat lunak. Intinya Software engineering berkaitan dengan pembangunan produk program. Software engineering terdiri dari 3 elemen kunci, yaitu :
1. Metode,
2. Peralatan (tools),
3. Prosedur,
yang memungkinkan manajer mengontrol proses pengembangan software dan memberikan praktisi dasar yang baik untuk pembentukan software berkualitas tinggi.

B.    Metode software engineering
Metode software engineering memberikan teknik-teknik bagaimana membentuk software. Metode ini terdiri dari serangkaian tugas :
o   Perencanaan dan estimasi proyek
o   Analisis kebutuhan sistem dan software
o   Desain struktur data
o   Arsitektur program dan prosedur algoritma
o   Coding
o   Testing dan pemeliharaan
Dalam model atau paradigma software engineering, dikenal ada 3 metode yang secara luas dipergunakan, yaitu :

    1.     Classic Life Cycle Pradigm - Model Water Fall - Model Siklus Hidup Klasik

http://ilmu7788.blogspot.co.id/
C.   System Engineering and Analysis
Karena software merupakan bagian terbesar dari sistem, maka pekerjaan dimulai dengan cara menerapkan kebutuhan semua elemen sistem dan mengalokasikan sebagian kebutuhan tersebut ke software. Pandangan terhadap sistem adalah penting, terutama pada saat software harus berhubungan dengan ele men lain, seperti :
·        Hardware
·        Software
·        Database

D.   Analisis kebutuhan software
Suatu proses pengumpulan kebutuhan software untuk mengerti sifat -sifat program yang dibentuk software engineering, atau analis harus mengerti fungsi software yang diinginkan, performance dan interface terhadap elemen lainnya. Hasil dari analisis ini didokumentasikan dan direview / dibahas / ditinjau bersama -sama customer.

E.   Design Desain software
sesungguhnya adalah proses multi step (proses yang terdiri dari banyak langkah) yang memfokuskan pada 3 atribut p rogram yang berbeda, yaitu : 
·                 Struktur data
·                Arsitektur software
·                Rincian prosedur
Proses desain menterjemahkan kebutuhan ke dalam representasi software yang dapat diukur kualitasnya sebelum mulai coding. Hasil dari desain ini didokumentasikan dan menjadi bagian dari konfigurasi software.

E.   Coding
Desain harus diterjemahkan ke dalam bentuk yang dapat dibaca oleh mesin 

F.   Testing
Segera sesudah objek program dihasilkan, pengetesan program dimulai. Proses testing difokuskan pada logika internal software. Jaminan bahwa semua pernyataan atau statements sudah dites dan lingkungan external menjamin bahwa definisi input akan menghasilkan output yang diinginkan. 

G.   Maintenance
Software yang sudah dikirim ke customer data berubah karena
·        Software mengalami error
·        Software harus diadaptasi untuk menyesuaikan dengan lingkungan external, misalnya adanya sistem operasi baru atau peripheral baru. 
·        Software yang lebih disempurnakan karena adanya permintaan dari customer.

1.      Masalah yang dihadapi dari model siklus hidup klasik adalah :
·        Proyek yang sebenarnya jarang mengikuti aliran sequential yang ditawarkan model ini. Iterasi (Pengulangan) selalu terjadi dan menimbulkan masalah pda aplikasi yang dibentuk oleh model ini. 
·        Seringkali pada awalnya customer sulit menentukan semua kebutuhan secara explisit (jelas). 
·        Customer harus sabar karena versi program yang jalan tidak akan tersedia sampai proyek software selesai dalam waktu yang lama. 

1.     Prototype Paradigm

http://ilmu7788.blogspot.co.id/



Seringkali seorang customer sulit menentukan input yang lebih terinci, pros es yang diinginkan dan output yang diharapkan. Tentu saja ini menyebabkan developer tidak yakin dengan efisiensi alogoritma yang di buatnya, sulit menyesuaikan sistem operasi, serta interaksi manusia dan mesin yang harus diambil. Dalam hal seperti ini, pen dekatan prototype untuk software engineering merupakan langkah yang terbaik. Prototype sebenarnya adalah suatu proses yang memungkinkan developer membuat sebuah model software.
Ada 2 bentuk dari model ini, yaitu :
a.  Paper Prototype
Menggambarkan interaksi manusia dan mesin dalam sebuah bentuk yang memungkinkan user mengerti bagaimana interaksi itu terjadi.
b.   Working Prototype
Adalah prototype yang mengimplementasikan beberapa bagian dari fungsi software yang diinginkan seperti pada pendekatan pen gembangan software. Model ini dimulai dengan :
·         Pengumpulan kebutuhan developer dan customer
·          Menentukan semua tujuan software
 Mengidentifikasi kebutuhan-kebutuhan yang diketahui


3. Fourth Generation Tehnique Paradigm - Model tehnik generasi ke 4 /

http://ilmu7788.blogspot.co.id/



Istilah Fourth Generation Technique (4GT) meliputi seperangkat peralatan software yang memungkinkan seorang developer software menerapkan beberapa karakteristik software pada tingkat yang tinggi, yang ke mudian menghasilkan source code dan object code secara otomatis sesuai dengan spesifikasi yang ditentukan developer. Saat ini peralatan / tools 4GT adalah bahasa non prosedur untuk :
·        DataBase Query
·        Pembentukan laporan ( Report Generation )
·        Manipulasi data
·        Definisi dan interaksi layar (screen)
·        Pembentukan object dan source ( Object and source generation )
·        Kemampuan grafik yang tinggi, dan
·        Kemampuan spreadsheet

a.     Peralatan Software Engineering
Peralatan software engineering memberikan dukungan atau semiautomasi untuk metode. Contohnya :
·        CASE (Case Aided Software Engineering), yaitu suatu software yang menggabungkan software, hardware, dan database software engineering untuk menghasilkan suatu lingkungan software engineering.
·        Database Software Engineering, adalah sebuah struktur data yang berisi informasi· penting tentang analisis, desain, kode dan testing.
·        Analogi dengan CASE pada hardware adalah : CAD, CAM, CAE.
b.    Prosedur Software Engineering
Terdiri dari :
·        urut-urutan di mana metode tersebut diterapkan
·        dokumen
·        laporan-laporan
·        formulir-formulir yang diperlukan
·        mengontrol kualitas software
·        mengkoordinasi perubahan yang terjadi pada software




Related Posts:

1 Response to "SOFTWARE ENGINEERING"