Yani’s Weblog

it’s all about software engineering…

Tahukah kamu ? (11)

Di awal perkembangannya, memrogram dianggap sebagai art work. Orang bisa memrogram dengan gayanya masing-masing. Hal ini masih dimungkinkan karena belum banyak orang yang membutuhkan dan menggunakan software. Software hanya dibuat untuk kalangan dan kebutuhan yang terbatas. Saat itu, semua pihak -developer dan customer- masih happy..

Akan tetapi, seiring dengan makin banyaknya kebutuhan akan software, dan semakin kompleksnya persoalan yang harus diselesaikan, pendekatan seperti itu tidak dimungkinkan lagi. Crisis on the horizon… Mulai banyak cerita tentang kegagalan software.  Mulai banyak pihak yang kecewa…

Software engineering mulailah didefinisikan dan berkembang…

Jadi, sekarang ini bukan saatnya memrogram dengan gaya sendiri. Bukan saatnya membuat software seperti membuat karya seni. Ada metode yang bisa diikuti… Ada pakem-pakem yang bisa dituruti… Ada coding standard yang harus diketahui…

July 17, 2008 Posted by yaniwid | introduction, method, others | | 3 Comments

Coupling vs Cohesion

Modularity adalah salah satu konsep dasar perancangan yang harus diusahakan. Membagi software menjadi modul-modul bukan sekedar memisahkan sekumpulan kode dari kumpulan lainnya. Kita harus pastikan bahwa modul yang dirancang memiliki coupling yang rendah dan cohesion yang tinggi.

Coupling adalah ketergantungan suatu modul terhadap modul lainnya. Kita harus pastikan bahwa suatu modul seminimal mungkin tergantung atau berpengaruh terhadap modul lainnya. Jadi, jika ada update secara internal di dalam suatu modul, modul-modul lainnya tidak akan terlalu kena pengaruh.

Cohesion adalah keterikatan fungsi-fungsi di dalam suatu modul. Modul yang baik adalah modul yang mengelompokkan fungsi-fungsi yang saling terkait. Jadi, cohesion-nya harus tinggi.

July 17, 2008 Posted by yaniwid | design | | 8 Comments

ACM/IEEE Code of Ethics

  1. PUBLIC; Software engineers shall act consistently with the public interest
  2. CLIENT AND EMPLOYER; Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest
  3. PRODUCT; Software engineers shall ensure that their products and related modifications meet the highest professional standards possible
  4. JUDGMENT; Software engineers shall maintain integrity and independence in their professional judgment
  5. MANAGEMENT; Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance
  6. PROFESSION; Software engineers shall advance the integrity and reputation of the profession consistent with the public interest
  7. COLLEAGUES; Software engineers shall be fair to and supportive of their colleagues
  8. SELF; Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession

July 17, 2008 Posted by yaniwid | others | | No Comments Yet