บทที่ 1lms.mju.ac.th/courses/305/locker/บทที่ 2... · web viewหล...
TRANSCRIPT
1. วงจรการพฒนาระบบ (Systems Development Life Cycle)
เพอใหนกวเคราะหและทมงานพฒนาระบบทำางานไดอยางคลองตวมลำาดบขน และเปาหมายทแนนอน นกวเคราะหระบบควรจะ
เพอใหทราบความหมายของวงจรการพฒนาระบบอธบายวธการพฒนาระบบโดยระเบยบวธ
วงจรการพฒนา ระบบ (System Development Life Cycle) ได
เพอใหทราบถงความสำาคญของวศวกรรมซอฟตแวรกบ การพฒนาระบบ
วตถประส
บทท 2 วงจรการพฒนาระบบ
ทราบถงวา ระบบสารสนเทศนนพฒนาขนมาอยางไร มขนตอนอยางไร นนกคอนกวเคราะหตองรวาวงจรการพฒนาระบบคออะไร ดงน
วงจรการพฒนาระบบ (Systems Development Life Cycle) เปนวงจรทแสดงถงกจกรรมตางๆ ในแตละขนตอน ตงแตตนจนเสรจเปนระบบงานทใชได ซงนกวเคราะหระบบตองทำาความเขาใจวาในแตละขนตอนทำาอะไรและทำาอยางไรโดยมอย 7 ขนตอนดวยกนคอ
รปท 2.1 วงจรการพฒนาระบบ1.เขาใจปญหา (Problem Recognition)2.ศกษาความเปนไปได (Feasibility Study)3.วเคราะห (Analysis)4.ออกแบบ (Design)5.พฒนา (Development)6.ทดสอบและตดตง (Implementation and Testing)7.บำารงรกษา (Maintenance)
ขนตอนท 1 เขาใจปญหา (Problem Recognition)ระบบสารสนเทศจะเกดขนไดกตอเมอผบรหารหรอผใชตระหนก
วาตองการระบบสารสนเทศหรอระบบจดการเดมไมมประสทธภาพเพยงพอทจะตอบสนองความตองการในปจจบนได
12
บทท 2 วงจรการพฒนาระบบ
จงทำาใหในปจจบนนผบรหารตนตวกนมากทจะใหมการพฒนาระบบสารสนเทศมาใชในหนวยงานของตน ไมวาจะเปนในธรกจอตสาหกรรม หรอในงานการผลต
เมอผบรหารคดวาควรจะมการนำาระบบสารสนเทศเขามาใช หรอมการแกไขจะเปนหนาทของนกวเคราะหระบบทเขามาศกษาระบบในรายละเอยด ตวอยางเชน การสงซอสนคาของพนกงาน จากระบบเดมทใชเอกสารในการจดทำาขอมลหรอใหบรการ เมอบรษทมขนาดใหญขน การใชระบบเอกสารไมสามารถสนองตอบตอความตองการได เพราะมความลาชา ผทจะเขามาชวยงานในดานนกไมสามารถทำาไดเพราะไมรระบบงานมากอน และในอนาคตกคงจะตองมจำานวนพนกงานทตองการสงซอสนคาเปนจำานวนมาก
ดงนนกอนทจะเกดปญหาขน ฝายบรหารจงเรยกนกวเคราะหระบบเขามาศกษาวาเปนไปไดหรอไมทจะเปลยนจากระบบเอกสารใหเปนระบบสารสนเทศแทน
รปท 2.2 เขาใจปญหาปญหาทสำาคญประการหนงของระบบสารสนเทศในปจจบนคอ
ระบบเหลานนเขยนมานานแลว สวนใหญกเพอตดตามเรองการเงนเทานนไมไดมจดประสงคเพอใหขอมลขาวสารในการตดสนใจแตปจจบนนฝายบรหารตองการทจะดสถตการขายเพอใชในการคาดคะเนในอนาคต หรอความตองการอน ๆ ซงไมอาจทำาไดโดยระบบเดม เชน สนคาทมยอดขายสง หรอสนคาอนใดเปนทสนใจของลกคาแตละคน หรอการแยกประเภทลกคาตาง ๆ กทำาไดไมงายนก หรอแมแตการสรางระบบใหม ดงนนควรจะมการศกษาเสยกอนวา ความ
13
บทท 2 วงจรการพฒนาระบบ
ตองการของเราพอทจะเปนไปไดหรอไม ไดแกการทำา การศกษา“ความเปนไปได ” (Feasibility Study)
รบรสภาพปญหาทเกดขนจากการดำาเนนงาน สรปหาสาเหตของปญหา และสรปผลยนแกผบรหารเพอ
พจารณา ทำาการศกษาความเปนไปไดในแงมมตางๆ เชน ดานตนทน
และทรพยากร รวบรวมความตองการ (Requirements) จากผท
เกยวของดวยวธการตางๆ เชน การรวบรวมเอกสาร การสมภาษณ การสงเกต และแบบสอบถาม
สรปขอกำาหนดตางๆ ใหมความชดเจน ถกตอง และเปนทยอมรบทง 2 ฝาย
สรป ขนตอน 1 : เขาใจปญหาหนาท : ตระหนกวามปญหาในระบบผลลพธ : อนมตการศกษาความเปนไปไดเครองมอ : ไมมบคลกรและหนาทรบผดชอบ : ผใชหรอผบรหารชแจงปญหาตอนกวเคราะหระบบ
ขนตอนท 2: ศกษาความเปนไปได (Feasibility Study)จดประสงคของการศกษาความเปนไปไดคอ การกำาหนดวา
ปญหาคออะไร และตดสนใจวาการพฒนาระบบสารสนเทศ หรอการแกไขระบบสารสนเทศเดม มความเปนไปไดหรอไม โดยทเสยคาชาจายและเวลานอยทสด และไดผลลพธเปนทนาพอใจ ซงปกตแลวการศกษาความเปนไปไดไมควรใชเวลาเกน 1 เดอน
ระหวางทนกวเคราะหระบบศกษาวาเปนไปไดหรอไม จะตองศกษาปญหาอยางรวดเรวและกำาหนดใหไดวาขอผดพลาดของระบบมอะไรบาง หรอความตองการของระบบมอะไรบาง
ปญหาตอไปกคอ นกวเคราะหระบบจะตองกำาหนดใหไดวาการแกปญหาดงกลาวมความเปนไปไดในทางเทคนคและบคลากรท
14
บทท 2 วงจรการพฒนาระบบ
สำาคญคอ เรองเงนหรอไมปญหาทางเทคนคกจะเกยวของกบเครองคอมพวเตอร และเครองมอเกา ๆ ถาม รวมทงเรองคอมพวเตอรซอฟตแวรดวย
รปท 2.3 ศกษาความเปนไปได
ตวอยางของปญหาทางเทคนคคอ คอมพวเตอรทใชอยในบรษทเพยงพอหรอไม คอมพวเตอรอาจจะมเนอทของฮารดดสกไมเพยงพอ ถาไมพอจะหาไดในตลาดหรอไม รวมทงซอฟตแวรวาสามารถแกไขไดหรอไม อาจจะตองซอใหม หรอพฒนาขนใหมเปนตน
ความเปนไปไดทางดานบคลากรคอ บรษทมบคคลทเหมาะสมทจะพฒนาและตดตงระบบเพยงพอหรอไม ถาไมมจะหาไดหรอไม จากทใดเปนตน นอกจากนนควรจะใหความสนใจวาผใชระบบมความคดเหนอยางไรกบการเปลยนแปลง รวมทงความเหนของผบรหารดวย
สดทายนกวเคราะหระบบตองวเคราะหไดวา ความเปนไปไดเรองคาใชจาย รวมทงเวลาทจะตองใชในการพฒนาระบบ และทสำาคญคอ ผลประโยชนทจะไดรบ เรองเวลาเปนสงสำาคญควรจะใชเวลาไมเกน 1 ป ตงแตเรมตนจนใชงานได คาใชจายในการนไดแก เงนเดอน เครองมอ อปกรณตาง ๆ เปนตน ซงจะตองประมาณการตงแตเรมพฒนาจนกระทงนำาระบบมาใชงานจรงประจำาวน ซงจะตองมคาใชจายประจำาวนอยดวย พดถงเรองผลประโยชนทไดรบอาจจะมองเหนไดไมงายนก แตนกวเคราะหระบบกควรมองและตออกมาในรปของเงนใหได เชน เมอนำาระบบใหมเขามาใชอาจจะทำาใหคาใชจายบคลากรลดลง
15
บทท 2 วงจรการพฒนาระบบ
หรอกำาไรเพมมากขน เชน ทำาใหยอดขายเพมมากขนเนองจากผบรหารมขอมลพรอมทจะชวยในการตดสนใจทดขนซงผบรหารเปนคนตดสนใจวาจะดำาเนนการตอไปในขนตอนการวเคราะห (Analysis) หรอจะยกเลกโครงการทงหมด
รปท 2.4 ความเปนไปไดทางดานการเงน
สรป ขนตอนท 2: การศกษาความเปนไปได (Feasibility Study)หนาท: กำาหนดปญหา และศกษาวาเปนไปไดหรอไมทจะ
เปลยนแปลงระบบผลลพธ: รายงานความเปนไปไดเครองมอ: เกบรวบรวมขอมลของระบบและคาดคะเนความตองการของระบบบคลากรและหนาทความรบผดชอบ : ผใชจะมบทบาทสำาคญในการศกษา
1. นกวเคราะหระบบ จะตองเกบรวบรวมขอมลทงหมดทจำาเปนเกยวกบปญหา
2. นกวเคราะหระบบ คาดคะเนความตองการของระบบและแนวทางการแกปญหา
3. นกวเคราะหระบบ กำาหนดความตองการทแนชดซงจะใชสำาหรบขนตอนการวเคราะหตอไป
4. ผบรหารตดสนใจวาจะดำาเนนโครงการตอไปหรอไม
16
บทท 2 วงจรการพฒนาระบบ
ขนตอนท 3: วเคราะห (Analysis)เมอผานขนตอนการศกษาความเปนไปไดแลว กเรมเขาสการ
วเคราะหระบบ การวเคราะหระบบเรมตงแตศกษาระบบการทำางานของธรกจนน ในกรณทระบบทเราศกษานนเปนระบบสารสนเทศอยแลว จะตองศกษาวาทำางานอยางไร เพราะวาเปนการยากทจะออกแบบระบบใหมโดยทไมทราบวาระบบเดมทำางานอยางไร หรอธรกจดำาเนนการอยางไร หลงจากนนกำาหนดความตองการระบบใหม ซงนกวเคราะหระบบจะตองใชเทคนคการเกบขอมล (Fact – Gathering Techniques) (รปท 3-1) ไดแก ศกษาเอกสารทมอย ตรวจสอบวธการทำางานในปจจบนสมภาษณผใชและผจดการทมสวนเกยวของกบระบบ
รปท 2.5 Fact Gathering
เอกสารทมอยไดแก คมอการใชงาน แผนผงสายงานขององคกร รายงานตาง ๆทหมนเวยนอยในระบบ การศกษาวธการทำางานในปจจบนจะทำาใหนกวเคราะหระบบรวาระบบจรงทำางานอยางไร ซงบางครงอาจจะคนพบขอผดพลาดกได ตวอยางวธการทำางานของระบบ เชน เมอบรษทไดรบใบเรยกเกบเงนจะมขนตอนอยางไรในการจายเงน ขนตอนทเสมยนปอนขอมลใบเรยกเกบเงนอยางไรเฝาสงเกตการทำางานของบคคลทเกยวของ เพอใหเขาใจและ
17
บทท 2 วงจรการพฒนาระบบ
เหนจรง ๆ วาขนตอนการทำางานเปนอยางไร ซงจะทำาใหนกวเคราะหระบบคนพบจดสำาคญของระบบวาอยทใด
การสมภาษณผใชและผบรหารทำาใหนกวเคราะหระบบ วาการทำางานเปนอยางไร เนองจากผใช หรอผบรหารจะเปนบคคลทเชยวชาญในหนาทททำาอย ดงนนบคคลเหลานจะเปนผทบอกไดวาสงทขาดหายไปในระบบคออะไร และสงทเขาตองการมอะไรบาง
การสมภาษณเปนศลปะอยางหนงทนกวเคราะหระบบควรจะตองมเพอเขากบผใชไดงายและสามารถดงสงทตองการจากผใชไดเพราะวาความตองการของระบบคอ สงทสำาคญทจะใชในการออกแบบตอไป ถาเราสามารถกำาหนดความตองการไดแนชดถกตอง การพฒนาระบบในขนตอนถดไปกจะงายขน แตถาความตองการไมถกตอง ระบบทงระบบอาจจะลมเหลวในภายหลงได เพราะอาจจะออกมาในรปทวา เราทำาสงทผใชตองการกได“ ”
เมอเกบรวบรวมขอมลแลวจะนำามาเขยนรวมเปนรายงานการทำางานของระบบซงควรแสดงหรอเขยนออกมาเปนรปแทนทจะบรรยายออกมาเปนตวหนงสอซงการแสดงดวยแผนภาพจะทำาใหเราเขาใจระบบไดดและงายขน หลงจากนนจะเตรยมแผนภาพอกชดหนงซงรวมหนาทใหมทผใชตองการเขาไปดวย โดยทยงไมตองทราบในรายละเอยดวาหนาทใหมนนทำาอยางไร
หลงจากนนนกวเคราะหระบบ อาจจะนำาขอมลทรวบรวมได และความตองการของระบบนำามาเขยนเปน แบบทดลอง “ ”(Prototype) ซงเปนระบบยอของระบบ การทำาแบบทดสอบมประโยชนมากในการนำาเสนอตอผใชเพราะทำาใหเหนวา ระบบจรงทเราจะพฒนาขนมามหนาตาเปนอยางไร ทำางานอะไรไดบาง และเปนไปตามความตองการของผใชหรอไม เมอมอะไรทไมถกตองเราจะไดแกไขไดทนทวงทกอนทจะนำาไปพฒนาจรง ๆ เพราะวาหลงจากการพฒนาระบบแลว หมายถงการเขยนโปรแกรมแลว ยากตอการแกไข ดงนนแบบทดลองชวยลดขอผดพลาดทอาจจะเกดขนได
18
บทท 2 วงจรการพฒนาระบบ
รปท 2.6 Application Analysis
เมอจบขนตอนการวเคราะหจะตองเขยนรายงานสรปออกมาเปน ขอมลเฉพาะของปญหา “ ” (Problem Specification) ซงประกอบดวยรายละเอยดดงน
รายละเอยดของระบบเดมซงควรจะเขยนออกมาเปนรปภาพแสดงการทำางานของระบบพรอมคำาบรรยาย
กำาหนดความตองการของระบบใหม รวมทงรปภาพแสดงการทำางานพรอมคำาบรรยาย
ขอมลและไฟลทจำาเปนคำาอธบายวธการทำางาน และสงทจะตองแกไข
สรป ขนตอนท 3: วเคราะห (Analysis)หนาท : กำาหนดความตองการของระบบใหม (ระบบใหมทงหมด
หรอแกไขระบบเดม)ผลลพธ : รายงานขอมลเฉพาะของปญหาเครองมอ : เทคนคการเกบรวบรวมขอมล Data
Dictionary, Data Flow Diagram, Process Specification, Data Model, System Model, แบบทดลอง System Flowcharts
บคลากรและหนาทรบผดชอบ : ผใชจะตองใหความรวมมออยางด
Analysis
……..……..……..……..Requir
ementSpecificatio
n
Logical Model
19
บทท 2 วงจรการพฒนาระบบ
1. นกวเคราะหระบบ ศกษาเอกสารทมอย และศกษาระบบเดม เพอใหเขาใจถงขนตอนการทำางานและทราบวาจดสำาคญของระบบอยทไหน
2. นกวเคราะหระบบ เตรยมรายงานความตองการของระบบใหม
3. นกวเคราะหระบบ เขยนแผนภาพการทำางาน (Diagram) ของระบบใหมโดยไมตองบอกวาหนาทใหมระบบจะพฒนาขนมาไดอยางไร
4. นกวเคราะหระบบ เขยนสรปรายงานขอมลเฉพาะของปญหา
5. ถาเปนไปไดนกวเคราะหระบบอาจจะเตรยมแบบทดลองดวยขนตอนท 4: ออกแบบ (Design)
ในระยะแรกของการออกแบบ นกวเคราะหระบบจะนำาการตดสนใจของฝายบรหารทไดจากในขนตอน การวเคราะหมาเลอกซอคอมพวเตอรฮารดแวรและซอฟตแวรดวย (ถามหรอเปนไปได) การสงซอคอมพวเตอรฮารดแวรควรจะทำาตงแตเนน ๆ เพราะเมอถงเวลาทซอฟตแวรเรยบรอยแลวเครองจะไดมาถงพอดคณสมบตของซอฟตแวรทมคณภาพ คอ
มความถกตอง มความนาเชอถอ ใชงานงาย มความงายตอการปรบเปลยน สามารถนำากลบมาใชงานใหมได มความเขากนไดกบระบบทแตกตาง มประสทธภาพ มความสะดวกในการเคลอนยาย มความปลอดภย
20
บทท 2 วงจรการพฒนาระบบ
หลงจากนนนกวเคราะหระบบจะนำาแผนภาพตาง ๆ ทเขยนขนในขนตอนการวเคราะหมาแปลงเปนแผนภาพลำาดบขน (แบบตนไม) (รปท 2.7) เพอใหมองเหนภาพลกษณทแนนอนของโปรแกรมวามความสมพนธกนอยางไร และโปรแกรมอะไรบางทจะตองเขยนในระบบ หลงจากนนกเรมตดสนใจวาควรจะจดโครงสรางของโปรแกรมอยางไร การเชอมโยงระหวางโปรแกรมควรจะทำาอยางไร ในขนตอนการวเคราะหนกวเคราะหระบบตองหาวา จะตองทำาอยางไร “ ”(What) แตในขนตอนการออกแบบตองรวา “จะตองทำาอยางไร (How)” ดงในรปท 2.8
รปท 2.7 ตวอยางแผนภาพแบบลำาดบขน (Hierarchical Diagram)
รปท 2.8 “What” และ “How” ในการวเคราะหและออกแบบระบบในการออกแบบโปรแกรมตองคำานงถงความปลอดภย
(Security) ของระบบดวยเพอปองกนการผดพลาดทอาจจะเกดขนได เชน การใช รหส“ ” สำาหรบผใชทมสทธสำารองไฟลขอมลทงหมด เปนตน
21
บทท 2 วงจรการพฒนาระบบ
นกวเคราะหระบบจะตองออกแบบแบบฟอรมสำาหรบขอมลขาเขา (Input Format) ออกแบบรายงาน (Report Format) และการแสดงผลบนจอภาพ (Screen Format) หลกการในการออกแบบแบบฟอรมขอมลขาเขากคอ งายตอการใชและปองกนขอผดพลาด ทอาจจะเกดขนใหไดมากทสด การออกแบบรายงานและแสดงผลบนจอภาพควรจะดเขาใจไดงาย
รปท 2.9 ตวอยางออกแบบระบบ
ถดมาระบบจะตองออกแบบวธการใชงาน เชน กำาหนดวาการปอนขอมลจะตองทำาอยางไร จำานวนบคลากรทตองการในหนาทตาง ๆ เชน จำานวนพนกงานปอนขอมลวาจะตองใชกคนและกำาหนดดวยวา เครองคอมพวเตอรจะทำางานวนละกชวโมงเปนตน
แตถานกวเคราะหระบบตดสนใจวาการซอซอฟตแวรดกวาการเขยนโปรแกรม ขนตอนการออกแบบกไมจำาเปนเลย เพราะเราสามารถนำาซอฟตแวรสำาเรจรปมาใชไดทนท จงไมจำาเปนจะตองออกแบบโปรแกรมทงหลาย แตถาตดสนใจวาตองพฒนาโปรแกรมขนมาใชเอง สงทนกวเคราะหระบบออกแบบมาทงหมดในขนตอนทกลาวมาทงหมดจะนำามาเขยนรวมเปนเอกสารชดหนงเรยกวา ขอมล“เฉพาะของการออกแบบระบบ ” (System Design Specification) ซงเมอเสรจสมบรณแลวโปรแกรมเมอรสามารถใชเปนแบบในการเขยนโปรแกรมไดทนท และทสำาคญกอนสงถงมอโปรแกรมเมอรควรจะตรวจสอบกบผใชวาพอใจหรอไม และตรวจสอบ
Design
Logical Model
Physical Model
22
บทท 2 วงจรการพฒนาระบบ
กบทกคนในทมวาถกตองและสมบรณหรอไม และแนนอนทสดตองสงใหกบฝายบรหาร เพอตดสนใจวาจะดำาเนนการตอไปหรอไม ถาอนมตกผานเขาสขนตอนการสรางหรอพฒนาระบบ (Construction)สรป ขนตอนท 4: ออกแบบ (Design)
หนาท : ออกแบบระบบใหมเพอใหสอดคลองกบความตองการของผใชและฝายบรหาร
ผลลพธ : ขอมลเฉพาะของการออกแบบ (System Design Specification)
เครองมอ : พจนานกรมขอมล (Data Dictionary) แผนภาพการไหลของกระแสขอมล (Data Flow Diagram) ขอมลเฉพาะการประมวลผล (Process Specification) รปแบบขอมล (Data Models)รปแบบระบบ (System Models) ผงงานระบบ (System Flow Charts) ผงงานโครงสราง (Structure Charts) ผงงาน HIPO (HIPO Chart) แบบฟอรมขอมลเขาและรายงาน
บคลากรและหนาท 1. นกวเคราะหระบบ ตดสนใจเลอกคอมพวเตอรฮารดแวรและซอฟตแวร (ถาใช)2. นกวเคราะหระบบ เปลยนแผนภาพทงหลายทไดจากขนตอน
การวเคราะหมาเปนแผนภาพลำาดบขน3. นกวเคราะหระบบ ออกแบบความปลอดภยของระบบ4. นกวเคราะหระบบ ออกแบบแบบฟอรมขอมลขาเขา รายงาน
และการแสดงผลบนจอภาพ5. นกวเคราะหระบบ กำาหนดจำานวนบคลากรในหนาทตาง ๆ
และการทำางานของระบบผใช ฝายบรหาร และนกวเคราะหระบบ ทบทวน เอกสารขอมลเฉพาะของการออกแบบ เพอความถกตองและสมบรณแบบของระบบ
23
บทท 2 วงจรการพฒนาระบบ
ขนตอนท 5: พฒนา (Development)ในขนตอนนโปรแกรมเมอรจะเรมเขยนและทดสอบโปรแกรมวา
ทำางานถกตองหรอไมตองมการทดสอบกบขอมลจรงทเลอกแลว ถาทกอยางเรยบรอย เราจะไดโปรแกรมพรอมทจะนำาไปใชงานจรงตอไป หลงจากนนตองเตรยมคมอการใชและฝกอบรมผใชงานจรงของระบบ
ระยะแรกในขนตอนนนกวเคราะหระบบตองเตรยมสถานทสำาหรบเครองคอมพวเตอรดแลการตระเตรยมตดตงสายไฟฟา เฟอรนเจอร แอรคอนดชน เปนตน เมอตดตงคอมพวเตอรแลวจะตองตรวจสอบวาคอมพวเตอรทำางานเรยบรอยด
โปรแกรมเมอรเขยนโปรแกรมตามขอมลทไดจากเอกสารขอมลเฉพาะของการออกแบบ(Design Specification) ปกตแลวนกวเคราะหระบบไมมหนาทเกยวของในการเขยนโปรแกรมแตถาหากโปรแกรมเมอรคดวามวธการเขยนอยางอนทดกวาจะตองปรกษานกวเคราะหระบบเสยกอน เพอทวานกวเคราะหระบบจะบอกไดวาโปรแกรมทจะแกไขนนมผลกระทบกบระบบทงหมดหรอไม โปรแกรมทเขยนเรยบรอยตองมการทบทวนอกครงหนงเปนกลมพรอมดวยนกวเคราะหระบบ โปรแกรมเมอร และผใช เพอคนหาวาอาจจะมขอผดพลาดเกดขนทไหนไดบาง วธการนเราเรยกวา “Structure Walkthrough” การทดสอบโปรแกรมจะตองทดสอบกบขอมลทเลอกแลวชดหนง ซงอาจจะเลอกโดยผใช การทดสอบเปนหนาทของ โปรแกรมเมอร แตนกวเคราะหระบบตองแนใจวาโปรแกรมทงหมดจะตองไมมขอผดพลาด
หลงจากนนตองควบคมดแลการเขยนคมอซงควรจะประกอบดวยคมอการใชงานสารบญอางอง “Help” บนจอภาพ เปนตน นอกจากคมอการใชงานแลว ตองมการฝกอบรมพนกงานทจะเปนผใชงานจรงของระบบเพอใหเขาใจและทำางานไดโดยไมมปญหา อาจจะอบรมตวตอตว หรอเปนกลมกได
24
บทท 2 วงจรการพฒนาระบบ
สรป ขนตอนท 5: พฒนา (Development)หนาท: เขยนและทดสอบโปรแกรม ผลลพธ : โปรแกรมททดสอบเรยบรอยแลว เอกสารคมอการใช และการฝกอบรมเครองมอ : เครองมอของโปรแกรมเมอรทงหลาย Editor, Complier, Structure, Walkthrough, วธการทดสอบโปรแกรม การเขยนเอกสารประกอบการใชงานบคลากรและหนาท :
1. นกวเคราะหระบบ ดแลการเตรยมสถานทและตดตงเครองคอมพวเตอร (ถาซอใหม)
2. นกวเคราะหระบบ วางแผนและดแลการเขยนโปรแกรม ทดสอบโปรแกรม
3. โปรแกรมเมอรเขยนและทดสอบโปรแกรม หรอแกไขโปรแกรมถาซอโปรแกรมสำาเรจรป
4. นกวเคราะหระบบ วางแผนทดสอบโปรแกรม5. ทมททำางานรวมกนทดสอบโปรแกรม6. ผใชตรวจสอบใหแนใจวา โปรแกรมทำางานตามท
ตองการ7. นกวเคราะหระบบ ดแลการเขยนคมอการใชงานและ
การฝกอบรมขนตอนท 6: ทดสอบและตดตง (Implementation and Testing)
การทดสอบระบบ เปนขนตอนของการทดสอบระบบกอนทจะนำาไปปฏบตการใชงานจรง ทมงานจะทำาการทดสอบขอมลเบองตนกอน ดวยการสรางขอมลจำาลองเพอตรวจสอบการทำางานของระบบ หากมขอผดพลาดเกดขนกจะยอนกลบไปในขนตอนของการพฒนาโปรแกรมใหม โดยการทดสอบระบบนจะมการตรวจสอบอย 2 สวนดวยกนคอ การตรวจสอบรปแบบภาษาเขยน (Syntax) และการตรวจสอบวตถประสงคงานตรงกบความตองการหรอไม
25
บทท 2 วงจรการพฒนาระบบ
สรปขนตอนการทดสอบ ในระหวางการพฒนาควรมการทดสอบการใชงานรวมไป
ดวย ในการทดสอบอาจมการทดสอบดวยการใชขอมลทจำาลอง
ขน ทดสอบระบบดวยการตรวจสอบในสวนของ Verification
และ Validation จดฝกอบรมการใชระบบงาน ตดตง ขนตอนตอมาหลงจากทไดทำาการทดสอบ จนมความ
มนใจแลววาระบบสามารถทำางานไดจรง และตรงกบความตองการของผใชระบบ จากนนจงดำาเนนการตดตงระบบเพอใชงานจรงตอไป
รปท 2.10 ภาพการทดสอบ และการตดตงระบบ
สรปขนตอนตดตง คอ กอนตดตงระบบ ควรศกษาสภาพแวดลอมของพนททจะตดตง จดเตรยมอปกรณ Hardware, Network, อปกรณสอสาร
ใหพรอม ลงโปรแกรมระบบปฏบตการ และแอปพลเคชนโปรแกรมให
ครบถวน ดำาเนนการใชงานระบบงานใหม จดทำาคมอการใชงาน
ขนตอนท 7: บำารงรกษา (Maintenance)
Coding/Testing
Physical Model
Implement
Implement Model
26
บทท 2 วงจรการพฒนาระบบ
การบำารงรกษาไดแก การแกไขโปรแกรมหลงจากใชงานแลว สาเหตทตองแกไขระบบสวนใหญม 2 ขอคอ
1. มปญหาในโปรแกรม (Bug) 2. ธรกจเปลยนไป จากสถตของระบบทพฒนาแลวทงหมดประมาณ 40% ของ
คาใชจายในการแกไขโปรแกรม เนองจากม “Bug” ดงนน นกวเคราะหระบบควรใหความสำาคญกบการบำารงรกษา ซงปกตจะคดวาไมมความสำาคญมากนก
เมอธรกจขยายตวมากขน ความตองการของระบบอาจจะเพมมากขน เชน ตองการรายงานเพมขนระบบทดควรจะแกไขเพมเตมสงทตองการได การบำารงรกษาระบบควรจะอยภายใตการดแลของนกวเคราะหระบบ เมอผบรหารตองการแกไขสวนใด นกวเคราะหระบบตองเตรยมแผนภาพตาง ๆ และศกษาผลกระทบตอระบบ และใหผบรหารตดสนใจวาตอไปควรจะแกไขหรอไมสรปขนตอนบำารงรกษา
อาจมขอผดพลาดบางอยางทเพงคนพบ ตองรบแกไขโปรแกรมใหถกตองโดยดวนในบางครงอาจมการเพมโมดลหรออปกรณบางอยาง
การบำารงรกษา หมายความรวมถงการบำารงรกษาทงดานซอฟตแวรและฮารดแวร (System Maintenance and Software Maintenance)
2. วศวกรรมซอฟตแวร (Software Engineering)วศวกรรมซอฟตแวร (Software engineering) เปน
ศาสตรเกยวกบวศวกรรมดานซอฟตแวร คอการใชกระบวนการทางวศวกรรม ดแลการผลต ตงแตการเรมเกบความตองการ การตงเปาหมายของระบบ การออกแบบ กระบวนการพฒนา การตรวจสอบ การประเมนผล การตดตามโครงการ การประเมนตนทน การรกษาความปลอดภย ไปจนถงการคดราคาซอฟตแวรเปนตน
27
บทท 2 วงจรการพฒนาระบบ
วศวกรรมซอฟตแวรประยกตความรและเทคโนโลยทางดานวศวกรรมศาสตร วศวกรรมคอมพวเตอร วทยาการคอมพวเตอร เทคโนโลยสารสนเทศการบรหารจดการโครงการ และสาขาอน ๆ ทเกยวของเขาดวยกน เพอสรางซอฟตแวรทสามารถปฏบตงานตามเปาหมาย ภายใตเงอนไขทกำาหนด
วศวกรรมซอฟตแวรเปนศาสตรททวความสำาคญเพมขนเรอย ๆ เนองจากในปจจบน ซอฟตแวรมความซบซอนเพมขน จำาเปนตองมการวศวกรรมทจะควบคมและดำาเนนการผลต ทมประสทธภาพ สามารถวดผลได และ สามารถตรวจหาขอผดพลาดพรอมสาเหตได อยางสะดวกและรวดเรว เพอใหสามารถปรบปรงแกไขซอฟตแวรตงแตอยในระหวางการผลตได
วศวกรรมซอฟตแวรจงเปนระเบยบแบบแผนเพอชวยในการพฒนา (ไมใชการเขยนโปรแกรม) โดยมรปแบบทชดเจนเพอกอใหเกดประสทธภาพตอการพฒนา มการตรวจสอบในทกๆ ขนตอน และในการพฒนานนจะมการใช CASE Tools เพอสนบสนนการทำางาน ทำาใหทำางานไดสะดวกยงขน ตรวจสอบขอผดพลาดไดงาย ตรงจด และรวดเรว เปนไปตามมาตรฐานเดยวกน กอใหเกดซอฟตแวรทดมคณภาพสงคณสมบตของซอฟตแวรทมคณภาพ
1. มความถกตอง (Correctness) คอ ความถกตองของซอฟตแวรกบความตองการของผใชงานมความตรงกน
2. มความนาเชอถอ (Reliability) คอ ความนาเชอถอในผลลพธและขอมลตางๆ ซงความนาเชอถอในขอมลเปนสงทสำาคญตอการตดสนใจ
3. ใชงานงาย (User Friendliness) คอ ซอฟตแวรมลกษณะการใชงานทเปนมตรตอผใชงาน ใชงานงาย เรยนรงาย มขอความทครบถวน
28
บทท 2 วงจรการพฒนาระบบ
4. มความงายตอการปรบเปลยน (Adaptability) คอ ความสามารถในการปรบเปลยนการใชงานเพอใหเกดความสอดคลองกบความตองการ หรอเทคโนโลยทเปลยนแปลงไป
5. สามารถนำากลบมาใชงานใหมได (Reusability) คอ ความสามารถในการนำากลบมาใชใหม ซงมผลตอตนทนและเวลา ทำาใหลดตนทนคาใชจายและเวลาในการพฒนาไดมาก แนวความคดการนำากลบมาใชงานใหมนเปนลกษณะเดนของภาษาเชงวตถ (Object Oriented)
6. มความเขากนไดกบระบบทแตกตาง (Interoperability) คอ คณสมบตของซอฟตแวรทสามารถใชงานในระบบทแตกตาง
7. มประสทธภาพ (Efficiency) คอ ผลของการใชงานซอฟตแวร กอใหเกดการทำางานทดขนกวาเดม คาใชจายลดลง
8. มความสะดวกในการเคลอนยาย (Portability) คอ ความสะดวกของซอฟตแวรทสามารถเคลอนยาย เพอนำาไปใชงานในสภาวะแวดลอมใหม
9. มความปลอดภย (Security) คอ ความปลอดภยตอขอมลทอาจถกปรบเปลยนได ซงหมายถงการทำาสทธการใชงานระบบ เพอใหการเขาถงขอมลนเปนไปตามสทธของผใชงาน
29
Verificatio
บทท 2 วงจรการพฒนาระบบ
รปท 2.11 ขนตอนการพฒนาซอฟตแวรทมคณภาพ
Verification คอ การตรวจสอบความถกตองหลงจากการยอมรบในรายละเอยด (Specification)Validation คอ การตรวจสอบความถกตองโดยการพจารณาจากความตองการของผใชงานรปแบบของวงจรชวตซอฟตแวร
มการคดคนพฒนากระบวนการพฒนาซอฟตแวรขนหลากหลาย กอใหเกดความแตกตาง ในรปแบบของวงจรชวตซอฟตแวรซงม 5 รปแบบดงตอไปน สงเกตวาในหลาย ๆ รปแบบจะมการยอนกลบมาทำาขนตอนกอนหนานเชนกน
1. รปแบบสรางและซอม (Build and Fix Model) หมายถงการทผพฒนาจะเนนการดำาเนนการสรางและซอมหลายครงจนตรงกบความพอใจของลกคา ปราศจากการวเคราะหและเอาใจใสในการออกแบบ ไมมการทำาตามขนตอน ซงเปนทนาเสยดายทซอฟตแวรหลาย ๆ บรษทถกพฒนาโดยวธนแสดงดงรปท 2.12
Need SoftwareRequirement Design
Correctness
30
Correspondence
บทท 2 วงจรการพฒนาระบบ
รปท 2.12 รปแบบสรางและซอม (Build and Fix Model) 2. รปแบบนำาตก (Waterfall Model) เปนการดำาเนน
ตามขนตอนอยางเรยงลำาดบถกตองเปรยบเสมอนนำาตกทตกไปทละชน การทำางานสามารถทำาไดหลายรปแบบ คอทำาไปทละขน แตละขนตอนตองทำาเสรจกอนจงทำาขนตอนถดไป หรออกรปแบบหนงคอทำาขนตอนถดไปพรอม ๆ กบขนตอนปจจบนทกำาลงทำาอยซงถอวาเปนการทำางานแบบขนาน วงจรชวตแบบนำาตกถกแสดงดงรปท 2.13
รปท 2.13 รปแบบนำาตก (Water Fall Model)31
บทท 2 วงจรการพฒนาระบบ
3. รปแบบการทำาตนแบบ (Prototyping Model) เปนการทำาตนแบบ (Prototype) ของซอฟตแวรออกมากอนซงตนแบบนจะมรปรางหนาทเหมอนจรง ทำาใหผคดคนสามารถรไดทนทวาตรงกบความตองการหรอไม แมวากลไกการทำางานขางในตนแบบจะยงไมมแตการทำาตนแบบเสรจเรวกจะชวยใหขนตอนการพฒนาซอฟตแวรเสรจเรวดวยนอกจากนการแกไขตนแบบกทำาไดงายเพราะไมมอะไรซบซอนขางในแทนทจะไปทำาการแกไขทระบบจรง วงจรชวตแบบการทำาตนแบบถกแสดงดงรป 2.14
รปท 2.14 รปแบบการทำาตนแบบ (Prototyping Model)
4. รปแบบการทำาหลายรอบ (Incremental Model) เปนธรรมดาทเราอาจจะตองทำาการออกแบบใหม เขยนโปรแกรมใหม หรอทำาอะไรใหมในกรณทสงทอยไมประสบความสำาเรจ รปแบบนจะทำาตามขนตอนของวศวกรรมซอฟตแวรโดยทำาหลาย ๆ รอบซงจะเพมรอบตามความตองการของลกคา ซงเปนการผสมผสานระหวางรปแบบนำาตกและรปแบบการทำาตนแบบ ตองมการวางแผนใหด เพราะวธนถาทำาไดไมดกจะตางกบรปแบบสรางและซอม ในกรณทแยสด
32
บทท 2 วงจรการพฒนาระบบ
ของรปแบบนคอทงซอฟตแวรแลวทำาใหมหมดเลย แตนนคอหนทางทแนใจแลววาดทสด ดงรป 2.15
รปท 2.15 รปแบบการทำาหลายรอบ (Incremental Model) 5. รปแบบกนหอย (Spiral Model) เปนรปแบบทชวยลดความเสยงไดมาก เนองจากจะมการทำาแตละขนตอนหลาย ๆ รอบตามความตองการของผใชโดยแตละขนตอนจะตองทำาตนแบบเสมอเพอลดความเสยงทจะทำาผดวตถประสงค และจะมการวเคราะหความเสยงทกขนตอน และถาเหนวามนเสยงมากไปกไมตองทำาตอ ดงรป 2.16
33
บทท 2 วงจรการพฒนาระบบ
รปท 2.16 รปแบบกนหอย (Spiral Model)
แบบฝกหด1. SDLC (System Development Life Cycle) หมายถงไร2. SDLC (System Development Life Cycle) มขนตอน
อยางไร จงอธบาย3. บคคลใดบางทเกยวของกบขนตอนการวเคราะหระบบ
34
บทท 2 วงจรการพฒนาระบบ
4. วศวกรรมซอฟตแวร (Software engineering) หมายถงอะไร
5. คณสมบตของซอฟตแวรทด มอะไรบาง จงอธบาย6. การพฒนาซอฟตแวรมกรปแบบอะไรบาง7. Validation กบ Verification มความหมายแตกตางกน
อยางไร จงอธบายและยกตวอยางประกอบ
35