การออกแบบซอฟต์แวร์ (Software Design)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
เรื่อง การแก้ไขปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
Advertisements

Lab Part Nattee Niparnan
Introduction to C Introduction to C.
การวิเคราะห์ความแปรปรวน แบบหนึ่งทาง
อสมการ 1.1 อสมการเชิงเส้นตัวแปรเดียว
จุดมุ่งหมายทางการศึกษา และ จุดประสงค์การเรียนรู้
ระดับชั้นประถมศึกษาปีที่ 2
ประเภท โครงการต่อยอด/ขยายผลโครงการเดิม(A)
สำนักบริหารงานวิรัชกิจ
Chapter 11 : System Implementation
การกำหนดปัญหา และความต้องการ (Problem Definition and Requirements)
Program for sending SMS to group of mobiles via Web Service (Final) คณะผู้พัฒนา นางสาวลออศรี ใจชื่น รหัส นางสาวศิริรัตน์ บุตรดี รหัส
โดย ดร.วรินทร์ สุวรรณวิสูตร อาจารย์ผู้ประสานงานวิชาโครงการ
Engineering Problem Solving Program by Using Finite Element Method
ขั้นตอนในการทำวิจัย.
การออกแบบการวิจัยการเขียนเค้าโครงการวิจัย
หน่วย 6 การพัฒนาสารสนเทศ
การทดลองและการเขียนรายงานผลการทดลองทางวิทยาศาสตร์
หลักการออกแบบของ ADDIE model ADDIE model
สถาปัตยกรรมฐานข้อมูล
ที่มาของโครงการ เจ้าหนี้การค้าในประเทศมากกว่า 5 พันราย ซึ่งเดิมจ่ายชำระด้วย CHQ และเปลี่ยนเป็นการจ่ายชำระหนี้เงินโอน 1,970 ราย พบปัญหา เจ้าหนี้เงินโอนสอบถามรายการจ่ายชำระหนี้
เครือข่ายวิชาชีพห้องสมุด
การแก้ปัญหาด้วยคอมพิวเตอร์
บทที่ 2 หลักการแก้ปัญหา
การเขียนรายงานการทดลอง
การเตรียมเอกสาร สอบหัวข้อโครงงาน
บทที่ 2 วิธีการพัฒนาซอฟต์แวร์
การวางแผนและการดำเนินงาน
คณะครุศาสตร์อุตสาหกรรม สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง
วิศวกรรมซอฟต์แวร์ (Software Engineering)
Surachai Wachirahatthapong
การเขียนข้อเสนอโครงการวิจัย
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
คู่มือสร้างบล็อก blog.spu.ac.th
รศ. ดร. สุนีย์ เหมะประสิทธิ์
Chapter 2 Database systems Architecture
การจัดกระทำข้อมูล.
บทที่ 3 การวิเคราะห์โครงสร้าง Structure Analysis
Unit Test Unit Test ระบบ Simple MRP เพื่อตรวจสอบความถูกต้องของฟังก์ชั่นในการทำงานของระบบ โดยพยายามทำการหาข้อผิดพลาดของตัวระบบให้ได้มากที่สุดโดยใช้เวลาและจำนวนของ.
Waterfall model แบบจำลองน้ำตก
การทดสอบสมมติฐาน
วิธีการทางคอมพิวเตอร์
การนำเกณฑ์คุณภาพการศึกษาเพื่อการดำเนินงานที่เป็นเลิศไปพัฒนาองค์กร
เรื่อง ซอฟต์แวร์ตัวเก่ง
โครงการพัฒนาคุณภาพ การบริหารจัดการภาครัฐ (การส่งเสริมให้ส่วนราชการนำร่อง เข้าสู่การพัฒนาคุณภาพการบริหารจัดการภาครัฐ) เขียนรายงานหมวดที่ 7 : ผลลัพธ์การดำเนินการ.
การออกแบบโปรแกรม ขั้นตอนการแก้ปัญหา การนิยามปัญหา (Problem definition)
ตัวชี้วัดระดับความสำเร็จของการดำเนินการ มาตรการประหยัดพลังงาน
2.1 วิธีแก้ปัญหาด้วยคอมพิวเตอร์ (Computer problem solving methods)
หลักการเขียนโปรแกรม ( )
A Comparison on Quick and Bubble sort on large scale data
DEVELOPMENT PRACTICING C- PROGRAMMING IMPLEMENTATION SYSTEM REQUIREMENT Wattanapong suttapak, Software Engineering, school of Information communication.
ซอฟต์แวร์คอมพิวเตอร์ ชั้นมัธยมศึกษาปีที่ ม.4/2 โรงเรียนมัธยมวัดป่ามะไฟ
การสร้างและการหาคุณภาพเครื่องมือวิจัย
Week 11 Basic Programs 2.
หลักการแก้ปัญหา.
วิทยาลัยเทคโนโลยีอุตรดิตถ์
DEVELOPMENT PRACTICING C- PROGRAMMING IMPLEMENTATION SYSTEM REQUIREMENT Wattanapong suttapak, Software Engineering, school of Information communication.
การนำเสนอและการประเมินผลโครงงาน
หลักการเขียนโปรแกรม ( )
การกำหนดโครงการ (Project Scheduling: PERT / CPM)
โครงสร้างข้อมูลและอังกอลิทึม
วิทยาลัยเทคโนโลยีพณิชยการเชียงใหม่ วิทยาลัยเทคโนโลยีพณิชยการเชียงใหม่
สถิติเพื่อการวิจัย 1. สถิติเชิงบรรยาย 2. สถิติเชิงอ้างอิง.
การเขียนผังงาน ผังงาน (Flowchart)
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
3. หลักการวิจัย หลักการวิจัย : สำราญ สาราบรรณ์.
การออกแบบสื่อเพื่อการศึกษา ADDIE Model
Computer Program คือ ขั้นตอนการทำงาน ของคอมพิวเตอร์
การเตรียมข้อมูล (Data preparation)
บทที่ 1 กลยุทธ์ของกระบวนการการพัฒนา ซอฟต์แวร์รายบุคคล
ใบสำเนางานนำเสนอ:

