Previous Next Play Pause
Scrum + Engineering Practices Scrum + Engineering Practices

ทีมวิทยากร

ทฤษฎีการวิเคราะห์และออกแบบระบบ

        การวิเคราะห์ระบบ (System Analysis) เป็นการศึกษา วิเคราะห์ และแยกแยะถึงปัญหาที่เกิดขึ้นในระบบ พร้อมทั้งเสนอแนวทางเสนอแนวทางแก้ไขตามความต้องการของผู้ใช้งาน

read more

SDLC เป็นตัวย่อมาจาก Systems Development Life Cycle
วัฎจักรการพัฒนาระบบงาน (System development Life Cycle : SDLC


ในการพัฒนาระบบสารสนเทศในองค์กรจะต้องมีการวิเคราะห์กระบวนการทํางานของ องค์กร เราเรียกว่า System development Life Cycle (SDLC) read more

แผนภาพวงจรการพัฒนาระบบ

แผนภาพวงจรการพัฒนาระบบ (SDLC)

ทฤษฎีการวิเคราะห์และออกแบบระบบ
        การวิเคราะห์ระบบ (System Analysis) เป็น การศึกษา วิเคราะห์ และแยกแยะถึงปัญหาที่เกิดขึ้นในระบบ พร้อมทั้งเสนอแนวทางเสนอแนวทางแก้ไขตามความต้องการของผู้ใช้งานและความเหมาะ สมต่อสถานะทางการเงินขององค์กร การออกแบบระบบ (System Design) คือ การสร้างแบบพิมพ์เขียวของระบบใหม่ตามความต้องการในเอกสารความต้องการระบบ กำหนดสิ่งที่จำเป็น เช่น อินพุท เอ้าท์พุท ส่วนต่อประสานผู้ใช้ และการประมวลผล เพื่อประกันความน่าเชื่อถือ ความถูกต้องแม่นยำ การบำรุงรักษาได้ และความปลอดภัยของระบบ
นอก จากนั้น การออกแบบระบบเป็นวิธีการออกแบบ และกำหนดคุณสมบัติทางเทคนิคโดยนำระบบคอมพิวเตอร์มาประยุคใช้ เพื่อแก้ปัญหาที่ทำการวิเคราะห์มาแล้ว
ขั้นตอนการวิเคราะห์และออกแบบระบบออกเป็น 2 ระดับคือ ขั้นต้น และขั้นสูง
1. ขั้นต้น (Basic System Analysis) ประกอบ 8 ขั้นตอนคือ
            1.1 System Requirement เป็นการรับทราบปัญหา หรือความต้องการของผู้ใช้ หรือเจ้าของงานอาจเรียกรวมได้ว่า เป็นขั้นตอนของการเก็บรายละเอียด
            1.2  Context Description เป็นการกำหนดบริบท ประกอบด้วย List of Entities, List of Data และ List of Process
            1.3  Context Diagram เป็นการออกแบบโครงสร้างบริบท โดยอาศัยข้อมูลในขั้นตอนที่ 1.2 นักวิเคราะห์ระบบบางราย มีความถนัดที่จะทำขั้นตอนนี้ก่อนขั้นตอนที่ 1.2 ซึ่งไม่มีผลเสียแต่อย่างไร
            1.4  Process Hierarchy Chart เป็นการเขียนผังการไหลของข้อมูลในระดับต่างๆ ที่ปรากฏตามขั้นตอนที่ 1.3
            1.5  Data Flow Diagram : DFD เป็นการเขียนผังการไหลของข้อมูลในระดับต่างๆ ที่ปรากฏตามขั้นตอนที่ 1.4
            1.6  Process Description เป็นการอธิบายรายละเอียด  Process ให้ชัดเจนขึ้น โดยทั่วไปนิยมอธิบายใน End Process ของแต่ละ Root
            1.7  Data Modeling เป็นขั้นตอนการกำหนด Cardinality เพื่อพิจารณาความสัมพันธ์ของ Entities ทั้งหมดที่เกิดขึ้นในระบบ ซึ่งใช้ Data Storage ที่ได้ในขั้นตอน DFD
            1.8  Data Dictionary เป็นขั้นตอนกำหนด Attribute ที่อ้างถึงใน Data Modeling เพื่อกำหนดรายละเอียดที่จะเป็นเบื้องต้นสำหรับใช้ในระบบ
2.  ขั้นสูง (Advance System Analysis) ประกอบ 4 ขั้นตอนคือ
             2.1 Database Design เป็นขั้นตอนการออกแบบฐานข้อมูล โดยอาศัยข้อมูลนำเข้าในขั้นที่1.7 และ 1.8 ซึ่งอาจใช้วิธีการ Normalization หรือ Entity Relationship Model แล้วแต่ละกรณี ซึ่งไม่จำเป็นว่าจะต้องได้ Normal Form (5NF) ขึ้นอยู่กับ นักวิเคราะห์ระบบจะเห็นว่า มีความจำเป็นและเหมาะสามในระดับใด แต่ทั้งนี้ควรไม่ต่ำกว่า Boyce Codd Normal Form (BCNF)
            2.2 Data Table Description เป็นขั้นตอนกำหนดรายละเอียด Attribute ที่มีในแต่ละ Table โดยอาศัยข้อมูลจากขั้นตอนที่ 1.8 และ 2.1
            2.3 Output Design หรือ การออกแบบส่วนแสดงผล แยกออกเป็น รายงาน เอกสาร และข้อความ มีพฤติกรรม 3 ชนิด
                  2.3.1  แสดงผลจากฐานข้อมูลโดยตรง (Data to Output : D2O)
                  2.3.2  แสดงผลจากการประมวลผลที่ได้รับจากการข้อมูลนำเข้า
(Data-Process to Output: DP2O)
                  2.3.3  แสดงผลโดยตรงจากข้อมูลนำเข้า (Input to Output : I2O)
โดยสามารถแสดงผลได้ทั้งกระดาษ และจอภาพ การออกแบบ Output Design ควรกระทำก่อนการออกแบบอื่นๆ ทั้งหมด เพราะจะช่วยตรวจสอบว่า มี Attribute ที่ออกแบบไว้ในขั้น 2.2 ครบถ้วนหรือไม่
           2.4 Input Design หรือ การออกแบบส่วนนำข้อมูลเข้า วัตถุประสงค์เป็นการออกแบบเพื่อนำข้อมูลเข้าไปในระบบคอมพิวเตอร์ จึงถูกออกแบบให้มีรูปแบบสอดคล้องกับการแสดงผลทางจอภาพ คือ 25 บรรทัด 80 คอลัมน์ แม้ว่าบางครั้งจะถูกออกแบบเป็นแบบบันทึกข้อมูลล่วงหน้า ก่อนนำมาบันทึกผ่านจอภาพ ก็ยังอ้างอิงกับตำแหน่งทางจอภาพ เพื่อหลีกเลี่ยงความสับสนของผู้ใช้ แบ่งออกเป็น 2 พฤติกรรมคือ
                 2.4.1 ออกแบบฟอร์มเอกสารกรอกข้อมูล
                 2.4.2 ออกแบบส่วนติดต่อกับผู้ใช้ ซึ่งมี 3 ชนิด คือ ส่วนติดต่อกับผู้ใช้ด้วยเมนู ด้วยคำสั่ง และด้วยกราฟิก
         วงจรการพัฒนาระบบ
วงจรการพัฒนาระบบ (System Development Life Cycle : SDLC) คือ กระบวนการทาง
ความคิด (Logical Process) ใน การพัฒนาระบบสารสนเทศเพื่อแก้ปัญหาทางธุรกิจและตอบสนองความต้องการของผู้ ใช้ได้ โดยระบบที่จะพัฒนานั้น อาจเริ่มด้วยการพัฒนาระบบใหม่เลยหรือนำระบบเดิมที่มีอยู่แล้วมาปรับเปลี่ยน ให้ดียิ่งขึ้น ภายในวงจรนี้จะแบ่งกระบวนการพัฒนาออกเป็นระยะ (Phases) ได้แก่ ระยะการวางแผน (Planning Phase) ระยะการวิเคราะห์ (Analysis Phase) ระยะการออกแบบ (Design Phase) และระยะการสร้างและพัฒนา (Implementation Phase) โดยแต่ละระยะจะประกอบไปด้วยขั้นตอน (Steps) ต่างๆ แตกต่างกันไปตาม Methodology ที่นักวิเคราะห์นำมาใช้ เพื่อให้เหมาะสมกับสถานะทางการเงินและความพร้อมขององค์กรในขณะนั้น
ขั้น ตอนในวงจรพัฒนาระบบ ช่วยให้นักวิเคราะห์ระบบสามารถดำเนินการได้อย่างมีแนวทางและเป็นขั้นตอน ทำให้สามารถควบคุมระยะเวลาและงบประมาณในการปฏิบัติงานของโครงการพัฒนาระบบ ได้ ขั้นตอนต่างๆ นั้นมีลักษณะคล้ายกับการตัดสินใจแก้ปัญหาตามแนวทางวิทยาศาสตร์(Scientific Management) อัน ได้แก่ การค้นหาปัญหา การค้นหาแนวทางแก้ไขปัญหา การประเมินผลแนวทางแก้ไขปัญหาที่ค้นพบ เลือกแนวทางที่ดีที่สุด และพัฒนาทางเลือกนั้นให้ใช้งานได้ สำหรับวงจรการพัฒนาระบบในหนังสือเล่มนี้ จะแบ่งเป็น 7 ขั้นตอน ได้แก่
     1.  ค้นหาและเลือกสรรโครงการ (Project Identification and Selection)
     2.  จัดตั้งและวางแผนโครงการ (Project Initiating and Planning)
     3.  วิเคราะห์ระบบ (Analysis)
     4.  ออกแบบเชิงตรรกะ (Logical Design)
     5.  ออกแบบเชิงกายภาพ (Physical Design)
     6.  พัฒนาและติดตั้งระบบ (System Implement)
     7.  ซ่อมบำรุงระบบ (System Maintenance)


1.    การค้นหาและเลือกสรรโครงการ (Project Identification and Selection) เป็น
ขั้น ตอน ในการค้นหาโครงการพัฒนาระบบ ที่เหมาะสมกับสถานการณ์ปัจจุบันของบริษัท สามารถแก้ปัญหาที่เกิดขึ้น และให้ผลประโยชน์กับบริษัทมากที่สุด โดยใช้ตารางเมตริกซ์ (Matrix Table) เป็นเครื่องมือประกอบการพิจารณา ซึ่งเป็นขั้นตอนที่ได้ดำเนินการผ่านไปแล้วในเบื้องต้น สามารถสรุปกิจกรรมได้ดังนี้
          1. ค้นหาโครงการพัฒนาระบบที่เห็นสมควรต่อการได้รับการพัฒนา
          2. จำแนกและจัดกลุ่มโครงการ
          3. เลือกโครงการที่เหมาะสมที่สุดในการพัฒนา
2. การเริ่มต้นและวางแผนโครงการ (Project Initiating and Planning System
Development) เป็น ขั้นตอนในการเริ่มต้นจัดทำโครงการด้วยการจัดตั้งทีมงาน กำหนดตำแหน่งหน้าที่ให้กับทีมงานแต่ละคนอย่างชัดเจน เพื่อร่วมกันสร้างแนวทางเลือกในการนำระบบใหม่มาใช้งาน และเลือกทางเลือกที่ดีที่สุด จากนั้นจะร่วมกันวางแผนจัดทำโครงการกำหนดระยะเวลาในการดำเนินโครงการ ศึกษาความเป็นไปได้ของโครงการ และประมาณการต้นทุน และกำไรที่จะได้รับจากการลงทุนในโครงการพัฒนาระบบ เพื่อนำเสนอต่อผู้จัดการ เพื่อพิจารณาอนุมัติดำเนินการในขั้นตอนต่อไป โดยในขณะที่นำเสนอ โครงการอยู่นี้ถือเป็นการดำเนินงานในขั้นตอนที่ 2 ซึ่งใช้เทคนิคในการเก็บรวบรวมข้อเท็จจริงด้วยการสัมภาษณ์ (Interviewing) การออกแบบสอบถาม (Questionnaires) รวมทั้งพิจารณาจากเอกสารการทำงาน รายงานและแบบฟอร์มต่าง ๆ ของบริษัทประกอบด้วย สรุปกิจกรรมขั้นตอนที่ 2 ได้ดังนี้
           1. เริ่มต้นโครงการ
           2. เสนอแนวทางเลือกในการนำระบบใหม่มาใช้งาน
           3. วางแผนโครงการ
3. การวิเคราะห์ (System Analysis)เป็นขั้นตอนในการศึกษาและวิเคราะห์ถึงขั้นตอน
การดำเนินงานของระบบเดิม ซึ่งการที่จะสามารถดำเนินการในขั้นตอนนี้ ได้จะต้องผ่านการอนุมัติในขั้นตอนที่ 2 ใน การนำเสนอโครงการหลังจากนั้นจะรวบรวมความต้องการในระบบใหม่ จากผู้ใช้ระบบแล้วนำมาศึกษาและวิเคราะห์ความต้องการเหล่านั้นด้วย การใช้เครื่องมือชนิดต่าง ๆ ได้แก่ แบบจำลองขั้นตอนการทำงานของระบบ (Process Modeling) โดยใช้แผนภาพกระแสข้อมูล (Data Flow Diagram: DFD) และแบบจำลองข้อมูล (Data Modeling) โดยใช้แผนภาพแสดงความสัมพันธ์ระหว่าง ข้อมูล (Entity Relationship Diagram: E-R Diagram) สรุปกิจกรรมในขั้นตอนที่ 3 ได้ดังนี้
            1. ศึกษาขั้นตอนการทำงานของระบบเดิม
            2. รวบรวมความต้องการในระบบใหม่จากผู้ใช้ระบบ
            3. จำลองแบบความต้องการที่รวบรวมได้
            4. การออกแบบเชิงตรรกะ (Logical Design) เป็นขั้นตอนในการออกแบบลักษณะการ
ทำ งานของระบบตามทางเลือกที่ได้จากเลือกไว้จากขั้นตอน การวิเคราะห์ระบบโดยการออกแบบในเชิงตรรกะนี้ยังไม่ได้มีการระบุถึงคุณลักษณะ ของอุปกรณ์ที่จะนำมาใช้ เพียงแต่กำหนดถึงลักษณะของรูปแบบรายงานที่เกิดจากการทำงานของระบบ ลักษณะของการนำข้อมูลเข้าสู่ระบบ และผลลัพธ์ที่ได้จากระบบ ซึ่งจะเลือกใช้การนำเสนอรูปแบบของรายงาน และลักษณะของจอภาพของระบบจะทำให้สามารถเข้าใจขั้นตอนการทำงานของระบบได้ ชัดเจนขึ้น สรุปกิจกรรมในขั้นตอนที่ 4 ได้ดังนี้
           1. ออกแบบแบบฟอร์มและรายงาน (Form/Report Design)
           2. ออกแบบส่วนติดต่อกับผู้ใช้ (User Interfaces Design)
           3. ออกแบบฐานข้อมูลในระดับ Logical
5. การออกแบบเชิงกายภาพ (Physical Design) เป็นขั้นตอนที่ระบุถึงลักษณะการทำงาน
ของ ระบบทางกายภาพหรือทางเทคนิค โดยระบุถึงคุณลักษณะของ อุปกรณ์ที่จะนำมาใช้ เทคโนโลยีโปรแกรมภาษาที่จะนำมาทำการเขียนโปรแกรม ฐานข้อมูลของการออกแบบเครือข่ายที่เหมาะสมกับระบบ สิ่งที่ได้จากขั้นตอนการออกแบบทางกายภาพนี้จะเป็นข้อมูลของการออกแบบ เพื่อส่งมอบให้กับโปรแกรมเมอร์เพื่อ ใช้เขียนโปรแกรมตามลักษณะการทำงานของระบบที่ได้ออกแบบและกำหนดไว้ สรุปกิจกรรมในขั้นตอนที่ 5 ได้ดังนี้
            1. ออกแบบฐานข้อมูลในระดับ Physical
             2. ออกแบบ Application
6. การพัฒนาและติดตั้งระบบ (System Implementation) เป็นขั้นตอนในการนำข้อมูล
เฉพาะ ของการออกแบบมาทำการเขียนโปรแกรมเพื่อให้เป็นไปตามคุณลักษณะและรูปแบบ ต่าง ๆ ที่ได้กำหนดไว้ หลังจากเขียนโปรแกรมเรียบร้อยแล้ว จะต้องทำการทดสอบโปรแกรม ตรวจสอบหาข้อผิดพลาดของโปรแกรมที่พัฒนาขึ้นมา และสุดท้ายคือการติดตั้งระบบ โดยทำการติดตั้งตัวโปรแกรม ติดตั้งอุปกรณ์ พร้อมทั้งจัดทำคู่มือและจัดเตรียมหลักสูตรฝึกอบรมผู้ใช้งานที่เกี่ยวข้อง เพื่อให้ระบบใหม่สามารถใช้งานได้ สรุปกิจกรรมในขั้นตอนที่ 6 ได้ดังนี้
           1. เขียนโปรแกรม (Coding)
           2. ทดสอบโปรแกรม (Testing)
           3. ติดตั้งระบบ (Installation)
           4. จัดทำเอกสาร (Documentation)
            5. จัดทำหลักสูตรฝึกอบรม (Training)
            6. การบริการให้ความช่วยเหลือหลังการติดตั้งระบบ (Support)
7. การซ่อมบำรุงระบบ (System Maintenance) เป็นขั้นตอนสุดท้ายของวงจรพัฒนา
ระบบ (SDLC) หลัง จากระบบใหม่ได้เริ่มดำเนินการ ผู้ใช้ระบบจะพบกับ ปัญหาที่เกิดขึ้นเนื่องจากความไม่คุ้นเคยกับระบบใหม่ และค้นหาวิธีการแก้ไขปัญหานั้นเพื่อให้ตรงกับความต้องการของผู้ใช้เองได้ สรุปกิจกรรมในขั้นตอนที่ 7 ได้ดังนี้
          1. เก็บรวบรวมคำร้องขอให้ปรับปรุงระบบ
          2. วิเคราะห์ข้อมูลร้องขอให้ปรับปรุงระบบ
          3. ออกแบบการทำงานที่ต้องการปรับปรุง
          4. ปรับปรุง