PERTEMUAN-14 DESAIN ARSITEKTUR dan ANTARMUKA PENGGUNA (ARCHITECTURE and USER INTERFACE DESIGN) MENGAPA DIGUNAKAN DESAIN ARSITEKTUR ? The architecture is not the operational software. Rather, it is a representation that enables a software engineer to: (1) analyze the effectiveness of the design in meeting its stated requirements, (2) consider architectural alternatives at a stage when making design changes is still relatively easy, and (3) reduce the risks associated with the construction of the software. DESAIN DATA o refine data objects and develop a set of data abstractions o implement data object attributes as one or more data structures o review data structures to ensure that appropriate relationships have been established o simplify data structures as required o Data Modeling – ER, DD o In the past Data Structure + Databases as data architecture o Today, multiple databases encompassing gigabytes of data needs for data mining to navigate through existing databases o For multiple databases with different structures & degree of details needs Data warehouse LANGKAH-LANGKAH DESAIN Langkah 1. Kajilah model system fundamental, yang mencakup DFD tingkat 0 dan informasi yang mendukung Langkah 2. Kajilah dan saringlah diagram aliran data untuk perangkat lunak tersebut Langkah 3. Tentukan apakah DFD memiliki karakteristik aliran transformasi dan transaksi Langkah 4. Isolasi pusat transformasi dengan mengkhususkan batas aliran masuk dan keluar Langkah 5. Lakukan “pemfaktoran tingkat pertama” Langkah 6. Lakukan “pemfaktoran tingkat kedua” PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ratna Mutu Manikam REKAYASA PERANGKAT LUNAK 1 Langkah 7. Saringlah struktur program iterasi pertama dengan menggunakan heuristic desain bagi kualitas perangkat lunak yang telah ditingkatkan. MASALAH-MASALAH DALAM DESAIN Ada 4 (empat) masalah umum yang sering muncul dalam desain : 1. Respon time stress dan frustasi bila terlalu panjang , sebaliknya bila terlalu cepat , akan memaksa user juga bekerja lebih cepat, sehingga dapat mendorong terjadinya kesalahan 2. Fasilitas help pemakai biasanya ada dua jenis yaitu yang bersifat on line dan maupun yang bukan on line 3. Penanganan informasi kesalahan dalam hal ini, secara umum setiap pesan atau peringatan kesalahan yang dihasilkan oleh sebuah system interaktif harus memiliki karakteristik sebagai berikut : a. Pesan harus menggambarkan masalah dalam istilah yang dapat dipahami oleh pemakai b. Pesan harus memberikan nasihat instruktif untuk membetulkan kesalahan. c. Pesan harus disertai oleh sebuah isyarat visual yaitu bunyi yang mengiringi tampilan pesan atau warna yang bisa memberikan kesan tertentu d. Pesan tersebut harus tidak “menghakimi” yaitu penyusunan kata tidak boleh menyalahkan pemakai 4. Pelabelan perintah harus jelas instruksi lanjutan yang harus dilakukan sehingga penyelesaian menjadi tuntas TINGKATAN KOMPONEN DESAIN DATA 1. The systematic analysis principles applied to function and behavior should also be applied to data. 2. All data structures and the operations to be performed on each should be identified. 3. A data dictionary should be established and used to define both data and program design. 4. Low level data design decisions should be deferred until late in the design process. 5. The representation of data structure should be known only to those modules that must make direct use of the data contained within the structure. 6. A library of useful data structures and the operations that may be applied to them should be developed. PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ratna Mutu Manikam REKAYASA PERANGKAT LUNAK 2 7. A software design and programming language should support the specification and realization of abstract data types. GAYA (DESAIN) ARSITEKTURAL Each style describes a system category that encompasses: (1) a set of components (e.g., a database, computational modules) that perform a function required by a system, (2) a set of connectors that enable “communication, coordination and cooperation” among components, (3) constraints that define how components can be integrated to form the system, and (4) semantic models that enable a designer to understand the overall properties of a system by analyzing the known properties of its constituent parts. ANALISA DESAIN ARSITEKTUR 1. Collect scenarios. 2. Elicit requirements, constraints, and environment description. 3. Describe the architectural styles/patterns that have been chosen to address the scenarios and requirements: • module view • process view • data flow view 4. Evaluate quality attributes by considered each attribute in isolation. 5. Identify the sensitivity of quality attributes to various architectural attributes for a specific architectural style. 6. Critique candidate architectures (developed in step 3) using the sensitivity analysis conducted in step 5. KOMPLEKSITAS MODEL ARSITEKTUR Consider dependencies between components 1. Sharing dependencies 2. Flow dependencies 3. Constrained dependencies PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ratna Mutu Manikam REKAYASA PERANGKAT LUNAK 3 APAKAH INTERFACE DESIGN : Easy to learn ? Easy to use ? Easy to understand ? Bentuk kesalahan rancangan pada umumnya : ????...!!! Lack of consistency Too much memorization No guidance / help No context sensitivity Poor response Arcane/unfriendly GOLDEN RULES o PLACE THE USER IN CONTROL Define interaction modes in a way that does not force a user into unnecessary or undesired actions. Provide for flexible interaction. Allow user interaction to be interruptible and undoable. Streamline interaction as skill levels advance and allow the interaction to be customized. Hide technical internals from the casual user. Design for direct interaction with objects that appear on the screen. o REDUCE THE USER’S MEMORY LOAD Reduce demand on short-term memory. Establish meaningful defaults. Define shortcuts that are intuitive. The visual layout of the interface should be based on a real world metaphor. Disclose information in a progressive fashion. PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ratna Mutu Manikam REKAYASA PERANGKAT LUNAK 4 o MAKE THE INTERFACE CONSISTENT Allow the user to put the current task into a meaningful context. Maintain consistency across a family of applications. If past interactive models have created user expectations, do not make changes unless there is a compelling reason to do so. MODEL RANCANGAN ANTARMUKA PENGGUNA (User Interface Design Models) o System perception — the user’s mental image of what the interface is o User model — a profile of all end users of the system o System image — the “presentation” of the system projected by the complete interface o Design model — data, architectural, interface and procedural representations of the software KATAGORI PENGGUNA Novices Knowledgeable, intermittent users Knowledgeable, frequent users Often leads to “power-user syndrome” PROSES DESAIN ANTARMUKA PENGGUNA (User Interface Design Process) ANALISA LINGKUNGAN PENGGUNA (Analysis of User Environment) o Where will the interface be located physically? o Will the user sitting, standing, or performing other tasks? PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ratna Mutu Manikam REKAYASA PERANGKAT LUNAK 5 o Does the interface hardware accommodate space, light, or noise constraint? o Are there special human factors considerations driven by environmental factors? TO CREATE AN ANALYSIS MODEL FOR INTERFACE AS A BASIS FOR DESIGN ACTIVITY INTERFACE DESIGN To define a set of interface objects and actions (and their screen representations) that enable the user to perform all defined tasks that meet every usability goal defined by the system IMPLEMENTASI o Biasanya dimulai dengan menciptakan prototype (Usually begins with the creation of a prototype) o Alat bantu antarmuka pengguna mungkin dapat digunakan untuk melengkapi konstruksi (User interface tool kit may be used to complete the construction) VALIDASI Focuses on 1. The ability of the interface o to implement every user task correctly, o to accommodate all task variations, and o to achieve all general user requirements 2. The degree to which the interface is easy to use and easy to learn 3. The user’s acceptance of the interface TASK ANALYSIS AND MODELING o All human tasks required to do the job (of the interface) are defined and classified o Objects (to be manipulated) and actions (functions applied to objects) are identified for each task o Tasks are refined iteratively until the job is completely defined AKTIVITAS DALAM RANCANGAN ANTARMUKA 1. Establish the goals and intentions for each task. 2. Map each goal/intention to a sequence of specific actions. PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ratna Mutu Manikam REKAYASA PERANGKAT LUNAK 6 3. Specify the action sequence of tasks and subtasks, also called a user scenario, as it will be executed at the interface level. 4. Indicate the state of the system, i.e., what does the interface look like at the time that a user scenario is performed? 5. Define control mechanisms, i.e., the objects and actions available to the user to alter the system state. 6. Show how control mechanisms affect the state of the system. 7. Indicate how the user interprets the state of the system from information provided through the interface. ISU-ISU DALAM RANCANGAN 1. System response time Variability: deviation from the average response time 2. User help facilities Integrated Add-on 3. Error information handling 4. Command labeling SIKLUS EVALUASI RANCANGAN PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ratna Mutu Manikam REKAYASA PERANGKAT LUNAK 7 KRITERIA EVALUASI o The length and complexity of specification indicates the amount of learning required o The number of tasks and actions per task indicates the interaction time o The number of actions, tasks & system states imply the memory load on users o Interface style, help facilities & error handling indicates the complexity of the interface PIHAK YANG DILIBATKAN DALAM EVALUASI USER PERANCANG SISTEM PUSAT PENGEMBANGAN BAHAN AJAR-UMB OPERATOR Ratna Mutu Manikam REKAYASA PERANGKAT LUNAK 8