SlideShare a Scribd company logo
1 of 3
Cost Estimate of Software Project
       ขนาดของซอฟต์แวร์มักจะกำาหนดด้วยแอทริบิวท์ภายนอก เช่น ความ
ยาวของโปรแกรม, ฟังก์ชั่น, ความซับซ้อน ที่สามารถวัดทางสถิติโดยที่ไม่
ต้องให้โปรแกรมทำางาน การวัดซอฟต์แวร์ลักษณะที่นำากลับเอามาใช้ใหม่
การสำาเนา หรือแก้ไขปรับปรุง ความยาวของโปรแกรมต้องเป็นการวัดแบบ
ละเอียด ทังการออกแบบและซอร์สโค้ด การวัดการใช้งานจะวัดจากฟังก์ชั่
          ้
นที่มี ความซับซ็อนจะวัดจาก ประสิทธิภาพในการทำางานที่เพิ่มขึ้น ในเรื่อง
ของการประมาณการแบบอื่นๆ เช่น ใช้การประมาณการโดยใช้ผู้เชี่ยวชาญ,
Analogy และ cost model ส่วนใหญ่จะใช้เทคนิคการประมาณการ Bottom-
up และ Top-down

     Bottom-up และ Top-down Estimate
     การประมาณการด้วยวิธี Bottom-up เป็นการประมาณการโดยให้ส่วนที่
ล่างที่สุดของระบบ โดยประมาณการจากส่วนที่ย่อยๆ ที่สุดไล่ระดับขึ้นไป
จากคอมโพเนนท์ ไปเป็นระดับที่สูงกว่า ส่วนการประมาณการแบบ Top-up
จะใช้การประมาณการจากระบบโดยภาพรวม แล้วแตกรายละเอียดไล่ไป
จนถึงระดับล่างสุด

    Expert Opinion
    เป็นการทำานายโดยใช้ประสบการณ์และความสามารถของผู้เชี่ยวชาญ
เทคนิคที่ใช้ก็จะแตกต่างกันไปในแต่ละบุคคล[FP97]

     Analogy
     เป็นวิธีการหนึงของการประมาณการแบบ Expert Opinion ผู้ที่
                   ่
ประมาณการจะเปรียบเทียบกับข้อมูลเดิมที่มีอยู่ ดูความเหมือนและความแตก
ต่างของระบบงานหรือซอฟต์แวร์ โดยการประมาณการจะอาศัยข้อมูล
บรรทัดฐานของข้อมูลเก่าที่มีการเก็บเอาไว้ แล้วใช้ข้อมูลนีในการทำานาย
                                                        ้
[FP97]

      Cost Models
      Cost Models เป็นวิธีการที่จะใช้การวัดจากข้อมูลเข้า (Input Data)
เพื่อประมาณการขนาด และใช้ข้อมูลออก (Output Data) ในการวัด
ประสิทธิภาพ วิธีการวัดของ Cost Models จะมี 2 ส่วนหลักๆ คือ การใช้
สมการทางคณิตศาสตร์ และตาราง Look-up [KLD97]
      สมการทางคณิตศาสตร์ จะใช้ขนาดของข้อมูลหลัก และตัวแปร
Output บ่อยครั้งที่มีการนำาเอา adjustment factor หรือบางครั้งเรียก Cost
Drivers ที่ปัจจัยนี้อิทธิพลต่อการคุณภาพของการผลิตซอฟต์แวร์ และ Cost
Driver เป็นตัวแทนของมาตรวัดขนาด เช่น ประสบการณ์ของโปรแกรมเมอร์:
ดีมาก ดี ปานกลาง น้อย น้อยมาก
      ข้อดีของการใช้ Cost Models ใช้ได้กับระบบที่เป็นแบบ Non Expert
ข้อเสียของระบบนี้คือ การพัฒนาซอฟต์แวร์ยั้ยมีการปรับปรุงเปลี่ยนแปลงอยู่
ตลอด หากใช้สมการก็ต้องมีการปรับเปลี่ยนค่าตามไปด้วย


Use Case and Use Case Estimate
Actor and Goal
      ในส่วนที่เกี่ยวกับ “Use Case” นั้นมีความเกี่ยวข้องกับ “วิธีการที่ผู้ใช้ใช้
