Wednesday, April 13, 2005

FAQs about: Software Engineering

Apa yang dimaksud dengan software?
· Software bukan sekedar sebuah program komputer
· Sebuah Software System terdiri atas :
- Sejumlah program yang terpisah
- File-file konfigurasi untuk mensetup program2 tersebut
- Dokumentasi yang menerangkan struktur dari software tsb
- Dokumentasi pengguna yang menjelaskan cara menggunakan software tsb
- Dokumentasi dari produk software tersebut (website untuk mendowload informasi terkini dari produk software tersebut)

Apa pula yang dimaksud dengan Software Engineering (SE) ?
· SE adalah sebuah bidang disiplin teknik yang mengutamakan semua aspek mengenai produksi software (mulai dari spesifikasi system sampai dengan pemeliharaan system tersebut setelah digunakan)
· Displin teknik : membuat software dapat bekerja baik dengan menerapkan teori2, metode2 dan menggunakan tools2 yang ada
· Aspek dari software production yang termasuk : proses teknis dari pengembangan software dan proses manajerial proyek dari sebuah produksi software

Apa perbedaan antara SE dan Computer Science ?
· CS lebih menekankan pada teori2 dan metode2 yang terkait dengan komputer dan system software.
· SE lebih menekankan pada masalah2 praktis pada saat memproduksi software
· CS merupakan cabang dari pohon ilmu komputer dan SE merupakan cabang dari pohon teknologi informasi

Apakah Software Process itu ?
· Sebuah software process adalah sekumpulan akitfitas dan hasil2 yang terkait dalam menghasilkan produk software
· Kumpulan aktifitas :
- Spesifikasi software
- Pengembangan software
- Validasi software
- Evolusi (pemeliharaan) software
· Merupakan penerapan metode2, prosedur2 dan penggunaan tools

Apakah Software Process Model itu ?
· Sebuah software process model adalah deskripsi sederhana dari sebuah software process yang ditampilkan dari perspektif tertentu
· Contoh: Data Flow merepresentasikan proses sebagai kumpulan aktifitas dimana masing2 aktifitas menghasilkan beberapa transformasi data

Apakah SE Methods ?
· Sebuah metode SE adalah merupakan pendekatan terstruktur dari sebuah pengembangan software untuk memfasilitasi produksi dari sebuah software yang berkualitas tinggi dengan cara yang cost-effective
· Structural Analysis (De Marco, 1978)
· Object-oriented (Booch, 1994)
· Unified Modelling Language – UML (Fowler and Scot, 1997; Booch, 1999; Rumbaugh, 1999)

Apa saja atribut2 dari software yang baik ?
· Maintainability: mudah diperbaiki dan dikembangkan
· Dependability: reliable, secure dan safe, tidak terganggu oleh system failure
· Eficiency: dalama penggunaan resource seperti memori dan prosesor
· Usability: interface yang tepat untuk pengguna dan dokumentasi yang baik

Apakah tantangan utama (kunci) dalam menghadapai SE ?
· Legacy challenge: tantangan pemeliharaan dan pembaharuan software (isu minimal cost dan layanan bisnis yang berkesinambungan)
· Heterogeneity of challenge (Tantangan keberagaman): tantangan dari teknik pengembangan untuk membangun software yang dependable di atas jaringan yang terdiri dari jenis komputer dan dukungan system yang berbeda-beda
· Delivery challenge: tantangan untuk menyediakan user interface yang tepat dan panduan pengguna yang lengkap

No comments: