Document 15060384

advertisement
Matakuliah
: M0126 - Analisis dan Perancangan Sistem
Informasi Lanjut
Tahun
: 2009 - 2010
Criteria And Component Diagram
Pertemuan 0708
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
Requirements
for use
System Choice
(Pre-analysis)
Analysis of
problem
System domain
Definition
Model
Analysis of
application
domain
Design of
components
Specifications for
components
Specifications for
architecture
(adapted from Mathiassen et al, 2000)
Design of
architecture
Now continue
with this area of
activity and
its product
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
Finally, we’ll look
at this activity
Process
architecture
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 standalone 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
1
Object
1
o1
o2
Potential conflict
over shared
program
component
Object 3
o5
o6
Object 2
o3
Process 3
Process 2
Active object
because it starts
a new process
Object
4
o4
o7
o8
Object 5
o9
Process 4
o10
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
Identify shared
resources
Distribute program
components
Explore distribution
patterns
Select
coordination
mechanisms
Deployment
diagram
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
Example Deployment Diagram: Airline Check-in
Active objects
Processor
External
devices
(Mathiassen et al, 1999)
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.
Download