งานระบบ” สิ่งนี้คือเหตุการณ์หรือลำาดับเหตุการณ์ที่เป็นไปได้ที่ Actor ถาย
นอกมากระทำากับระบบ Actor อาจจะเป็นผู้ใช้ หรือเป็นระบบคอมพิวเตอร์ ที่
เป็นระบบเดี่ยว
      จุดมุ่งหมายของ Use Case คือการที่จะทราบว่าระบบนี้มีการติดต่อกับ
Actor อะไรบ้าง และหน้าที่ของแต่ละ Actor นั้นจะต้องมีประสิทธิภาพ เพื่อ
จะได้หาวัตถุประสงค์หรือเป้าหมายของ Actor แต่ละหน้าที่และความรับผิด
ชอบ Actor แบ่งเป็น Primary Actor และ Secondary Actor
      Primary Actor คือ Actor ทีจำาเป็นในการที่จะช่วยเหลือระบบในการที่
                                 ่
จะทำาให้การทำางานของระบบไปถึงเป้าหมายได้ Secondary Actor มีหน้าที่
ช่วยเหลือ ให้ระบบไปถึงเป้าหมาย

The Graphical Use Case Model
      Use Case Model เป็นกลุ่มของรูปแบบ โดยจะทำาหน้าที่แสดงหน้าที่
ของฟังก์ชันของระบบ รูปแบบที่สมบูรณ์จะต้องประกอบไปด้วยลักษณะ
เฉพาะของเอ็นทิตี้ภายนอก เช่น มนุษย์ หรือ ระบบ ทีจะมาใช้ฟังก์ชัน UML
                                                  ่
ได้จัดเตรียมเครื่องหมายทีใช้กำาหนดรูปแบบหน้าที่ 2 รูปแบบด้วยกันคือ
                          ่
      Use Case Diagram เป็นมุมมองที่แสดงให้เห็นความสัมพันธ์ระหว่าง
เอ็นทิตี้ภายนอกทีสัมพันธ์ระบบ
      Activity Diagram      เป็นมุมมองแบบไดนามิกในการทำางานของ
ฟังก์ชัน

Cost Estimation การประมาณการค่าใช้จ่าย
     แนวทางในการประเมินซอฟต์แวร์นั้นมุงเน้นถึงการทำาการประเมินราคา
                                         ่
และระยะเวลาทีจำาเป็นที่ต้องใช้การการดำาเนินโครงการให้เกิดความถูกตอ้ง
               ่
หรือใกล้เคียง เพื่อจะได้นำาเอาข้อมูลไปประเมิฯราคาต้นทุน กำาไรต่อไปได้

องค์ประกอบของการประเมินราคาซฮฟต์แวร์
1. ขนาด (Size)
     ขนาดของซอฟต์แวร์นบว่าเป็นตัวแปรหลักที่จะใช้ในการประเมินราคา
                          ั
  ของการพัฒนาระบบงานขึ้นมา โดยรูปแบบการประเมิณราคาในปัจจุบัน
  จะมีด้วยกันหลายวิธี เช่น การนับจำานวนบรรทัด (Line Of Code), การนับ
  จำานวนฟังก์ชัน (Function Point), การนับจำานวนออฟเจ็ค (Object
  Point) ฯลฯ

  2.   ราคา (Cost)
            ราคาของซอฟต์แวร์ก็เป็นอีกสิ่งหนึ่งที่จะต้องพยายามประเมิน
       ราคาให้ได้ถูกต้องแม่นยำา ซึงมีผลโดยตรงต่อความสำาเร็จของโครงการ
                                  ่
       หากประเมินราคาแพงไป อาจจะทำาให้สูญค้า ทำาให้ลูกค้ารไม่พอใจ
       หรือเสียโอกาสทางการตลาด หากประเมินราคาตำ่าเกินไปบริษทก็สูญ
                                                               ั
       เสียผลกำาไร

  3.   ระยะเวลา (Schedule)
            ระยะเวลาในการดำาเนินโครงการก็เป็นอีกตัวแปรที่มีความสำาคัญที่
       จะส่งผลถึงความสำาเร็จ หากสามารถพัฒนาซอฟต์แวร์ได้ตามกำาหนด
       เวลา

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

Software Sizing -> Method Selection -> Software Costing -
                > Comparison -> Refining

