Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf ·...

41
Software Engineering Computer Engineering Department

Transcript of Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf ·...

Page 1: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

Software Engineering Computer Engineering Department

Page 2: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•การก าหนดคะแนน

• สอบ Midterm 25% • สอบ Final 25% • Homework 25%

• Quiz 15%

• เขาเรยน 10%

Page 3: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•Course Outline • บทน ำ-วศวกรรมซอฟตแวร (Introduction to Software

Engineering)

• ภำพรวมของกระบวนกำร (A Generic View of Process)

• แบบจ ำลองกระบวนกำรพฒนำระบบ (Process Model)

• กำรประมำณกำรซอฟตแวร (Software Estimation)

• วศวกรรมควำมตองกำร (Requirement Engineering)

• กำรสรำงแบบจ ำลองกำรวเครำะห (Analysis Model)

• กำรวเครำะหเชงวตถ (Object Oriented Analysis)

• วศวกรรมกำรออกแบบ (Design Engineering)

• กำรออกแบบสวนตอประสำนผใช (User Interface Design)

• กำรทดสอบซอฟตแวร (Testing)

Page 4: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

• Software Engineer เกยวของอยางไรกบกระบวนการผลตซอฟตแวร ตอบ. เปนบคคลในสายงานอาชพทางดานคอมพวเตอรทท าหนาทวเคราะหและตรวจสอบซอฟตแวรทพฒนาขนอยางมแผน โดยอาศยหลกการทางดานวศวกรรมศาสตรเขามาชวย เชน วดคาความซบซอนของซอฟตแวรทผลตขนมา ตรวจสอบวาการเขยนโปรแกรมนนถกตองตามหลกหรอไม

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

•Software Engineer

Page 5: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

ไดมการ จดอนดบอาชพทนาท าทสดในป 2012 ซงอาชพทนาท าทสดไดแกวศวกรซอฟตแวร (Software Engineer) โดยวดจากปจจยความตองการในตลาดแรงงานทสงสดเปนประวตการณ รายไดทด บรรยากาศในการท างานทสบายๆ ตางจากอาชพอน และใชความตองการทางกายภาพนอยมาก อปสรรคส าหรบคนทจะเขามาท างานวศวกรซอฟตแวร คอตองใชความสามารถเฉพาะทาง สงทเรยนมาอาจจะใชไมไดตลอดไป ตองเรยนรตลอดเวลา พรอมตอการเปลยนแปลง สวนอาชพอนๆ ทไดอนดบรองลงมาคอ นกสถต, นกบรหารทรพยากรบคคล (HR), ทนตแพทยและนกวางแผนการเงน

Page 6: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

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

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

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

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

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

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

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

Page 7: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•องคประกอบของการวศวกรรมซอฟตแวร

• การวศวกรรมซอฟตแวรเปนกระบวนการผลต (production) ทประกอบดวยกจกรรมชวงตางๆ เพอสรางผลตภณฑซอฟตแวร (software products) การท ากจกรรมในแตละชวงอาศยเทคนคและเครองมอชวยตางๆ (support tools) ทนกวชาการคอมพวเตอรและนกวจยไดเสนอไว

Page 8: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•องคประกอบของการวศวกรรมซอฟตแวร

Software production processes

Software products

Support tools /Environments

Market places / users

Page 9: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•คณลกษณะของกระบวนกำรวศวกรรมซอฟตแวร

• Understandability : มการนยามขอบเขตของกระบวนการทชดแจงและงายตอการเขาใจ

• Visibility : ท าใหกจกรรมกระบวนการชดเจนทสดเพอสามารถมองเหนจากภายนอกไดชดเจน

• Supportability : เครองมอชวยการวศวกรรมซอฟตแวร (CASE)สามารถชวยสนบสนนกจกรรมกระบวนการในขอบเขตใด

Page 10: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•คณลกษณะของกระบวนกำรวศวกรรมซอฟตแวร

