Definisi Software
Engineering
Ilmu yang mempelajari tehnik
pembuatan software yang baik dengan pendekatan tehnik (Engineering approach)
Software engineering didefinisikan oleh Fritz
Bauer sebagai: penerapan dan penggunaan prinsip-prinsip engineering yang baik
dalam rangka menghasilkan software yang ekonomis, reliable, dan bekerja secara
efisien pada komputer sungguhan.
Komponen Software
Engineering
Komponen
adalah pokok bahasan yang sangat menarik jika kita membicarakan masalah reuse.
Membangun software yang bersifatreusable akan sangat sulit dikarenakan desain
komponen yang tidak baik. Hal ini dapat mengakibatkan komponen yang satu dengan
yang lain sulit untuk dipisahkan. Di dalam membangun dan memelihara komponen
dibutuhkan kejelasan pengertian dari dan antar komponen. Suatu komponen dapat
saja memiliki hubungan external atau ketergantungan antar komponen
(komponen dependence).
Untuk itu diperlukan sebuah tools yang dapat melihat komponen dependence.
1. Modelling Activity
Menggambarkan
berbagai aliran aktivitas dalam sistem yang sedang dirancang, bagaimana
masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka
berakhir. Modelling
Activity juga dapat menggambarkan proses
paralel yang mungkin terjadi pada beberapa eksekusi.
Activity merupakan
state diagram khusus, di mana sebagian besar state adalah action dan sebagian
besar transisi di-trigger oleh selesainya state sebelumnya (internal processing).
Oleh karena itu modelling
activity tidak menggambarkan behaviour internal
sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih
menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara
umum.
2. Problem Solving Activity
Proses
mengaplikasikan pengetahuan yang dimiliki pada situasi baru. Yang perlu
diperhatikan adalah metode, prosedur, dan strategi yang digunakan dalam
menyelesaikan suatu masalah.
3. Knowledge Acquisition
Proses
penggalian informasi sebelum SDLC. Berkaitan dengan :
a. Survey
b. Wawancara
c. Data
d. Informasi
4 4. Rationale Driven
Hal-hal
yang terkait dengan system (seperti pemikiran, keputusan, dll) haruslah sesuai
dengan konteks
Konsep berorientasi objek
1. Abstraksi
Kemampuan mengenali
sesuatu yang komplek dengan mengabaikan sesuatu yang tidak penting dan hanya
berkonsentrasi pada sesuatu yang signifikan saja.
2. Pewarisan
Terminologi asing untuk pewarisan
adalah inheritance. Pewarisan berarti sebuah kelas mewarisi state dan behaviour
dari kelas lain. Sebagai contoh, sebuah kelas RumahMewah akan mewarisi state
dan behaviour dari kelas Rumah. Begitu juga dengan kelas RumahSederhana. Kelas
RumahMewah dan RumahSederhana disebut subkelas, atau kelas anak, dari kelas
Rumah, yang disebut superkelas, atau kelas induk.
3. Penkapsulan
Pemisahan aspek-aspek
eksternal objek yang dapat diakses objek-objek lain dari rincian implementasi
objek itu sendiri.
4. Pengiriman Pesan
Objek-objek
dalam system bekerja sama dengan cara mengirimkan pesan dari satu objek-objek
lainnya.
5. Asosiasi
(is the
friend of/is the coworker of).
Berasosiasi sehingga
dapat mengirim pesan (bukan saling mengirim pesan).
6. Agregasi
Bentuk yang
lebih kuat dari asosiasi.
7. Banyak Bentuk
Beberapa operasi/proses
yang berbeda tapi namanya sama.
Tidak ada komentar:
Posting Komentar