Agar sistem mampu bekerja dengan baik, dibutuhkan sebuah perancangan – perancangan yang memikirkan segala aspek yang berkaitan dengan sistem informasi yang akan dibuat. Lihatlah beberapa software yang terkenal di dunia, mereka terkenal dan banyak di dunia itu dikarenakan telah dirancang dengan segala aspek yang memang memiliki keterkaitannya dengan apa tujuan dibuatnya software tersebut.
Dapat dikatakan, agar software tersebut dapat dipertanggungjawabkan maka harus dirancang dengan baik dan benar sesuai dengan fungsi software itu sendiri. Dengan memodelkan setiap aktifitas – aktifitas yang terdapat agar mampu di dilaksanakan oleh software tersebut.
Software Engineer adalah seseorang yang bertanggung jawab tentang setiap perancangan software yang akan dan sedang dibuat. Terdapat teknik – teknik dalam pembuatan software tersebut, apakah menggunakan teknik klasik, yaitu biasanya menaruh semua code dengan tampilan software tersebut menjadi satu, atau menggunakan teknik berorientasi obyek. Berorientasi obyek merupakan paradigma baru dalam rekayasa perangkat lunak yang memandang sistem sebagai kumpulan obyek – obyek yang saling berinteraksi satu sama lain.
Terdapat beberapa hal yang harus diperhatikan menjadi Software Engineer :
- Aktivitas memodelkan
- Proses pemecahan permasalahan yang ada
- Dapat dipertanggungjawabkan
1. modeling activity. Ex: diagram, notasi, algoritma.
2. problem solving : dibuat untuk mencari solusi dari modeling activity.
3. knowledge activity / acquitition : pencarian pengetahuan lain. Ex: survey, wawancara, dll.
4. Rationale driven: sama/rasional & sesuai dengan kontek.
Berorientasi Objek adalah Paradigma baru dalam RPL yang memandang system sebagai kumpulan Objek yang saling berorientasi objek. Objek : entitas, benda, metode, system, human.
Jika berbicara tentang berorientasi obyek, dapat juga diartikan yaitu cara pandang atau cara pikir untuk membuat perangkat lunak, bukan sekedar algoritma yang diterapkan pada bahasa berorientasi obyek. Mengapa harus obyek, beberapa unsur obyek yang memang digunakan dalam orientasi obyek yaitu :
1. Karena obyek memiliki pengenal
2. Informasi tentang obyek itu tersendiri
3. terdapat prilaku yang mengaturnya
Jika dilihat cara pandang antara pemrograman klasik dan berorientasi obyek, terlihat dari bagaimana dia menggunakan obyek semaksimal mungking, efektif dan efisien. Dapat dilihat, jika dalam sistem infomasi perbankan. Misalkan terdapat saldo, no rek, nama.
Pemrograman Klasik
Terlihat diatas, nilai saldo akan dapat diakses oleh 2 proses lainnya secara terpisah dengan nama dan norek. Jika terdapat proses baru, kemungkinan akan membuat obyek yang banyak dalam pemrograman ini, karena tidak dapat diturunkan.
Pemrograman Berorientasi Obyek
Jika berorientasi obyek, seberapapun banyak proses yang ada, tetapi menggunakan obyek yang sama, satu obyek dapat digunakan oleh semuanya. Terlihat obyek terbungkus, dan tidak terpisah dengan bagianya yang lainnya, jadi lebih mudah untung dikembangkan. Yang terpenting, obyek memiliki pengenal, norek dan nama adalah termasuk pengenal karena adalah data informasi.
Konsep berorientasi objek antara lain :
1. Abstraksi
a. merupakan cara paling dasar untuk mengelola kompleksitas.
b. abstraksi juga merupakan kemampuan manusia untuk mengenali sesuatuyang komplek dengan mengabaikan.
c. sesuatu yang tidak penting & konsentrasi pada yang signifikan.
2. Pengkapsulan
memisahkan aspek-aspek external obyek yang dapat di akses obyek-obyek lain dari rincian implementasi obyek itu sendiri.
3. Pewarisan
sebuah class dapat mewariskan sifat – sifatnya ke class turunannya berupa atribut dan operasi..
4. Pengiriman pesan
obyek-obyek dalam system berkerja sama dengan cara mengirimkan pesan dari satu obyek ke obyek lainnya.
5. Asosiasi
class yang saling berhubungan & mengirim pesan. Hanya bisa mengakses class lain tanpa mengirimkan pesan pada class tersebut.
6. Aggregation
bentuk yang lebih kuat dari asosiasi.
7. Polymorpism
beberapa proses / operasi yang berbeda tetapi namanya sama, biasanya kasusnya pada inheritance.