วิศวกรรมซอฟต์แวร์ Software...

Post on 31-Jan-2020

5 views 0 download

Transcript of วิศวกรรมซอฟต์แวร์ Software...

ประมวลรายวชา (Course Syllabus)

วชา วศวกรรมซอฟตแวร (04-06-306-202)

SE Software Engineeringวศวกรรมซอฟตแวร

เวบไซตรายวชา: https://chumpolm.wordpress.com/

ประมวลรายวชา (Course Syllabus)

1. รหสวชา 0406306-2022. จ านวนหนวยกต 3 หนวยกต (3-0-6)3. ชอวชา วศวกรรมซอฟตแวร (Software Engineering)4. คณะ/สาขาวชา บรหารธรกจและเทคโนโลยสารสนเทศ/เทคโนโลยสารสนเทศ5. ภาคการศกษา ภาคตน6. ปการศกษา 25617. ชอผสอน อาจารยชมพล โมฆรตน

หอง 950 ตก 9 โทร. - มอถอ -อเมล: (1) chumpol.mok@cpc.ac.th

(2) chumpol.mokarat@gmail.com

เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325) 207/08/61

ประมวลรายวชา (ตอ)

8. เงอนไขรายวชา รายวชาทตองเรยนมากอนไมม

9. สถานภาพของวชา วชาเฉพาะดาน10. ชอหลกสตร วทยาศาสตรบณฑต11. วชาระดบ ปรญญาตร12. จ านวนชวโมงทสอน/สปดาห 3 ชวโมง/สปดาห

บรรยาย 3 ปฏบต - และศกษาดวยตนเอง 6 ชวโมง................................................................................หอง ......... อาคาร 9

เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325) 307/08/61

ประมวลรายวชา (ตอ)

13. เนอหารายวชา

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

เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325) 407/08/61

ประมวลรายวชา (ตอ)

14. วตถประสงค เพอใหนกศกษา14.1 เพอใหผเรยนมความรความเขาใจเกยวกบวศวกรรมซอฟตแวร กระบวนการพฒนา

ซอฟตแวร การบรหารโครงการซอฟตแวร และกระบวนการวศวกรรมความตองการเบองตน14.2 เพอใหผเรยนมความรความเขาใจเกยวกบแบบจ าลองระบบ การออกแบบ การ

พฒนาซอฟตแวร การทดสอบซอฟตแวร14.3 เพอใหผเรยนมความรความเขาใจเกยวกบตวชวดซอฟตแวร การประกนคณภาพ

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

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

14.5 เพอใหผเรยนไดฝกปฏบต วเคราะหและออกแบบ โดยเนนการใชประโยชนจากการบรณาการความรกบกรณศกษาไดอยางเหมาะสม

เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325) 507/08/61

ประมวลรายวชา (ตอ)

15. วธการจดการเรยนการสอน

15.1 การบรรยาย

15.2 การบานและงานทมอบหมายในชนเรยน/นอกชนเรยน

15.3 อภปรายและน าเสนอเนอหาทเกยวของในวชาเรยนในชนเรยน

15.4 แนะน า/จดหาหนงสอหรอเอกสารทางวชาการทเกยวของในวชาเรยน เพอใหนกศกษาน าไปศกษาและปฏบตเพมเตม

เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325) 607/08/61

ประมวลรายวชา (ตอ)

16. วธการวดและประเมนผล- การเขาชนเรยน 5%*- การบานประจ าชวโมงเรยน 10%- รายงานและการอภปรายในชนเรยน 10%- สอบยอย 15%*- สอบกลางภาค 30%- สอบปลายภาค 30%

รวม 100%

เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325) 707/08/61

การประเมนผลตามเกณฑและกลมประกอบดวย- ประเมนผลตามเกณฑ ตามชวงคะแนนดงน

หมายเหต : ก าหนดการเรยนการสอนตามแผนประเมนผลการเรยนรนอาจเปลยนแปลงไดตามประกาศของมหาวทยาลยและ/หรอขอตกลงระหวางผเรยนกบผสอนของแตละวทยาเขต

- การประเมนผลสดทายใชดลยพนจของอาจารยผสอน โดยพจารณาจากเกณฑทวไป และคะแนนกลมประกอบกน

ประมวลรายวชา (ตอ)

ชวงคะแนน คาระดบ80 -100 A75 - 79 B+70 - 74 B65 - 69 C+60 - 64 C55 - 59 D+50 - 54 D

0 - 49 F

เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325) 807/08/61

17. แผนการเรยนการสอน หมายเหต สามารถปรบเปลยนไดตามความเหมาะสม

เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325) 9

สปดาห หวขอการเรยนการสอน หมายเหต1 ปฐมนเทศรายวชา

