Minggu, 23 November 2014

SOFTWARE ENGINEERING



Arti Software Engineering :
Ilmu yang mempelajari tehnik pembuatan software yang baik dengan pendekatan tehnik (Engineering ap­proach)

Dalam membuat softrare yang baik, ada beberapa cara :
1.      Fase Perencanaan (Planning) :
a)      Rencana software
b)      Analisa kebutuhan software
c)      Analisa cost banefit (Salah satu bagian dari studi kelayakan)
2.      Fase Pengembangan (Development) :
a)      Coding
b)      Testing
Macam-macam test program :
i)        Unit test (Test per modul)
ii)      Integreated test (Test penggabungan dari modul-modul yang telah diuji)
iii)    Validated test (Diuji dengan data sebenarnya)
iv)    System test (Test dilakukan dengan lingkungan sebenarnya)
v)      Topdown test (Test gabungan dari atas ke bawah)
vi)    Bottom up test (Test gabungan dari bawah ke atas)
3.      Fase Pemeliharaan (Maintenance) :
Jenis-jenis maintenance
a)      Koreksi (Corection)
b)      Adaptasi (Adaptive)
Software dikembangkan sesuai dengan tuntutan perkembangan jaman
c)      Adaptasi yang berkembang pada dewasa ini terbagi atas :
i)        Sistem Operasi
à        Pengarahan sistem operasi yang bersifat multi user. Contoh : UNIX
à        Sistem operasi yang bersifat jaringan. Contoh : NOVELL
ii)      RDBMS - Relational DataBase Management System
à        Berkembang dalam bentuk bahasa SQL (Structure Query Language).
iii)    Bahasa
Mengarah pada perkembangan bahasa generasi ke empat (4GL - Fourth Generation Language)
Bahasa 4GL adalah suatu bahasa yang dibuat untuk meningkatkan produktifitas programmer dan end user. Contoh :
a)      INFORMIX - Dapat dijalankan pada PC dengan minimum RAM 4MB + 640KB dan disk sto­r­age > 40MB
b)      ORACLE
c)      INGRES
d)     AS / SET - Digunakan pada IBM AS 400
e)      POWER HOUSE - digunakan pada HR 3000
iv)    Perfective
Menyempurnakan software yang ada biasanya dilakukan karena permin­taan / saran / kritik user.
ARTI SOFTWARE
1.      Instruksi
Atau program komputer yang ketika dieksekusi akan memberi fungsi dan hasil yang diinginkan.
2.      Struktur data
Yang memungkinkan program memanipulasi informasi
3.      Dokumen
Yang menggambarkan operasi dan penggunaan program.

SIFAT DAN KARAKTERISTIK SOFTWARE
1.      Software merupakan elemen sistem logik dan bukan elemen sistem fisik seperti hardware
2.      Elemen itu tidak aus, tetapi bisa rusak.
3.      Elemen software itu direkayasa atau dikembangkan dan bukan dibuat di pabrik seperti hardware
4.      Software itu tidak bisa dirakit.

KOMPONEN SOFTWARE
1.      Bentuk bahasa
Terbagi 2, yaitu
A.    High Level, contoh PASCAL, COBOL, FORTRAN.
B.     Middle Level, contoh C
2.      Bentuk translator
Terbagi 3 , yaitu :
A.     Interpreter
Menerjemahkan dari bahasa tingkat tinggi ke bahasa tingkat rendah secara satu persatu (statemen demi statemen)
B.     Compiler
Menerjemahkan secara keseluruhan, proses lebih cepat dari interpreter
C.     Assembler
Menerjemahkan dari bahasa rakitan ke bahasa mesin
3.      Bentuk mesin :



Definisi :
Menurut Fritz Badar, software engineering adalah disiplin ilmu yang menerapkan prinsip-prinsip engineering agar mendapatkan software yang ekonomis yang dapat dipercaya dan bekerja lebih efisien pada mesin yang se­benarnya.
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.

Metode Software Engineering
Metode software engineering memberikan tehnik-tehnik bagaimana membentuk software. Metode ini terdiri dari serangkaian tugas :
à        Perencanaan & estimasi proyek
à        Analisis kebutuhan sistem dan software
à        Desain struktur data
à        Arsitektur program dan prosedur algoritma
à        Coding
à        Testing dan pemeliharaan
Salah satu metode yang digunakan dalam penguasaan software engineering
§  Classic Life Cycle Pradigm - Model Water Fall - Model Siklus Hidup Klasik


Keterangan :
A.    System Engineering and Analysis
Karena software merupakan bagian terbesar dari sistem, maka pekerjaan dimulai dengan cara menerap­kan 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
B.     Analisis kebutuhan software
Suatu proses pengumpulan kebutuhan software untuk mengerti sifat-sifat program yang dibentuk soft­ware engineering, atau analis harus mengerti fungsi software yang diinginkan, performance dan inter­face terhadap elemen lainnya. Hasil dari analisis ini didokumentasikan dan direview / dibahas / ditinjau bersama-sama customer.
C.     Design
Desain software sesungguhnya adalah proses multi step (proses yang terdiri dari banyak langkah) yang memfokuskan pada 3 atribut program 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.
D.    Coding
Desain harus diterjemahkan ke dalam bentuk yang dapat dibaca oleh mesin
E.     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.
F.      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.
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 sele­sai dalam waktu yang lama.





DAFTAR PUSTAKA
Pressman, Roger S., “Rekayasa Perangkat Lunak: pendekatan praktisi (Buku 1)”, Andi, Yogyakarta, 2002
Roger S. Pressman, “Software Engineering, a Practitioner’s Approach” Fourth Edition, McGraw Hill, 1997.
Roger S. Pressman, “Software Engineering, A Beginner’s Guide”, McGraw Hill, 1998.


Tidak ada komentar:

Posting Komentar