Pertemuan 13 Criteria System Matakuliah : M0446/Analisa dan Perancangan Sistem Informasi

advertisement
Matakuliah
Tahun
Versi
: M0446/Analisa dan Perancangan Sistem Informasi
: 2005
: 0/0
Pertemuan 13
Criteria System
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
• Memberikan contoh tentang kriteria yang baik
untuk suatu rancangan program
2
Outline Materi
• Parameter Kualitas Desain
• General Design Criteria
• Arsitektur Diagram
3
Aktivitas Utama didalam Desain
Arsitektur
4
Beberapa kualitas desain
yang baik
• Sistem memodel bagian dari problem domain yang
sudah disetujui bersama dengan user
• Fungsi dari sistem correspond pada requirement dari
application domain
• Interface merupakan implementasi dari interaksi yang
telah di terangkan.
• Platform teknis digunakan secara efektif
• Sistem dapat diadaptasi terhadap requirement baru dan
kebutuhan.
5
Design Criteria
• We don’t judge just by how well a system meets
criteria; not meeting one criterion can be critical
A good design has no major weaknesses
A good design balances several criteria
Criterion: A preferred property of an architecture
• Need to define priorities among criteria and
evaluate them
6
Sub-activities in Criteria
7
General Design Criteria
Useable
Secure
Efficient
Correct
The system’s adaptability to its organizational, workrelated, and technical contexts
The precautions against unauthorized access to data
and facilities
The economical exploitation of the technical
platform’s facilities
The fulfillment of requirements
Reliable
The fulfillment of the required precision in function
execution
Maintainable The cost of locating and fixing system defects
8
General Design Criteria (2)
Testable
Flexible
The cost of ensuring that the deployed system
performs its intended function
The cost of modifying the deployed system
Comprehensible
Reusable
The effort needed to obtain a coherent
understanding of the system
The potential for using system parts in other related
systems
Portable
The cost of moving the system to another technical
platform
Interoperable The cost of coupling the system to other systems
9
General Design Criteria (3)
• The textbook emphasises three of these
with its Principle …
A good design is usable, flexible, and
comprehensible.
10
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
11
Prioritising Design Criteria
Criterion
Very
Less
Important Important important Irrelevant
Easily
fulfilled
Useable
Secure
Efficient
Correct
Reliable
Other




12
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!
13
Principles of Criteria
• A good design has no major weaknesses.
• A good design balances several criteria.
– some criteria may turn out to be conflicting!
• A good design is usable, flexible, and
comprehensible.
14
Aktifitas utama didalam Desain Arsitektur
15
Terminology
• Component Architecture: A system
structure composed of interconnected
components
• Component: A collection of program parts
that constitutes a whole and has welldefined responsibilities
– Like a cluster
– Composed of classes and/or other
components
16
Principles
• Reduce complexity by separating
concerns
– Aids comprehendibility, maintainability
• Reflect stable context structures
– Interface at the top, model at the bottom
• Reuse existing components
– Reduces development effort
– Improves design comprehensibility
17
Sub-aktifitas didalam desain arsitektur
komponen
18
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
19
Arsitektur Lapisan
20
Arsitektur Turunan (generik)
21
Generic Architecture (2)
• 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
22
Arsitektur Client-Server
23
Arsitektur Client-Server (2)
• Komponen adalah server dan beberapa dari client
• Server memberikan kumpulan dari operation (atau
services!) pada client
• Client menggunakan server secara independen
• Potentially a good architecture whenever distribute a
system geographically
• Bentuk distribusi dari bagian sistem harus diputuskan
antara client dan server
24
Five Forms of Distribution
Client
Server
Architecture
U
U+F+M
Distributed presentation
U
F+M
Local presentation
U+F
F+M
Distributed functionality
U+F
M
Centralised data
U+F+M
M
Distributed data
(Mathiassen et al, 2000)
25
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
26
Example Subsystems and
(Sub)system Interfaces
«component» Subsystem A
«component» Subsystem B
«component»
«component»
«component»
«component»
User Interface
System Interface
System Interface
User Interface
«component»
«component»
Function
Function
«component»
«component»
Model
Model
(Mathiassen et al, 2000)
27
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
– Generally good to encapsulate the extended
technical platform
28
Model Design Concerns
• Responsibility: The problem domain
model
• Contextual
Incohesive or complex
issues:
problem domains
• Exemplars:
Accounting, reservations,
inventory, administration
• Special needs: databases
29
Function Design Concerns
• Responsibility: The functionality on the
model
Need for incohesive or
• Contextual
complex
functionality
issues:
Payroll, signal processing,
• Exemplars:
cruise control
Model-related functions,
• Special needs: application-related
functions, cryptography
30
Interface Design Concerns
• Responsibility: Interaction between functions
and actors
Incohesive or complex actors
• Contextual
or usage
issues:
Browsing, games,
• Exemplars:
presentation monitoring
Screens, windows, buttons,
• Special needs: print-outs, devices,
communications
31
Using Components
• Can obtain and use components from a
number of sources
– Another existing system
– Earlier version of system
– Standard purchased components - software
library
• Need to encapsulate these to limit impact
if later change chosen components
32
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
33
34
Download