บทน า: วศวกรรมซอฟตแวรเบองตนการบานก าหนดตามความเหมาะสม

2 กระบวนการพฒนาซอฟตแวร (Software Process)3 กระบวนการพฒนาซอฟตแวรแบบอไจล

(Agile Software Development)4 การบรหารโครงการซอฟตแวร (Project Management)5 กระบวนการวศวกรรมความตองการ (Requirement Engineering)6 แบบจ าลองระบบ (System Modeling)7 การออกแบบ และการพฒนาซอฟตแวร

(Software Design and Implementation)8 สอบกลางภาค9 การทดสอบซอฟตแวร (Software Testing) *ก าหนดหวขอโครงงานกลม10 การประกนคณภาพ และตวชวดซอฟตแวร (Quality Management)11 การวเคราะหและบรหารความเสยง (Risk Management)12 การจดการและควบคมการเปลยนแปลงในการพฒนางานดานซอฟตแวร

(Configuration Management)13 การบ ารงรกษาซอฟตแวร (Software Evolution)14 สอบเกบคะแนน15 น าเสนอโครงงานและอภปรายในชนเรยน16 สอบปลายภาคเรยน

07/08/61

ประมวลรายวชา (ตอ)

18. รายชอ หนงสอ และเอกสารอานประกอบ- กตต ภกดวฒนะกล และคณะ, วศวกรรมซอฟตแวร (Software Engineering), บรษท เคทพ คอมพ แอนด คอนซลท, 2552

- Lan Sommerville, Software Engineering Ninth Edition, Pearson Education, Inc., publishing as Addison-Wesley, 2011.

- Rod Stephens, Beginning Software Engineering, John Wiley & Sons, Inc., 2015

- เอกสารประกอบการสอนอนทเกยวของ

เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325) 1007/08/61

บทท 1วศวกรรมซอฟตแวรเบองตน(Introduction to Software engineering)

วชา วศวกรรมซอฟตแวร (04-06-306-202)

วตถประสงคการเรยนร

• เพอใหผเรยนมความรความเขาใจเกยวกบวศวกรรมซอฟตแวรเบองตน

• เพอใหผเรยนมความรความเขาใจเกยวกบระเบยบวธปฏบตทางดานวศวกรรมซอฟตแวร

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

เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325) 1207/08/61

หวขอ

• ภาพรวมวศวกรรมซอฟตแวร• ปญหาทพบส าหรบการเปลยนแปลงซอฟตแวร• วศวกรรมซอฟตแวร

– ความส าคญ– องคประกอบ– ววฒนาการ– คณลกษณะ– ระเบยบวธปฏบต

• ประโยชนของวศวกรรมซอฟตแวร

1307/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

Overview

1407/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

07/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325) 15ทมา: http://computerengineeringsalaryuk.com/google-software-engineer-salary-2015/

Software Engineerhttp://www.itcareerfinder.com/it-careers/software-engineer.html

07/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325) 16

Engineering

Software Engineering

อะไร คอ ปญหาทพบส าหรบการเปลยนแปลงซอฟตแวร

Program Software

Application Software Software Solution

บทบาทซอฟตแวร

1707/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

ประเภทซอฟตแวรตามวตถประสงคการใชงาน

• ซอฟตแวรระบบ (System Software)• ซอฟตแวรแอพพลเคชน (Application Software)• ซอฟตแวรดานวทยาศาสตรและวศวกรรม (Scientific

Software/Engineering)• ซอฟตแวรแบบฝงตว (Embedded Software)• ซอฟตแวรแบบสายการผลต (Product-Line Software)• เวบแอพพลเคชน (Web Application)• ซอฟตแวรปญญาประดษฐ (Artificial Intelligence Software)

1807/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

ประเภทซอฟตแวรในอตสาหกรรมการผลตซอฟตแวร

• Generic Product จ าหนายใหลคาทวไป/ใชงานตามความสามารถของซอฟตแวร

– Software Vendor

– Microsoft Office, Software Solution

• Customized Product ส าหรบลกคาเฉพาะรายทตกลงท าสญญา

– ระบบควบคมการจราจรทางอากาศ

– ระบบบรหารจดการน า

1907/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

20

วศวกรรมซอฟตแวร [IEEE 2004]

ทมา: Sommerville, Ian, Software Engineering, Pearson Education, Inc., publishing as Addison-Wesley, 2011.

วศวกรรมซอฟตแวร [SOMMERVILLE 2011]

ทมา: http://www.computer.org/sevocab

The application of a systematic, disciplined, quantifiableapproach to the development, operation, and maintenance of software; that is, the application of engineering to software.

Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.

07/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

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

วศวกรรมซอฟตแวร (Software Engineering)

