Introduction to Structured System Analysis and Design Start Sanchai Yeewiyom School of Information & Communication Technology University of Phayao Next
Introduction to System Analysis and Design วัตถุประสงค์ เพื่อให้ทราบถึงนิยามของคำว่าระบบและการจัดแบ่งประเภทของ ระบบ เพื่อให้เข้าใจความหมายของการวิเคราะห์และออกแบบระบบ เพื่อให้ทราบถึงหน้าที่ของนักวิเคราะห์และออกแบบระบบ เพื่อให้ทราบว่าใครคือผู้ใช้ระบบและความสำคัญของผู้ใช้ระบบ เพื่อให้ทราบถึงขั้นตอนต่าง ๆ ในวงจรการพัฒนาระบบ เพื่อให้ทราบถึงประโยชน์ในการใช้เครื่องมือช่วยในการวิเคราะห์ และออกแบบระบบ Back Next
ความรู้เบื้องต้นในการวิเคราะห์และออกแบบระบบ ระบบคืออะไร ??? Back Next
ระบบการควบคุมคลังสินค้า Back Next
ระบบ (System) ระบบ (System) มีลักษณะเป็นกลุ่มที่มีองค์ประกอบหลาย ส่วนโดยแต่ละองค์ประกอบจะทำงานร่วมกันเพื่อวัตถุประสงค์ เดียวกัน ระบบจะถูกกำหนดด้วยขอบเขต (Boundary) โดยส่วนที่อยู่ ภายในขอบเขตของระบบ ประกอบด้วยระบบย่อยต่างๆ ซึ่ง ระบบย่อยก็คือองค์ประกอบของระบบ ระบบที่ดีควรมีระบบย่อย ที่สามารถส่งข้อมูลระหว่างกัน มี การโต้ตอบหรือตรวจสอบ เพื่อให้ระบบสามารถดำเนินตาม เป้าหมาย โดยสิ่งแวดล้อม (Environment) เป็นสิ่งที่มี ผลกระทบต่อระบบ Back Next
ระบบ (System) Back Next
ระบบสารสนเทศ (Information System) ระบบสารสนเทศ คือระบบที่ประกอบด้วย บุคคล(People) กระบวนการทำงาน (Process) ข้อมูล(Data) Hardware และ Software ที่จะสนับสนุนและปรับปรุงให้การทำงานของธุรกิจหรือ องค์กรเป็นไปตามความต้องการ Back Next
ประเภทของระบบสารสนเทศ Transaction Processing Systems (TPS) Management Information Systems (MIS) Decision Support Systems (DSS) Knowledge Work Systems (KWS) Artificial Intelligence Systems (AIS) Executive Support Systems (ESS) Back Next
Transaction Processing Systems (TPS) ใช้ช่วยในการปฏิบัติงานที่ต้องทำประจำในแต่ละวัน เช่น ขายสินค้า สั่งสินค้า ออกบิล ซึ่งมีกิจกรรมต่างๆ ได้แก่ คำนวณ จัดเก็บ จัดเรียง เป็นต้น เป้าหมายเพื่อช่วยให้การทำงานมีประสิทธิภาพมากขึ้นในแง่ เวลา ความถูกต้อง ความสะดวก Back Next
Management Information Systems (MIS) ระบบที่ช่วยผู้บริหารในการคาดการณ์ การแก้ปัญหาต่างๆ มักอยู่ในรูปของรายงาน แสดงปัจจัยต่างๆ แนวโน้ม ข้อสรุป การผสมผสานข้อมูลต่างๆ ใช้ช่วยในการบริหารงาน หรือการพยากรณ์จากแนวโน้มของข้อมูลในอดีต Back Next
Decision Support Systems (DSS) ใช้ช่วยสนับสนุนการตัดสินใจ ให้แนวทางสำหรับระบุปัญหา และทางเลือกสำหรับการแก้ปัญหา ประเมินและเปรียบเทียบคำตอบที่เป็นทางเลือกต่างๆ มักเกี่ยวข้องกับการตัดสินใจแบบไม่มีโครงสร้าง (Unstructured Decision) หรือแบบกึ่งโครงสร้าง (Semi-Structured Decision) ซึ่งไม่สามารถคาดการณ์ล่วงหน้าได้ หรือคาดการณ์ได้ยาก ผลลัพธ์ที่ได้จะอยู่ในรูปทางเลือก Back Next
Knowledge Work Systems (KWS) ระบบที่จัดทำขึ้นเพื่อสนับสนุนงานเฉพาะด้าน เช่น ด้านวิศวกรรม วิทยาศาสตร์ การแพทย์ นักกฎหมาย เป็นต้น ใช้สร้างความรู้เพื่อพัฒนาการคิดค้น สร้างผลิตภัณฑ์ใหม่ๆ บริการใหม่ องค์ความรู้ใหม่ๆ เพื่อนำไปใช้ประโยชน์ในหน่วยงาน ผลลัพธ์ของระบบนี้ มักอยู่ในรูปของ สิ่งประดิษฐ์ ตัวแบบ รูปแบบ เป็นต้น Back Next
Artificial Intelligence Systems (AIS) ระบบที่ใช้คอมพิวเตอร์ในการคิด วิเคราะห์ ปัญหาต่างๆ แทนที่มนุษย์ โดยใช้หลักทางตรรกศาสตร์ กรณีที่ใช้แทนผู้เชี่ยวชาญในสาขาต่างๆ เรียก Expert Systems โดยใช้การเก็บรวบรวมองค์ความรู้จากประสบการณ์จริงของผู้เชี่ยวชาญในสาขาต่างๆ บางครั้งเรียกเป็น Knowledge Based Systems Back Next
Executive Support Systems (ESS) เป็นระบบที่ช่วยสนับสนุนการบริหารของผู้บริหารระดับสูง ช่วยในการตัดสินใจของผู้บริหารระดับสูงซึ่งใช้ในการวางแผนกลยุทธ์หรือแผนการดำเนินงานระยะยาวขององค์กร โดยจะนำข้อมูลทั้งภายในและภายนอกองค์กรมาวิเคราะห์ เช่น ตารางการประกาศใช้กฎหมายใหม่ หรือข้อความโฆษณาจากบริษัทคู่แข่ง ข้อมูลที่ได้นั้นจะถูกกลั่นกรองข้อมูลและนำเสนอเฉพาะส่วนที่มีความสำคัญต่อผู้บริหารระดับสูง Back Next
ปัจจัยที่ทำให้เกิดการพัฒนาระบบ เกิดจากมีปัญหาในองค์กร หรือต้องการเพิ่ม ประสิทธิภาพในการทำงาน ซึ่งมีผลมาจาก ปัจจัยจากผลกระทบภายในระบบ (Internal Environment) ปัจจัยจากผลกระทบภายนอกระบบ (External Environment) Back Next
ผลกระทบภายในระบบ (Internal Environment) ผลกระทบที่เกิดจากภายในที่ส่งผลกระทบต่อองค์กร เช่น • ต้นทุนการผลิตสูงขึ้น • ปัญหาความขัดแย้งระหว่างพนักงาน • ปัญหาการบังคับบัญชา • ปัญหาการขาดพนักงานในตำแหน่งหน้าที่ • ปัญหาการขาดงาน • ข้อผิดพลาดของระบบงานปัจจุบัน Back Next
ผลกระทบภายนอกระบบ (External Environment) ผลกระทบที่เกิดจากภายนอกที่ส่งผลกระทบต่อองค์กรเช่น • คู่แข่งทางการค้าหรือธุรกิจ • นโยบาย กฎระเบียบของรัฐ • ภัยจากธรรมชาติ • ความต้องการของลูกค้าที่เปลี่ยนไป • เทคโนโลยีใหม่ Back Next
อุปสรรคในการพัฒนาระบบ การต่อต้าน ความไม่ชัดเจนในความต้องการ นโยบายเกี่ยวกับข้อมูลภายใน Back Next
การต่อต้าน มีสาเหตุจากมุมมองของผู้ที่ได้รับผลกระทบจาก การพัฒนาระบบ ไม่ไว้วางใจ กลัวการสูญเสียอำนาจ ไม่ต้องการการเปลี่ยนแปลง กลัวการเสียเวลา กลัวเสียผลประโยชน์ Back Next
ความไม่ชัดเจนในความต้องการ ทำให้ไม่สามารถกำหนดปัญหาและวิธีการแก้ไขได้ เกิดจาก ความขัดแย้งในความต้องการของแต่ละฝ่าย ความไม่เข้าใจในความต้องการ ความไม่ชัดเจนในกระบวนการทำงาน Back Next
นโยบายเกี่ยวกับข้อมูลภายใน ข้อมูลขององค์กรบางอย่างถูกเก็บไว้เป็นความลับไม่สามารถเปิดเผยกับบุคคลภายนอกได้แม้กระทั่งนักวิเคราะห์ระบบ เช่น ข้อมูลบัญชีงบดุล อัตราเงินเดือนของพนักงาน etc. ทำให้อาจมีข้อมูลไม่เพียงพอต่อการวิเคราะห์ระบบ Back Next
วิธีการในการพัฒนาระบบสารสนเทศ In-House Application Outsourcing Software Package Custom Solutions Internet-based Application Service (Web Service, Cloud Computing) Exp. Google Docs, Adobe Creative Cloud โดย Application Service Provider (ASP) Back Next
Google Docs
Adobe Creative Cloud
ทีมงานพัฒนาระบบ • คณะกรรมการดำเนินงาน (Steering Committee) • ผู้จัดการระบบสารสนเทศ (Project Manager) • นักวิเคราะห์ระบบ (System Analyst) • โปรแกรมเมอร์ (Programmer) • วิศวกรระบบ (System Engineer) • ผู้สนับสนุนฝ่ายเทคนิค (Technical Support) • เจ้าหน้าที่ผู้รวบรวมข้อมูล (Information Center Personnel) • ผู้ใช้งาน (End User) Back Next
รูปแบบที่ใช้ในการวิเคราะห์ระบบ (System Analysis Methodologies) Structured Analysis Object-Oriented Analysis Back Next
System Analysis Methodologies Structured Analysis แบบดั้งเดิม ใช้กันมาตั้งแต่ ค.ศ. 1960 มุ่งเน้นวิเคราะห์เพื่อดูว่ามีฟังก์ชั่นการทำงานและข้อมูลที่เกี่ยวข้องอะไรบ้าง ใช้วิธีการที่เรียกว่า Systems Development Life Cycle (SDLC) Back Next
System Analysis Methodologies Object-oriented analysis มองสิ่งต่างๆ เป็น Object ซึ่งประกอบด้วยข้อมูล และกระบวนการทำงาน Class แต่ละอันจะประกอบด้วยกลุ่มของ Objects ที่ทำงานร่วมกันโดยมีคุณลักษณะประจำตัว (Attributes) และวิธีการประมวลผล (Method) อยู่ภายใน แต่ละ Objects สื่อสารกันด้วย Messages มุ่งเน้นการนำกลับมาใช้ใหม่ (Reusable) เพื่อลดเวลาและค่าใช้จ่าย Back Next
เครื่องมือที่ใช้ในการวิเคราะห์ ออกแบบ และพัฒนาระบบ เครื่องมือที่ใช้ในการวิเคราะห์ ออกแบบ และพัฒนาระบบ แบบจำลอง โปรแกรมสำหรับใช้ในการพัฒนาระบบ Back Next
แบบจำลอง แบบจำลองกระบวนการ (Process Modeling) แบบจำลองคำอธิบายกระบวนการทำงาน (Logic Modeling) แบบจำลองข้อมูล (Data Modeling) Back Next
แบบจำลองกระบวนการ (Process Modeling) แสดงโครงสร้างและทิศทางการไหลของข้อมูลที่เกี่ยวข้องกับการทำงานในแต่ละขั้นตอนในระบบ รวมถึงตรรกะและหลักการในแต่ละขั้นตอน นิยมใช้ Data Flow Diagram : DFD Back Next
แบบจำลองกระบวนการ (Process Modeling) Back Next
แบบจำลองคำอธิบายกระบวนการทำงาน (Logic Modeling) อธิบายวิธีการทำงานในแต่ละขั้นตอนการประมวลผล รวมถึงการตรวจสอบข้อมูลที่ใช้ ใช้งานร่วมกับ DFD เพื่อให้เกิดความเข้าใจ และสะดวกในการออกแบบและพัฒนา Exp. Decision Table Back Next
แบบจำลองคำอธิบายกระบวนการทำงาน (Logic Modeling) Back Next
แบบจำลองข้อมูล (Data Modeling) จำลองกลุ่มข้อมูลทั้งหมดในระบบ และความสัมพันธ์ระหว่างกลุ่มข้อมูล นิยมใช้ E-R Diagram อธิบายข้อมูลเพิ่มเติมด้วย Data Dictionary Back Next
แบบจำลองข้อมูล (Data Modeling) Back Next
โปรแกรมสำหรับใช้ในการพัฒนาระบบ โปรแกรมสำหรับการบริหารโครงการ โปรแกรมสำหรับพัฒนาระบบงาน โปรแกรมสำหรับจัดการฐานข้อมูล โปรแกรมสำหรับจัดทำเอกสาร โปรแกรมสำหรับการนำเสนอ CASE Tools Back Next
วงจรการพัฒนาระบบ (Systems Development Life Cycle: SDLC) วงจรการพัฒนาระบบ (SDLC Picture ) การระบุปัญหา โอกาส และจุดมุ่งหมาย การสืบค้นความต้องการของผู้ใช้ การวิเคราะห์ระบบ การออกแบบระบบ การพัฒนาระบบ ทดสอบ และจัดทำเอกสาร การดำเนินงาน และประเมินผล การบำรุงรักษาระบบ Back Next
วงจรการพัฒนาระบบ (Systems Development Life Cycle: SDLC) Back Next
Waterfall Model Back Next
Different Approaches Spiral Model Prototyping Incremental Rapid Application Development (RAD) eXtreme Programming Agile ......? Back Next
ความรู้เบื้องต้นในการวิเคราะห์และออกแบบระบบ ความเกี่ยวข้องสัมพันธ์กันของระบบแต่ละประเภทในองค์กร องค์ประกอบที่สำคัญในการพัฒนาระบบ มาตรฐานที่ยอมรับได้ วิธีการวัด การเปรียบเทียบ การแสดงผลย้อนกลับ การวิเคราะห์และออกแบบระบบหมายถึงอะไร Back Next
ความสัมพันธ์ของข้อมูลในระบบกับลำดับชั้นขององค์กร การดำเนินงาน ควบคุมการดำเนินงาน ควบคุมการบริหาร วางแผนนโยบาย ระบบการดำเนินงาน มาก โครงสร้างการตัดสินใจ น้อย ระบบเพื่อการบริหาร น้อย ความถี่ในการใช้ข้อมูล มาก ระบบช่วยสนับสนุนการตัดสินใจ Back Next
ตาชั่งแสดงการเปรียบเทียบส่วนประกอบของระบบ Back Next
ความรู้เบื้องต้นในการวิเคราะห์และออกแบบระบบ ภาพรวมของการวิเคราะห์และออกแบบระบบ ขั้นตอนการวิเคราะห์ระบบ ขั้นตอนการออกแบบระบบ ขั้นตอนการพัฒนาระบบ อะไรที่เป็นไปไม่ได้สำหรับการวิเคราะห์ระบบ การวิเคราะห์ให้ทำงานโดยใช้คอมพิวเตอร์เพียง อย่างเดียว การวิเคราะห์ให้ระบบไม่มีการเปลี่ยนแปลง การวิเคราะห์ให้ระบบใช้แก้ปัญหาได้อย่างดีที่สุด Back Next
ความรู้เบื้องต้นในการวิเคราะห์และออกแบบระบบ ผู้ใช้ระบบ ผู้ใช้ระบบโดยทางตรง ผู้ใช้ระบบโดยทางอ้อม ผู้ใช้ระบบเพื่อการบริหาร ผู้ใช้ระบบเพื่อการบริหารระดับสูง etc. Back Next
ความรู้เบื้องต้นในการวิเคราะห์และออกแบบระบบ คุณสมบัติของนักวิเคราะห์ระบบ • มีความรู้ทางด้านการเขียนโปรแกรม • เป็นผู้จัดการในการวางแผนการทำงาน • เป็นผู้ให้คำปรึกษา / แก้ไขปัญหา • เข้าใจระบบธุรกิจ • เป็นผู้ประสานการทำงาน • มีมนุษย์สัมพันธ์ดี • มีประสบการณ์ในการวิเคราะห์และออกแบบระบบ Back Next
ความรู้เบื้องต้นในการวิเคราะห์และออกแบบระบบ ระยะเวลามีผลต่อการใช้ระบบคอมพิวเตอร์อย่างไร Back Next
ความรู้เบื้องต้นในการวิเคราะห์และออกแบบระบบ การใช้เครื่องมือช่วยในการวิเคราะห์และออกแบบระบบ ช่วยเพิ่มผลผลิตในการวิเคราะห์ให้มากขึ้น ช่วยทำให้ผู้วิเคราะห์และผู้ใช้ติดต่อถึงกันได้ง่ายขึ้น ช่วยเชื่อมต่อวงจรของขั้นตอนในการพัฒนาระบบ การบำรุงรักษาระบบจะเป็นไปอย่างถูกต้องแม่นยำ Back Next
ความรู้เบื้องต้นในการวิเคราะห์และออกแบบระบบ Computer Aided Software Engineering : CASE Tools Upper CASE Tools Lower CASE Tools Integrated CASE Tools Back Next
CASE Tools Back Next
Upper CASE Tools ใช้ในการ planning, analysis and design ช่วยในการออกแบบระบบในด้านต่าง ๆ เช่น User Interface, Input Screen, Report, Data Flow Diagram, Data Dictionary, Project Management, Business Model etc. ตัวอย่าง เช่น MS-Visio, MS-Project, Visible Analyst Back Next
ตัวอย่าง Upper CASE Tools Back Next
ตัวอย่าง Upper CASE Tools Back Next
ตัวอย่าง Upper CASE Tools Back Next
Lower CASE Tools ถูกนำมาใช้ในขั้นตอน Implementation Testing Code generator Testing Maintenance Reverse Engineering Analysis of program code Back Next
Lower CASE Tools สามารถสร้าง code ได้โดยไม่ต้องเขียนเอง ประโยชน์ ระบบพัฒนาได้อย่างรวดเร็ว ลดเวลาในการบำรุงรักษาในส่วนของการ coding สามารถสร้าง code ได้มากกว่า 1 ภาษา ลดค่าใช้จ่ายเมื่อต้องเปลี่ยน software ลดความผิดพลาดในการเขียนโปรแกรม ตัวอย่าง เช่น Rational Rose, QMetry Test Management Back Next
ตัวอย่าง Lower CASE Tools Back Next
ตัวอย่าง Lower CASE Tools Back Next
Integrated CASE Tools ช่วยในการทำงานทุกขั้นตอน ตั้งแต่การเก็บรวบรวมความต้องการของผู้ใช้ จนถึงขั้นตอนการทดสอบระบบ และจัดทำเอกสาร Back Next
แผนภาพแสดงบางส่วนของวงจรพัฒนาระบบโดยไม่ใช้ CASE Tools Back คำถามเฉพาะเกี่ยวกับโปรแกรม ข้อผิดพลาดของโปรแกรม ออกแบบสอบถาม ปัญหาในการติดตั้ง วิเคราะห์ระบบ ออกแบบระบบ พัฒนา ระบบ ทดสอบ ดำเนินงาน ความ ต้องการ ระบบ ที่สมบูรณ์ รูปแบบ โปรแกรม รหัส โปแกรม Next
แผนภาพแสดงบางส่วนของวงจรพัฒนาระบบโดยใช้ CASE Tools Back ออกแบบการไหลของข้อมูล รวมทั้งความสอดคล้องของระบบ ออกแบบสอบถาม วิเคราะห์ระบบ ออกแบบระบบ Upper CASE Tools ใช้ Lower CASE สร้างรหัสโปรแกรม ดำเนินงาน ความ ต้องการ ไม่มีความผิดพลาดทางระบบคอมพิวเตอร์ ใช้ CASE Tools ในการออกแบบ ใช้ CASE Tools สร้างระบบ Next
สรุป ความรู้เบื้องต้นในการวิเคราะห์และออกแบบระบบ การวิเคราะห์ระบบ คือ ขั้นตอนในการรวบรวมและนำข้อมูลนั้นมาวิเคราะห์ให้เข้าใจถึงปัญหาและการแก้ปัญหา ส่วนการออกแบบระบบ คือ ขั้นตอนในการวางแผนสำหรับระบบหรืออีกด้านหนึ่ง คือการเปลี่ยนแปลงระบบที่มีอยู่เดิมให้สมบูรณ์ เพื่ออำนวยความสะดวกแก่ผู้ใช้ระบบ และการพัฒนาระบบ คือ ขั้นตอนในการสร้างระบบ ทดสอบระบบ ทำคู่มือ ดำเนินงาน อบรมผู้ใช้ ประเมินผล และบำรุงรักษาระบบ ในการวิเคราะห์และออกแบบระบบต้องคำนึงถึงผู้ใช้ระบบ ซึ่งผู้ใช้ระบบ คือ ผู้ที่ใช้ระบบที่นักวิเคราะห์และออกแบบระบบได้สร้างขึ้น Back Next
สรุป ความรู้เบื้องต้นในการวิเคราะห์และออกแบบระบบ โดยแบ่งผู้ใช้ระบบออกเป็น 4 ประเภท คือ ผู้ใช้ระบบโดยทางตรง ผู้ใช้ระบบโดยทางอ้อม ผู้ใช้ระบบเพื่อบริหารและผู้ใช้ระบบเพื่อบริหารระดับสูง โดยระบบยังมีการแบ่งเป็นประเภทต่าง ๆ ซึ่งขึ้นกับลักษณะงานที่ระบบนั้นรองรับในการพัฒนาระบบทุก ๆ ระบบมีขั้นตอนต่าง ๆ เป็นวงจรการพัฒนาระบบ เนื่องจากไม่มีระบบใดที่ไม่ต้องมีการเปลี่ยนแปลงหรือปรับปรุงในการวิเคราะห์และออกแบบระบบในปัจจุบันมีเครื่องช่วยในการอำนวยความสะดวกให้นักวิเคราะห์ระบบทำงานได้อย่างสะดวก ถูกต้อง รวมทั้งยังสามารถสร้างรหัสโปรแกรมได้อัตโนมัติ ซึ่งจะเรียกเครื่องมือนี้ว่า CASE Tools Back Next