system development life cycle

25

Upload: eiszer

Post on 29-Nov-2014

3.036 views

Category:

Documents


7 download

DESCRIPTION

SDLC (System development Life Cycle : SDLC) หรือวัฏจักรการพัฒนาระบบงานคือขั้นตอนหรือกระบวนการในการพัฒนาระบบงานซึ่งมีจุดเริ่มต้นในการทํางานและจุดสิ้นสุดของการปฏิบัติงาน

TRANSCRIPT

Page 1: System Development  Life  Cycle
Page 2: System Development  Life  Cycle

สมาชิกกลุ่ม

• 1. นางสาวกมลวรรณ ลาภประกอบกิจ 523050229-6• 2. นางสาวมณีนุช กิจเธาว์ 523050247-4

Page 3: System Development  Life  Cycle

SDLC คืออะไร

• SDLC (System development Life Cycle :

SDLC) หรือ วัฏจักรการพัฒนาระบบงาน คือขั้นตอนหรือกระบวนการในการพัฒนาระบบงาน ซึ่งมีจุดเริ่มต้นในการ

ทํางาน และจุดสิ้นสุดของการปฏิบัติงาน• ในการพัฒนาระบบสารสนเทศในองค์กรจะต้องมีการวิเคราะห์กระบวนการทํางานของ

องค์กร เรียกว่า System development Life Cycle (SDLC) การพัฒนาระบบในองค์กรเป็นหน้าท่ีของนักวิเคราะห์ระบบท่ีจะต้องทําการติดต่อกับหน่วยงานท่ีต้องการพัฒนาระบบสารสนเทศ ว่าการทํางานมีองค์ประกอบอะไรบ้าง เช่นขนาดขององค์กร รายละเอียดการทํางาน ถ้าเป็นบริษัทขนาดใหญ่นักวิเคราะห์จะต้องเข้าใจให้ชัดเจนเกี่ยวกับมาตรฐานการทํางาน กระบวนการทํางาน

Page 4: System Development  Life  Cycle

SDLC คืออะไร

ภายในวงจรนั้นจะแบ่งกระบวนการพฒันาออกเปน็กลุ่มงานหลกั ๆดังนี้

• ด้านการวางแผน (Planning Phase)

• ด้านการวิเคราะห์ (Analysis Phase)

• ด้านการออกแบบ (Design Phase)

• ด้านการสร้างและพัฒนา (Implementation Phase)

Page 5: System Development  Life  Cycle

รูปแบบของวงจรการพัฒนาระบบ : SDLC ในรูปแบบ Waterfall

SDLC แบบ Waterfall มีหลักการเหมือนํ้าตก ซึง้ไหลจากท่ีสูงลงท่ีตํ่า ในการพัฒนาระบบงานด้วยหลักการน้ี เมื่อทําขั้นตอนหน่ึงแล้วจะไม่สามารถย้อนกลับมาท่ีขั้นตอนก่อนหน้าได้อีก ดังน้ัน การพัฒนาระบบด้วยหลกัการน้ี จําเป็นต้องมีการวางแผนท่ีดี เพื่อให้สามารถป้องกันการผิดพลาดได้มากท่ีสุด ซึ่งทําได้ยากมาก ยกเว้นระบบงานน้ันมีรูปแบบการพัฒนาท่ีดี และตายตัว

Page 6: System Development  Life  Cycle

รูปแบบของวงจรการพัฒนาระบบ : SDLC ในรูปแบบ Spiral

SDLC แบบ Spiral มีลักษณะเป็นวงจรวิเคราะห์ - ออกแบบ – พัฒนา – ทดสอบ (Analysis – Design – Implementation – Testing ) และจะวนกลับมาในแนวทางเดิม เช่นนี้เรื่อยไป จนกระทัง่ได้ Product ที่สมบูรณ์ การพัฒนาระบบงานด้วย SDLC ใน รูปแบบนี้มีความยืดหยุ่นมากที่สุด เนื่องจากการทํางานใน 1 วงรอบ ไม่จําเป็นต้องได้ Product ที่แน่นอน และการทํา Analysis, Design, Implementation และ Testing ในแต่ละวงรอบนั้นจะสั้นหรือยาวเท่าใดก็ได้ และถ้าหากไม่มีความจําเป็นใด ๆ บางขั้นตอนอาจจะถูกข้ามไปก็ได้ “

Page 7: System Development  Life  Cycle

เครื่องมือท่ีใช้ในการพัฒนาระบบ (Tools) คืออะไร

• เครื่องมอืที่ใชใ้นการพัฒนาระบบ (Tools) คือ ซอฟตแ์วร์ท่ีชว่ยสร้างหรือวาดแบบจําลองชนดิตา่ง ๆ ตรวจสอบความถูกต้องของแบบจาํลอง ชว่ยสร้างรายงานและแบบฟอร์ม รวมทัง้ชว่ยสร้างโค้ดโปรแกรมให้อัตโนมัติ โดยมตีวัอย่าง ดังนี้

Page 8: System Development  Life  Cycle

Project Management Application

Project Managementเป็นซอฟท์แวร์ประเภท Web

application เป็นซอฟท์แวร์ที่เกี่ยวข้องกับการบริหารจัดการโครงการซึ่งภายในมี Module ของลูกค้าสัมพันธ์(CRM) การจัดซื้อ (Purchasing) การจัดการตารางงานและกําหนดเวลา (Task & Scheduling) การแจ้งเตือน (Warning) และฟังก์ชันอ่ืนๆอีกมากในระบบ

Page 9: System Development  Life  Cycle

Word Processor/Text Editor

•เวิร์ดโพรเซสเซอร ์ (Word Processor)เป็นโปรแกรมประมวลผลคําทีท่ํางานดา้นการ

พิมพ์เอกสาร การสร้างตาราง การจัดหน้าเอกสาร การจัดคอลัมน์ การจัดรูปแบบอักษร สามารถใส่ภาพกราฟิก หรือแผนภูมิ ลงในเอกสาร โปรแกรมที่นิยมใช้ได้แก่ โปรแกรมไมโครซอฟต์เวิร์ด • เท็กซ์อิดิเตอร ์ (Text Editor)

เป็นโปรแกรมประมวลผลคําขนาดเล็ก ใช้สําหรับการพิมพ์และแก้ไขเอกสาร คําสั่งต่าง ๆ ซ่ึงมีรูปแบบการใช้งาน เช่น ลักษณะตัวหนา ตัวเอียง ขนาดตัวอักษรไม่มาก แตส่ามารถพิมพ์ข้อความในเอกสาร เก็บบันทึก สั่งพิมพ์ออกทางเครื่องพิมพ์ได้ เท็กซ์อิดิเตอร์ที่นิยมใช้ ได้แก่ โปรแกรม WordPad , Notepad

Page 10: System Development  Life  Cycle

Computer-Aided System Engineering (CASE) Tools

CASE (Computer-AidedSoftware Engineering)คือ การน าเอาแบบแผนหรือวิธีการทางด้านคอมพิวเตอร์เข้ามาช่วยในการจัดระเบียบและควบคุมการพัฒนาซอฟแวร์โดยเฉพาะซอฟแวร์ที่มีขนาดใหญ่และความซับซ้อนสูงที่ต้องมีส่วนประกอบของซอฟแวร์และคนพัฒนาจ านวนมากๆ

Page 11: System Development  Life  Cycle

Integrated Development Environment (IDE)

IDE ย่อมาจาก integrated

development environment IDE คือ องค์ประกอบหรือตัวช่วยต่างๆ ที่จะคอยช่วยเหลือ developer หรือช่วยเหลือคนที่พัฒนา Application ต่างๆนั่นเอง เพ่ือเสริมให้เกิดความรวดเร็ว ถูกต้อง แม่นยํา ตรวจสอบระบบที่จัดทําไดท้ั้งเชิงลึกหรือตื้น ทําให้การพัฒนางานต่างๆของเรานั้นเร็วมากขึ้น

Page 12: System Development  Life  Cycle

ตารางเปรียบเทียบข้อดี ข้อเสียของ SSADM, RAD และ OOD&D

ข้อดี ข้อเสีย

SSADM •สามารถรวบรวมความต้องการจากผู้ใช้ได้เป็นระยะเวลานานก่อนที่จะเร่ิมเขียนโปรแกรม •การเปลี่ยนแปลงความต้องการมีน้อย เนื่องจากก่อนที่จะถึงขั้นตอนการเขียนโปรแกรม ข้อมูลต่าง ๆ ที่วิเคราะห์มานั้นจะต้องได้รับการอนุมัติเห็นชอบจากเจ้าของระบบก่อน จึงจะสามารถเข้าสู่ขั้นตอนการเขียนโปรแกรมได้ •ข้อมูลทุกอย่างที่วิเคราะห์และออกแบบมานั้นจะต้องตรงตามความต้องการของผู้ใช้และ เจ้าของระบบมากที่สุดนั่นเอง

•จะใช้เวลานานมากในขัน้ตอนการวิเคราะห์และออกแบบระบบ •การออกแบบต่าง ๆ จะร่างลงบนกระดาษ ซ่ึงผูใ้ช้หรือเจ้าของระบบไม่สามารถทดลองใช้งานได้•อาจจะไม่ทราบถึงปัญหาที่เกิดขึ้น ส่งผลให้อาจเกิดปัญหาในระหว่างขัน้ตอนการเขียนโปรแกรมได้

Page 13: System Development  Life  Cycle

ตารางเปรียบเทียบข้อดี ข้อเสียของ SSADM, RAD และ OOD&D

ข้อดี ข้อเสีย

RAD •มีการนําเทคนิค และเครื่องมือชนิดต่าง ๆ เข้ามาสนับสนนุการพัฒนาระบบ ให้สามารถดําเนินการในขั้นตอนต่างๆ ทําให้สามารถช่วยให้พัฒนาระบบได้สําเร็จลุล่วงโดยใช้เวลาน้อยที่สุด อีกทั้งผู้ใช้ระบบยังสามารถทดลองใช้โปรแกรมต้นแบบเพ่ือบอกนักวิเคราะห์ระบบได้ว่า ระบบที่ออกแบบมานั้นถูกต้องหรือไม่ และมีข้อผิดพลาดใดเกิดขึน้บ้าง

•มีการเปลี่ยนแปลงความต้องการของผู้ใช้อยู่ตลอดเวลา เนื่องจากผู้ใช้ได้ทดลองใช้โปรแกรมต้นแบบทีส่ามารถสร้างและแก้ไขได้ง่ายนั่นเอง•ใช้งบประมาณมาก

Page 14: System Development  Life  Cycle

ตารางเปรียบเทียบข้อดี ข้อเสียของ SSADM, RAD และ OOD&D

ข้อดี ข้อเสีย

OOD&D •บํารุงรักษาง่ายเพราะว่าแต่ละ object แยกออกมาเด่นชัด•นําไปใช้ใหม่ได้ง่าย เนื่องจาก Object มีการกําหนดคุณสมบัติ และ ข้อมูลชัดเจน •สามารถออกแบบ Object ให้นําไปใช้ได้ในหลายกรณี และก็เรียกใช้เฉพาะ Object ได้ง่าย•สะท้อนความเป็นจริงได้ดีกว่าการออกแบบในลักษณะทั่วๆไปที่เราออกแบบกัน

•อ้างอิงถึง Object ใดๆเดี่ยวๆไม่ได้ ต้องรู้จัก Super class ทุกตัวด้วย ไม่เช่นนั้นคุณสมบัติจะมาไม่หมด•การที่Sub class ถูก Inherit จาก Super class ในทางปฏิบัติบางกรณีอาจจะเกิดเห?ตุการณ์ Sub class ไป Inherit จาก 2 super class กลายเป็นความสัมพันธ์แบบ N : N เรียกว่าเป็น Multiple Inheritance กรณีถ้าเกิดเหตุการณ์นี้ขึ้นแล้วทั้ง 2

Page 15: System Development  Life  Cycle

แบบจ าลองท่ีใช้ในการพัฒนาระบบ (Model) คืออะไร

• แบบจําลองที่ใช้ในการพัฒนาระบบ (Model) คือตัวแบบที่ช่วยในการนําเสนอข้อมูลต่าง ๆ ของระบบ เพื่อจะนําข้อมูลเหล่านั้นไปใช้ในการแก้ไขปัญหา ตัวแบบนี้อาจจะเป็นโปรแกรม ที่มีความสามารถในการใช้สูตรคํานวณทางคณิตศาสตร์เพื่อวิเคราะห์ข้อมูล ค้นหาคําตอบ หรือจําลองให้เห็นภาพของข้อมูล เพื่อนําไปใช้แก้ปัญหา

Page 16: System Development  Life  Cycle

ตัวอย่างแบบจ าลองท่ีใช้ในการพัฒนาระบบ (Model)

Flow Chart คือแผนภาพแสดงลําดับขั้นตอนการทํางาน เป็นเครื่องมอืที่ใช้ในการวางแผนขั้นแรกมาหลายปี โดยใช้สัญลักษณ์ตา่ง ๆ ในการเขียนผังงาน เพื่อช่วยลําดับแนวความคดิในการเขียนโปรแกรม

Page 17: System Development  Life  Cycle

ตัวอย่างแบบจ าลองท่ีใช้ในการพัฒนาระบบ (Model)

Data Flow Diagram (DFD) แผนภาพกระแสข้อมูลท่ีมีการวเิคราะห์แบบในเชงิโครงสร้าง (Structure) ซึ่งเป็นแผนภาพท่ีบอกถึงรายละเอียดของระบบ โดยเฉพาะข้อมูล และผังการไหลของข้อมูล

Page 18: System Development  Life  Cycle

ตัวอย่างแบบจ าลองท่ีใช้ในการพัฒนาระบบ (Model)

Entity Relationship Diagram (ERD) - เป็นแผนภาพท่ีทําหน้าที่จําลอง

ข้อมูลที่มคีวามสัมพันธ์กัน- เป็นการออกแบบฐานข้อมูลใน

ระดับ Conceptual- เป็นแบบจําลองข้อมูลที่แสดงถงึ

โครงสร้างฐานข้อมูลท่ีเป็นอิสระจาก Software ที่จะใช้พัฒนาฐานข้อมลู (ไม่ขึ้นกับ Software)ทําให้บุคลากรเข้าใจในระบบฐานข้อมูลไดง้่าย

Page 19: System Development  Life  Cycle

ตัวอย่างแบบจ าลองท่ีใช้ในการพัฒนาระบบ (Model)

Structure Chart เป็นเครื่องมือที่อธิบายถงึการแบ่งการทํางานของระบบออกเป็นส่วนย่อย หรือโมดลู โดยแสดงโมดูลเป็นลําดับขั้นตามการเรียกใชข้้อมูล พร้อมทัง้แสดงถึงความสัมพันธ์ระหว่างโมดูล การอ่านและเรยีกใช้โมดูล เริม่จากบนลงล่าง และจากซา้ยไปขวา

Page 20: System Development  Life  Cycle

UML คืออะไร

UML (Unified Modeling Language)

• เป็นภาษาแผนภาพที่ใช้แสดงการทํางานของระบบงาน ในการวิเคราะห์และออกแบบระบบเชิงวัตถุ (Object Oriented Analysis and Design) ซึ่งภาษาแผนภาพที่ใช้แสดงนั้นมีหลายแบบด้วยกัน ได้แก่ Use Case Diagram, Class Diagram, Sequence Diagram และ Activity Diagram

Page 21: System Development  Life  Cycle

CASE TOOL คืออะไร

CASE TOOL

• คือซอฟแวร์ที่จะอํานวยความสะดวกในการพัฒนาซอฟแวร์(Computer-Aided Systems Engineering -CASE) เป็นเทคนิควิธีที่ใช้ในโปรแกรมที่มีความสามารถสูงเป็นเครื่องมือ เรียกย่อๆ ว่า เคสทูล (CASE Tools)โดยอาศัยหลักการของ CASE นั่นเอง เพื่อช่วยนักวิเคราห์ระบบพัฒนาระบบและบํารุงรักษาระบบสารสนเทศ โดยมองเห็นกรอบของการพัฒนาระบบทั้งหมด

Page 22: System Development  Life  Cycle

Upper-CASE และ Lower-CASE

Upper-CASE

เป็นเครื่องมือที่ช่วยสนับสนุนการทํางานในขัน้ตอนต้น ๆ ของการ

พัฒนาระบบ ได้แก่ ขั้นตอนการวางแผน

Lower-CASE

เป็นเครื่องมือที่ช่วยสนับสนุนการทํางานในขั้นตอนสดุท้ายในการพัฒนาระบบ ได้แก่ขั้นตอนการออกแบบ ขั้นตอนการพัฒนาและทดสอบระบบ และขั้นตอนการให้บริการหลังการติดตั้งระบบ

Page 23: System Development  Life  Cycle

ตัวอย่างโปรแกรมที่ใช้เป็นเครื่องมือของ Upper-CASE และ Lower-CASE

• Rational Rose : ใช้สําหรับวาด UML Design for OO(ObjectOriented) และ generate code

• Visible Analyst: ใช้สําหรับวาด Context Diagram และ Data flow diagram

• Visual Studio : ทําออกแบบและสร้าง web

• Paradigm Plus

Page 24: System Development  Life  Cycle

จากที่ศึกษา CASE มาท่านจะเลือกใช ้Tool โปรแกรมใดที่จะช่วยพัฒนาระบบ เพราะเหตุใด

เลือกใช้เครื่องมอืตรวจคณุภาพของแบบจําลอง Quality Management

Tools เพราะ ช่วยให้การสร้างแบบจําลอง เอกสาร และตัวต้นแบบต่างๆ ท่ีถูกสร้างขึ้นมีคุณภาพ โดยมีการตรวจสอบความถูกต้องและความสอดคล้องกันได้ เครื่องมอืช่วยออกแบบ Design Generation Tools เพราะเป็น

เครื่องมอืที่ใชใ้นการออกแบบของระบบอย่างคร่าว ๆ ก่อนในเบื้องต้น โดยวิเคราะห์ถงึความต้องการของผู้ใช้ที่รวบรวมมาแล้วเครื่องมอืช่วยทดสอบ Test management tools ช่วยให้สามารถ

ทดสอบโปรแกรมไดเ้ร็วยิ่งขึ้น

Page 25: System Development  Life  Cycle

อ้างอิง

• http://www.no-poor.com/dssandos/Chapter3-dss.htm

• http://reg.ksu.ac.th/teacher/lawan/Lesson3.htm

• http://www.prosoft.co.th/index.php?Itemid=4726&id=3360&option=com_content&task=view

• http://web.nkc.kku.ac.th/322372/.../alone/.../What%20is%20CASE%20tool.doc