บทที่ 29 Configuration management ( CM )
เป็นสิ่งที่เราควรจะรู้ไว้ เพราะว่าในการพัฒนา Software มันจะมีการพัฒนาปรับปรุงไปเรื่อยๆ ในบทนี้จะเป็นเรื่องของการกำหนด Version , Release และ Build
ในรูปตย.
(slide5) ในการกำหนด CM เรามักจะไม่กำหนด Version ของระบบทั้งระบบ แต่มักจะแตกออกเป็นหมวดหมู่ต่างๆแล้วก็ไปกำหนด
Version ของแต่ละหมวดหมู่นั้นอีกที โดยการแตกระบบก็แล้วแต่มุมมอง เช่น แตกเป็นในแง่ของ
Interface เป็นกลุ่มหนึ่ง , หรือแตกในแง่ของ data access ก็เป็นอีกกลุ่มหนึ่ง
ในการกำหนด Version เรามักจะมี database มาช่วยในการกำหนด Version โดยจะมีการบันทึกว่าเป็นหมวดหมู่ไหน , component ชื่ออะไร , ถูกเปลี่ยนแปลงแก้ไขอะไรบ้าง วันที่เท่าไร , ชื่อ Version ว่าอะไร ข้อมูลเหล่านี้จะช่วยในการติดตาม Version ว่าไปถึงไหนแล้ว
Case-tool ที่ดีๆก็จะมีส่วนที่ช่วยในการติดตาม Version ด้วย เช่น visual source safe ของไมโครซอฟท์ซึ่งจะอยู่ในชุด Visual studio
ความแตกต่างระหว่าง Version / Variance / Release
- Version จะหมายถึงความเปลี่ยนแปลงของระบบในแง่ของ
Functionally
- Variance จะหมายถึงความเปลี่ยนแปลงของระบบในแง่ของ
Non Functionally
- Release หมายถึงการเอา Software ที่ทดสอบจากผู้พัฒนาแล้วไปให้บุคคลภายนอกทดลองใช้งาน
1. Version
1.1 Version numbering ใช้ระบุด้วยตัวเลขซึ่งเราจะคุ้นเคยกันดีอยู่แล้ว แต่ตัวเลขมันจะไม่ได้เรียงลำดับเสมอไป ดังตย.(slide11) ถ้าไม่มีการเปลี่ยนแปลงอะไรไปากๆเราอาจจะเอาตัวอักษรมาต่อท้ายก็ได้ เช่น V.1.1a หรือ V.1.2.2a เพราะฉะนั้นเราจึงต้องมีแผนผังโครงสร้างของ version เอาไว้เพื่อจะได้รู้ว่าเป็น Versionใหม่หรือเก่า
1.2 Attribute based identification เป็นการกำหนดตามคุณสมบัติของ Software ได้แก่พวก ภาษาที่ใช้ , Platform อะไร , วันที่พัฒนา เป็นต้น มาใช้กำหนดเป็น Code เลย ตยเช่นกำหนดเป็น code AC3D ซึ่งหมายความว่า ใช้ภาษา java เขียน , สำหรับรันบน NT version4 , พัฒนาขึ้นมาช่วงเดือนมกราคม ปี 1999
ถ้าเราพัฒนา Software เพื่อใช้ในองค์กรหรือว่า Software มีคุณสมบัติที่ชัดเจนเป็นที่เข้าใจกันในกลุ่มผู้พัฒนา การใช้วิธีแบบนี้จะดีกว่าเพราะมันจะบอกถึงความเปลี่ยนแปลงและคุณสมบัติของ Software เลย แต่ถ้าไปใช้กับบุคคลภายนอกควรจะใช้เป็นแบบ Version ดีกว่า
1.3 Change Oriented identification เป็นการกำหนด Version ตามความเปลี่ยนแปลงที่เกิดขึ้น มักจะใช้ 2 วิธีข้างบนผสมกัน โดยจะใช้ตัวเลขบอก Version ก็ต่อเมื่อมีการเปลี่ยนแปลงกับทั้งระบบ ซึ่งวิธีนี้ไม่ค่อยจะได้ใช้กันนัก
2. Release management จากการที่ release มักจะเป็นการเอา Software ไปให้บุคคลภายนอกใช้ เพราะฉะนั้นการเปลี่ยนแปลง Release จึงมักจะเปลี่ยนแปลงเมื่อมีการค้นพบ Error เกิดขึ้น หรือมี Requirement ใหม่ หรือมีฟังก์ชันใหม่เกิดขึ้นในระบบ ซึ่งการออกเป็น release ไม่ใชเป็นการออกแต่เพียง Software อย่างเดียวแต่จะต้องออกเป็นเอกสารต่างๆด้วย
3. System build ในการพัฒนา Software ขนาดใหญ่ ส่วนใหญ่มักจะเกิดจากการพัฒนาระบบย่อยหลายๆระบบแล้วจึงเอามา Compile แต่ละระบบย่อย แล้วจึงเอามารวมกันเป็นระบบใหญ่ การที่ Compile ระบบย่อยทั้งหลายแล้วเอามารวมกันในแต่ละครั้งหนึ่งๆ เราเรียกว่า Build เช่น โปรแกรม window ก็ใช้วิธีนี้เพราะว่า Software มีขนาดใหญ่มากจนต้องมีการออกเป็น Version ของแต่ละส่วน แล้วเอาทั้งหมดมา Compile ร่วมกันเป็น Build หนึ่ง Build
บรรยายเมื่อ 25 กพ. 2545 เทอม 2/44
ฺBack | Lesson 16 | Lesson 17 | Lesson 18 | Lesson 20 | Lesson 29 | Index | Mores |