การออกแบบซอฟต์แวร์ (Software Design)

การออกแบบ การออกแบบ (Design) คือการแปลความต้องการ (Requirement) ให้กลายเป็นแบบเพื่อความสะดวกในการนำไปพัฒนาเป็นโค้ดต่อไป

การออกแบบใน PSP PSP มองการออกแบบเป็น 2 มิติ คือ การติดต่อกับภายนอก ระบบที่ไม่มีการติดต่อภายนอก (Internal)/ระบบที่มีการติดต่อภายนอก (External) การเปลี่ยนแปลงของระบบ ระบบที่มีการเปลี่ยนแปลง (Dynamic)/ ระบบที่ไม่มีการเปลี่ยนแปลง (Static)

การออกแบบใน PSP (ต่อ) Internal External Static Logic Specification Design <Pseudocode> Operational Specification Design <Use Case Diagram> Dynamic Functional Specification Design <Declarations> State Specification Design <State Diagram>

Logic Specification Template ออกแบบ Pseudocode ของโปรแกรม หรือของ Part

Operational Specification Template ออกแบบการติดต่อระหว่างโปรแกรมหรือ Part กับ ผู้ใช้ โปรแกรม หรือ Part อื่น

Functional Specification Template ออกแบบตัวแปร ฟังก์ชัน หรือส่วนประกอบต่างๆ ของโปรแกรม

State Specification Template ออกแบบการเปลี่ยนแปลง State ของโปรแกรมหรือ Part

การใช้ PROBE

PROBE ย่อมาจาก PROxy Base Estimating เป็นวิธีทำนายขนาดและเวลาที่จะใช้ในการพัฒนาชิ้นงาน โดยอ้างอิงจากข้อมูลเก่า มี 4 ระดับคือ A (แม่นยำสูงสุด), B, C, D (แม่นยำน้อยสุด)

PROBE D ใช้การตัดสินเชิงวิศวกรรม (Engineering Judgment) ในการทำนาย

PROBE C ใช้ค่าเฉลี่ยของข้อมูลเก่าในการทำนาย ต้องมีข้อมูลเก่าอย่างน้อย 2 ชุด เวลา ขนาด

PROBE A และ PROBE B ใช้สมการเส้นตรงที่ได้จากข้อมูลเก่าในการทำนาย ต้องมีข้อมูลเก่าอย่างน้อย 3 ชุด เวลา ขนาด

การเลือกใช้ PROBE หากเป็นไปได้ เลือกใช้ A ก่อน หากไม่ได้จึงเปลี่ยนเป็น B C และ D ตามลำดับ การใช้ PROBE A และ B ต้องมั่นในว่าค่า R2 (ดูได้ใน Size Estimating Template) สูงกว่า 0.5 (แสดงถึงนัยสำคัญของสหสัมพันธ์ข้อมูล)

PSP2.1

PSP2.1 เก็บข้อมูลเหมือน PSP2 ระบบคำนวณเวลาที่ใช้ในแต่ละขั้นตอนให้เอง โดยอ้างอิงจากข้อมูลเก่า เพิ่มรายละเอียดในขั้นตอนการออกแบบระบบ

กระบวนการพัฒนาในมุมมองของ PSP2.1 Plan วางแผนและประมาณการพัฒนา Design (DLD) แปลงเอกสารความต้องการเป็นแบบ Design Review (DLDR) ตรวจทานแบบ Code พัฒนาโค้ดตามแบบ Code Review (CR) ตรวจทานโค้ด Compile แปลงโค้ดเป็นโปรแกรม (เฉพาะภาษาที่ต้องแปลง) Unit Test (UT) ทดสอบและแก้ Bug Post Mortem (PM) สรุปและวิเคราะห์ข้อมูล

สรุปข้อมูล

ขนาดโปรแกรม บรรทัด

