Pendahuluan
Perubahan
Tujuan SCM
Software Maintenance vs Software Configuration Management
Informasi dan Perubahan
Software Configuration Management
Sumber Dasar Perubahan
Baseline
SCI Baseline dan Database Proyek
Software Configuration Item (SCI)
SCM Process
Tanggung Jawab SCM
Pertanyaan Seputar SCM
Tugas SCM
Identifikasi Objek dalam SC
Tipe Objek
Keunikan Objek
Hubungan Antar-Objek
Evolusi Objek
Kontrol Versi (Version Control)
Versi PL
Komponen
Varian
Hub Objek Konfigurasi, Komponen, Varian, dan Versi
Kontrol Perubahan
Proses Kontrol Perubahan
Kontrol Akses & Sinkronisasi
Audit Konfigurasi
Proses Audit Konfigurasi
Pertanyaan dalam Proses Audit Konfigurasi
Pelaporan Status Konfigurasi (Status Accounting)
Software Configuration Management (SCM) Standards
Pendahuluan
Perubahan
Perubahan adalah hal yang tidak dapat dihindarkan ketika
perangkat lunak komputer sedang dibuat.
Perubahan2 tersebut meningkatkan tingkat kebingungan di
antara para software engineer yang berkerja pada proyek
tersebut.
Kebingungan muncul bila perubahan2 tersebut tidak
dianalisis sebelum perubahan tersebut dilaksanakan;
dicatat sebelum diimplementasi, dilaporkan kepada yang
ingin mengetahui, atau dikontrol dengan suatu cara yang
akan meningkatkan kualitas & mengurangi error.
Software configuration management (SCM) adalah
kegiatan payung (umbrella activities) yang dilaksanakan
selama proses perangkat lunak.
Tujuan SCM
s y s te m e n g in e e r in g
S y s te m S p e c ific a tio n
r e q u ir e m e n ts a n a ly s is
S o ftw a r e R e q u ir e m e n ts S p e c ific a tio n
s o ftw a r e d e s ig n
D e s ig n S p e c ific a tio n
c o d in g
S o u rc e C o d e
te s tin g
T e s t P la n s /P r o c e d u r e s /D a ta
r e le a s e
O p e r a tio n a l S y s te m
SCI Baseline dan Database Proyek
m o d ifie d
P r o je c t
S C Is d a ta b a s e
a p p ro v e d
S o ftw a re F o rm a l
e n g in e e r in g S C Is te c h n ic a l S C Is
ta s k s r e v ie w s
s to re d
S C Is
e x tra c te d Perlu
modifikasi?
SCM
c o n tr o ls
S C Is
Jalur modifikasi
Software Configuration Item (SCI)
SCI merupakan informasi yang diciptakan sebagai bagian dari proses
rekayasa perangkat lunak.
SCI berikut menjadi target bagi teknik2 CM dan membentuk
sekumpulan baseline.
1. System Specification
2. Software Project Plan
3. Software Requirement Specification
a. Graphical analysis model
b. Process specifications
c. Prototype(s)
d. Mathematical specification
4. Preliminary User Manual
5. Design Specification
a. Data design description
b. Architectural design description
c. Modul design descriptions
d. Interface design descriptions
e. Object description
Software Configuration Item (lanj)
6. Source Code Listing
7. Test Specification
a. Test plan & procedure
b. Test cases & recorded results
8. Operation & Installation Manuals
9. Executable Program
a. Module executable code
b. Linked modules
10. Database Description
a. Schema & file structure
b. Initial content
11. As-built User Manual
12. Maintenance Documents
a. Software problem reports
b. Maintenance requests
c. Engineering change orders
13. Standard & Procedure for Software Engineering
SCM Process
Tipe Objek
Untuk mengontrol & menangani SCI2, masing2 item harus
diberi nama berbeda dan kemudian diorganisir dengan
menggunakan metode berorientasi objek.
Dua tipe objek dapat diidentifikasi: basic objects (obyek
dasar) & aggregate objects (kumpulan obyek).
Sebuah basic object adalah sebuah “unit of text” yang
telah diciptakan oleh seorang software engineer pada saat
(selama) analisis, design, coding, atau testing.
Sebuah aggregate object adalah sekumpulan basic object
dan aggregate objects lainnya.
Keunikan Objek
Data Model
Design specification
data design
architectural design
module design
interface design
Module N
interface description
algorithm description
PDL
Test specification
test plan
test procedure
Source code
test cases
Evolusi Objek
Skema identifikasi untuk objek2 perangkat lunak harus
mengenali bahwa objek2 berevolusi selama proses
perangkat lunak.
Sebelum suatu objek dijadikan baseline, dia boleh
berubah berkali-kali, dan bahkan setelah suatu baseline
ditetapkan, perubahan2 mungkin cukup sering.
Dimungkinkan untuk menciptakan sebuah evolution graph
untuk suatu object. Evolution graph menggambarkan
sejarah perubahan dari object (lihat gbr).
Dimungkinkan juga perubahan2 dapat dilakukan pada
sembarang versi, tetapi tidak perlu pada semua versi.
Grafik Evolusi
obj obj
1 .3 1 .4
obj obj
2 .0 2 .1
obj obj
1 .1 .1 1 .1 .2
Kontrol Versi (Version Control)
obj obj
1.3 1.4
obj obj
2.0 2.1
obj obj
1.1.1 1.1.2
1
2 3
variants
4 5
components
Varian
Untuk membangun varian yang sesuai dari suatu versi
tertentu dari suatu program, masing2 komponen dapat
diberikan suatu “attribute-tuple”, yaitu sebuah lis dari fitur2
yang akan menentukan suatu komponen tertentu harus
dipakai bila suatu varian tertentu dari suatu versi
perangkat lunak dibuat.
Satu atau lebih atribut diberikan untuk masing2 varian.
Sebagai contoh, suatu atribut ‘color’ dapat dipakai untuk
menentukan komponen yang harus disertakan bila color
display yang harus didukung.
Cara lain untuk mengkonseptualisir hubungan antara
komponen, varian2, dan versi2 (revisi2) adalah
merepresentasikannya sebagai “object pool”
v a r ia n ts
c o m p o n e n ts
v e r s io n s
o b je c t
Hub Objek Konfigurasi, Komponen, Varian, dan Versi
c h e c k - in
c o n f i g u r a t i o n o b je c t
( m o d ifie d v e r s io n )
c o n f i g u r a t io n o b je c t
( b a s e lin e v e r s io n )
u n lo c k
a u d it in fo
o w n e rs h ip
in fo
s o ftw a re access p r o je c t
e n g in e e r c o n tro l d a ta b a s e
lo c k
c o n f i g u r a t i o n o b je c t
(e x tr a c te d v e r s io n ) c o n f i g u r a t i o n o b je c t
( b a s e lin e v e r s io n )
c h e c k -o u t
Audit Konfigurasi