• Acceptability : กระบวนการทก าหนดสามารถยอมรบและใชโดยวศวกรซอฟตแวรในการผลตผลตภณฑซอฟตแวร

• Reliability : กระบวนการถกออกแบบในแนวทางซงความผดพลาดของกระบวนการถกหลกเลยงกอนทจะสงผลตอความผดพลาดของผลตภณฑซอฟตแวร

• Robustness : กระบวนการสามารถท างานตอไดแมนวามปญหาทไมคาดการณเกดขน

Page 11: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•คณลกษณะของกระบวนกำรวศวกรรมซอฟตแวร

• Maintainability : กระบวนการสามารถววฒนาการเพอตอบสนองการเปลยนแปลงความตองการขององคกร

• Rapidity : กระบวนการสามารถท าใหสงมอบผลตภณฑไดเรวนบจากทรปแบบคณลกษณะของซอฟตแวร(Software specifications) ถกก าหนด

Page 12: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•ซอฟตแวรคออะไร

สงคม ทสาธารณะ

โลกธรกจ ทท างาน

โลกสวนตว ทบาน

เกม แชท ตกแตงรป

E-mail ดหนงฟงเพลง จองตวหนง

Word Processing E-Commerce

ควบคมการผลต โปรแกรมบญช ควบคมการผลต

E-Government บตรเครดต บตรเอทเอม

ระบบควบคมรถไฟฟา

ซอฟตแวรอยรอบตวเรา

Page 13: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•การประยกตใชซอฟตแวรในอปกรณตาง ๆ

คอมพวเตอรท างานรวมกบอปกรณอน

ซอฟตแวรควบคม

ระบบควบคมโรงงาน ระบบควบคมสญญาณจราจร

อปกรณอน ทไมใชคอมพวเตอร

ซอฟตแวรทถกฝงในอปกรณตาง ๆ

โทรศพทมอถอ เครองเลนวซด ดวด แอร เตาไมโครเวฟ เครองยนตในรถยนต

คอมพวเตอร

แอพพลเคชน (ใชในงาน)

ระบบบรหารการขาย ระบบบญช ระบบออนไลนของธนาคาร ควบคมการผลต

แอพพลเคชน (ใชสวนตว)

เกม อนเทอรเนต โปรแกรมตกแตงรป

ซอฟตแวรพนฐาน

ระบบปฏบตการ ภาษาทใชพฒนาโปรแกรม

Page 14: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•ซอฟตแวรทดเปนอยางไร

1. คณภาพด 2. คาใชจายต า 3. ใชงานงาย 4. มความปลอดภยสง 5. ใชเวลาพฒนาไมนาน

6. ใชทรพยากรฮารดแวรไดอยางมประสทธภาพ

7. ตองเปนทรพยากรทน ามาใชงานไดโดยงาย

มมมองของ ผพฒนาซอฟตแวรและผใช

มมมองของ ผพฒนาซอฟตแวร

Page 15: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•Introduction

• ซอฟตแวร (software) หมายถงชดค าสงหรอโปรแกรมทใชสงงานใหคอมพวเตอรท างาน ซอฟตแวรจงหมายถงล าดบขนตอนการท างานทเขยนขนดวยค าสงของคอมพวเตอร ค าสงเหลานเรยงกนเปนโปรแกรมคอมพวเตอร

• ซอฟตแวร หมายรวมถงโปรแกรมคอมพวเตอรทกประเภททท าใหคอมพวเตอรท างานได

Page 16: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•Introduction

• คณสมบตของซอฟตแวร • ซอฟตแวรถกพฒนาหรอจดการใหเกดขน • ซอฟตแวรไมสกหรอ • ถกสรางตามแบบทลกคาตองการ (Custom build)

Page 17: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•ซอฟตแวร (software)

• ชนดของซอฟตแวร หากแบงแยกชนดของซอฟตแวรตามสภาพการท างาน แบงแยกซอฟตแวรไดเปน 2 ประเภท คอ

• ซอฟตแวรระบบ (system software) • ซอฟตแวรประยกต (application software)