More Related Content

Similar to Cost estimate

ใบงาน8
ใบงาน8ใบงาน8
ใบงาน8Kubgife Yrc
 
ใบงาน7
ใบงาน7ใบงาน7
ใบงาน7Kubgife Yrc
 
ใบความรู้ที่ 1ความหมายของซอฟต์แวร์
ใบความรู้ที่ 1ความหมายของซอฟต์แวร์ใบความรู้ที่ 1ความหมายของซอฟต์แวร์
ใบความรู้ที่ 1ความหมายของซอฟต์แวร์วาสนา ใจสุยะ
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอมnuknook
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอมPassawan' Koohar
 
โปรแกรมคอมพิวเตอร
โปรแกรมคอมพิวเตอรโปรแกรมคอมพิวเตอร
โปรแกรมคอมพิวเตอรTay Atcharawan
 
System Development Life Cycle
System Development  Life  CycleSystem Development  Life  Cycle
System Development Life Cycleeiszer
 
ใบความรู้ 1.2ประเภทของโครงงานคอมพิวเตอร์
ใบความรู้ 1.2ประเภทของโครงงานคอมพิวเตอร์ใบความรู้ 1.2ประเภทของโครงงานคอมพิวเตอร์
ใบความรู้ 1.2ประเภทของโครงงานคอมพิวเตอร์sa_jaimun
 
แนวทางการพัฒนาซอฟต์แวร์คุณภาพ
แนวทางการพัฒนาซอฟต์แวร์คุณภาพแนวทางการพัฒนาซอฟต์แวร์คุณภาพ
แนวทางการพัฒนาซอฟต์แวร์คุณภาพRapeepan Thawornwanchai
 

Similar to Cost estimate (20)

08
0808
08
 
ใบงานที่3
ใบงานที่3ใบงานที่3
ใบงานที่3
 
ใบงาน8
ใบงาน8ใบงาน8
ใบงาน8
 
ใบงาน7
ใบงาน7ใบงาน7
ใบงาน7
 
ใบความรู้ที่ 1ความหมายของซอฟต์แวร์
ใบความรู้ที่ 1ความหมายของซอฟต์แวร์ใบความรู้ที่ 1ความหมายของซอฟต์แวร์
ใบความรู้ที่ 1ความหมายของซอฟต์แวร์
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอม
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอม
 
ใบงาน 2-8
ใบงาน 2-8ใบงาน 2-8
ใบงาน 2-8
 
ใบงานที่2-8
ใบงานที่2-8ใบงานที่2-8
ใบงานที่2-8
 
Lesson 4 (misson)2
Lesson 4 (misson)2Lesson 4 (misson)2
Lesson 4 (misson)2
 
Lesson 4 (misson)2
Lesson 4 (misson)2Lesson 4 (misson)2
Lesson 4 (misson)2
 
Lesson 4 (misson)
Lesson 4 (misson)Lesson 4 (misson)
Lesson 4 (misson)
 
โปรแกรมคอมพิวเตอร
โปรแกรมคอมพิวเตอรโปรแกรมคอมพิวเตอร
โปรแกรมคอมพิวเตอร
 
งานK7 (1)
งานK7 (1)งานK7 (1)
งานK7 (1)
 
งานK7 (1)
งานK7 (1)งานK7 (1)
งานK7 (1)
 
Software
SoftwareSoftware
Software
 
System Development Life Cycle
System Development  Life  CycleSystem Development  Life  Cycle
System Development Life Cycle
 
ใบความรู้ 1.2ประเภทของโครงงานคอมพิวเตอร์
ใบความรู้ 1.2ประเภทของโครงงานคอมพิวเตอร์ใบความรู้ 1.2ประเภทของโครงงานคอมพิวเตอร์
ใบความรู้ 1.2ประเภทของโครงงานคอมพิวเตอร์
 
3.3
3.33.3
3.3
 
แนวทางการพัฒนาซอฟต์แวร์คุณภาพ
แนวทางการพัฒนาซอฟต์แวร์คุณภาพแนวทางการพัฒนาซอฟต์แวร์คุณภาพ
แนวทางการพัฒนาซอฟต์แวร์คุณภาพ
 

Cost estimate

  • 1. Cost Estimate of Software Project ขนาดของซอฟต์แวร์มักจะกำาหนดด้วยแอทริบิวท์ภายนอก เช่น ความ ยาวของโปรแกรม, ฟังก์ชั่น, ความซับซ้อน ที่สามารถวัดทางสถิติโดยที่ไม่ ต้องให้โปรแกรมทำางาน การวัดซอฟต์แวร์ลักษณะที่นำากลับเอามาใช้ใหม่ การสำาเนา หรือแก้ไขปรับปรุง ความยาวของโปรแกรมต้องเป็นการวัดแบบ ละเอียด ทังการออกแบบและซอร์สโค้ด การวัดการใช้งานจะวัดจากฟังก์ชั่ ้ นที่มี ความซับซ็อนจะวัดจาก ประสิทธิภาพในการทำางานที่เพิ่มขึ้น ในเรื่อง ของการประมาณการแบบอื่นๆ เช่น ใช้การประมาณการโดยใช้ผู้เชี่ยวชาญ, Analogy และ cost model ส่วนใหญ่จะใช้เทคนิคการประมาณการ Bottom- up และ Top-down Bottom-up และ Top-down Estimate การประมาณการด้วยวิธี Bottom-up เป็นการประมาณการโดยให้ส่วนที่ ล่างที่สุดของระบบ โดยประมาณการจากส่วนที่ย่อยๆ ที่สุดไล่ระดับขึ้นไป จากคอมโพเนนท์ ไปเป็นระดับที่สูงกว่า ส่วนการประมาณการแบบ Top-up จะใช้การประมาณการจากระบบโดยภาพรวม แล้วแตกรายละเอียดไล่ไป จนถึงระดับล่างสุด Expert Opinion เป็นการทำานายโดยใช้ประสบการณ์และความสามารถของผู้เชี่ยวชาญ เทคนิคที่ใช้ก็จะแตกต่างกันไปในแต่ละบุคคล[FP97] Analogy เป็นวิธีการหนึงของการประมาณการแบบ Expert Opinion ผู้ที่ ่ ประมาณการจะเปรียบเทียบกับข้อมูลเดิมที่มีอยู่ ดูความเหมือนและความแตก ต่างของระบบงานหรือซอฟต์แวร์ โดยการประมาณการจะอาศัยข้อมูล บรรทัดฐานของข้อมูลเก่าที่มีการเก็บเอาไว้ แล้วใช้ข้อมูลนีในการทำานาย ้ [FP97] Cost Models Cost Models เป็นวิธีการที่จะใช้การวัดจากข้อมูลเข้า (Input Data) เพื่อประมาณการขนาด และใช้ข้อมูลออก (Output Data) ในการวัด ประสิทธิภาพ วิธีการวัดของ Cost Models จะมี 2 ส่วนหลักๆ คือ การใช้ สมการทางคณิตศาสตร์ และตาราง Look-up [KLD97] สมการทางคณิตศาสตร์ จะใช้ขนาดของข้อมูลหลัก และตัวแปร Output บ่อยครั้งที่มีการนำาเอา adjustment factor หรือบางครั้งเรียก Cost Drivers ที่ปัจจัยนี้อิทธิพลต่อการคุณภาพของการผลิตซอฟต์แวร์ และ Cost
  • 2. Driver เป็นตัวแทนของมาตรวัดขนาด เช่น ประสบการณ์ของโปรแกรมเมอร์: ดีมาก ดี ปานกลาง น้อย น้อยมาก ข้อดีของการใช้ Cost Models ใช้ได้กับระบบที่เป็นแบบ Non Expert ข้อเสียของระบบนี้คือ การพัฒนาซอฟต์แวร์ยั้ยมีการปรับปรุงเปลี่ยนแปลงอยู่ ตลอด หากใช้สมการก็ต้องมีการปรับเปลี่ยนค่าตามไปด้วย Use Case and Use Case Estimate Actor and Goal ในส่วนที่เกี่ยวกับ “Use Case” นั้นมีความเกี่ยวข้องกับ “วิธีการที่ผู้ใช้ใช้ งานระบบ” สิ่งนี้คือเหตุการณ์หรือลำาดับเหตุการณ์ที่เป็นไปได้ที่ Actor ถาย นอกมากระทำากับระบบ Actor อาจจะเป็นผู้ใช้ หรือเป็นระบบคอมพิวเตอร์ ที่ เป็นระบบเดี่ยว จุดมุ่งหมายของ Use Case คือการที่จะทราบว่าระบบนี้มีการติดต่อกับ Actor อะไรบ้าง และหน้าที่ของแต่ละ Actor นั้นจะต้องมีประสิทธิภาพ เพื่อ จะได้หาวัตถุประสงค์หรือเป้าหมายของ Actor แต่ละหน้าที่และความรับผิด ชอบ Actor แบ่งเป็น Primary Actor และ Secondary Actor Primary Actor คือ Actor ทีจำาเป็นในการที่จะช่วยเหลือระบบในการที่ ่ จะทำาให้การทำางานของระบบไปถึงเป้าหมายได้ Secondary Actor มีหน้าที่ ช่วยเหลือ ให้ระบบไปถึงเป้าหมาย The Graphical Use Case Model Use Case Model เป็นกลุ่มของรูปแบบ โดยจะทำาหน้าที่แสดงหน้าที่ ของฟังก์ชันของระบบ รูปแบบที่สมบูรณ์จะต้องประกอบไปด้วยลักษณะ เฉพาะของเอ็นทิตี้ภายนอก เช่น มนุษย์ หรือ ระบบ ทีจะมาใช้ฟังก์ชัน UML ่ ได้จัดเตรียมเครื่องหมายทีใช้กำาหนดรูปแบบหน้าที่ 2 รูปแบบด้วยกันคือ ่ Use Case Diagram เป็นมุมมองที่แสดงให้เห็นความสัมพันธ์ระหว่าง เอ็นทิตี้ภายนอกทีสัมพันธ์ระบบ Activity Diagram เป็นมุมมองแบบไดนามิกในการทำางานของ ฟังก์ชัน Cost Estimation การประมาณการค่าใช้จ่าย แนวทางในการประเมินซอฟต์แวร์นั้นมุงเน้นถึงการทำาการประเมินราคา ่ และระยะเวลาทีจำาเป็นที่ต้องใช้การการดำาเนินโครงการให้เกิดความถูกตอ้ง ่ หรือใกล้เคียง เพื่อจะได้นำาเอาข้อมูลไปประเมิฯราคาต้นทุน กำาไรต่อไปได้ องค์ประกอบของการประเมินราคาซฮฟต์แวร์
  • 3. 1. ขนาด (Size) ขนาดของซอฟต์แวร์นบว่าเป็นตัวแปรหลักที่จะใช้ในการประเมินราคา ั ของการพัฒนาระบบงานขึ้นมา โดยรูปแบบการประเมิณราคาในปัจจุบัน จะมีด้วยกันหลายวิธี เช่น การนับจำานวนบรรทัด (Line Of Code), การนับ จำานวนฟังก์ชัน (Function Point), การนับจำานวนออฟเจ็ค (Object Point) ฯลฯ 2. ราคา (Cost) ราคาของซอฟต์แวร์ก็เป็นอีกสิ่งหนึ่งที่จะต้องพยายามประเมิน ราคาให้ได้ถูกต้องแม่นยำา ซึงมีผลโดยตรงต่อความสำาเร็จของโครงการ ่ หากประเมินราคาแพงไป อาจจะทำาให้สูญค้า ทำาให้ลูกค้ารไม่พอใจ หรือเสียโอกาสทางการตลาด หากประเมินราคาตำ่าเกินไปบริษทก็สูญ ั เสียผลกำาไร 3. ระยะเวลา (Schedule) ระยะเวลาในการดำาเนินโครงการก็เป็นอีกตัวแปรที่มีความสำาคัญที่ จะส่งผลถึงความสำาเร็จ หากสามารถพัฒนาซอฟต์แวร์ได้ตามกำาหนด เวลา ขั้นตอนหลักในการประเมินราคาซอฟต์แวร์ เริมจากการประเมินขนาดของ ่ ซอฟต์แวร์ จากนั้นเป็นการเลือกวิธีที่จะนำามาใช้ในการประเมินราคา และ เปรียบเทียบกับข้อมูล เพื่อทำาการปรับจนได้ค่าที่แม่นยำาที่สุด Software Sizing -> Method Selection -> Software Costing - > Comparison -> Refining