เวลาที่ใช้พัฒนา นาที

การทำนายขนาด

การทำนายเวลา

จำนวนข้อผิดพลาด

ความหนาแน่นของข้อผิดพลาด

ความเร็วในการทำ Design Review มาตรฐาน 400 LOC/Hr

ความเร็วในการทำ Code Review มาตรฐาน 200 LOC/Hr

ปัญหาที่พบ ไม่ได้ทำ Code Review Checklist ทำ Design & Code Review เร็วเกินไป จนหาข้อผิดพลาดไม่เจอ ไม่ได้ทำ Design & Code Review ไม่ได้แยก Test Report PIP เน้นการปรับปรุงโปรแกรมมากเกินไป ควรเน้นการปรับปรุงกระบวนการมากกว่าโปรแกรม

การใช้งาน PSP2.1

กรุณา Backup ข้อมูลก่อนทดลองทำตาม

ขั้นตอนการใช้งาน สร้างโครงการ Program 4 (PSP2.1) เปิดโครงการ Program 4 บันทึกกระบวนการใน Time Log อ่านและประมาณความยากง่ายของโจทย์จาก A4.doc บันทึกส่วนประกอบที่โปรแกรมควรมีใน Size Estimating Template ออกแบบส่วนประกอบของโปรแกรม เลือกใช้ PROBE ที่เหมาะสมเพื่อประมาณเวลาและขนาดของโปรแกรม พัฒนาโครงการและบันทึก Time Log บันทึก Bug ลงใน Defect Log บันทึกผลการทดสอบลงใน Test Report บันทึกขนาดส่วนประกอบที่สร้างขึ้นจริงใน Size Estimating Template บันทึกขนาดสุดท้ายของโปรแกรมใน Project Plan Summary ปรับปรุง Code Review Checklist และ Design Review Checklist บันทึกข้อเสนอการปรับปรุงกระบวนการลงใน PIP ตรวจสอบรายการส่ง ปิดโครงการ Program 4

1. สร้างโครงการ Program 4

1. สร้างโครงการ Program 4 (ต่อ)

1. สร้างโครงการ Program 4 (ต่อ) เลือกกระบวนการ ของ PSP2.1

1. สร้างโครงการ Program 4 (ต่อ) เลือกตัวชี้วัดเป็น Lines of Code

6. ออกแบบส่วนประกอบของโปรแกรม สร้างเอกสารการออกแบบที่เกี่ยวข้องในหมวดของ Logical Specification Design Operational Specification Design Functional Specification Design State Specification Design

7. เลือกใช้ PROBE ที่เหมาะสมเพื่อประมาณเวลาและขนาดของโปรแกรม เลือก PROBE Method เป็น A B หรือ C ตามความเหมาะสม

15. ตรวจสอบรายการส่ง Source Code Coding Standard Design Review Checklist Code Review Checklist Logical Specification Design Operational Specification Design Functional Specification Design State Specification Design ฐานข้อมูลของ PSP Student Workbook ที่มีข้อมูลต่อไปนี้ครบถ้วน Project Plan Summary Time Recording Log Defect Recording Log Test Report PIP

การบ้าน #4

การบ้าน #4 เขียนโปรแกรมที่มีความสามารถดังต่อไปนี้ คำนวณหาช่วงกลุ่มของชุดข้อมูล โดยใช้ค่าเบี่ยงเบนมาตรฐาน (Standard Deviation) แบ่งข้อมูลเป็นกลุ่ม เล็กมาก (VS) เล็ก (S) ปานกลาง (M) ใหญ่ (L) และใหญ่มาก (VL) ดูรายละเอียดใน A4.doc

การบ้าน #4 รายการส่ง (A4.doc หน้า 18) Source Code Design Review Checklist Code Review Checklist Coding Standard (ถ้ามีการเปลี่ยนแปลง) Logical Specification Design Operational Specification Design Functional Specification Design State Specification Design ฐานข้อมูลของ PSP Student Workbook ที่มีข้อมูลต่อไปนี้ครบถ้วน Project Plan Summary Time Recording Log Defect Recording Log Test Report PIP

การบ้าน #4 คะแนนรวม 10 คะแนน สามารถใช้งานได้จริงและไม่พบ Bug 1 คะแนน กรอก Size Estimation Template ถูกต้องและครบถ้วน ½ คะแนน กรอก Time Log ถูกต้องและครบถ้วน ½ คะแนน กรอก Defect Log ถูกต้องและครบถ้วน ½ คะแนน กรอก Test Report ถูกต้องและครบถ้วน ½ คะแนน ปรับปรุง Code Review Checklist ½ คะแนน ปรับปรุง Design Review Checklist ½ คะแนน สร้าง Logical Specification Design 1 คะแนน สร้าง Operational Specification Design 1 คะแนน สร้าง Functional Specification Design 1 คะแนน สร้าง State Specification Design 1 คะแนน กรอก PIP ที่สามารถนำไปปฏิบัติได้จริงอย่างน้อย 1 รายการ 2 คะแนน