300 likes | 464 Views
Criteria And Component Diagram Pertemuan 0708. Matakuliah : M0126 - Analisis dan Perancangan Sistem Informasi Lanjut Tahun : 2009 - 2010. Learning Outcomes. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Buat component diagram untuk kasus rumah produksi (C4). Outline Materi.
E N D
Criteria And Component DiagramPertemuan 0708 Matakuliah : M0126 - Analisis dan Perancangan Sistem Informasi Lanjut Tahun : 2009 - 2010
Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Buat component diagram untuk kasus rumah produksi (C4)
Outline Materi Mahasiswa dapat membuat diagram / skema component architecture class
05 - 06 / 03 - 19 Requirements for use System Choice (Pre-analysis) Analysis of problem domain Analysis of application domain System Definition Design of components Model Specifications for components Now continue with this area of activity and its product Specifications for architecture Design of architecture Application Domain Analysis in Context of OOA&D Activities (adapted from Mathiassen et al, 2000)
05 - 06 / 04 - 19 Arsitektur komponen dan proses Component Architecture: • Classes • Stable aspects • Related components • Logical level • Structure for descriptions Process Architecture • Objects • Dynamic aspects • Coordination of processes • Physical level • Structure for execution (Mathiassen et al, 2000)
05 - 06 / 05 - 19 Activities in Architectural Design Analysis document Component architecture Criteria Process architecture Finally, we’ll look at this activity Architectural specification (Mathiassen et al, 2000)
05 - 06 / 06 - 19 Process Purpose • To Define the Physical Structuring of a system Concepts • Process architecture : A system-execution structure composed of interdependent process • Processor : A piece of equipment that can execute a program • Program component : A physical module of program code • Active Object : An object that has been assigned a process
05 - 06 / 07 - 19 Process (Cont’d) Principles • Aim at an architecture without bottlenecks • Distribute components on processors • Coordinate resource sharing with active objects Result • A deployment diagram showing processors with assigned program components and active objects
05 - 06 / 08 - 19 When & Why • Not a significant activity for a simple system with a single process, e.g. a stand-alone system • Critical for large systems, especially monitoring and control systems, & embedded systems • May wait to begin this activity until component architecture and components are nearly complete • May start this activity early with exploratory and experimental work, which heavily influences components
Penjelasan Jika kita lihat dari slide ke 10 dan ke 11 maka satu user interface seperti contoh diatas Customer User Interface dapat terbagi menjadi fungsi-fungsi yang terdapat dalam package dan package body di dalam programming
05 - 06 / 09 - 19 Potential conflict over shared program component Active object because it starts a new process Processes, Active Objects, and Shared Objects Object 1 Object 3 Process 1 o1 o5 o6 o2 Object 2 o3 Process 3 o4 Object 4 Object 5 Process 2 o7 o9 o8 o10 Process 4
Process Didalam slide ke 14 kita lihat bahwa setelah program dijalankan maka akan terlihat proses didalam Background Job yang mengakses masing-masing function yang ada di setiap class dan akan sangat memungkinkan terjadinya Bottlenecks artinya banyak sekali pemanggilan function untuk class yang sama, seperti gambar diatas pemanggilan function dimulai dari customer_order_line_api.modify kemudian dilanjutkan ke customer_order_line3_api, dan dilanjutkan ke customer_order_line2_api dan jika ada beberapa class yang memanggil customer_order_line3 dan 2 secara bersamaan akan sangat memungkinkan terjadinya conflict
05 - 06 / 10 - 19 Concurrency • True concurrency: When two or more events in the system’s context can occur at the same time and processes must support this (e.g. multiple users) • Random concurrency: When two or more operations are designed to be executed at the same time (e.g. print in background) ( • Don’t have any choice about the former
05 - 06 / 11 - 19 Sub-activities in Process Architecture Design Class diagram and component specifications Identify shared resources Distribute program components Select coordination mechanisms Deployment diagram Explore distribution patterns Explore coordination patterns
05 - 06 / 12 - 19 Distribute Program Components • Different components need to be placed on individual processors • First, separate out any active objects from passive program components • Second, determine the available processors • Distribute the program components and active objects onto the processors
05 - 06 / 13 - 19 Explore Distribution Patterns • Patterns for how components are placed on processors • The centralized pattern: Centralized data and functionality, thin client, but low robustness • The distributed pattern: Replicated data, server only broadcasts updates, robust, but potential data inconsistencies • The decentralized pattern: Partitioned data, low inconsistencies, more diversity/complexity
05 - 06 / 14 - 19 Identify Shared Resources • Processor: Two or more concurrent processes that should be executed on the same processor • External Devices: Two or more concurrent processes use the same external device • Component: Two or more concurrent processes call operations on objects in the same component
05 - 06 / 15 - 19 Active objects External devices Processor Example Deployment Diagram: Airline Check-in (Mathiassen et al, 1999)
PENJELASAN GAMBAR 37.1 Deployment diagram shows the assignment of concrete software artifacts (exe files) to computational nodes. It shows the deployment of software component to the physical architecture and the communication ( usually on a network) between physical element
05 - 06 / 16 - 19 Finding Bottlenecks • Processors: what is the relationship between the capacity of each processor and the needs of the active objects assigned to it? Which processors thereby constitute potential bottlenecks? • External Devices: What is the accessibility, capacity, and load of the different external devices in the interface? Which external devices thereby constitute potential bottlenecks? • Data Storage: Which parts of the model need to be stored on which storage media and how are copies handled? What are the potential bottlenecks for data storage? • System/Network Connections: What is the capacity and load of the system’s connections? Which connections thereby constitute potential bottlenecks?
05 - 06 / 17 - 19 Overcoming Bottlenecks • Two options: • Change the design and the distribution of the components onto the available processors • Enhance the platform with more processors or more powerful processors
05 - 06 / 18 - 19 Select Coordination Mechanisms • Many operating systems and technical platforms provide mechanisms to control sharing • Varies substantially from platform to platform • So need to be sure in each case! • If not, we have to solve it ourselves by developing our own coordination mechanisms • Generally rely on active object that controls the sharing • Can make use of generic patterns
05 - 06 / 19 - 19 Coordination Mechanisms • Generalized patterns of coordination: • Dedicated monitor ensuring atomic access to shared resources. • Centralized task dispatching for coordination of all concurrent processes. (e.g., event loop) • Subscription to state changes for initiation of processes in opportune situations. • Asynchronous exchange of data to avoid unnecessary delays with read and write operations.