De Real Purnawan Blog

Entries categorized as ‘software engineer’

Unified Modeling Language (UML)

April 24, 2008 · & Komentar

UML merupakan bahasa pemodelan yang digunakan untuk menggambarkan suatu aktifitas. UML dapat digunakan untuk memodelkan proses bisnis, tahapan proses pengembangan perangkat lunak, tahapan proses dalam berbagai sistem serta untuk memodelkan semua konstruksi yang mempunyai sifat statis dan dinamis.

Sudut pandang dalam UML menunjukkan aspek yang berbeda dari sebuah sistem yang dimodelkan. Sebuah sudut pandang adalah penggambaran yang terdiri dari sejumlah diagram. Dengan menentukan sejumlah sudut pandang, dimana masing-masing menunjukkan aspek tertentu dari sistem, maka penggambaran yang lengkap dapat dibangun. Sudut pandang dalam UML ditunjukkan pada Gambar berikut :

Gambar Sudut pandang UML

Modelling adalah proses pembuatan modul untuk merancang piranti lunak sebelum melakukan pengkodean. Model yang dibuat dalam proses rekayasa piranti lunak harus memenuhi kriteria-kriteria sebagai berikut.

a. Mengidentifikasi persyaratan-persyaratan (requirements).

b. Fokus terhadap komponen-komponen sistem yang berinteraksi.

c. Membantu melihat hubungan antar komponen.

Meningkatkan komunikasi antar anggota tim dengan menggunakan bahasa yang mudah dipahami.

a. Use Case Diagram

Use-case diagram digunakan untuk menggambarkan fungsionalitas yang diharapkan oleh sebuah sistem dan interaksi sistem dengan dunia luar. Diagram ini menjelaskan manfaat sistem jika dilihat menurut pandangan orang yang berada di luar sistem (actor)[15].

Gambar Contoh use case diagram untuk bisnis asuransi

Selama proses analisis, use case diagram digunakan untuk menangkap requirement sistem dan untuk memahami bagaimana sistem harus bekerja. Selama tahap desain, diagram ini menetapkan perilaku sistem saat diimplementasikan. Dalam sebuah pemodelan kemungkinan terdapat satu atau lebih use case diagram.

a. Class Diagram

Class diagram menggambarkan hubungan antar kelas dan penjelasan detail tiap-tiap kelas di dalam model desain dari suatu sistem. Kelas-kelas menggambarkan sesuatu yang ditangani dalam sistem. Hubungan antar kelas dalam bentuk asosiasi (terhubung antar kelas), dependensi (satu kelas tergantung atau menggunakan kelas lainnya), spesialisasi (satu kelas adalah sebuah spesialisasi dari kelas lainnya) atau pemaketan (tergabung menjadi suatu unit).

Sebuah class diagram menggambarkan semua hubungan bersama dengan struktur dalam dari kelas yaitu atribut dan operasi. Diagram dikatakan statis artinya bahwa struktur dideskripsikan sebagai valid dari pada semua posisi di dalam siklus kerja sistem. Contoh class diagram diperlihatkan pada Gambar berikut.

Gambar Contoh class diagram untuk transaksi keuangan[15]

Sebuah sistem umumnya memiliki sejumlah class diagram. Tidak semua kelas dapat dimasukkan pada class diagram, namun sebuah kelas dapat berpartisipasi dalam beberapa class diagram.

a. Activity Diagram

Activity diagram memodelkan berbagai alur kerja yang menunjukkan urutan aliran suatu aktifitas. Suatu aktifitas dapat direalisasikan oleh satu use case atau lebih, aktifitas menggambarkan proses yang sedang berjalan, sedangkan use case menggambarkan bagian actor menggunakan sistem untuk melakukan aktifitas.

Contoh activity diagram adalah sebagai berikut.

Kategori: software engineer

MODEL SEKUENSIAL LINIER

April 24, 2008 · Tinggalkan sebuah Komentar

Model sekuensial linier untuk software engineering yang disebut dengan siklus kehidupan klasik atau model air terjun. Model ini mengusulkan sebuah pendekatan kepada perkembangan software yang sistematik dan sekuensial. Dimodelkan setelah siklus rekysa konvensional, model sekuensial linier melingkupi aktivitas-aktivitas sebagai berikut[13][14] :

1. Feasibility

Kerja dimulai dengan membangun syarat dari semua elemen sistem dan mengalokasikan beberapa subset dari kebutuhan ke software tersebut. Pandangan sistem ini penting ketika software harus berhubungan dengan elemen-elemen yang lain seperti software, manusia, dan database. Rekayasa dan anaslisis sistem menyangkut pengumpulan kebutuhan pada tingkat sistem dengan sejumlah kecil analisis serta disain tingkat puncak. Rekayasa informasi mencakup juga pengumpulan kebutuhan pada tingkat bisnis strategis dan tingkat area bisnis.

2. Analisis kebutuhan Software

Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khusunya pada software. Untuk memahami sifat program yang dibangun, analis harus memahami domain informasi, tingkah laku, unjuk kerja, dan interface yang diperlukan. Kebutuhan baik untuk sistem maupun software didokumentasikan dan dilihat lagi dengan pelanggan.

3. Desain

Desain software sebenarnya adalah proses multi langkah yang berfokus pada empat atribut sebuah program yang berbeda; struktur data, arsitektur software, representasi interface, dan detail (algoritma) prosedural. Proses desain menterjemahkan syarat/kebutuhan ke dalam sebuah representasi software yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode. Sebagaimana persyaratan, desain didokumentasikan dan menjadi bagian dari konfigurasi software.

4. Implementasi

Desain harus diterjemahkan kedalam bentuk mesin yang bisa dibaca. Langkah pembuatan kode melakukan tugas ini. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis.

5. Pengujian

Sekali program dibuat, pengujian program dimulai. Proses pengujian berfokus pada logika internal software, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional, yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.

Gambar Software engineering model Waterfall

Kategori: software engineer