Software Development Methodologyinstructor.ru.ac.th/urai/int3103/INT3103_1.pdf · 2014. 7. 9. ·...

Post on 14-Sep-2020

1 views 0 download

Transcript of Software Development Methodologyinstructor.ru.ac.th/urai/int3103/INT3103_1.pdf · 2014. 7. 9. ·...

Software Development Methodology

โดย ผศ.ดร.อไร ทองหวไผ

เนอหา

วศวกรรมซอฟตแวร

การวางแผนโครงงาน

การวเคราะหความตองการ

การออกแบบระบบ

การออกแบบโปรแกรม

เนอหา

การพฒนาโปรแกรม

การทดสอบโปรแกรม

การทดสอบระบบ

การสงมอบระบบ

การบ ารงรกษาระบบ

ความผดพลาดในการพฒนาระบบ

ครงท 1

วศวกรรมซอฟตแวรคออะไร?

วศวกรรมซอฟตแวรคออะไร การพฒนาระบบงานทประสบผลส าเรจโดยใชความรทางดานคอมพวเตอรและการประมวลผล ซงตองเขาใจถงธรรมชาตของปญหา และเลอกใชเทคโนโลย เชนเครองมอ (tools)ทเหมาะสม รวมทงเทคนคตางๆ เพอชวยในการแกปญหา

วศวกรรมซอฟตแวร คอกระบวนการสรางสรรคโปรแกรมโดยใชหลกทางวศวกรรมเขามาชวยในการด าเนนการสราง

อ.สมหมาย สขค า

Software Engineering Definition

Software Engineering Definition

“Software Engineering is systematic approach to the development operation , maintenance , retirement of software”

“การน าเอาหลกการทางวศวกรรมมาใชในการพฒนาซอฟตแวรใหเปนไปอยางมระบบ”

IEEE 83

Software Engineering Definition

การพฒนาซอฟทแวรใหไดผลลพธใกลเคยงเปาหมาย หรอ บรรลเปาหมายของการพฒนาอนไดแก

@ ซอฟทแวรทมคณภาพ

@ สามารถสงมอบไดตรงเวลา

@ อยภายใตงบประมาณทคาดการณ

@ มคณสมบตตรงตามความตองการของผใช

ผศ.ดร.สมนก ครโต

Software Engineering Definition

“วชาการวาดวยการออกแบบโปรแกรมคอมพวเตอร ตลอดจนการบรหารงานการพฒนาเพอทจะไดมาซง ผลตผลซอฟตแวรทมคณภาพสง ราคาถก และภายในเวลาทก าหนดให”

สชาย ธนวเสถยร

จากหนงสอ Software Project Development

ลกษณะของวศวกรรมซอฟตแวร

1. เกยวของกบการสรางโปรแกรมขนาดใหญ

2. สามารถจดการเกยวกบความซ าซอนได

3. เนนการท างานรวมกนของบคลากร

4. สามารถเปลยนแปลงไดงายเมอจ าเปน

5. เนนการพฒนาใหมประสทธภาพ

6. สนองความตองการของผใช

การแกปญหา

โปรเซสทมการแบงโครงสรางขนาดใหญใหเปนสวนยอยๆ

การแกปญหา

การน าปญหายอยๆมารวมเขาดวยกนเปนโครงสรางทใหญ

วธการแกปญหา

เครองมอ(tools)

เครองพมพดด เครองคอมพวเตอร แกปญหาซงใหความสะดวก ความ

รวดเรว มคณภาพสง และเพมผลผลตไดมากขน

เทคนค(techniques)

ประสบการณในการท างานหรอเปนพรสวรรคของแตละบคคล

แมครว procedure or method

ขนตอนการพฒนาซอฟตแวรทมคณภาพ

Need Requirement Design Software

Correctness

Verification

Validation

Verification คอ การตรวจสอบความถกตองหลงจากการยอมรบในรายละเอยด (Specification)