Page 18: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•ซอฟตแวร (software)

• ซอฟตแวรระบบ คอ ซอฟตแวรทบรษทผผลตสรางขนมาเพอใชจดการกบระบบ หนาทการท างานของซอฟตแวรระบบคอด าเนนงานพนฐานตาง ๆ ของระบบคอมพวเตอร เชน รบขอมลจากแผงแปนอกขระแลวแปลความหมายใหคอมพวเตอรเขาใจ น าขอมลไปแสดงผลบนจอภาพหรอน าออกไปยงเครองพมพ จดการขอมลในระบบแฟมขอมลบนหนวยความจ ารอง

Page 19: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•ซอฟตแวร (software)

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

Page 20: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•ซอฟตแวร (software)

Page 21: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•ซอฟตแวร (software)

• ชนดของซอฟตแวร

ในปจจบน สามารถแบงลกษณะของซอฟตแวรออกเปน 7 ประเภท ดงน

1. ซอฟตแวรระบบ (System Software)

2. ซอฟตแวรประยกต (Application Software)

3. ซอฟตแวรเชงวศวกรรม/วทยาศาสตร (Engineering/Scientific Software)

4. ซอฟตแวรฝงตว (Embedded Software)

Page 22: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•ซอฟตแวร (software)

5. ซอฟตแวรสายการผลต (Product-line Software)

6. เวบแอพพลเคชน (Web-application)

7. ซอฟตแวรปญญาประดษฐ (Artificial Intelligence Softwear)

Page 23: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•ววฒนำกำรของซอฟตแวร (Software Evolution)

• กฎแหงการเปลยนแปลงอยางตอเนอง (Law of Continuing Change) • กฎแหงความซบซอนทเพมขน (Law of Increasing Complexity) • กฎแหงการวางระเบยบตวเอง (Law of Self-regulation) • กฎแหงอนรกษสภาพเสถยรการจดระเบยบ (Law of Conservation of Organizational Stability)

• กฎการคงไวซงความคนเคย (Law of Conservation of Familiarity)

Page 24: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

• แบงตามขนาด

• แบงเปนเลเยอร(ชน)

• แบงตามการน าไปใชงาน

• แบงตามทมา

• แบงตามความจ าเพาะเจาะจงในการใชงาน

• แบงตามลกษณะขอมล

•ซอฟตแวรประเภทตาง ๆ

Page 25: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

ขนาดขนอยกบจ านวนผใช และความแผรหลายในการใชงาน

• ขนาดใหญ : เชน ระบบส ารวจอวกาศ

ควบคมการบน ควบคมจราจร

• ขนาดกลาง : เชน ระบบบรหารการผลต

• ขนาดเลก : เชน ระบบค านวณเงนเดอนพนกงาน

•การแบงประเภทซอฟตแวรตามขนาด

Page 26: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•การแบงซอฟตแวรเปนเลเยอร (ชน)

ซอฟตแวร

ฮารดแวร

ซอฟตแวร

ฮารดแวร

เฟรมแวร

แอพพลเคชน

ซอฟตแวรพนฐาน

ฮารดแวร

เฟรมแวร

แอพพลเคชน ส าหรบใชงานคนเดยว

แอพพลเคชน ส าหรบใชงานรวมกน

ซอฟตแวรพนฐาน

ฮารดแวร

เฟรมแวร

แอพพลเคชน ส าหรบใชงานคนเดยว

แอพพลเคชน ส าหรบใชงานรวมกน

มดเดลแวร

ซอฟตแวรพนฐาน

ฮารดแวร

เฟรมแวร

ยคท 1 ยคท 2 ยคท 3 ยคท 4 ยคท 5

Page 27: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

แบงเปน 3 ประเภท

• ใชงานเฉพาะอยาง

• ท างานไดตามทลกคาก าหนด ตอบสนองความตองการของลกคา

• ใชงานกงเฉพาะอยาง(ใชงานกงทวไป)

