Yani’s Weblog

it’s all about software engineering…

S/W Architecture vs NFRs

Arsitektur seperti apa yang cocok untuk software yang sedang kita bangun, erat kaitannya dengan kebutuhan non fungsional yang telah ditetapkan (non functional requirements/NFRs). Satu NFR dengan NFR lainnya bisa saling sinergi, bisa juga terjadi konflik. Berikut adalah beberapa contohnya:

  • Jika performansi adalah NFR yang kritis, pilihkan arsitektur software yang melokalisasi fungsi-fungsi yang kritis pada sebuah modul atau sejumlah kecil modul. Dengan demikian, fungsi-fungsi kritis tersebut dapat dieksekusi tanpa butuh banyak effort untuk komunikasi antar-modul…
  • Jika security adalah NFR yang kritis, maka struktur layered architecture adalah pilihan tepat. Aset yang harus diamankan disembunyikan di lapisan terdalam dengan validasi tingkat tinggi untuk setiap akses terhadap layer ini…
  • Jika safety adalah NFR yang kritis, maka fungsi-fungsi terkait safety ini juga sebaiknya dilokalisasi di satu atau sejumlah kecil modul sehingga meminimasi biaya dan effort untuk melakukan safety validation…
  • Jika availability adalah NFR yang kritis, pastikan ada komponen yang berjalan redundant sehingga jika terjadi kegagalan pada suatu komponen software, komponen cadangannya bisa mengambil alih…
  • Jika maintainability adalah NFR yang kritis, maka arsitektur yang membagi software dalam komponen-komponen yang masing-masing terbungkus dengan baik, adalah pilihan yang tepat. Modifikasi dilokalisasi di sebuah komponen, dengan efek perubahan yang seminimal mungkin terhadap komponen lainnya…

Bagaimana jika ada konflik ??

Kompromi perlu dilakukan untuk menentukan prioritas kebutuhan, sehingga solusi yang dipilih adalah solusi optimal…

January 27, 2009 - Posted by yaniwid | software architecture | | 6 Comments

6 Comments »

  1. Tampaknya yang paling cocok untuk aplikasi web adalah availability,.

    Comment by dwinanto | January 27, 2009

  2. Tergantung aplikasinya… Menurut saya, security dan performansi juga hal yang penting di aplikasi berbasis web…

    Comment by yaniwid | January 28, 2009

  3. untuk aplikasi web rasanya karena banyak sekali yang butuh, justru makin banyak NFRnya
    setuju, kembali ke kebutuhan webnya sih
    kalo webnya itu web perbankan jelas kebutuhannya akan banyak sekali: security, scalability, availability, dll
    kalo webnya misal aplikasi menghitung kurs, ya gak butuh banyak NFR rasanya

    Comment by petra | January 28, 2009

  4. bu .. untuk software architecture buku yg bagus apa ya ?

    Comment by weltam | February 2, 2009

  5. @Weltam:
    Saya belum coba eksplor buku2 khusus software architecture. Saya baru punya satu e-book dan kelihatannya cukup lengkap:
    The Art of Software Architecture—Design Methods and Techniques, Stephen T. Albin, 2003
    Ttg software architecture ini juga bisa dicari di buku2 software engineering yang umum. Meskipun bahasannya singkat.

    Comment by yaniwid | February 3, 2009

  6. Terima Kasih banyak ya bu …
    akan saya baca…

    Comment by weltam | February 3, 2009


Leave a comment