Criteria And Component Diagram Pertemuan 0708 Matakuliah: M0126 - Analisis dan Perancangan Sistem...
-
Upload
keira-reames -
Category
Documents
-
view
218 -
download
0
Transcript of Criteria And Component Diagram Pertemuan 0708 Matakuliah: M0126 - Analisis dan Perancangan Sistem...
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
• Mahasiswa dapat membuat diagram / skema component architecture class
05 - 06 / 03 - 19
Application Domain Analysis in Context of OOA&D Activities
Now continue with this area of
activity andits product
Design ofcomponents
Design ofarchitecture
Analysis ofapplication
domain
Analysis ofproblemdomain
Specifications forcomponents
Model
Requirementsfor use
Specifications forarchitecture
(adapted from Mathiassen et al, 2000)
System Choice (Pre-analysis)
SystemDefinition
05 - 06 / 04 - 19
Arsitektur komponen dan proses
(Mathiassen et al, 2000)
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
05 - 06 / 05 - 19
Finally, we’ll lookat this activity
Activities in Architectural Design
(Mathiassen et al, 2000)
Analysis document
Criteria
Componentarchitecture
Processarchitecture Architectural
specification
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
CONTOH USER INTERFACE UNTUK CUSTOMER
PACKAGE & PACKAGE BODY
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
Processes, Active Objects, and Shared Objects
Process 3
Process 1
Process 2
Object 1
o1
o2
Object 4
o7
o8
Object 2
o3
o4
Object 3
o5
o6
Object 5
o9
o10Process 4
Potential conflict over shared programcomponent
Active object because it startsa new process
BACKGROUND PROCESS
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
Deploymentdiagram
Distribute programcomponents
Identify shared resources
Selectcoordination mechanisms
Explore distributionpatterns
Explore coordinationpatterns
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
Example Deployment Diagram: Airline Check-in
Processor Externaldevices
(Mathiassen et al, 1999)
Active objects
Contoh Deployment Diagram
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
Deployment Diagram
Deployment Diagram
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.