• ซอฟตแวรแพกเกจ ตองมการปรบแกใหเหมาะสมกบลกคาแตละราย

• ใชงานทวไป

• สามารถใชงานไดทกท หรอ ซอฟตแวรพนฐาน

•การแบงตามความจ าเพาะเจาะจงในการใชงาน

Page 28: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•ววฒนำกำรของซอฟตแวร (Software Evolution)

• กฎแหงการเตบโตอยางตอเนอง (Law of Continuing Growth)

• กฎแหงการลดลงซงคณภาพ (Law of Declining Quality)

• กฎระบบยอนกลบ (Feedback System Law)

Page 29: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

วงจรชวตของซอฟตแวร

•การพฒนาซอฟตแวร

1.วางแผน 2.พฒนา 3.ใชงานและเมนเทน

1. วางแผน

2. พฒนา

3.ใชงานและเมนเทน (บ ารงรกษา)

สรปความตองการ ออกแบบภายนอก ออกแบบภายใน โคดดง ทดสอบ

ใชงาน เมนเทน

Page 30: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

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

•การเมนเทนนนส าคญอยางไร

สดสวนตนทนของซอฟตแวร

Page 31: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•ซอฟตแวรเอนจเนยรงกบการพฒนาซอฟตแวร

วกฤตกอใหเกดซอฟตแวรเอนจเนยรง

วกฤตซอฟตแวร

ซอฟตแวรมขนาดใหญขน

User เพมขน ประสทธภาพการผลตซอฟตแวรลดลง

ขาดแคลนผ เชยวชาญ ดานซอฟตแวร ตนทนของ

ซอฟตแวรสงขน คณภาพของ ซอฟตแวรลดลง

ซอฟตแวรเอนจเนยรง ถกเสนอในป 1968

Page 32: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•ความทาทายของซอฟตแวรเอนจเนยรง ก าหนดสเปก

ออกแบบ

การผลต

การตรวจสอบ

การบ ารงรกษา

ยากในการก าหนดสเปก

ไมมวธทสมบรณแบบ ในการถายทอดรายละเอยด

ในการออกแบบ

สามารถออกแบบชนสวนยอย ทละชนแยกกนไดงาย

สงทจะตองท าถกระบชดเจน สามารถเพมประสทธภาพไดดวย การปรบปรงการไหลของงาน หรอ ใชเครองจกรท างานแทนคน

ก าหนดมาตรฐานการตรวจสอบ ไดงาย เชน การตรวจสอบ

ประสทธภาพ การตรวจสอบรปทรงภายนอก

คงไวซงประสทธภาพเทากบ ตอนทเพงพฒนาเสรจใหม ๆ

ขนกบความสามารถเฉพาะคน และวธการคลายกบงานวจย

ตรวจสอบยาก หรอควบคมคณภาพยากมาก

ไมไดเพยงแคการซอมหรอ คงประสทธภาพเดมไว

แตตองท างานเชงรก ในการปรบปรงหรอเพมประสทธภาพ

การพฒนาเครองจกร การพฒนาซอฟตแวร

Page 33: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•การก าหนดสเปก ความตองการทแสดงออกมา ภายนอกเปรยบเสมอนยอดของ ภเขาน าแขง สวนทเรามองเหน

จะลอยอยเหนอน า

ความตองการทซอนเรนอย ไมปรากฏออกมาใหเหน

ตวภเขาน าแขงสวนใหญ จมอยใตน า

สงทตองระวงในการนยามความตองการ

Page 34: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•พซ •ระบบปฏบตการ •ระบบไคลเอนตเซรฟเวอร •สงแวดลอมในการพฒนา •อนเทอรเนต •OS

•องคประกอบของซอฟตแวรเอนจเนยรง

การพฒนา ซอฟตแวร

วธการ

เทคนค สงแวดลอม

การบรหาร โครงการ

•แบบน าตก •แบบเกลยว •แบบสตรกเจอร •แบบ Object Oriented

