Selasa, 13 September 2011

SOFTWARE ENGINEERING (pert.1)


Definisi Software Engineering
Ilmu yang mempelajari tehnik pembuatan software yang baik dengan pendekatan tehnik (Engineering ap­proach)
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: