Kenape subjek ni diajar dalam Software Engineering?? Sebab, subjek ni akan ajar kita bagaimana nak control change/perubahan...PERUBAHAN?? Apabila bercakap perubahan ni, ramai yang terbayang dalam kepala, bila customer mintak nak ubah function dalam software, maka kita akan berhadapan dengan perubahan. No, that is not the type of change that we deal in SCM, tapi itu sebahagian sahaja.
So jom defined SCM :
-SCM adalah satu set aktiviti yang digunakan oleh Software Engineer untuk mengawal perubahan..
-SCM digunakan START DARI SOFTWARE ANALYSIS lagi, sampai la ke hujung hayat software tu. Bukan bile customer nak change function saje ye ;)
Kenapa SCM?
- Sebab semua benda kat atas muka bumi ni berubah, termasuk software.
Apa benda yang kita nak control @ dalam bahasa formalnya = configuration items
- Semua benda penting yang terlibat dalam proses masa buat software tu...termasuklah :
- SRS
- Gantt Chart
- Flow Chart
- Class Diagram
- Semua jenis Diagram
- Code
- Executables (exe)
- etc
Contoh Situation kenapa kita perlukan SCM
Bayangkan, bos suruh ali dgn abu edit file login.php, ali kene tuka design page login tu, abu plak kene tukar function dalam login.php tu...ali dengan abu ni bukak file tu secara serentak. Ali save file tu pukul 11.00 pagi, Abu plak save pukul 11.30 pagi.. So sape punye file yang di save???? Kat sini la kite perlu SCM utk lock file yang tengah di edit. Kalau tak lock pon, maybe ade cara lain untuk kontrol changes yang dilakukan pada file tu..mybe integrate semua perubahan yg dibuat oleh ali dan abu sekali gus??
Aktiviti2 dalam SCM
- Configuration Identification
Kita identify ape benda2 yang bakal berubah masa buat software nanti
- Change Control
Kita buat process bagaimana cara kita nak edit configuration items yg telah kita identify
- Report & Status Accounting
Setiap perubahan yang berlaku perlu di report. Contohnya, kalau kita buat perubahan kat file function login, semua yang terlibat kat function login ni perlu tau yang ade perubahan kat function tersebut.
- Auditing
Audit ni macam check samada perubahan yang dilakukan terhadap file tu betul @ tidak supaya tiada masalah yang akan berlaku kemudian hari...
How about Baselines??
Ok, ramai yang pening baseline ni ape...Baselines sebenarnya adalah SEKUMPULAN CONFIGURATION ITEMS yang akan diguna pakai untuk next stage of system development..Sebagai contoh, masa stage implementation(coding), baseline kita adalah SRS, Class Diagram, Flow Chart, Gantt Chart dan etc..Basically baseline ni configuration items yang kita akan rujuk masa kita nak completekan stage tersebut..
Sekian, harap dapat membantu sedikit sebanyak pasal SCM...
Kita buat process bagaimana cara kita nak edit configuration items yg telah kita identify
- Report & Status Accounting
Setiap perubahan yang berlaku perlu di report. Contohnya, kalau kita buat perubahan kat file function login, semua yang terlibat kat function login ni perlu tau yang ade perubahan kat function tersebut.
- Auditing
Audit ni macam check samada perubahan yang dilakukan terhadap file tu betul @ tidak supaya tiada masalah yang akan berlaku kemudian hari...
How about Baselines??
Ok, ramai yang pening baseline ni ape...Baselines sebenarnya adalah SEKUMPULAN CONFIGURATION ITEMS yang akan diguna pakai untuk next stage of system development..Sebagai contoh, masa stage implementation(coding), baseline kita adalah SRS, Class Diagram, Flow Chart, Gantt Chart dan etc..Basically baseline ni configuration items yang kita akan rujuk masa kita nak completekan stage tersebut..
Sekian, harap dapat membantu sedikit sebanyak pasal SCM...