07/08/61 21

ทมา: กตต ภกดวฒนะกล, วศวกรรมซอฟตแวร, 2552

เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

ความส าคญของวศวกรรมซอฟตแวร

เศรษฐกจทเจรญเตบโต

ระยะเวลาเปดตวผลตภณฑ

ปญหาใน Waterfall

Model

Graphic User Interface

อ านาจในการจดหาเครองคอมพวเตอร

เทคโนโลยเชงวตถ

เครอขายคอมพวเตอร

22

การเปลยนแปลงในวศวกรรมซอฟตแวร

การเปลยนแปลงซอฟตแวร- บทบาทและหนาท- ความซบซอน- ไมเปนระเบยบ ท างานผดพลาดและ

ลาสมยกลายเปนซอฟตแวรเกา (Legacy software)

- ไมเออตอการปรบปรง แกไขและท าไดยาก และตนทนสง

- การออกแบบไมค านงถงการเปลยนแปลง

หนาทของวศวกรซอฟตแวร- ปรบกระบวนการผลต- น าหลกวชาการ/เครองมอ/เทคนค

เพอใหไดซอฟตแวรทมคณภาพ- เวลา/ตนทน/การบ ารงรกษา07/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

ความแตกตางของวศวกรรมซอฟตแวรและวทยาการคอมพวเตอร

23

ทมา: มาตรฐานคณวฒระดบปรญญาตรสาขาคอมพวเตอร, 255207/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

บคคลทเกยวของกบงานวศวกรรมซอฟตแวร

24

User

Customer

DeveloperSoftware Engineering

07/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

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

วศวกรรมซอฟตแวร (Software Engineering)

วศวกรรมระบบ(System Engineering)

วศวกรรมการผลต

(Development Engineering)

2507/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

วศวกรรมระบบ (System Engineering)

• ก าหนดวตถประสงค และขอบเขต• แบงระบบออกเปนสวนๆ ตามฟงกชนงานหรอคณสมบตระบบ พจารณา

ความสมพนธของสวนประกอบตางๆ• ก าหนดความสมพนธปจจยน าเขา ประมวลผล และผลลพธ• พจารณาปจจยทมสวนเกยวของกบระบบ• ก าหนดความตองการทงสวน Operation และ Function• สราง System model ใหสอดคลองกบ Software model• น าเสนอและแลกเปลยนขอคดเหนกบ Stakeholder

2607/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

วศวกรรมการผลต(Development Engineering)

• ก าหนดความตองการและจดท าขอก าหนดคณสมบตซอฟตแวร

• ออกแบบแนวทางแกปญหา และพจารณาสถาปตยกรรม

• วางแผนโครงการผลตซอฟตแวร

• ทดสอบซอฟตแวรในแตละ Component และผนวกรวม Component เปนระบบเดยวกน พรอมกบทดสอบการผนวกรวมระบบ

• ตดตงซอฟตแวร และน าไปใชงาน

• บ ารงรกษาซอฟตแวร

2707/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

ววฒนาการของวศวกรรมซอฟตแวร

28

ฟองสบแตก• แกปญหาวกฤตซอฟตแวรอยาง

แทจรง ไมวาจะเปนเครองมอ เทคนค และกระบวนการตางๆ • การพฒนาซอฟตแวร

อยางมออาชพและถกแบบแผน

• เนนใหวศวกรซอฟตแวรค านงถงคณภาพของซอฟตแวร• การปรบปรง

กระบวนการผลต

วกฤตซอฟตแวร• มปญหาเรองของตนทน

คาใชจาย• ระยะการด าเนนการ

โครงการไมเหมาะสม เกดความลมเหลว

• จางวศวกรซอฟตแวรมออาชพทสามารถผลตซอฟตแวรใหมคณภาพสง

จดเรมตนของวศวกรรมซอฟตแวร• น ามาใชจรงครงแรกใน

ปลายป 1950-1960• องคการนาโต (NATO) ไดม

การจดสมมนาวศวกรรมซอฟตแวรในป 1968

• จดประกายท าใหเปนทรจกกนอยางแพรหลาย

1945 - 1965 1965 - 1985 1985 - ปจจบน

07/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

คณลกษณะของซอฟตแวรทมคณภาพ

2907/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

• ประสทธภาพ (Performance)

• ความปลอดภย (Security)

• ความพรอมใชงาน (Availability)

– ความนาเชอถอ (Reliability)

– ผานการทวนสอบและตรวจรบ (Verification and Validation)

• ความสามารถในการใชงาน (Usability)

• ความสามารถในการบ ารงรกษา (Maintainability)

การประเมนความพงพอใจของลกคา (Customer Satisfaction)การตรวจสอบและประกนคณภาพซอฟตแวร

