Tugas Rekayasa Perangkat Lunak 1 (Software Engineering)

Sekarang saya akan mencoba untuk merangkum tentang Software Enginering.
Dan jangan lupa pengunjung yang baik, pasti selalu meninggalkan jejak komentar. 

Selamat membaca, dan salam blogger hehe :)



        Software adalah sekumpulan obyek – obyek yang melibatkan konfigurasi program, dokumen, data dan lain – lain. Sebuah software dibangun dan dirancang oleh software engineer. Software engineer mempunyai kewajiban untuk membuat software yang dapat dihandalkan oleh masyarakat dan tidak merugikan bagi masyarakat. Software bisa diartikan dua hal yaitu produk dan kendaraan untuk menyampaikan informasi.
       Menurut Pressman, software engineering adalah teknologi yang harus digunakan oleh setiap orang ang akan membangun software dengan melalui serangkaian  proses. Jadi untuk menciptakan sebuah software kita harus tahu apa yang harus kita lakukan terlebih dahulu, sehingga apa yang kita kerjakan tidak membutuhkan biaya yang lebih karena kita telah merangcang prosesnya terlebih dahulu. Software Engineering juga disebut sebagai sebuah aplikasi sistematis, disiplin, terukur, untuk proses pengoprasian dan perbaikan dari software.
     

Berikut ini adalah domain software aplikasi:

1.    System Software
Merupakan kumpulan program yang ditulis untuk membuka program lain. Contoh: sistem operasi, compiler, editor, dan lain – lain.
2.    Software aplikasi
Merupakan program yang dapat berdiri sendiri yang digunakan untuk memecahkan kebutuhan yang spesifik
3.    Engineering/scientific software
Merupakan software yang digunakan untuk keperluan ilmiah
4.    Embedded Software
Merupakan software yang terletak dalam sebuah produk atau sistem dan digunakan untuk mengimplementasikan dan mengontrol fitur dan fungsi end user.
5.    Product – line software
Software ini didesain untuk menyediakan kemampuan khusus untuk digunakan beberapa pelanggan yang berbeda
6.    Web applications
Disebut juga WebApps, yaitu merupakan software yang berbasis web dan jaringan
7.    Artificial intelligence software
Software ini menggunakan algoritma non numerik untuk memecahkan masalah yang kompleks. Aplikasi dalam area ini termasuk robotika, experts system, permainan game dan lain – lain.


Tantangan software baru:

1.    Computing ada dimana – mana
Membuat software untuk menyediakan mesin semua ukuran untuk berkomunikasi dengan yang lain melewati jaringan yang cepat
2.    Netsourcing
Arsitekturnya sederhana dan aplikasinya canggih, diperuntukkan pasar end user di dunia
3.    Open source
Menyebarkan source code untuk komputasi aplikasi supaya costumer dapat membuat modifikasi software dengan cepat dan mudah
4.    Ekonomi baru
Pembangunan aplikasi yang memfasilitasi pendistribusian komunikasi masa dan produk masa dengan mengunakan konsep perubahan.

Legacy software:
1.    Software harus diadaptasi untuk menemui kebutuhan teknologi baru
2.    Software harus ditingkatkan
3.    Software harus dapat diperluas untuk membuatnya dapat bertukar informasi dengan dengan sytem modern atau database lain
4.    Software harus dapat di arsitektur ulang

Beberapa pertanyaan penting software engineer:
-    Mengapa membutuhkan waktu yang lama untuk menyelesaikan software?
-    Mengapa harga development begitu tinggi?
-    Mengapa kita tidak dapat menemukan semua error sebelum kita memberikan software ke costumer kita?
-    Mengapa kita menghabiskan banyak waktu untuk maintaining program yang sudah ada?

        Mitos software masih dipercaya oleh banyak manajer dan praktisi, software dianggap berbahaya karena mereka mempunyai elemen kepercayaan. Seorang manajer dan praktisi seharusnya memahami realitas dari proses bisnis.

        Menurut Pressman, software engineering adalah teknologi yang harus digunakan oleh setiap orang yang akan membangun sebuah software dengan melalui serangkaian proses, menggunakan sekumpulan metode dan alat bantu.
Software harus benar (correct) berdasarkan business rule dan sejalan dengan segala sesuatu dan semua pihak yang terkait.
Pembangunan software harus dikelola dengan baik untuk memelihara kebenarannya (correctness)

Framework proses dari software engineering terdiri dari 5 aktifitas, yaitu:
1.    Communication
Sebelum mengerjakan sebuah proyek, sebaiknya berkomunikasi dan bekerjasama dengan costumer dan pengguna.
2.    Planning
Mendeskripsikan resiko teknis, menulis sumber daya yang dibutuhkan, mendefinisikan jadwal kerja
3.    Modeling
Membuat model untuk membantu developer dan costumer mengerti kebutuhan dan desain software
4.    Construction
Pembuatan code dan testing code yang dibuat tersebut
5.    Deployment
Software yang telah jadi dikirim ke costumer

Umbrella activities software engineering:

1.    Software project tracking and control: 
Membuat jadwal proyek dan mengontrol proses penjadwalan
2.   Risk management
Mengetahui resiko apa yang akan ditemui setelah dihasilkan.
3.   Software quality assurance
 Meneliti agar software tetap berkualitas.
4.   Technical reviews
Meneliti proyek kerja dari engineer untuk dapat mengetahui kesalahan yang terjadi sebelum melakukan kegiatan berikutnya.
5.   Measurement
Mengumpulkan proses-proses dan mendefinisikanya yang akan kita kirimkan kepada costumer.
6.   Software configuration management
Mengatur akibat yang ditimbulkan dari perubahan yang terjadi.
7.   Reusability management
Mendefinisikan kriteria produk secara berulang dan menstabilkan komponen data yang akan digunakan kembali.
8.   Work product preparation and production
Proses membuat model-model, dokumen, logs form lists.

0 Response to "Tugas Rekayasa Perangkat Lunak 1 (Software Engineering)"

Post a Comment