Matakuliah
Informasi Lanjut
Tahun
: M0126 - Analisis dan Perancangan Sistem
: 2009 - 2010
Criteria And Component Diagram
Pertemuan 0304
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :
• Mahasiswa dapat membuat Criteria (C4)
• Mahasiswa dapat membuat diagram / skema component architecture class (C4)
Outline Materi
• Criteria
• General design criteria
• Reduce complexity by separating concerns
• Reflect stable context structures
• Reuse existing components
Criteria
• Tujuan dalam kita membuat kriteria adalah menentukan dalam sistem yang akan kita buat memiliki kriteria apa yang dibutuhkan oleh user
• Untuk itu diperlukan wawancara kepada user untuk mendapatkan kriteria yang dibutuhkan oleh sistem
• Membuat Table Criteria
System Choice
(Pre-analysis)
System
Definition
Problem domain analysis
Requirements for use
Application domain analysis
Model
Component design
Specifications for components
Specifications for architecture
(adapted from Mathiassen et al , 2000)
Architectural design
03 - 04 / 02 - 35
03 - 04 / 03 - 35
Architectural Design
Purpose
To structure a computerized system
Concepts
Criterion : a preferred property of an architecture
Component architecture : A system structure composed of interconnected components
Process architecture : A system-execution structure composed of interdependent process
Architectural Design (Cont’d)
Principles
Define and prioritize criteria
Bridge criteria and technical platform
Evaluate designs early
Result
Structures for a system’s components and process
03 - 04 / 04 - 35
03 - 04 / 05 - 35
Component and Process Architectures
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)
03 - 04 / 07 - 35
Activities in Architectural Design
Activity Content
Criteria How are the conditions and criteria for design?
Concepts
Criterion
Components
How is the system structured into components?
Processes How are the system’s processes distributed and coordinated?
Component architecture
Component
Process Architecture
Process
Criteria
Purpose
– To set design priorities
Concept
– Criterion : A preferred property of an architecture
– Conditions : The technical, organizational, and human opportunities and limits involved in performing a task
03 - 04 / 09 - 35
Criteria (Cont’d)
Principles
– A good design has no major weakness
– A good design balances several criteria
– a good design is usable, flexible and comprehensible
Result
– A collection of prioritized criteria
03 - 04 / 10 - 35
Criterions
Usable
03 - 04 / 11 - 35
Measure of
The system’s adaptability to the organizational, workrelated, and technical context ( Apakah sistem yang akan
Kita buat bisa beradaptasi dengan sistem yang sedang
Secure
Efficient
Platform’s berjalan sekarang )
The precautions against unauthorized access to data and facilities ( Memiliki Sistem Security yang baik)
The economical exploitation of the technical
Correct
Reliable facilities ( Apakah Secara Teknis Platform yang dipakai
Hardware dan Software sudah mendukung )
The fulfillment of requirement
The fulfillment of the required precision in function
03 - 04 / 12 - 35
General Design Criteria (Cont’d)
Criterions Measure of
Maintainable The cost of locating and fixing system defects
Testable performs its
The cost of ensuring that the deployment system
Flexible intended function
The cost of modifying the deployed system
Comprehensible understanding of the system
The effort needed to obtain a coherent
The potential for using system parts in other Reusable related system
Portable technical platform
The cost of moving the system to another
Useable
Secure
Efficient
Correct
Reliable
Maintanable
Testable
Flexible
Comprehensible
Reuseable
Portable
Interoperatable
Criterion
Very
Important Important
Less important Irrelevant
1
4
2
3
9
8
10
11
6
7
5
Easily fulfilled
Penjelasan Criteria untuk VCD CASE
• Didalam kasus VCD maka yang paling penting adalah
• Reliable-> Karena sistem harus digunakan sehari – hari
• Correct-> Perhitungannya harus tepat
• Flexible-> Harus flexible jika ada program-program promosi
• Maintainable-> Harus mudah untuk diadakan perubahan
03 - 04 / 13 - 35
System definition
Sub-activities in Criteria
Consider general criteria
Prioritize
Analyse specific conditions
Criteria for design
(Mathiassen et al , 2000)
Analyse Specific Conditions
• Each situation is different and has different specific requirements which constrain design
−
Technical: hardware, software, reuse, available components
−
−
Organisational: contracts, related plans, work division
Human: Staff experience and competence
03 - 04 / 14 - 35
Evaluating Design Criteria
•
•
•
Two forms of evaluation
−
−
Reviews
Experiments (prototypes)
Other questions need to be answered
−
−
−
−
Which parts should be reviewed?
Which parts should be prototyped?
Who will participate in evaluations?
When will the evaluations take place?
Need to plan now for later evaluations!
03 - 04 / 16 - 35
Components
• Purpose
To create a comprehensible and flexible system structure
• Concepts
Component architecture : A system structure of interconnected components
Component : A collection of program parts that constitutes a whole and has well-defined responsibilities
03 - 04 / 18 - 35
Components (Cont’d)
Principles
Reduce complexity by separating concerns
Reflect stable context structures
Reuse existing components
Result
A Class diagram with specifications of the complex components
03 - 04 / 19 - 35
03 - 04 / 21 - 35
Explore
Architectural Patterns
Patterns are a useful guide to design
Some patterns have been proven useful
Layered architecture
idea is from the ISO OSI network model
A generic architecture
from the authors
based on the Model Function Interface framework
Client-server architecture
should consider whenever distribute a system
03 - 04 / 22 - 35
The Layered Architecture Pattern
« component »
Layer i+1
Upward interface
« component »
Layer i
Downward interface
« component »
Layer i-1
(Mathiassen et al , 2000)
03 - 04 / 23 - 35
The Generic Architecture Pattern
« component » Interface
« component »
User Interface
« component »
System Interface
« component »
Function
« component »
Model
« component » Technical platform
« component »
UserInterfaceISystem
« component »
DataBaseSystem
« component »
NetworkSystem
(Mathiassen et al , 2000)
03 - 04 / 24 - 35
Generic Architecture (Cont’d)
Can further divide functions into two kinds and group into components differently
Task-related functions
Model-related functions
Can split functions, or place some with model component
For very simple system, may not need the function component at all
03 - 04 / 25 - 35
The Client-Server Architecture Pattern
« component »
Client
1
« component »
Client
2
« component »
Client n
« component »
Server
(Mathiassen et al , 2000)
03 - 04 / 26 - 35
Client-Server Architecture (Cont’d)
The components in a client-server architecture are a server and several client
The server has a collection of operations that it makes available to the clients
Potentially a good architecture whenever distribute a system geographically
03 - 04 / 27 - 35
Define Subsystems
For large systems, often need to split the system into subsystems
Allows division of work so that design and building of subsystems is independent (except for any interfaces between them)
Each subsystem may be a system in its own right, with interface, function, and model components
Must design the architecture of each subsystem
03 - 04 / 28 - 35
Five Forms of Distribution
Client
U
U
U + F
U + F
U + F + M
Server Architecture
U + F + M Distributed presentation
F + M Local presentation
F + M Distributed functionality
M
M
Centralized data
Distributed data
(Mathiassen et al , 2000)
03 - 04 / 29 - 35
Example Subsystems and (Sub)system
Interfaces
« component » Subsystem A « component » Subsystem B
« component »
User Interface
« component »
System Interface
« component »
System Interface
« component »
User Interface
« component »
Function
« component »
Function
« component »
Model
« component »
Model
(Mathiassen et al , 2000)
03 - 04 / 30 - 35
Identify Components
-
-
-
Design the architecture for each system or subsystem by breaking into components
Begin with 3-tiered architecture or a pattern
Extend basic architecture by examining model, function, and interface design concerns
Extend further by finding useful existing components
03 - 04 / 31 - 35
Model Design Concerns
Responsibility:
Contextual issues:
Exemplars:
Special needs:
The problem domain model
Incohesive or complex problem domains
Accounting, reservations, inventory, administration databases
03 - 04 / 32 - 35
Function Design Concerns
Responsibility:
Contextual issues:
Exemplars:
Special needs:
The functionality on the model
Need for incohesive or complex functionality
Payroll, signal processing, cruise control
Model-related functions, application-related functions
03 - 04 / 33 - 35
Interface Design Concerns
Responsibility:
Contextual issues:
Exemplars:
Special needs:
Interaction between functions and actors
Incohesive or complex actors or usage
Browsing, games, presentation monitoring
Screens, windows, buttons, print-outs, devices, communications
03 - 04 / 34 - 35
Using Components
Can obtain and use components from a number of sources
Another existing system
Earlier version of system
Standard purchased components - software library
03 - 04 / 35 - 35
Specifying Components
Complex components should be specified in detail.
May attach supplemental notes to class diagrams.
Good to summarize each component’s
Responsibility (service it provides)
Dependency (on other components)
Relationship to the system context
Contoh Component untuk VCD CASE
Client:Kasir
Server
User
Interface
Function Model