ระเบยบวธปฏบตของวศวกรรมซอฟตแวร

• Software Engineering Technology เปนไปตามแนวทางการพฒนาซอฟตแวร ซงม 2 แนวทาง ดงน

– แนวทางเชงโครงสราง (Structured Approach)

– แนวทางเชงวตถ (Object-Oriented Approach)

3007/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

แนวทางเชงโครงสราง(Structured Approach)

• แนวทางดงเดม แบงระบบเปน Sub-System ตามฟงกชนงาน

• โครงสรางเปนแบบล าดบชน

• ระเบยบวธทน ามาใชในขนตอนการวเคราะหและออกแบบระบบ

– การออกแบบและวเคราะหระบบเชงโครงสราง (Structured System Analysis and Design: SSAD)

– คดคนโดย Yourdan & DeMarco ป 1978

• ใชเวลานาน ตนทนมาก และเสยงตอการเปลยนแปลงความตองการของผใช

3107/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

ระบบวางบล

จดท าใบสงสนคา

จดท ารายการยอดขาย

จดท าภาษซอ - ขาย

จดท าใบวางบล

ตรวจสอบสถานะการสงซอ

ปรบปรงยอดสงซอ

แกไขสถานะวเคราะหการขาย

ตรวจสอบการจดสงสนคา

ปรบปรงสถานะคลงสนคา

ตวอยาง

การวเคราะหและออกแบบระบบเชงโครงสราง

3207/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

ตวอยางการวเคราะหและออกแบบระบบเชงโครงสราง (ตอ)

07/08/61 33

DFD

Flow Chart

เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

แนวทางเชงวตถ(Object-Oriented Approach)

• คดคนโดย Grady Booch, James Rumbaugh และ Ivar Jacobson

• การวเคราะหและออกแบบระบบเชงวตถ (Object-Oriented System Analysis and Design)

• วตถ (Object) ประกอบดวยขอมล และพฤตกรรม

• ไมตองใชเวลานาน รองรบระบบงานทซบซอน และทนตอการเปลยนแปลงความตองการ

3407/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

Walk()Jump()Fly()Run()Reptile()

ตวอยาง

การวเคราะหและออกแบบระบบเชงวตถ

35

AnimalName BirthDateSexhasWinghasLegs

Object

Attribute

Method

Object "Ostrich"

Name = Ostrich BirthDate = 25/08/2010Sex = MalehasWing = TruehasLegs = True

can Walkcan Flycan Run

07/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

ประโยชนของวศวกรรมซอฟตแวร

• กระบวนการผลตซอฟตแวรมประสทธภาพ และเปนระบบ

• มมาตรฐานในการก าหนดวธการด าเนนงานอยางชดเจน

• มเอกสารควบคมก ากบการด าเนนงานตลอดทงกระบวนการ

• มการตรวจสอบและประกนคณภาพของซอฟตแวรกอนสงไปยงผบรโภค

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

3607/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

สรป

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

• องคประกอบของวศวกรรมซอฟตแวร ประกอบดวย 2 สวน คอ System engineering และ Development engineering

• ระเบยบวธปฏบตของวศวกรรมซอฟตแวรทง 2 แนวทาง คอ Structured approach และ Object-oriented approach

3707/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

กจกรรมทายบท

• ก าหนดใหคนควาและอธบายค าจ ากดความ ของค าส าคญ (Keyword) ทเกยวของกบงานดานวศวกรรมซอฟตแวร โดยมประเดนทตองอธบาย ดงน

– ความส าคญเกยวกบวศวกรรมซอฟตแวร

– องคประกอบ/คณลกษณะ

– การประยกตใช

• ก าหนดใหเลอกค าส าคญจากเอกสารหนา 14 และใหขยายความโดยใชแนวคดทางดานวศวกรรมซอฟตแวรในการวเคราะห ออกแบบและพฒนาระบบทง 3 ระบบจากใบงาน

3807/08/61 เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

กจกรรมทายบท (ตอ)

• Explain why professional software is not just the programs that are developed for a customer.

• What are the four important attributes that all professional software should have? Suggest four other attributes that may sometimes be significant.

เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325) 3907/08/61

เอกสารอางอง

• กตต ภกดวฒนะกล, วศวกรรมซอฟตแวร (Software Engineering), กรงเทพฯ: เคทพ คอมพ แอนด คอนซลท, 2552.

• วศวกรรมซอฟตแวร (ออนไลน), จาก: https://th.wikipedia.org/wiki/วศวกรรมซอฟตแวร

• Lan Sommerville, Software Engineering Ninth Edition, Pearson Education, Inc., publishing as Addison-Wesley, 2011.

เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-325)

4007/08/61