430 likes | 2.15k Views
บทที่ 3 การวิเคราะห์ระบบ ( Analysis). อาจารย์เอกบดินทร์ เกตุขาว. Topic Introduction. การวิเคราะห์ระบบ (Analysis) Beginning the Analysis: Investigating System Requirments - System Requirements - เทคนิคการรวบความความต้องการ (Techniques for information Gathering). Overview.
E N D
บทที่ 3 การวิเคราะห์ระบบ (Analysis) อาจารย์เอกบดินทร์ เกตุขาว
TopicIntroduction • การวิเคราะห์ระบบ (Analysis) • Beginning the Analysis: InvestigatingSystem Requirments - System Requirements - เทคนิคการรวบความความต้องการ (Techniques for information Gathering)
Overview • การวิเคราะห์ระบบ เป็นกระบวนการของการสร้างแผนงาน(plan)เพื่อแสดงให้เห็นถึงโครงร่าง กระบวนการทำงานของระบบทำงานอย่างไร (how)สอดคล้องกับจุดประสงค์และความต้องการหรือไม่
การวิเคราะห์ระบบ • วัตถุประสงค์ของการวิเคราะห์ระบบ คือ การทำความเข้าใจในฟังก์ชันหน้าที่ทางธุรกิจ (Business Functions) และพัฒนาออกมาเป็นความต้องการของระบบ (System Requirements)
การวิเคราะห์ระบบ AS-IS System Planning Analysis Design Implement To-Be System Understand As-is system Identify improvements Develop Concept for The to-be system แสดงขั้นตอนการพัฒนาระบบตามแบบแผน SDLC โดยในระยะการวิเคราะห์ จะต้องทำความเข้าใจกับระบบงานเดิม การเพิ่มเติมความต้องการ เพื่อพัฒนาแนวคิดสำหรับระบบใหม่ที่จะเกิดขึ้น
การวิเคราะห์ระบบ • การศึกษาระบบงานเดิม ประกอบด้วย 3 ระยะ คือ 1. ทำความเข้าใจกับระบบงานเดิม (Understand AS-IS System) คือ การศึกษาขั้นตอนการทำงานของระบบงานเดิมที่เป็นอยู่ในปัจจุบัน มีจุดอ่อนหรือจุดแข็งอย่างไร 2. กำหนดสิ่งที่ต้องการปรับปรุงเพิ่มเติม (Identity Improvements) กำหนดแนวทางในการปรับปรุงระบบให้เป็นไปในทิศทางที่ดีขึ้น
การวิเคราะห์ระบบ • การศึกษาระบบงานเดิม ประกอบด้วย 3 ระยะ คือ 3. พัฒนาแนวความคิดสำหรับระบบงานใหม่ (Develop Concept for the To-Be System) สร้างแบบจำลองกระบวนการและแบบจำลองข้อมูล ทำให้ทราบถึงรายละเอียดของสารสนเทศ
การรวบรวมความต้องการ (Requirements Gathering) • SA ควรจดบันทึกความต้องการให้อยู่ในรูปแบบมาตรฐาน เพื่อนำไปพัฒนาเป็นซอฟต์แวร์ หลักการในการค้นหาความต้องการ [ 5 W + 1 H] Whoมีใครเกี่ยวข้องบ้าง? บทบาทของแต่ละคนนั้นคืออะไร? ใครเป็นบุคคลแท้จริงที่ร้องขอเพื่อพัฒนาระบบใหม่? What อะไรคือสิ่งที่ทำให้เกิดปัญหา? ระบบที่ต้องการหรือระบบที่อยากได้คือ ระบบอะไร? มีฟังก์ชันการทำงานอะไรบ้าง?
การรวบรวมความต้องการ (Requirements Gathering) • SA ควรจดบันทึกความต้องการให้อยู่ในรูปแบบมาตรฐาน เพื่อนำไปพัฒนาเป็นซอฟต์แวร์ หลักการในการค้นหาความต้องการ [ 5 W + 1 H] When ระบบติดตั้งได้เมื่อไร? ผู้สนับสนุนเงินทุนพร้อมที่จะสนับสนุนเมื่อไร? ทดสอบระบบใหม่เมื่อไร? Where บริเวณสถานที่ใด ที่ระบบใหม่สามารถดำเนินการได้อย่างเหมาะสม
การรวบรวมความต้องการ (Requirements Gathering) • SA ควรจดบันทึกความต้องการให้อยู่ในรูปแบบมาตรฐาน เพื่อนำไปพัฒนาเป็นซอฟต์แวร์ หลักการในการค้นหาความต้องการ [ 5 W + 1 H] Why ทำไมต้องแสวงหาระบบใหม่? ทำไมผู้ใช้จึงเชื่อว่าระบบใหม่สามารถแก้ไขปัญหาได้? Howระบบใหม่จะทำงานได้อย่างไร? มีข้อจำกัดอย่างไร?
การรวบรวมความต้องการ (Requirements Gathering) • กิจกรรมการค้นหาความต้องการ และการจดบันทึกความต้องการนั้น มีหลักการสำคัญ คือ จะต้องค้นหาความจริงให้ได้ว่าผู้ใช้ต้องการสิ่งใดเป็นสำคัญ • ก่อนที่นักวิเคราะห์ระบบจะเข้าไปค้นหาความต้องการจากผู้ใช้ตามหน่วยงานต่างๆ นักวิเคราะห์ระบบจำเป็นต้อง ศึกษารูปแบบองค์กร • ผู้ใช้ (User)มีบทบาทสำคัญในการวิเคราะห์ระบบในการให้ข้อมูลแก่นักวิเคราะห์ระบบ
ชนิดของความต้องการ (Type of Requirements) • แบ่งเป็น 2 ชนิดด้วยกัน คือ 1. ความต้องการที่เป็นฟังก์ชันการทำงาน (Function Requirements) ขั้นตอนการทำงานที่ประกอบด้วยกิจกรรมต่างๆ: สิ่งที่ระบบควรต้องทำหรือเป็นหน้าที่หลักของระบบ ที่ข้องเกี่ยวกับผู้ปฎิบัติงาน โดยแต่ละกิจกรรมจะก่อให้เกิดผลการดำเนินงาน ความต้องการที่เป็นฟังก์ชันการทำงานมักเขียนอยู่ในรูปแบบของกริยา (Verb Phrase)
ชนิดของความต้องการ (Type of Requirements) • ระบบเงินเดือน (Payroll System) กิจกรรมการปฎิบัติงานของระบบเงินเดือน ประกอบด้วยฟังก์ชันหน้าที่ต่างๆ คือ - คำนวณเงินเดือนและค่าคอมมิชชัน - คำนวณภาษี - พิมพ์สลิปเงินเดือนและพิมพ์รายงาน , ภาษีประจำปีแก่สรรพากร
ชนิดของความต้องการ (Type of Requirements) • ดังนั้น ระบบใหม่จะต้องจัดการกับฟังก์ชันหน้าที่เหล่านี้ได้ทั้งหมด โดยที่ - ระบบต้องสามารถคำนวณเงินเดือนและค่าคอมมิชชัน - ระบบต้องสามารถคำนวณภาษี - ระบบต้องสามารถพิมพ์สลิปเงินเดือนแก่พนักงาน - ระบบต้องสามารถจัดพิมพ์รายงานภาษีประจำปี เพื่อยื่นต่อสรรพากร
ชนิดของความต้องการ (Type of Requirements) • สรุปได้ว่า ความต้องการที่เป็นฟังก์ชันการทำงานนั้น ตั้งอยู่บนพื้นฐานของขั้นตอนการทำงานและกฎเกณฑ์ขององค์กรที่ใช้สำหรับดำเนินธุรกิจเป็นสำคัญ ดังนั้น ความต้องการที่เป็นฟังก์ชันการทำงานจึงเกี่ยวข้องกับ - มีอะไรบ้างที่ต้องอินพุตเข้าไปในระบบ - มีเอาต์พุตอะไรบ้าง ที่ระบบต้องดำเนินการ - มีข้อมูลอะไรบ้างที่ระบบต้องจัดเก็บ เพื่อให้ระบบอื่นๆ ที่เกี่ยวข้อง นำข้อมูลไปใช้งานได้ ซึ่งสิ่งเหล่านี้จะต้องประสานการทำงานกันอย่างมีระบบ
ชนิดของความต้องการ (Type of Requirements) 2. ความต้องการที่ไม่ได้เป็นฟังก์ชันการทำงาน (Non-Function Requirements) คุณสมบัติหรือคุณภาพของซอฟต์แวร์ที่พึงมี ไม่ใช่หน้าที่หลัก เช่น - ความสามารถในการใช้งาน (Usability) - ประสิทธิภาพของระบบ (Efficiency),ระบบความปลอดภัย (Security) - ความน่าเชื่อถือของระบบ (Reliability) , เวลาตอบสนอง (Time Response) - ความง่ายต่อการใช้งาน (User Friendliness) - ความสะดวกในการเคลื่อนย้ายไปยังสภาพแวดล้อมใหม่ (Portability)
ชนิดของความต้องการ (Type of Requirements) Non-Function Function บันทึกลงในเอกสาร • ทราบขั้นตอน • อินเตอร์เฟช • บรรยายถึงคุณภาพ • เทคนิคต่างๆ ที่ซอฟต์แวร์ • พึงมี แนวทางการออกแบบ (guide design) แนวทางการวิเคราะห์ (guide analysis)
Funtional Requirements (FRs)and Non-Function Requirements (NFRs) • ตัวอย่างเช่น ระบบบัญชี ทำหน้าที่หลักคือ บันทึกข้อมูล Transaction รายวัน ,สรุปยอดบัญชีได้ (สิ่งที่ระบบบัญชีควรทำหรือหน้าที่หลัก) - - > Functional requirements • ผู้ใช้ต้องใส่รหัสผ่าน ชื่อผู้ใช้ เชื่อมโยงกับอินเทอร์เน็ตได้ เชื่อมโยงระบบบัญชีกับบริษัทอื่น (ไม่ใช่หน้าที่หลัก) - - >Non-Functinal requirements
การวิเคราะห์ความต้องการ(RequirementsAnalysis)การวิเคราะห์ความต้องการ(RequirementsAnalysis) - SA นำความต้องการที่ได้รวบรวมมา ผ่านกระบวนการวิเคราะห์ความต้องการ (Requirements Analysis) เพื่อให้ได้มาซึ่งข้อกำหนดความต้องการ (Requirement Specification) เพื่อใช้ในการพัฒนาซอฟต์แวร์ โดยการวิเคราะห์ความต้องการเพื่อกำหนดเป็นความต้องการของระบบใหม่ ประกอบด้วย 3 ขั้นตอน คือ
การวิเคราะห์ความต้องการ(RequirementsAnalysis)การวิเคราะห์ความต้องการ(RequirementsAnalysis) 1. วิเคราะห์ข้อเท็จจริงในข้อมูล (Analysis of factual Data)พิจารณาว่าระบบจะต้องดำเนินงานอย่างไร เพื่อให้ตรงกับวัตถุประสงค์ตามที่ต้องการ 2. กำหนดสาระสำคัญของความต้องการ (Identification of Essential Requirements)คือ คุณสมบัติหรือสาระสำคัญที่ระบบใหม่พึงมี 3. คัดเลือกความต้องการที่ตรงกับวัตถุประสงค์ (Selection of Requirements Fulfillment)ใช้เป็นพื้นฐานในการออกแบบ
การวิเคราะห์ความต้องการ(RequirementsAnalysis)การวิเคราะห์ความต้องการ(RequirementsAnalysis) Business Process ………………. ………………. ………………. ………………. ……………… ……………….. Business Information Requirements Gathering And Analysis Business Rules Requirements Specification แสดงขั้นตอนการนำความต้องการที่รวบรวมมาผ่านการวิเคราะห์ และสรุปลงในเอกสารข้อกำหนดความต้องการของระบบ (Requirements Specification)
การวิเคราะห์ความต้องการ(RequirementsAnalysis)การวิเคราะห์ความต้องการ(RequirementsAnalysis) Requirement Specification คือ ข้อมูลที่สร้างขึ้นมาระหว่างการสืบเสาะข้อเท็จจริงด้วยการวิเคราะห์ความต้องการเพื่อให้ได้มา ซึ่งข้อกำหนดความต้องการที่ใช้อธิบายคุณสมบัติของระบบใหม่ - ข้อกำหนดที่มีการอธิบายว่าระบบควรมีการทำงานอย่างไรบ้าง รายละเอียดอะไรบ้างที่ต้องทำให้สำเร็จ อาจเป็นข้อบังคับเกี่ยวกับกระบวนการพัฒนาระบบงาน ข้อตกลงร่วมกันเกี่ยวกับคุณภาพของซอฟต์แวร์
หลักการค้นหาความต้องการที่ดีหลักการค้นหาความต้องการที่ดี - ค้นหาข้อมูลความต้องการกับบุคคลที่เกี่ยวข้องโดยตรง และให้ตรงวัตถุประสงค์มากที่สุด - ระบุความต้องการต่างๆ ลงในรูปของเอกสาร และมีการทำข้อตกลงร่วมกันทั้งสองฝ่าย - Requirement ที่ดีต้องตกลงร่วมกันทั้งสองฝ่าย - คำจำกัดความหรือคำอธิบายบนเอกสารที่ได้บันทึกไว้ ควรมีความชัดเจน พยายามอย่าใช้คำกำกวม
สเตคโฮลเดอร์: แหล่งทรัพยากรของความต้องการระบบ (Stakeholders : The Source of System Requirements) - สเตคโฮลเดอร์หรือ Information Worker คือ บุคคลที่มีความสนใจและพร้อมให้ความร่วมมือกับงานพัฒนาระบบสารสนเทศใหม่ เพื่อให้เกิดผลสำเร็จ สามารถแบ่งออกเป็น 6 กลุ่มหลักๆ คือ 1. เจ้าของระบบ (System Owners) Sponsors 2. ผู้ใช้ระบบ (System User) 3. นักออกแบบระบบ (System Designers) 4. นักพัฒนาระบบ (System Developers) Programmer
สเตคโฮลเดอร์: แหล่งทรัพยากรของความต้องการระบบ (Stakeholders : The Source of System Requirements) 5. นักวิเคราะห์ระบบ (System Analysts) 6. ร้านค้าจำนวนอุปกรณ์ไอทีและที่ปรึกษา (IT Vendors and Consultants)
เทคนิคการรวบรวมความต้องการ (RequirementsGathering Techniques) การสืบเสาะข้อเท็จจริง (Fact-Finding) 1. การรวบรวมเอกสาร (Documentation) 2. การสัมภาษณ์และสนทนากับผู้ใช้ (Conduct Interviews and Discussions with Users) 3. การสังเกตการจากกระบวนการเดินเอกสารในธุรกิจ (Observe and Document Business Processes) 4. การแจกจ่ายและรวบรวมแบบสอบถาม (Distribute and Collect Questionaires) 5.การวางแผนความต้องการร่วมกัน (Joint Requirements Planning: JRP)
เทคนิคการรวบรวมความต้องการ (RequirementsGathering Techniques) การสืบเสาะข้อเท็จจริง (Fact-Finding) 1. การรวบรวมเอกสาร (Documentation) - การรวบรวมแบบฟอร์ม หรือรายงานต่างๆ ที่ใช้อยู่ หรือการถ่ายสำเนาเอกสาร 2. การสัมภาษณ์และสนทนากับผู้ใช้ (Conduct Interviews and Discussions with Users) - การสัมภาษณ์แบบไม่มีโครงสร้าง (Unstructured Interview) ไม่มีการกำหนดคำถามก่อนว่าจะถามเกี่ยวกับอะไร มีลักษณะพูดคุยสนทนา - การสัมภาษณ์แบบมีโครงสร้าง (Structured Interview) ก
เทคนิคการรวบรวมความต้องการ (RequirementsGathering Techniques) เทคนิคการรวบรวมความต้องการ (RequirementsGathering Techniques) - การสัมภาษณ์แบบมีโครงสร้าง (Structured Interview) มีการกำหนดคำถามเพื่อการสัมภาษณ์โดยเฉพาะ 3. การสังเกตการจากกระบวนการเดินเอกสารในธุรกิจ (Observe and Document Business Processes) - สัมผัสจากการทำงานที่เป็นเหตุการณ์จริงของพนักงาน เช่น กระบวนการทำงาน มีขั้นตอนใดที่ต้องเข้าไปปรับปรุงเพื่อให้ระบบดีขึ้น โดยใช้ไดอะแกรม “เวิร์กโฟลว์ (Workflow)”
เทคนิคการรวบรวมความต้องการ (RequirementsGathering Techniques) เทคนิคการรวบรวมความต้องการ (RequirementsGathering Techniques) 4. การแจกจ่ายและรวบรวมแบบสอบถาม (Distribute and Collect Questionaires) แบบสอบถามมีอยู่ 2 ประเภท คือ 1. คำถามปลายเปิด สร้างขึ้นเพื่อให้ผู้ตอบแบบสอบถามมีอิสระในการตอบคำถาม ประโยชน์คือ ได้รับคำถามในลักษณะความคิดเห็น ข้อเสนอแนะ ซึ่งสามารถใช้เป็นแนวทางปฎิบัติหรือปรับปรุงต่อไป 2. คำถามปลายปิด เป็นคำถามที่มีการกำหนดคำตอบให้ผู้ตอบแบบสอบถาม มีตัวเลือกคำตอบที่ชัดเจน แยกแยะความแตกต่างได้ชัด
เทคนิคการรวบรวมความต้องการ (RequirementsGathering Techniques) เทคนิคการรวบรวมความต้องการ (RequirementsGathering Techniques) 1. ปัจจุบันคุณทำงานในตำแหน่ง 2. คุณทำงานในหน่วยงานนี้เป็นเวลา…..ปี…เดือน 3. ปัจจุบันคุณอายุ ….ปี 4. ระบบงานที่คุณใช้อยู่นั้น เกิดปัญหาในการดำเนินงานด้านใดบ้าง? ตัวอย่างแบบสอบถาม ที่ตั้งคำถามปลายเปิด
เทคนิคการรวบรวมความต้องการ (RequirementsGathering Techniques) เทคนิคการรวบรวมความต้องการ (RequirementsGathering Techniques) 1. บริษัทของคุณมีจำนวนพนักงานเท่าไร [ ] 1-2 คน [ ] 20-100 คน [ ] 100-200 คน [ ] มากกว่า200 คน 2. คุณจบการศึกษาในระดับใด [ ] มัธยม [ ] ปวช./ปวส. [ ] ปริญญาตรี [ ] สูงกว่าปริญาตรี ตัวอย่างแบบสอบถาม ที่ตั้งคำถามปลายปิด
เทคนิคการรวบรวมความต้องการ (RequirementsGathering Techniques) เทคนิคการรวบรวมความต้องการ (RequirementsGathering Techniques) 5.การวางแผนความต้องการร่วมกัน (Joint Requirements Planning: JRP) ใช้เทคนิค Brainstorming ในการทำ Workshop มีการแบ่งงานหรือมอบหมายหน้าที่ และทุกคนต้องร่วมมือร่วมใจในการประชุมร่วมกันเพื่อปรึกษาหารือ จึงสามารถบรรลุผลสำเร็จได้ดี
Quiz • จุดประสงค์ของการศึกษาระบบงานเดิมคืออะไร และจะต้องดำเนินการเกี่ยวกับกิจกรรมใดบ้าง? • จงบอกความแตกต่างระหว่างความต้องการที่เป็นฟังก์ชันการทำงาน และความต้องการที่ไม่ได้เป็นฟังก์ชันการทำงาน พร้อมยกตัวอย่างประกอบ? • จงบอกหลักการค้นหาความต้องการที่ดี? • เทคนิคการรวบรวมความต้องการมีเทคนิคใดบ้าง? • กลุ่มบุคคลที่เรียกว่า “สเตคโฮลเดอร์ (Stakeholder)” ประกอบด้วยกลุ่มบุคคลใดบ้าง มีความสำคัญต่อการพัฒนาระบบสารสนเทศอย่างไร?