วิชา itsc2301 วิศวกรรมซอฟต์แวร์ ·...
TRANSCRIPT
![Page 1: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/1.jpg)
วศวกรรมระบบ (System Engineering)
การบรหารโครงการผลตซอฟตแวร
การประมาณการซอฟตแวร (Software Estimation)
วชา 04720303
วศวกรรมซอฟตแวร (Software Engineering)
![Page 2: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/2.jpg)
วศวกรรมระบบ (System Engineering)
วศวกรรมระบบ ไมไดมงเนนในเรองของซอฟตแวรอยางเดยว แตใหความส าคญกบสวนประกอบอนๆ ดวย
วศวกรรมระบบ หมายถง กระบวนการศกษาและวเคราะหของระบบทมความสลบซบซอน เพอสนบสนนการท างานในสวนของวศวกรรมซอฟตแวร กจกรรมของวศวกรรมระบบ จะถกด าเนนการไปพรอมๆ กบกจกรรมของวศวกรรมซอฟตแวร
![Page 3: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/3.jpg)
วศวกรรมระบบ (System Engineering)
กจกรรมของวศวกรรมระบบ มดงน
ก าหนดวตถประสงคของระบบ
ก าหดนขอบเขตของระบบ
แบงระบบออกเปนสวนๆ ตามฟงกชนงานหรอคณสมบตระบบ
พจารณาความสมพนธของสวนประกอบตางๆ ทเกยวของทงหมด
ก าหนดความสมพนธของปจจยน าเขา ประมวลผล และผลลพธ
![Page 4: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/4.jpg)
วศวกรรมระบบ (System Engineering)
พจารณาปจจยทมสวนเกยวของในระบบ
ก าหนดความตองการในสวนของการด าเนนการและฟงกชนงานทงระบบ
สรางแบบจ าลอง เพอใชวเคราะหและพฒนาใหสอดคลองกบแบบจ าลองซอฟตแวรทสรางขน
น าเสนอและแลกเปลยนขอคดเหนกบผใชระบบ
![Page 5: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/5.jpg)
วศวกรรมระบบ (System Engineering) กระบวนการวศวกรรระบบ ประกอบไปดวยขนตอน 7 เฟส ดงน
การก าหนดความตองการ (Requirement Definition)
การออกแบบระบบ (System Design)
การพฒนาระบบยอย (Sub-system Development)
การผนวกรวมระบบ (System Integration)
การตดตงระบบ (System Installation)
การเปลยนแปลงระบบ (System Evolution)
การปลดระวางระบบ (System Decommission)
![Page 6: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/6.jpg)
วศวกรรมระบบ (System Engineering)
![Page 7: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/7.jpg)
วศวกรรมระบบ (System Engineering) การก าหนดความตองการ (Requirement Definition)
เพอก าหนดนยามความตองการของระบบใหชดเจน ก าหนดหนาทวาระบบควรจะท าอะไรไดบาง เปนเพยงขอก าหนดเบองตน
การออกแบบระบบ (System Design) เปนการก าหนดรายละเอยดของฟงกชนในแตละสวนประกอบของระบบ มดงน แบงสวนความตองการ ก าหนดระบบยอย ก าหนดความตองการในแตละระบบยอย ก าหนดฟงกชนของแตละระบบยอย ก าหนดสวนประสานของระบบยอย
![Page 8: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/8.jpg)
วศวกรรมระบบ (System Engineering)
การออกแบบระบบ (System Design)
![Page 9: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/9.jpg)
วศวกรรมระบบ (System Engineering)
การพฒนาระบบยอย (Sub-system Development) เปนการน าเอาระบบยอยทถกก าหนดรายละเอยดไวในระยะออกแบบ มาสรางดวย
กระบวนการทเหมาะสม
การผนวกรวมระบบ (System Integration) ระบบยอยทพฒนาเสรจแลว จะน ามาผนวกรวมเขาดวยกนจนเปนระบบทสมบรณ
หลงจากรวมระบบแลว ทมงานตองท าการทดสอบการท างานของระบบอกครง
![Page 10: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/10.jpg)
วศวกรรมระบบ (System Engineering)
การตดตงระบบ (System Installation) น าระบบทพฒนาเรยบรอยแลวมาตดตง เพอใชงาน
การเปลยนแปลงระบบ (System Evolution) ในชวงการใชงานระบบ อาจเกดการเปลยนแปลงตางๆ อาจตองการการแกไข
ขอผดพลาดตางๆ
การปลดระวางระบบ (System Decommission) หมายถง การเลกใชงานหลงจากพบวาระบบไมสามารถใชประโยชนไดอกตอไป
![Page 11: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/11.jpg)
การจ าลองระบบ (System Modeling)
แบบจ าลอง แฮทลย-เพอรไบ (HatLey-Pirbhai Modeling) ขอมลเขา (Input)
ประมวลผล (Processing)
ขอมลออก (Output)
การประมวลผลการตอประสาน (User Interface Processing)
การบ ารงรกษา และทดสอบตวเอง (Maintenance and self –test Processing)
![Page 12: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/12.jpg)
แบบจ าลอง แฮทลย-เพอรไบ (HatLey-Pirbhai Modeling)
![Page 13: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/13.jpg)
การสรางแบบจ าลองระบบดวย UML
UML มแผนภาพ (Diagram) หลายๆ แบบใหเลอกใชเพอการวเคราะหและการออกแบบในระดบระบบ และระดบซอฟตแวร
UML คอ โมเดลมาตรฐานทใชหลกการออกแบบ OOP(Object oriented programming)
![Page 14: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/14.jpg)
การสรางแบบจ าลองระบบดวย UML Class Diagram
Object Diagram
Component Diagram
Deployment Diagram
Use Case Diagram
Sequence Diagram
Collaboration Diagram
StateTransition Diagram
Activity Diagram
Structural Diagrams
Behavioral Diagrams
![Page 15: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/15.jpg)
Use Case Diagrams Use Case
Diagrams Use Case Diagrams
Scenario Diagrams Scenario
Diagrams Collaboration Diagrams
State Diagrams State
Diagrams Component Diagrams
Component Diagrams Component
Diagrams Deployment Diagrams
State Diagrams State
Diagrams Object Diagrams
Scenario Diagrams Scenario
Diagrams Statechart Diagrams
Use Case Diagrams Use Case
Diagrams Sequence Diagrams
State Diagrams State
Diagrams Class Diagrams
Activity Diagrams
Models
![Page 16: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/16.jpg)
การสรางแบบจ าลองระบบดวย UML 5 มมมองหลกของ UML
Use-case view : หนาทการท างานของระบบซอฟตแวร โดยพจารณาจากมมมองของผใชภายนอก หรอ ระบบภายนอก use-case diagram
Logical view : หนาทการท างานของระบบมโครงสรางอยางไร มองในรปของ static structure และ dynamic behavior class diagram, object diagram, state, sequence, collaboration,
activity diagrams
![Page 17: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/17.jpg)
การสรางแบบจ าลองระบบดวย UML Component view : องคประกอบยอยในการ implement ทประกอบเปนระบบ และ
dependency ระหวางองคประกอบเหลานน component diagram
Concurrency view: การแบงแยก process และ processors โดยพจารณาทง communication และ synchronization dynamic diagrams (state, sequence, collaboration activity) implementation diagrams(component และ deployment)
Deployment view : โครงสรางทางกายภาพเกยวกบ การตดตง และใชงานระบบ deployment diagram
![Page 18: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/18.jpg)
การสรางแบบจ าลองระบบดวย UML
Use case Diagram ในการพฒนาระบบงานใดๆ นน การเกบรวบรวมความตองการของผใชม
ความส าคญมาก และจะท าในระยะแรกๆ ของการพฒนาระบบงานเสมอ Use case diagram เปน Diagram ทท าหนาท Capture requirement เปนเทคนคในการสรางแบบจ าลองเพอใชอธบายหนาทของระบบใหม หรอระบบปจจบน กระบวนการสราง Use case เปนแบบ Iteration ความตองการของระบบจะไดจาก ลกคา/ผใช + ผพฒนาระบบ องคประกอบจะม Use case, Actor, Use case Relation และ System
![Page 19: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/19.jpg)
Use Case Diagram
teller
customer
withdraw
transfer
statement
add
interest
deposit
![Page 20: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/20.jpg)
Class Diagram
Class Diagram ประกอยดวย Class และความสมพนธระหวาง Class เชน Dependency, Generalization, Association เปนตน Class Diagram สามารถแสดงรายละเอยดวาม Method และ Attribute อยางไร
![Page 21: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/21.jpg)
Class Diagram
![Page 22: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/22.jpg)
Object Diagram
Object Diagram ประกอบดวย Object และ Relation ระหวาง Object โดยแตละ Object จะแสดง Instance ของแตละ class ทมในระบบ และความสมพนธระหวาง Class เชน Dependency, Generalization หรอ Association ซงมลกษณะเชนเดยวกบ Class Diagram
![Page 23: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/23.jpg)
Object Diagram
![Page 24: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/24.jpg)
Sequence Diagram
Sequence Diagram จะแสดงล าดบการท างานของระบบ โดยม Object และ เวลาเปนตวก าหนดล าดบของงาน และเนนไปท instant ของ Oject
Sequence Diagram เปน Diagram ซงแสดงปฏสมพนธ(Interaction) ระหวาง Object ตามล าดบของเหตการณทเกดขน ณ เวลาทก าหนด message ทเกดขนระหวาง class จะสามารถน าไปสการสราง method ใน class ทเกยวของได
![Page 25: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/25.jpg)
Sequence Diagram
![Page 26: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/26.jpg)
Collaboration Diagram
Collaboration Diagram แสดงล าดบการท างานของ วตถ ผเกยวของ และกจกรรม โดยล าดบการท างานไมขนกบเวลา เพราะการแสดงความสมพนธของ Object กบเวลาเปนหนาทของ Sequence Diagram
![Page 27: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/27.jpg)
Collaboration Diagram
![Page 28: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/28.jpg)
State Diagram
State Diagram ประกอบดวย State ตางๆ ของ Object และเหตการณตางๆ ทท าใหสถานะของ Object เปลยนและการกระท าทเกดขนเมอสถานะของระบบเปลยนไป สามารถบอกสถานะของ Object ได โดยจะใหความสนใจวา ณ เวลาใดๆ Object นนม status เปนแบบใด
![Page 29: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/29.jpg)
State Diagram
![Page 30: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/30.jpg)
Activity Diagram
Activities Diagram แสดงล าดบ กจกรรมของการท างาน(Work Flow) สามารถแสดงทางเลอกทเกดขนได Activity Diagram จะแสดงขนตอนการท างานในการปฏบตการ โดยประกอบไปดวยสถานะตางๆ ทเกดขนระหวางการท างาน และผลจากการท างานในขนตอนตาง ๆ
![Page 31: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/31.jpg)
Activity Diagram
![Page 32: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/32.jpg)
Component diagram
Component Diagram เปน Diagram ซงแสดงโครงสรางทางกายภาพของ Software โดยจะประกอบดวยองคประกอบซงอยในรปตางๆ เชน Binary, text และ executeable ภายใน Component Diagram กจะมความสมพนธแสดงอยเชนเดยวกบ Class Diagram, Object Diagram
![Page 33: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/33.jpg)
Component diagram
![Page 34: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/34.jpg)
Deployment diagram
Deployment Diagram เปนสงทสามารถท าการแสดงระบบสถาปตยกรรมของ Hardware/Software ตลอดจนความสมพนธระหวาง hardware/software
![Page 35: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/35.jpg)
Deployment diagram
![Page 36: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/36.jpg)
การบรหารโครงการผลตซอฟตแวร การบรหารโครงการ (Project management)
การประยกตใชองคความร ทกษะ เครองมอ และเทคนค เพอด าเนนกจกรรมตามความตองการของโครงการใหบรรลวตถประสงคทก าหนดไว
วงจรชวตของโครงการ โครงการทกประเภท จะมทงหมด 4 ระยะ ไดแก ระยะเรมตนโครงการ (Project Initiation) ระยะวางแผนโครงการ (Project Planning) ระยะด าเนนโครงการ (Project Execution) ระยะปดโครงการ (Project Closing)
![Page 37: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/37.jpg)
การบรหารโครงการผลตซอฟตแวร
การจดตารางงานโครงการ Gantt Chart PERT/CPM
![Page 38: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/38.jpg)
Gantt Chart
![Page 39: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/39.jpg)
PERT/CPM
มการแสดงงานในลกษณะของ Node และความเกยวเนอง (Dependency) ของงานแตละอนทเกดขนอยางชดเจน
จดเดนของ PERT/CRM คอ การค านวณหาเสนทางวกฤตในการด าเนนกจกรรม ท าใหผบรหารโครงการค านวณหาเวลาไดหลายลกษณะ เชน เวลาทเรวทสดของแตละกจกรรม (Time Earliest : TE) เวลาทชาทสดของแตละกจกรรม (Time Latest : TL) เปนตน
![Page 40: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/40.jpg)
PERT/CPM
เวลาทเรวทสดของแตละกจกรรม (Time Earliest : TE) ค านวณจากซายมาขวา คอ บวกคาเพมจากดานซายมาดานขวา
เวลาทชาทสดของแตละกจกรรม (Time Latest : TL) เวลาทชาทสดทงานนนยงสามารถท าเสรจไดโดยไมกระทบแผนงาน นนคอ ลดคาทเกยวของจากดานขวามาซาย โดยพจารณาจากงานสดทายกอน
![Page 41: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/41.jpg)
PERT/CPM
![Page 42: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/42.jpg)
การประมาณการซอฟตแวร (Software Estimation)
การประมาณการซอฟตแวร เปนสวนทส าคญในการวางแผนงาน เนองจากแผนงานนนจะอยบนพนฐานของสงทตองการท าการจดสรางหรอพฒนา โดยในสวนของซอฟตแวรนนมมมองหลกทมองถง คอเรองของขนาด (Size) คาใชจาย (Cost) บคลากรทใชในการพฒนา (Effort)
![Page 43: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/43.jpg)
Size Estimation
สงแรกทจะตองท ากอนการเรมตนการประมาณการ คอ การวด แยกลกษณะการวดออกเปน 2 เชง คอ การวดในเชงปรมาณ (Software Quantitative) และการวดเชงคณภาพ (Software Qualitative)
![Page 44: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/44.jpg)
Size Estimation
กรรมวธทใชในการวดขนาดของซอฟตแวร ม 2 ลกษณะ คอ Line of Code (LOC) Count Function Point (FP)
![Page 45: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/45.jpg)
Line of Code (LOC) Count
นบเฉพาะบรรทดทมการจดสงเปน Source Code ไมนบรวมสวนของการทดสอบ (Test Driver) หรอสวนงานทรองรบการท างานอนๆ
นบเฉพาะบรรทดทพฒนาโดยบคลากร ไมนบรวมสงทระบบงานสามารถ Generate ไดอตโนมต
ถอวาหนงค าสง คอ หนง Line of Code <LOC>
นบสวนของการประกาศคา (Declaration) เปนสวนของ Instruction
ไมนบสวนของการขยายความ หรอ Comment
![Page 46: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/46.jpg)
Function Point (FP) ปจจบนการนบขนาดของโปรแกรมดวยการนบบรรทดนน ไมสามารถใหผล
การวดในเชงผลสมฤทธของโปรแกรมไดอยางชดเจน การน าวธการนบดวยฟงกชนพอยตเขามาใชนน จงไดรบความสนใจ
การวดดวยฟงกชนพอยต จะมงเนนทการวดดวยฟงกชน หรอการวดโดยผานมมมองความตองการของซอฟตแวร
Allan Albrecht [1] John Gaffney, Jr [2] ไดออกแบบ FPs ทใชวดฟงกชนพอยต FPs เปนผลรวมของขนาด ขอมลเขา, ขอมลออก, ขอมลความตองการ, แฟมขอมล และสวนของโปรแกรมทใชในการตดตอกบลกคา
![Page 47: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/47.jpg)
Function Point (FP) กระบวนการนบฟงกชนพอยต มลกษณะดงน
ขนท 1 น า Requirement ทเกบรวบรวมไวมาท าการแบงฟงกชนพอยต
ขนท 2 ประเมนความซบซอนของฟงกชน
ขนท 3 เปรยบเทยบความซบซอน เพอใหไดระดบความซบซอน เพอค านวณฟงกชนพอยตทยงไมไดปรบคา (Unadjusted Function Point : UFP)
ขนท 4 ค านวณคาตวแปรปรบคา (Value Adjustment Factor) ตามลกษณะของโครงการ
ขนท 5 ค านวณจ านวนฟงกชนพอยตทผานการปรบคา (Adjusted Function Point : AFP)
ขนท 6 ฟงกชนพอยตทผานการปรบคา สามารถน าไปค านวณเปน LOC ได
![Page 48: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/48.jpg)
Function Point (FP)
ประเภทของฟงกชนพอยต สามารถแบงได 5 ลกษณะหลก คอ
External Input (EI) External Output (EO) External Inquiry (EQ) Internal Logical Files (ILF) External Interface Files (EIF)
![Page 49: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/49.jpg)
Function Point (FP)
![Page 50: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/50.jpg)
Function Point (FP)
แตละฟงกชนพอยตนน มองคประกอบตางๆ ในฟงกชนแตละประเภทซงจะแตกตางกนได เชน การเกยวของกบองคประกอบขอมล (Data Element : DET) เปนขอมล เปรยบเสมอนฟลดขอมลทสนใจในแตละฟลด
เรคคอรคขอมล (Record Element : RET) กลมของขอมล หรอกลมยอยของ DET หรอการนบประเภทของเรคคอรดขอมลทเกยวของสมพนธกบฟงกชนทสนใจ
ประเภทไฟล (File Type of Record : FTR)
![Page 51: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/51.jpg)
ค านวณ Function Point (FP)
จ านวนของฟงกชน หาไดจาก FP ทยงไมไดถกปรบแตง (Unadjusted Function Point : UFP) คณกบคาปจจยคณลกษณะของระบบ (Value Adjustment Factor : VAF)
FP = UFP x VAF
VAF = 0.65 + [0.01 x Total DI]
DI : Degree of Influence(ผลกระทบ)
![Page 52: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/52.jpg)
UAF
จะเหนวาการก าหนดฟงกชนโดยแยกออกเปน 5 ประเภทหลก ตามลกษณะของการท างานนน จะชวยท าใหการประเมนลกษณะความตองการของซอฟตแวร การพจารณาองคประกอบทเกยวของกบประเภทของแตละฟงกชนพอยตนน จะท าใหสามารถพจารณาความซบซอนของฟงกชนพอยตไดอยางเปนรปธรรมมากขน โดยพจารณาจากตาราง
![Page 53: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/53.jpg)
UAF
![Page 54: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/54.jpg)
UAF
จากตารางขางบน จะไดระดบความซบซอนของการท างาน จากนนน าคาความซบซอนทเปนคาเฉลยมาท าการค านวณคา Complexity weight ตามตารางน
![Page 55: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/55.jpg)
VAF
การประเมน VAF นนจะประเมนคาของ 14 ปจจย ดงน
1. การตดตอสอสารขอมล (Data Communication)
2. การประมวลผลขอมลแบบกระจาย (Distributed Data Processing)
3. ประสทธภาพของระบบ (Performance)
4. การแกไขคาของระบบ (Configuration)
5. ปรมาณรายการขอมล (Transaction)
6. การปอนขอมลเขาสระบบแบบออนไลน (Online Data Entry)
![Page 56: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/56.jpg)
VAF
7. ประสทธภาพการใชงานของผใช (End user Efficiency)
8. การปรบปรงขอมลแบบออนไลน (Online Update)
9. ความซบซอนของการประมวลผล (Complex Processing)
10. การน าไปใชซ าได (Reusability)
11. ความงายในการตดตง (Installation Ease)
12. ความงายในการด าเนนงาน (Operational Ease)
13. การใชงานไดหลายไซต (Multiple Sites)
![Page 57: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/57.jpg)
VAF
14. รองรบการเปลยนแปลงความตองการของผใช (Change Requirement) โดยการประเมนนน แบงออกเปน 5 ระดบตาม Degree of Influence (DI) 0 Not Present ไมมผลเกยวของกบตวแปรนนๆ 1 Incidental Influence มความเกยวของกบตวแปรนนๆ โดยมเกดขนใน
ระบบงาน ไมกระทบตอการท างาน 2 Moderate Influence มความเกยวของกบตวแปรนนๆ โดยมเกดขนใน
ระบบงาน กระทบตอการท างาน โดยท าใหการ ท างานซบซอนขนบางเลกนอย
![Page 58: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/58.jpg)
VAF
3 Average Influence มความเกยวของกบตวแปรนนๆ โดยมเกดขนใน ระบบงาน กระทบตอการท างาน โดยท าใหการ ท างานซบซอนขน
4 Significant Influence มความเกยวของกบตวแปรนนๆ โดยมเกดขนใน ระบบงาน กระทบตอการท างาน โดยท าใหการ ท างานซบซอนคอนขางมาก
5 Strong Influence มความเกยวของกบตวแปรนนๆ โดยมเกดขนใน ระบบงาน กระทบตอการท างาน โดยท าใหการ ท างานซบซอนมาก
![Page 59: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/59.jpg)
ตารางเปรยบเทยบคา FP เพอแปลงไปเปน LOC
![Page 60: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/60.jpg)
ตวอยางการค านวณคาฟงกชนพอยต
จาก Use case Diagram ดงรป จะท าการแยกประเภทของ use case ตามฟงกชนพอยต
![Page 61: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/61.jpg)
ตวอยาง
![Page 62: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/62.jpg)
ตวอยาง
ท าการเปรยบเทยบคาของ Value Adjustment Factors : VAF
![Page 63: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/63.jpg)
ตวอยาง
VAF = 0.65 + [0.01 x 17] = 0.82 FP = UFP x VAF = 23 x 0.82 = 18.86 FP
ถาหากจดท าซอฟตแวรโดยใชภาษาจาวา จะไดคา LOC = 18.86 x 53 = 999.58 ~1000 LOC
![Page 64: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/64.jpg)
การประมาณการบคลากร
Productivity : ประสทธผลในการผลตงาน
Productivity = Output Size (LOC or Function Point)
Effort (Man-Month)
![Page 65: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/65.jpg)
COCOMO
Boehm B.W. ไดพฒนา COCOMO Model (Constructive Cost Model) เพอวด Effort ในการพฒนาซอฟตแวรทคดเปนหนวย คน-เดอน (person-month) ทประมาณจากขนาดของโปรแกรม โดยนบจ านวนบรรทดของโปรแกรมตนฉบบเปนหลก
แบบจ าลอง COCOMO ถกพฒนาเปนเวอรชน 2 คอ COCOMO II แบงแบบจ าลองออกเปน 3 ชนด เพอใชประมาณการในระยะตางๆ ของกระบวนการพฒนาซอฟตแวร
![Page 66: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/66.jpg)
COCOMO II
Application Composition Model เหมาะกบการผลตซอฟตแวรดวยแนวทางคอมโพเนนท โดยแตละคอมโพเนนทสามารถอธบาย
แทนดวย Object Point ได ขนาดของซอฟตแวรนบเปน Object Point
Early Design Model ใชประมาณการในระยะกอนการออกแบบซอฟตแวร แตหลงจากการก าหนดความความตองการ
แลว ใชคา FP แทนขนาดของซอฟตแวร
Post-Architecture Model ใชประมาณการในระยะหลงการออกแบบซอฟตแวร เปนการประมาณการอกครงเพอความถกตอง
ของคาประมาณการทได
![Page 67: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/67.jpg)
COCOMO II
โมเดลการค านวณของ COCOMO II
PM คอ Effort มหนวยเปน Person-Months (PM) A คาคงททไดจากการรวบรวมขอมลใน 161 โครงการ โดย A = 2.94 E คอ Economics of Scale ซงเปนผลทขนาดของซอฟตแวรสมพนธกบขนาดของโครงการ โดย E = B + 0.01 * Scale
Factors B Scaling Base-exponent ส าหรบค านวณ Effort EM คอ Effort Multipliers เปนคาทไดจากการค านวณ Cost Driver ทเกยวกบโครงการ ทสงผลตอ Effort ในการพฒนาซอฟตแวร PMauto คาของ Effort ทไดจากการแปลงอตโนมต ซงจะเกดเมอมการ Reuse Code โดยคานนจะไมมผลตอการพฒนา แต
เนองจากมผลตอคาใชจาย ถาเปนการพฒนาซอฟตแวรใหม คา PMauto จะเปน 0
PM = A x SizeE x EM + PMauto
![Page 68: วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ · วิศวกรรมระบบ (System Engineering) กิจกรรมของวิศวกรรมระบบ](https://reader031.vdocuments.net/reader031/viewer/2022041810/5e571b414c508c00d929dc87/html5/thumbnails/68.jpg)
COCOMO II
ระยะเวลาทใชในการพฒนาซอฟตแวรมสตรดงน
TDEV = [ C x (PM)F ] x SCED%
100
C คอ Schedule Coefficient ทใชมาค านวณ โดย C = 3.67 F คอ Scaling Exponent ส าหรบระยะเวลา โดย F = [ D + 0.2 (E-B) ] D Scaling Base-exponent ส าหรบ ระยะเวลา โดย D = 0.28 SCED คอ ความรบเรงของเวลาเมอเปรยบเทยบกบการพฒนาปกต