Validation คอ การตรวจสอบความถกตองโดยการพจารณาจากความตองการของผใชงาน

คณสมบตของซอฟตแวรทมคณภาพ มความถกตอง (Correctness) มความนาเชอถอ (Reliability) ใชงานงาย (User Friendliness) มความงายตอการปรบเปลยน (Adaptability) สามารถน ากลบมาใชงานใหมได (Reusability) มความเขากนไดกบระบบทแตกตาง (Interoperability) มประสทธภาพ (Efficiency) มความสะดวกในการเคลอนยาย (Portability) มความปลอดภย (Security)

ซอฟตแวรทมคณภาพ

สามารถท างานตามทผใชตองการใหกระท าไดอยางถกตอง

ใชทรพยากรคอมพวเตอรอยางถกตองและมประสทธภาพ

งายตอการเรยนร และใชงาน ผพฒนาซอฟตแวร สามารถออกแบบ ถอดรหส

ทดสอบ และ บ ารงรกษาระบบไดงาย

การผลตซอฟตแวรทมคณภาพ

งานและความรบผดชอบ การพฒนาโครงงานซอฟตแวร

ระบบประกอบดวย กจกรรม(activities) หมายถง

เหตการณตางๆทเกดขนในระบบ อาจเปนกจกรรมการเคลอนยายขอมล

(move)จากทหนงไปอกทหนง

กจกรรมหนงๆนนประกอบดวยสมาชกทเกยวพนธกน เรยกวา ออฟเจก(objects) หรอ เอนตต(entities) เชนกจกรรมการพมพระเบยนนกศกษาทเกรดเฉลยนอยกวา 2.0

ขอบเขต(boundary)ของระบบ

ระบบ Paycheck

ระบบนเรมตนดวยการรบอนพตซงเปนเอนตต PAY INFORMATION เขาสระบบตอจากนนมกจกรรมการตรวจสอบวนท ตอดวย กจกรรมการค านวณ และกจกรรมการพมพ ซงความสมพนธของแตละเอนตตและกจกรรมเปนการท างานตามล าดบ จดจบหรอผลลพธของระบบคอPAYCHECKS ทสงไปยง mail

room

Water Monitoring System

แสดงถงการแบงระดบของ Water

Monitoring System ซงในแตละระดบระบหนาทการท างานของระบบอยางชดเจน โดยสเหลยมแตละอนจะแทนขอบเขตของการท างานของระบบนน ในทนสเหลยมทอยในสดจะเปนระบบทเลกทสด ออฟเจกหรอกจกรรมของสวนนมความสมพนธกบสเหลยมในระดบนอก และมความสมพนธกนเกยวโยงกนเปนล าดบ จนไดผลลพธทตองการ

ผใชทไมมความรทางดานคอมพวเตอร ตอตานไมยอมรบระบบใหม

การเปลยนระบบ A ไปเปนระบบ B ซงการพฒนาจะคอยๆเปลยนแปลงจาก A

เปน A’ และ เปน B

ตามล าดบ

ขนตอนการพฒนาซอฟตแวรประกอบดวย

การก าหนดและวเคราะหความตองการ

การออกแบบระบบ การออกแบบโปรแกรม การเขยนโปรแกรม

การทดสอบโมดล การทดสอบรวม การทดสอบระบบ การสงมอบระบบ การบ ารงรกษาระบบ

ทมงานในการพฒนาระบบ

ปญหาในการพฒนาซอฟตแวร Changing Constraints and Requirement

Phased Development System

Interaction with Other Systems

The Nature of Computer System Themselves

Phased Development System

ชนดของโครงงานซอฟตแวร

ระดบความยากงายของโครงงานนโดยเปรยบเทยบกบขอมล

สรป

คาของความซบซอนอยใน ระดบต า(L) 5 คณลกษณะ ระดบกลาง(M) 11 คณลกษณะ ระดบสง(H) 5 คณลกษณะ

สามารถสรปไดวาโครงงานนระดบความยากงาย ในระดบปานกลาง