pemrograman
Memiliki sintaks yang jelas
Memiliki semantik yang jelas
ATA
1
Orthogonal
Portability
ATA
2
Control flow
Name scope (bagaimana menggunakan referensi
variable) -> pointer
Typing (static, dynamic)
ATA
3
ATA
4
Kategori Aplikasi
Paradigma pemrosesan data
ATA
5
Kategori Aplikasi
Paradigma system-programming
ATA
6
Perawatan Sistem
(Sistem Maintenance)
Melakukan modifikasi aplikasi (SW)
setelah digunakan/dipakai.
Biasanya tidak melakukan perubahan
besar terhadap arsitektur sistem.
Perubahan-perubahan terjadi melalui
modifikasi komponen yg ada
dan/atau penambahan komponen
baru ke sistem.
HARJANTO SUTEDJO 2008/2009
ATA
7
Customer
nominal
path
Proposed
M. R.s
Help desk
Approved
M. R.s
Maintenance
engineer
Current source
& documentation
Modified source
& documentation
HARJANTO SUTEDJO -
MR:Maintenance Request2008/2009
ATA
Marketing
Written
MRs
Maintenance
manager
Proposed
M. R.s
Help desk
Approved
M. R.s
Maintenance
engineer
Current source
& documentation
Modified source
& documentation
ATA
Rejected
MRs
9
Tipe Maintenance
Corrective Maintenance
Memperbaiki kesalahan latent
termasuk temporary patches
Adaptive Maintenance
Respond terhadap perubahan
eksternal
Perubahan hardware platform
Perubahan software dukungan
Perfective Maintenance
Meningkatkan mutu sistem yg sdh
dikembangkan
user enhancements
Peningkatan efisiensi
Preventative Maintenance
Mempermudah perawatan
berikutnya
Documenting, commenting, etc.
HARJANTO SUTEDJO 2008/2009
ATA
10
Masalah yg dihadapi
Lima masalah utama:
Keterbatasan pemahaman
Moral
ATA
11
4. Implementation
4.1 Input
4.2 Process
4.2.1 Coding and testing
4.2.3 Risk analysis & review
4.2.4 Test-readiness review
4.3-4.6 Control, Output,
Quality factors, Metrics.
5. System Test
5.1-5.6 Input, Process, Control,
Output, Quality factors, Metrics.
6. Acceptance Test
6.1-6.6 Input, Process, Control,
Output, Quality factors, Metrics.
7. Delivery
7.1-7.6
Input, Process, Control,
HARJANTO SUTEDJO
ATA
3. Design
2008/2009
12
3.1-3.6 Input, Process, Control, Output, Quality factors, Metrics.
IEEE 1219-1992
Fase Perawatan 1: Problem Identification
a. Input
b. Process
c. Control
d. Output
e. Selected quality
factors
f. Selected metrics
MR yang valid
Kejelasan MR
Tingkat kebenaran MR (mis., type)
Jumlah MR yang diabaikan
Jumlah MR yang dilaksanakan
Jumlah duplikasi MR
HARJANTO SUTEDJO ATA
Waktu yang diperlukan
untuk
menemukan
masalah
2008/2009
13
IEEE 1219-1992
Fase Maintenance 2: Problem Analysis
a. Input
b. Process
c. Control
d. Output
e. Selected quality
factors
f. Selected metrics
14
IEEE 1219-1992
Maintenance phase 3: Design
a. Input
b. Process
c. Control
d. Output
Updated
design baseline
test plans
e. Selected quality
factors
f. Selected metrics
Effort in person-hours
Elapsed time
HARJANTO SUTEDJO ATA
Number of applications of the change
2008/2009
15
IEEE 1219-1992
Maintenance phase 4: Implementation
a. Input
b. Process
c. Control
Inspect code
Verify
CM control of new code
Traceability of new code
d. Output
Updated
software
unit test reports
user documents
e. Selected quality
factors
Flexibility
Traceability
Comprehensibility
Maintainability
Reliability
f. Selected metrics
Lines of code
HARJANTO SUTEDJO Error rate
2008/2009
ATA
16
Pendekatan Maintenance
Filosofi Maintenance:
Quick-fix model
Perubahan pd code semudah mungkin
Degradasi struktur software menurun secara cepat
Full-reuse model
Memulai dengan requirements utk sistem baru, sedapat
mungkin melakukan reengineering sistem yg ada.
Memerlukan suatu budaya reuse yg mature agar sukses dlm
reengineeringHARJANTO
(meminimumkan
SUTEDJOterjadinya
ATA perubahan-perubahan).
2008/2009
17
Kualitas Maintenance
Metrics Maintenance:
ATA
18
Quality Assurance
Quality assurance terdiri dari procedures, techniques, dan tools
yang digunakan utk meyakinkan bahwa sistem sesuai atau
melampaui standards yang sudah ditentukan pd saat proses
pengembangan sistem.
Terdiri dari semua teknik yg digunakan untuk meningkatkan kualitas sistem:
1. Metode dan alat untuk menentukan System Requirements, System Analysis,
System Design, Implementation and Testing
HARJANTO
SUTEDJO - secara
ATA efektif
membantu dlm mencari
kesalahan
2008/2009
19
20
Faktor Kualitas
Maintainability
(Dapatkah
diperbaiki)
Flexibility
(Dapatkah diubah)
Testability
(Dapatkah diujikan)
Portability
(Dapatkah dikonversi ke
komputer lain)
Reusability
Product Product (Beberapa bagianb
dpt
Revision Translation
digunakan lagi)
Interoperability
(Interaksi dg
Product
sistem
lain)
Operation
21
Faktor Kualitas
Yang menentukan kualitas sistem:
Sisi customer -> sesuai spesifikasi
Sisi pengembang -> mudah melakukan perawatan dan
test
Kualitas sistem ditentukan juga oleh beberapa
faktor lain:
safety
security
reliability
resilience
robustness
understandability
testability
adaptability
modularity
complexity
portability
usability
reusability
efficiency
learnability
22
Metrics
Control metrics
Predictor metrics
ATA
23
ATA
24
HARJANTO SUTEDJO
ATA
Functionality, Usability,
Reliability,
Performance and
2008/2009
25
Supporotability (FURPS) metrics
Product Quality
Design Quality Metrics
Tingkat perawatan komponen perancangan
sistem berhubungan ke:
ATA
26
Product Quality
Design Quality Metrics (2)
a) Structural fan-in/fan-out
fan-in jumlah panggilan ke suatu komponen
(dari luar)
fan-out jumlah komponen yg terpanggil (diluar)
b) Informational fan-in/fan-out
Mempertimbangkan jml parameter yang dikirim
ditambah pengaksesan ke struktur data yg di share.
complexity = length x (fan-in x fan-out)2
ATA
27
28
ATA
29
DSQI
S1 = jumlah subsystem yang didefinisikan dalam arsitektur
program
S2 = jumlah subsystem dimana correct function tergantung pd
sumber data input atau yang menghasilkan data digunakan
di tempat lain.
S3 = jumlah subsystem dimana correct function tergantung
pada prses sebelumnya
S4 = jumlah item database (termasuk data objects dan semua
atribut-atribut yang mendefinisikan obyek)
S5 = jumlah total item database unique
S6 = jumlah segmen database segments (record yg berbeda
atau individual objects)
S7 = jumlah
ATA
30
masuk dan keluar tunggal
Product Quality
Program Quality Metrics
a) Halsteads Software Science
Melihat operators dan operands dalam suatu komponen
dan menghitung nilai volume component, V, tingkat
kesulitan component, D, dan effort, E, yg diperlukan untuk
implementasi komponen.
n1 = jumlah operators unique pd suatu component
n2 = jumlah operand unique pd suatu component
N1 = jumlah total operators
N2 = jumlah total operands
L = N1+ N2 (component length)
V = L * log2(n1 + n2) (component volume in bits)
D = (n1/2) * (N2/n2)(tingkat kesulitan implementasi
komponen)
E=V *D
untuk
31
Product Quality
Program Quality Metrics
b) McCabes Complexity Metric
(2)
Merujuk kepada control flow suatu komponen
Cyclomatic Complexity > mengukur kompleksitas logical
komponen
ATA
32
Product Quality
Pendekatan Formal
a) Membuktikan kebenaran spesifikasi sistem.
Pembuktian secara logis bhw kebutuhan sudah
ditransformasi ke sistem secara benar.
(mis. pembuktian assertions programs)
b) Statistical Quality Assurance
ATA
33
Level 2: Repeatable
process
Requirements Management
Software Project Planning
Software Project Tracking &
Oversight
Software Subcontract
Management
Software Quality Assurance
Software Configuration
Level
5: Optimizing process
Management
Fault Prevention
Quantitative Process
Management
Software Quality Management
ATA
34
Tidak ada technical atau management training; staff talent bukan sumber yg kritis;
tidak ada organizational loyalitas
Level 2 Repeatable
Level 3 Defined
Level 4 Managed
Focus pd peningkatan kompetensi pd critical skills; mentoring; teambuilding; quantitative competence goals; evaluation thd kefektifan work
practices
HARJANTO SUTEDJO 2008/2009
Level 5 Optimizing
ATA
36
ATA
37