Prinsip #1
Desain harus traceable ke analysis model
Dalam perancangan perangkat lunak, segala requirements dari customer akan direpresentasikan dalam analisis model, dan representasi itu digambarkan oleh tiga domain. Yaitu, information domain, functional domain, dan behavioral domain. Jadi dalam perancangannya, semua konten yang ada dalam perangkat lunak yang sedang dirancang harus sesuai dengan tiga domain pada analisis model.
Hal ini agar seorang designer mudah dalam merancang segala requirements yang diberikan oleh customer.
Prinsip #2
Selalu mempertimbangkan arsitektur sistem yang akan dibangun
Perangkat lunak architecture adalah kerangka dari sistem yang akan dibangun. Hal tersebut mempengaruhi antarmuka (interface), struktur data, program control flow dan perilaku, cara testing yang dapat dilakukan, pemeliharaan sistem resultan, dan banyak lagi. Untuk semua alasan ini, desain harus dimulai dengan pertimbangan arsitektur
Principe # 3
Desain dari data sama pentingnya dengan desain dari processing functions.
Data design merupakan elemen penting dari architecture design. Cara dimana data objek direalisasikan dalam desain tidak dapat dibiarkan untuk dicoba. Sebuah struktur system data yang baik membantu untuk menyederhanakan program flow (aliran program), membuat desain dan implementasi komponen perangkat lunak lebih mudah, dan membuat keseluruhan proses lebih efisien.
Principle #4
Interfaces (baik internal dan external) harus didesain dengan hati-hati
Cara dimana antara data flows dan komponen system memiliki banyak kaitan dengan processing efficiency, error propagation, dan design simplicity. Sebuah interfaces yang baik membuat integrasi lebih mudah dan membantu tester memvalidasi component functions.
Prinsip #5
User interface design harus mengarah pada kebutuhan user
Bagaimanapun, sebuah perangkat lunak dibuat untuk memenuhi permintaan-permintaan dari customer. Tetapi apa yang dibangun oleh engineer, belum tentu dipahami oleh customer. Oleh karena itulah user interface design ada. Interface designlah yang akan menjadi penghubung komunkasi antara customer dengan perangkat lunak.
Oleh karena itu, seluar biasa apapun fungsi, data struktur, ataupun arsitektur yang ada pada sebuah perangkat lunak, user interface design lah yang akan menentukan apakah perangkat lunak itu bisa mengakomodir kebutuhan-kebutuhan customer dengan baik atau tidak.Walaupun didalam konstruksi perangkat lunak tersebut terdapat sebuah fungsi solusi untuk menyelesaikan masalah, tetapi jika interface design yang dibuat tidak sesuai dengan permintaan customer, maka ada kemungkinan kebutuhan-kebutuhan customer tidak akan terpenuhi karena user interface designnya tidak mengarah kepada kebutuhan user.
Prinsip #6
Component level design tidak tergantung pada fungsi lain
Component level design haruslah tak bergantung pada fungsi lain. Tiap-tiap fungsi independent dalam sebuah perangkat lunak harus mempunyai dan fokus pada satu tujuan dan hanya satu tujuan. Dengan kata lain, Component level design dari sebuah perangkat lunak harus cohesive.
Principe # 7
Component harus sesedikit mungkin mempunyai ketergantungan terhadap component lain
Dalam memahami prinsip ini, kita bisa mempresentasikannya pada sebauh hububgan keluarga. Anggap dalam sebuah keluarga, seluruh pekerjaan rumah hanya dikerjakan oleh ibu. Memasak, menyuci, menyapu, mengepel, dll. Masing-masing keluarga lainnya, ayah, anak, hanya bertumpu dan bergantung pada ibu. Ketika ibu mereka sakit, sudah dapat dipastikan anggota keluarga lainnya akan kerepotan, dan kebingungan karena mereka harus menggantikan pekerjaan ibunya yang sangat banyak. Hal ini disebabkan rasa ketergantungan anggota keluarga yang lain terlalu besar terhadap ibunya.
Lalu hubungannya dengan perancangan perangkat lunak adalah ketika sebuah fungsi terlalu mempengaruhi fungsi-fungsi lain, maka ketika suatu saat fungsi ini terjadi kesalahan, maka akan berdampak juga pada fungsi-fungsi lain yang dipengaruhi. Hal inilah mengapa dalam perancangan perangkat lunak coupling itu harus rendah.
Principle #8
Representasi design harus mudah dimengerti
Pernahkah anda mendapatkan penjelasan sebuah teori dari seseorang?, lalu penjelasan tersebut tidak jelas, sehingga anda mendapatkan pemahaman yang salah. Hal ini juga berlaku pada proses perangcangan perangkat lunak.
Urutan proses perancangan setelah designing adalah coding. Tujuan dari designing adalah untuk memberikan pemahaman kepada praktisi yang akan men-generate requirement customer menjadi code. Representasi design harus mudah dipahami, jika design sulit dibaca, maka pemahaman praktisi akan salah, sehingga berdampak pada hasil perangakt lunaknya.
Principle #9
Design sebuah perangkat lunak harus berkembang secara bertahap
Dalam dunia perindustrian, kecepatan perkembangan sebuah teknologi kadang tak terkira cepatnya. Perangkat lunak apapun yang dibuat saya yakin tidak akan cukup jika hanya dibuat dan tidak dikembangkan. Jika sebuah perangkat lunak ingin bertahan di dunia industri, maka perangkat lunak tersebut harus terus dikembangkan. Oleh karena itu perangkat lunak harus mempunyai kemampuan untuk diubah, agar bias mengimbangi kecepatan perkembangan dunia teknologi.
Design sebuah perangkat lunak pun harus berkembang secara bertahap. Pada setiap tahapannya, designer harus bekerja keras untuk membuat design sebelumnya menjadi lebih baik. Error-error harus diperbaiki, dan design juga harus lebih simple dan mudah dimengerti.
Kamis, 17 Maret 2011
1 komentar
Prinsip # 1
Informasi yang ada pada suatu problem harus representative dan dapat di mengerti
Suatu informasi yang mencakup suatu data dapat mengalir sampai system ( dari end-users, system lain, atau dari perangkat luar), data tersebut mengalir keluar dari system(melalui user interface, network interface, reports, graphics, dan yang lainnya) dan tempat data itu dikumpulkan dan mengatur objek data secara terus menerus.
Prinsip #2
Fungsi dalam perangkat lunak harus dijelaskan dengan sejelas-jelasnya.
Performa dari perangkat lunak yang ada harus dapat didefinisikan secara jelas pada user. Design dapat dipresentasikan dalam beberapa level abstraksi, mulai dari statement general sampai ke fungsi-fungsi detailnya.
Prinsip #3
Perilaku perangkat lunak terhadap lingkungan luar harus dipresentasikan dengan jelas.
Perilaku dari computer perangkat lunak didorong oleh adanya interaksi dengan lingkungan eksternal. Perangkat lunak yang menerima input data dari system external menyebabkan perangkat lunak berperilaku dengan cara tertentu tergantung input yang diberikan.
Prinsip #4
Model harus menunjukan segala hal agar dapat memudahkan saat penyelesaian tugas.
Analysis pemodelan adalah langkah awal dalam pemecahan masalah sofrware engineering. ini memungkinkan pembagian untuk setiap masalah lebih bisa dipahami dan dapat ditentukan dasar solusi (desain)untuk memecahkan masalah. masalah yang kompleks sulit untuk dipecahkan secara keseluruhan. untuk alasan ini, kita menggunakan, membagi dan menaklukkan strategi. Permasalahan yang kompleks dibagi menjadi submasalah sampai setiap submasalah relatif mudah dimengerti. konsep ini disebut partisi, dan itu merupakan strategi kunci dalam analysis pemodelan
Prinsip #5
Tugas analysis harus bergerak dari informasi penting ke detail implementasinya.
Analysis model dimulai dengan menggambarkan sebuah masalah dari pandangan user. Esensi dari masalah yang digambarkan tanpa ada pertimbangan tentang bagaimana sebuah solusi akan diimplementasikan. Sebagai contohnya, video game mengharuskan pemain “menginstruksikan” protagonis ke arah mana untuk dilanjutkan saat ia bergerak ke dalam labirin berbahaya. Itu adalah esensi dari masalah. Detail implementasi (normalnya menggambarkan sebagai bagian dari desain model) menunjukkan bagaimana esensi akan diimplementasikan. Untuk video game, masukan suara mungkin dapat digunakan. Alternatifnya, sebuah perintah keyboard mungkin dapat diketik atau joystick (atau mouse) mungkin dapat menjadi pointer dalam arah yang spesifik.
Di dalam pekerjaan software enginnering, dibuat dua kelas model yaitu : analisis model dan design model. Design model merepresentasikan karakteristik yang mebantu membangun software secara efektif, yaitu arsitektur, antar-muka pengguna (user interface), dan component-level detail.
Software design model sama seperti rencana arsitektur untuk sebuah rumah. Dimulai dengan mewakili totalitas hal yang akan dibangun dan perlahan-lahan menyaring hal untuk memberikan petunjuk dalam membangun setiap detail. Dengan cara yang sama, model desain yang dibuat untuk software menyediakan berbagai pandangan yang berbeda dari sistem.
Beberapa metode adalah data-driven, memungkinkan struktur data untuk mendikte arsitektur program dan komponen pengolahan yang dihasilkan. Pola driven lainnya, dengan menggunakan informasi tentang masalah domain (the analysis model) untuk mengembangkan gaya arsitektur dan pengolahan patterns. Masih berbeda dengan object-oriented, menggunakan obyek masalah domain sebagai driver untuk pembentukan struktur data dan metode yang memanipulasinya. Namun semua mencakup seperangkat prinsip-prinsip desain yang dapat diterapkan terlepas dari metode yang digunakan:
- Domain: Arsitektur
Software architecture adalah kerangka sistem yang akan dibangun. Ini mempengaruhi antarmuka (interface), struktur data, program control flow dan perilaku, cara testing yang dapat dilakukan, pemeliharaan sistem resultan, dan banyak lagi. Untuk semua lasan ini, desain harus dimulai denagn pertimbangan arsitektur. Hanya setelah arsitektur telah ditetapkan component-level issues harus dipertimbangkan.
2. Domain : Component level detail
2. Domain : Component level detail
Component level detail desain adalah suatu proses membangun, dimana membangun ini untuk merancang perangkat lunak, perangkat keras, dan pemilihan commercial-off-the-shelf [COTS] products.
Untuk pengembang software, ini adalah langkah dimana dokumentasi perangkat lunak sedang dipersiapkan untuk coding.
Untuk hardware, ini adalah langkah dimana logika skema, tata letak chip, dan pekerjaan yang sedang dipersiapkan untuk fabrikasi.
3. Domain : User Interface Design
User Interface Design memberikan suatu bentuk komunikasi antara penguna (user) dengan komputer. Bagaimana pengguna berinteraksi dengan komputer dengan menggunakan tampilan antar muka yang ada di layar komputer. Hal ini sangat penting karena akan berpengaruh pada user untuk mengunakan atau berkomunikasi dengan komputer. Jika suatu program susah untuk digunakan, maka hal ini akan memaksa user untuk melakukan suatu kesalahan saat mengunakan program tersebut.
Tiga hal perlu di perhatikan :
Dalam bukunya Interface Design, Theo Mandel menyebutkan tiga hal penting yaitu :
1.Tempatkan user sebagai kontrol
2.Mudahkan user untuk mengingat
3.Konsistensi antar muka
User Interface Design memberikan suatu bentuk komunikasi antara penguna (user) dengan komputer. Bagaimana pengguna berinteraksi dengan komputer dengan menggunakan tampilan antar muka yang ada di layar komputer. Hal ini sangat penting karena akan berpengaruh pada user untuk mengunakan atau berkomunikasi dengan komputer. Jika suatu program susah untuk digunakan, maka hal ini akan memaksa user untuk melakukan suatu kesalahan saat mengunakan program tersebut.
Tiga hal perlu di perhatikan :
Dalam bukunya Interface Design, Theo Mandel menyebutkan tiga hal penting yaitu :
1.Tempatkan user sebagai kontrol
2.Mudahkan user untuk mengingat
3.Konsistensi antar muka
Ke tiga hal tersebut di atas adalah dasar untuk membuat suatu desain antar muka yang sangat prinsip, sehingga dapat digunakan sebagai panduan untuk membuat desain aplikasi/program.
1.Tempatkan user sebagai kontrol
Beberapa yang perlu dilakukan antara lain:
Beberapa yang perlu dilakukan antara lain:
- Definisikan interaksi yang tidak memaksa user untuk melakukan suatu aksi yang tidak perlu
- Mendukung flexibilitas untuk berinteraksi
- Memperbolehkan user untuk melakukan penghentian suatu aksi
- Adanya interaksi secara langsung terkait dengan kemampuan user untuk mengatur bentuk interaksi sesuai dengan kebutuhannya
- Sembunyikan interaksi yang berbau hal-hal teknis dari user biasa
- Buatlah desain yang dapat berinteraksi langsung dengan obyek yang ada di layar monitor
2.Mudahkan user untuk mengingat
Hal-hal berikut untuk membantu user mengingat :
Hal-hal berikut untuk membantu user mengingat :
- Gunakan hal-hal yang berarti secara standar
- Definisikan suatu shortcut yang intuitif
- Adanya visualisasi yang berdasarkan pada kondisi lapangan
3.Konsistensi antar muka
Bagaimana membuat antar muda yang konsisten :
Bagaimana membuat antar muda yang konsisten :
- Jagalah konsistensi di antara beberapa aplikasi/program yang sejenis
- Bila suatu model desain antar muka pada aplikasi sebelumnya tidak bermasalah, janganlah melakukan perubahan kecuali user mengeluhkannya
written by Fajar Faturrochman & Tia Candrawati
Selasa, 08 Maret 2011
0
komentar
Model analisis merupakan alat untuk menguji kebenaran dari hipotesis dengan menggunakan structural Equation modeling (SEM) dengan konteks confirmatory. Menurut Joreskog dan Sorbon (1989), LISREL akan bekerja jauh lebih baik digunakan untuk konteks confirmatory.