•เทคนคแบบ Object Oriented •อลกอรทม •ภาษาทใชเขยนโปรแกรม •CASE Tool

Page 35: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

•การแบงงานยอย

ซสเตม

ซบซสเตม

โปรแกรม โปรแกรม

โมดล

โมดล

โมดล

ซบซสเตม ซบซสเตม

Page 36: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

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

กจกรรมโดยทวไป สามารถแบงไดดงน ◦ Specification - การก าหนดหนาทการท างานและเงอนไขของซอฟตแวรทจะถกสราง

◦ Development - การผลตซอฟตแวรทตรงกบรปแบบทไดก าหนดไว ◦ Validation - การตรวจสอบซอฟตแวรใหตรงกบความตองการของลกคา ◦ Evolution - ซอฟตแวรมววฒนาการตามการเปลยนแปลงของผใช

•What is a software process?

Page 37: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

1.ขอก าหนดซอฟตแวร (software specification) นยามหนาทตางๆทตองมในซอฟตแวร และระบขอจ ากดตางๆ ทเกยวของกบกระบวนพฒนาซอฟตแวร เชน กฎหมาย , อตราภาษ , กฎระเบยบตางๆทเกยวในการพฒนาซอฟตแวร

2. การออกแบบและพฒนาซอฟตแวร (Software Design and

Implementation) กจกรรมนท าการสราง / พฒนาซอฟตแวรใหตรงกบขอก าหนด

(specification) ดวยการท ากรรมวธการพฒนาซอฟตแวร ๖ (Methodology) มาใชกบการพฒนาซอฟตแวร

•กระบวนการซอฟตแวร

(Software Process)

Page 38: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

3. การตรวจสอบความถกตองของซอฟตแวร (software validation) กจกรรมนท าการตรวจสอบความถกตองของซอฟตแวร เพอใหเกดความมนใจ วาซอฟตแวรทผลตขนไดตรงกบความตองการของลกคา

4. ววฒนาการของซอฟตแวร (software evolution) ในทางปฎบต เมอซอฟตแวรใชงานไดระยะหนงแลว ผใชหรอลกคาอาจมความตองการเพมเตมหรอเปลยนแปลงความตองการบางอยาง ดงนนขนตอนการพฒนาซอฟตแวร ตองมการเตรยมการบางอยางเพอจดการกบเหตการณทคาดหมายวาจะเกดขนในอนาคต

•กระบวนการซอฟตแวร

(Software Process)

Page 39: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

• Understandability • มการนยามขอบเขตกระบวนการทชดแจงและงายตอความเขาใจ

• Visibility • ท าใหกจกรรม กระบวนการมความชดเจนทสด

• Supportability • เครองมอชวยในการวเคราะหซอฟตแวร สามารถชวยสนบสนนกจกรรมกระบวนการในขอบเขตใด

• Acceptability • กระบวนการทก าหนดสามารถยอมรบและใชไดโดยวศวกรตอผลตภณฑซอฟตแวรนน

•คณสมบตของซอฟตแวรท มคณภาพ

Page 40: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต

มความถกตอง (Correctness)

◦ ความถกตองของซอฟตแวรกบความตองการของผใชมความตรงกน มความนาเชอถอ (Reliability)

◦ ความนาเชอถอในผลลพธและขอมล ใชงานงาย (User Friendliness)

◦ ซอฟตแวรมลกษณะการใชงานทเปนมตรตอผใชงาน ใชงานงาย เรยนรงาย มขอความชวยเหลอหรอค าอธบายทครบถวน

บ ารงรกษางาย (Maintainability)

◦ กระบวนการสามารถววฒนาการเพอตอบสนองตอการเปลยนแปลงความตองการขององคกรในอนาคต

•คณสมบตของซอฟตแวรทมคณภาพ

Page 41: Software Engineering - RMUTIrmuti.ac.th/user/kedkarn/2012/software_en/lesson1_intro.pdf · •Software Engineer ... •การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต