วิศวกรรมซอฟต์แวร์ (Software Engineering)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
วงจรพัฒนาระบบ (System Development Life Cycle)
Advertisements

การวิเคราะห์และออกแบบระบบ
Business System Analyst
Information System Project Management
การบริหารโครงการ (Project Management)
การเลือกใช้ซอฟท์แวร์ในงาน สารสนเทศ และแนวโน้มของ การพัฒนาซอฟท์แวร์ใน อนาคต การออกแบบและพัฒนา ซอฟท์แวร์ บทที่ 10.
SCC - Suthida Chaichomchuen
Software Process Models
ซอฟต์แวร์พัฒนาระบบฐานข้อมูล บทที่ 9 การเลือกใช้ซอฟท์แวร์ในงานสารสนเทศ และแนวโน้มของการพัฒนาซอฟท์แวร์ในอนาคต ปริญญา น้อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์
ภาคผนวก - การบริหารความเสี่ยง
บทที่ 2 การพัฒนาระบบสารสนเทศ
การพัฒนาระบบสารสนเทศ (Information System Development)
แบบจำลองกระบวนการซอฟต์แวร์
Chapter 6 Project Management
บทที่ 4 Plan การวางแผน.
Chapter 2 Software Process.
school of Information communication Tecnology,
Chapter 2 Software Processes
Business System Analysis and Design (BC401)
BC424 Information Technology 1 บทที่ 7 การพัฒนาระบบ สารสนเทศ (Information System Development)
Tawatchai Iempairote วันที่ 3 กรกฎาคม 2556
1 คต ๔๔๑ สรุปการจัดการ โครงการซอฟต์แวร์ คต ๔๔๑ สรุปการจัดการ โครงการซอฟต์แวร์ Royal Thai Air Force Academy : RTAFA Royal Thai Air Force Academy : RTAFA.
1 คต ๔๔๑ สรุปการจัดการ โครงการซอฟต์แวร์ คต ๔๔๑ สรุปการจัดการ โครงการซอฟต์แวร์ Royal Thai Air Force Academy : RTAFA Royal Thai Air Force Academy : RTAFA.
อาจารย์ วิทูร ธรรมธัชอารี. เนื้อหาในการเรียน  เครื่องมือในการออกแบบและพัฒนาระบบ บัญชีด้วยคอมพิวเตอร์  ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล  การวางระบบบัญชีด้วยคอมพิวเตอร์
ลักษณะงานของวิศวกร ซอฟต์แวร์ ● วิเคราะห์และจัดทำความ ต้องการซอฟต์แวร์ ● ออกแบบซอฟต์แวร์ ● พัฒนาซอฟต์แวร์ ● ทดสอบซอฟต์แวร์ ● บำรุงรักษาซอฟต์แวร์ ● จัดการองค์ประกอบ.
การบริหารโครงการ (Project Management) โครงการ คือ งาน (task) ซึ่งมีการ กำหนดเวลาเริ่มต้นและสิ้นสุด ที่ แน่นอนและมีความต้องการใช้ทรัพยากร ต่างๆใน แต่ละกิจกรรมโดย.
การกำกับดูแล ตนเองที่ดี สรวิชญ์ เปรมชื่น ที่ปรึกษา สมาคมส่งเสริม ผู้ประกอบการวิสาหกิจ.
ความรู้เบื้องต้นเกี่ยวกับเทคโนโลยีและนวัตกรรมการศึกษา
ระบบมาตรฐานการจัดการสิ่งแวดล้อม
วิชา การพัฒนางานด้วยระบบคุณภาพและเพิ่ม ผลผลิต (Work Development with Quality Management.
บทที่ 3 กระบวนการพัฒนา(Process Model)
Information Systems Development
Measuring Agility in Agile Software Development
Action Research รศ. ดร. วิโรจน์ สารรัตนะ
การบริหารธุรกิจ MICE Chapter 7 TD 451.
การออกแบบอีเลิร์นนิง
Thai Quality Software (TQS)
กระบวนการพัฒนาซอฟต์แวร์
บทที่ 13 กลยุทธ์การทดสอบซอฟต์แวร์ (TESTING STRATEGIES)
2 การพัฒนาระบบสารสนเทศ (Information System Development)
Information System Development
Java Development Tools
บทที่ 6 วิศวกรรมระบบ (System Engineering)
บทที่ 5 ความต้องการ วิศวกรรมความต้องการ แบบจําลองการวิเคราะห์
การประชุมการบริหารยุทธศาสตร์กรมอนามัย ครั้งที่ 4/2559
Software Evolution แบบจำลองกระบวนการพัฒนา/ผลิตซอฟต์แวร์ (Process Model) แบบจำลองใช้สำหรับชี้นำถึงกิจกรรมหลัก (key Activities) ในการพัฒนาซอฟต์แวร์ ด้วยการกำหนดรายละเอียดหรือข้อบัญญัติไว้ในแต่ละกิจกรรมในแต่ละขั้นตอนที่มีลำดับขั้นตอนการพัฒนาที่ชัดเจน.
การวิเคราะห์ซอฟต์แวร์
IT Project Management 05 IT Quality Management.
Generic View of Process
บทที่ 2 ภาพรวมกระบวนการ (A Generic View of Process)
(Smart Strategy Praboromarajchanok Institute: SSPI)
UML (Unified Modeling Language)
แนะนำรายวิชา การออกแบบระบบการจัดการเรียนรู้บนเครือข่าย
ความรู้พื้นฐานเกี่ยวกับโครงการ
เทคนิค การติดตามและประเมินผล
การพัฒนาระบบสารสนเทศ
การตรวจสอบภายในภาครัฐ
การออกแบบบทเรียนคอมพิวเตอร์
บทที่ 6 การบริหารและการวางแผนการผลิต
วิชา วิศวกรรมซอฟต์แวร์ (Software Engineering)
การพัฒนาระบบสารสนเทศ (Information System Development)
EM: Asst.Prof.Dr.PattanaSirichotpundit, Ph.D.
บทที่ 8 ผลิตภัณฑ์การบริหารการผลิต
บทที่ 2 การพัฒนาระบบสารสนเทศ
บทที่ 3 กระบวนการผลิตซอฟต์แวร์ (Software Process)
คณะวิทยาการจัดการ มหาวิทยาลัยราชภัฏยะลา
การรายงานผลการดำเนินงาน
กลยุทธ์การทดสอบซอฟต์แวร์ วิศวกรรมซอฟต์แวร์ (Software Engineering)
Introduction to Structured System Analysis and Design
บทที่ 1 กลยุทธ์ของกระบวนการการพัฒนา ซอฟต์แวร์รายบุคคล
ใบสำเนางานนำเสนอ:

วิศวกรรมซอฟต์แวร์ (Software Engineering) ภาพรวมของกระบวนการ (A Generic View of Process) แบบจำลองกระบวนการพัฒนาระบบ  (Process Model)

กระบวนการ (Process) กระบวนการ (Process) คือ กลุ่มของขั้นตอนการทำงาน ที่ประกอบด้วยชุด กิจกรรม ข้อจำกัด และทรัพยากรที่จะได้ผลิตเป็นผลลัพธ์บางชนิดตามต้องการ กระบวนการโดยทั่วไปจะมีลักษณะ ดังนี้ 1. กระบวนการจะต้องระบุกิจกรรมทั้งหมดอย่างชัดเจน 2. กระบวนการจะใช้ทรัพยากรภายใต้ข้อจำกัดต่างๆ เพื่อผลิตเป็นผลิตภัณฑ์ที่ แล้วเสร็จ 3. กระบวนการหนึ่ง อาจประกอบขึ้นจากกระบวนการย่อยอื่นๆ ที่มี ความสัมพันธ์กัน

กระบวนการ (Process) 4. ทุกกิจกรรมของกระบวนการจะมีเงื่อนไขในการเริ่มต้นและสิ้นสุดกิจกรรม 5. ทุกขั้นตอนและทุกกิจกรรมของกระบวนการจะต้องมีเป้าหมายอย่างชัดเจน และต้องมีหลักการหรือแนวทางในการปฏิบัติเพื่อให้บรรลุเป้าหมายนั้น 6. ข้อจำกัดหรือเงื่อนไขสามารถนำมาใช้ควบคุมการดำเนินกิจกรรม การใช้ ทรัพยากร หรือแม้กระทั่งตัวผลิตภัณฑ์เองได้

กระบวนการซอฟต์แวร์ (Software Process) กระบวนการซอฟต์แวร์ หมายถึงกลุ่มของกิจกรรม วิธีการ วิธีการปฏิบัติ และ การเปลี่ยนแปลงที่ใช้ในการพัฒนาและบำรุงรักษา ซอฟต์แวร์ ตลอดจน ผลิตภัณฑ์ที่เกี่ยวเนื่อง กระบวนการซอฟต์แวร์ประกอบด้วย คน วิธีการ และเครื่องมือ

กระบวนการซอฟต์แวร์ (Software Process) กิจกรรมพื้นฐานทั้งหมด 4 กิจกรรม ที่ใช้กับกระบวนการผลิตซอฟต์แวร์ การกำหนดคุณสมบัติซอฟต์แวร์ (Software Specification) การออกแบบและสร้างซอฟต์แวร์ (Software Design and Implementation) การทวนสอบซอฟต์แวร์ (Software Validation) การวิวัฒนการของซอฟต์แวร์ (Software Evolution)

กระบวนการซอฟต์แวร์ (Software Process) 1. software specification นิยามหน้าที่ต่างๆที่ต้องมีในซอฟต์แวร์ และระบุข้อจำกัดต่างๆ ที่เกี่ยวข้องกับกระบวนพัฒนาซอฟต์แวร์ เช่น กฎหมาย , อัตราภาษี , กฎระเบียบต่างๆที่เกี่ยวในการพัฒนาซอฟต์แวร์ 2. Software Design and Implementation กิจกรรมนี้ทำการสร้าง / พัฒนาซอฟต์แวร์ให้ตรงกับข้อกำหนด (specification) 3. software validation กิจกรรมนี้ทำการตรวจสอบความถูกต้องของซอฟต์แวร์ เพื่อให้เกิดความมั่นใจ ว่าซอฟต์แวร์ที่ผลิตขึ้นได้ตรงกับ ความต้องการของลูกค้า 4. software evolution ในทางปฎิบัติ เมื่อซอฟต์แวร์ใช้งานได้ระยะหนึ่งแล้ว ผู้ใช้หรือลูกค้าอาจมีความต้องการเพิ่มเติมหรือ เปลี่ยนแปลงความต้องการบางอย่าง ดังนั้นขั้นตอนการพัฒนาซอฟต์แวร์ ต้องมีการเตรียมการบางอย่างเพื่อ จัดการกับเหตุการณ์ที่คาดหมายว่าจะเกิดขึ้นในอนาคต

กระบวนการซอฟต์แวร์ (Software Process) กระบวนการทางซอฟต์แวร์ คือกรอบงานของการสร้างซอฟต์แวร์ที่มี คุณภาพสูง กระบวนการทางซอฟต์แวร์เป็นตัวกำหนดแนวทางที่ซอฟต์แวร์ จะถูกสร้างขึ้น ในขณะที่วิศวกรรมซอฟต์แวร์จะรวมไปถึงเทคโนโลยีใน กระบวนการ ได้แก่ วิธีเชิงเทคนิค และเครื่องมือทันสมัยต่างๆ

กระบวนการซอฟต์แวร์ (Software Process) หากกล่าวถึงวิศวกรรมซอฟต์แวร์ ในแง่ของการเป็นเทคโนโลยีของการผลิต ซอฟต์แวร์แล้ว วิศวกรรมซอฟต์แวร์จะเป็นเทคโนโลยีชนิดที่เรียกว่า “เทคโนโลยีแบบชั้น” (Layered Technology) การดำเนินงานวิศวกรรมซอฟต์แวร์ จะประกอบไปด้วย 3 ระดับชั้น ดังนี้ เครื่องมือ (Tools) ระเบียบวิธี (Methods) กระบวนการ (Process) คุณภาพ (Quality)

กรอบงานของกระบวนการ (A Process Framework) กรอบงานของกระบวนการ เป็นพื้นฐานสำคัญของกระบวนการทาง ซอฟต์แวร์ กรอบงานจะแยกออกได้เป็น กิจกรรมกรอบงาน (Framework Activity) กรอบงานของกระบวนการยังครอบคลุม กิจกรรมที่ใช้ได้กับกระบวนการทาง ซอฟต์แวร์ เรียกว่า ชุดกิจกรรมร่ม (Umbrella Activities)

Software Process Umbrella activities = all activities we need for working on the project: plan, control, meetings, transport, ...

กิจกรรมของกรอบงานของกระบวนการ การสื่อสาร (Communication) การวางแผน (Planning) การสร้างแบบจำลอง (Modeling) การสร้าง (Construction) การใช้งาน (Deployment)

กิจกรรมในกลุ่มกิจกรรมร่ม การติดตามและควบคุมโครงการซอฟต์แวร์ (Software Project Tracking and Control) การจัดการความเสี่ยง (Risk Management) การประกันคุณภาพของซอฟต์แวร์ (Software Quality Assurance) การพิจารณาด้านเทคนิค (Formal Technical Reviews) การวัด (Measurement) การจัดการโครงแบบของซอฟต์แวร์ (Software Configuration Management) การเตรียมและการผลิตชิ้นงาน (Work Product Preparation and Production)

แบบจำลองกระบวนการพัฒนาระบบ (Process Model) หมายถึง การจำลองภาพของกระบวนการ เพื่อให้เห็นถึงการจัดโครงสร้าง ลำดับขั้นตอนของกระบวนการในรูปแบบที่แตกต่างกันออกไป แบบจำลองกระบวนการ (Software Process Model) Linear Process Model Incremental Process Model Evolutionary Process Model Specialize Process Model

Linear Process Model The Linear Model หรือ Classic Life Cycle , Waterfall Model

Waterfall Model Waterfall Model เรียกได้ว่าเป็น Classic Life Cycle ซึ่งหมายถึง แบบ ระเบียบวิธีเรียงลำดับเป็นระบบในการพัฒนาซอฟต์แวร์

Waterfall Model ข้อเสียของ Waterfall Model

Incremental Process Model แบบจำลองค่อยเพิ่มขึ้น (The Incremental Model)

Incremental Process Model แบบจำลองแบบเร่งรัด (RAD Model)

Evolution Process Model เป็นแบบจำลองที่มีการทำกิจกรรมในลักษณะซ้ำ (Iteration) การสร้างต้นแบบ (Prototyping) ผู้ใช้ไม่สามารถบอกความต้องการได้ สร้างแบบจำลองให้

การสร้างต้นแบบ (Prototyping) ขั้นตอนการทำ Prototype 1. ตั้งเป้าหมาย (Objective) 2. เลือก Function ที่ Meet Objective 3. สร้าง 4. ให้ผู้ใช้ดูแล้ว Feedback

การสร้างต้นแบบ (Prototyping) การสร้างต้นแบบ มี 3 ลักษณะ 1. เพื่อวิเคราะห์ความต้องการของผู้ใช้ 2. เพื่อขยายให้เป็นระบบที่ปฏิบัติงานจริง 3. เพื่อหาทางแก้ปัญหาที่ดีที่สุด เพื่อใช้เป็นเครื่องมือในการทดลอง

Evolution Process Model แบบจำลองแบบสไปรัล (The Spiral Model)

Evolution Process Model แบบจำลองการพัฒนาไปพร้อมกัน (The Concurrent Development Model) แบบจำลองนี้แสดงให้เห็นสถานะปัจจุบัน ของโครงการ แทนที่จะมองงานย่อย กิจกรรมเป็นลำดับของเหตุการณ์ก็มอง เป็นโครงข่ายของกิจกรรมที่ทุกงานและ งานย่อยในโครงข่ายเกิดขึ้นพร้อมๆกันกับ งานและงานย่อยอื่นๆ

Specialize Process Model การพัฒนาจากคอมโพเน้นท์ (Component Based Development)

Specialize Process Model แบบจำลองวิธีการฟอร์มัล (The Formal Methods Model) แบบจำลองวิธีการฟอร์มัล รวมเอาชุดของกิจกรรมที่นำไปสู่ข้อกำหนด ทางคณิตศาสตร์ฟอร์มัลของซอฟต์แวร์ เหมาะกับซอฟต์แวร์ที่ต้องการความปลอดภัยระดับสูง เช่น การควบคุม การบินการควบคุม เครื่องมือทางการแพทย์ เป็นต้น

Specialize Process Model การพัฒนาซอฟต์แวร์เชิงแง่มุม (Aspect-Oriented Software Development) กระบวนงานเชิงแง่มุม กระบวนการนี้จะรับเอาแบบจำลองสไปรัลและ แบบจำลองแบบทำไปพร้อมกันมาใช้ การพัฒนาแบบคู่ขนานของการทำไป พร้อมกันมีความจำเป็นในการสร้างแง่มุม เนื่องจากแง่มุมจะมีผลกระทบต่อ หลายๆส่วนของซอฟต์แวร์

The Unified Process Inception Elaboration Construction Transition Production