introduction to software engineering principles

29
ททททททททททททททททททททท ทททททททททททททททททททททททท ทททททท ททททททททท ททททททททททททททททททททททททททททท

Upload: tuvarow

Post on 23-Jun-2015

1.374 views

Category:

Education


7 download

DESCRIPTION

IT 4116 _#1Slide_20111213

TRANSCRIPT

Page 1: Introduction to software engineering principles

ทบทวนหลั�กการแลัะแนวคิ�ดทางด�านว�ศวกรรมซอฟต์�แวร�

วรว�ฒิ� รามจั�นทร�เทคิโนโลัยี สารสนเทศแลัะการจั�ดการ

Page 2: Introduction to software engineering principles

AGENDAS

2

เร ยีนอะไรในว�ชา IT 4116 ?

สถานภาพอ�ต์สาหกรรมซอฟต์�แวร�ไทยี

ทบทวนหลั�กการแลัะแนวคิ�ดทางด�านว�ศวกรรมซอฟต์�แวร� น�ยีามแลัะคิ�ณลั�กษณะว�ศวกรรมซอฟต์�แวร�

ซอฟต์�แวร�แอพพลั�เคิช�น

บ�คิลัากรทางด�านว�ศวกรรมซอฟต์�แวร�

กระบวนการทางด�านว�ศวกรรมซอฟต์�แวร�

แบบจั*าลัองกระบวนการ

Q & A

Page 3: Introduction to software engineering principles

อาจารย์�ผู้�สอน

อ . วรว�ฒิ� รามจั�นทร�

วท.ม . (บร�หารเทคิโนโลัยี : Technology Management )

ว�ทยีาลั�ยีนว�ต์กรรม, มหาว�ทยีาลั�ยีธรรมศาสต์ร�

ประธานร� -น 17

วท.บ . (เทคิโนโลัยี การจั�ดการ : Management Technology )

สถาบ�นเทคิโนโลัยี พระจัอมเกลั�าฯ เจั�าคิ�ณทหารลัาดกระบ�ง

ประธานเช ยีร�ร� -น 3

IT.4116 SPECIAL TOPIC IN SOFTWARE ENGINEERING

[email protected]

Page 4: Introduction to software engineering principles

4

ตำ าแหน�งปั�จจ�บั�น ผู้0�จั�ดการ- MIS & E-Services• บร�ษ�ท ไอเอ1นจั ประก�นช ว�ต์ (ประเทศไทยี) จั*าก�ด

ปัระสบัการณ์�ทำ างาน• คิณะกรรมการ, เคิร2อข่-ายีปร�บปร�งกระบวนการซอฟต์�แวร� ประเทศไทยี (Thailand SPIN) เข่ต์อ�ต์สาหกรรมซอฟต์�แวร� ประเทศไทยี (Software Park Thailand)• Quality Manager/EPG Leader บร�ษ�ท อ�ลัต์�เมท ร ซอร�ส แมเนจัเมนท� จั*าก�ด (dtac data warehouse project) สามารถน*าบร�ษ�ทบรรลั� CMMI ML Level 3 (Aug 31, 2009)• Project Manager, ERP แลัะโคิรงการพ�ฒินาระบบเอกสารการน*าเข่�า-ส-งออก (e-XML) กรมส-งเสร�มการส-งออก กระทรวงพาณ�ชยี�• Senior Process Specialist/Project Manager, โคิรงการพ�ฒินาแลัะปร�บปร�งกระบวนการทางด�าน e-commerce ปฏิ�บ�ต์�งาน ณ กร�งโฮจั�ม�นห� ประเทศเว ยีดนาม• Process Analyst, บร�ษ�ท โทเท�ลั แอคิเซส คิอมม�วน�เคิช�น จั*าก�ด มหาชน• Senior Executive, บร�ษ�ท ทร0 คิอร�ปอเรช�7น จั*าก�ด มหาชน• Project Auditor, บร�ษ�ท ด เอชท อ�นเต์อร�เนช�นแนลั จั*าก�ด• Analyst ธนาคิารกร�งเทพ• SQA/SPI Leader, บร�ษ�ท เดอะแวลัลั0ซ�สเต์1มส� จั*าก�ด• ผู้0�ช-วยีน�กว�จั�ยี, ศ0นยี�เทคิโนโลัยี โลัหะแลัะว�สด�แห-งชาต์� (MTEC)

ประสบการณ�ท*างาน

Page 5: Introduction to software engineering principles

คิ*าอธ�บายีรายีว�ชา

ศ8กษาทางด�านมาต์รฐานแลัะพ�ฒินาการข่องระเบ ยีบว�ธ การ กระบวนการแลัะเคิร27องม2อท 7ใช�ในการพ�ฒินาเฉพาะทางด�าน

ว�ศวกรรมซอฟต์�แวร� รวมท�;งว�ธ การต์รวจัสอบแลัะประเม�นผู้ลักระบวนการแลัะผู้ลัลั�พธ�จัากการพ�ฒินาซอฟต์�แวร�ข่องบร�ษ�ทพ�ฒินา

ซอฟต์�แวร�

5

Page 6: Introduction to software engineering principles

ข่�อต์กลังในช�;นเร ยีน

เวลัาเข่�าเร ยีนไม-ต์*7ากว-าร�อยีลัะ 80

– ข่าดได�ไม-เก�น 4 คิร�;ง

– มาสายีกว-าเวลัาเร ยีนคิร87งช� 7วโมง 3 คิร�;ง ถ2อว-าข่าด 1 คิร�;ง

ส-งงานท 7ได�ร�บมอบหมายีท�;งหมดคิรบแลัะต์รงต์ามระยีะเวลัาท 7ก*าหนด

การแต์-งกายี ให�เป<นไปต์ามระเบ ยีบมหาว�ทยีาลั�ยีก*าหนด

เคิร27องม2อส27อสารคิวรป=ดเส ยีง หร2อต์�;งระบบส�7น

6

Page 7: Introduction to software engineering principles

ข่�อต์กลังในช�;นเร ยีน (2)

หากน�กศ8กษาผู้0�ใดไม-ได�เข่�าสอบกลัางภาคิ จัะต์�องต์�ดต์-อผู้0�สอนต์ามเวลัาท 7ก*าหนด ไม-เช-นน�;นจัะไม-ได�ร�บอน�ญาต์ให�สอบกลัางภาคิ ยีกเว�นกรณ

– ป?วยี,ได�ร�บอ�บ�ต์�เหต์�

– ม ก�จัธ�ระส*าคิ�ญทางราชการ

*** จัะต์�องท*าจัดหมายีลัาหร2อม หน�งส2อช ;แจัง

7

Page 8: Introduction to software engineering principles

ข่�อต์กลังในการก*าหนดคิะแนน

ระหว-างภาคิ (60 %) แบ-งเป<น – คิวามสนใจั (การเข่�าเร ยีน การม ส-วนร-วมในการเร ยีน) 10%

– งานเช�งปฏิ�บ�ต์�การ (Assignment) 20%

– สอบกลัางภาคิ 30%

ปลัายีภาคิ (40%) – สอบปลัายีภาคิ 40%

8

Page 9: Introduction to software engineering principles

ระด�บการประเม�นผู้ลั (อ�งเกณฑ์�)

9

*** อาจัม การประเม�นผู้ลั (อ�งกลั�-ม ) หากอาจัารยี�เห1นชอบแลัะได�ร�บอน�ม�ต์�จัากทางมหาว�ทยีาลั�ยี

A pt >= 80

B+75 <= pt < 80

B70 <= pt < 75

C+65 <= pt < 70

C50 <= pt < 65

D+45 <= pt < 50

D40 <= pt < 45

F pt < 40

Page 10: Introduction to software engineering principles

เน2;อหาบทเร ยีน

10

- หลั�กการแลัะแนวคิ�ดทางด�านว�ศวกรรมซอฟต์�แวร�- มาต์รฐานสากลัท 7เก 7ยีวข่�องเฉพาะทางด�านว�ศวกรรมซอฟต์�แวร�- การพ�ฒินาแลัะการปร�บปร�งกระบวนการทางด�านซอฟต์�แวร�- หน�าท 7แลัะคิวามร�บผู้�ดชอบข่องบ�คิลัากรในว�ฎจั�กรการพ�ฒินาซอฟต์�แวร�- ผู้ลัผู้ลั�ต์ท 7ได�จัากการพ�ฒินาซอฟต์�แวร� ต์ามแนวทางเฉพาะด�านว�ศวกรรมซอฟต์�แวร� - หลั�กการประเม�นว�ฒิ�ภาวะแลัะคิวามสามารถ ทางด�านว�ศวกรรมซอฟต์แวร� ต์ามว�ธ SCAMPI เพ27อให�บรรลั� CMMI Level 2

midterm

- เทคิน�คิการต์รวจัสอบซอฟต์�แวร� เฉพาะทางด�านว�ศวกรรมซอฟต์�แวร� - Fault Tolerance แลัะ Failure Containment

- น�กศ8กษาน*าเสนอผู้ลังาน

final

Page 11: Introduction to software engineering principles

เอกสารประกอบการเร ยีน

หน�งส2อ ว�ศวกรรมซอฟต์�แวร� (Software Engineering)

ผู้ศ . ว�ทยีา ส�คิต์บวร , ซ เอ1ดยี0เคิช�น

เอกสารน*าเสนอในช�;นเร ยีน

www.rabbitthailand.com

11

Page 12: Introduction to software engineering principles

แนวโน�มอ�ต์สาหกรรมซอฟต์�แวร�ไทยี

12ท 7มา: สร�ปผู้ลัส*ารวจัต์ลัาดเทคิโนโลัยี สารสนเทศแลัะการส27อสาร

Page 13: Introduction to software engineering principles

สถานภาพอ�ต์สาหกรรมซอฟต์�แวร�ไทยี

จั*านวนธ�รก�จัพ�ฒินาซอฟต์�แวร�มากกว-า 1,300 แห-ง

ผู้0�ปฏิ�บ�ต์�งานในอ�ต์สาหกรรมซอฟต์�แวร�มากกว-า 50,000 คิน แลัะเพ�7มข่8;นโดยีเฉลั 7ยีปBลัะ 3,000 คิน

ม0ลัคิ-าการน*าเข่�าคิ�ดเป<นร�อยีลัะ 70 ข่องต์ลัาดท�;งประเทศ

ม0ลัคิ-าการส-งออก 5,000 ลั�านบาท

ภาษ การน*าเข่�าร�อยีลัะ 0

13ท 7มา: software park , สศช . แลัะสร�ปผู้ลัส*ารวจัต์ลัาดเทคิโนโลัยี สารสนเทศแลัะการส27อสาร

Page 14: Introduction to software engineering principles

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

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

“การน*าเอาหลั�กการทางว�ศวกรรมมาใช�ในการพ�ฒินาซอฟท�แวร�ให�”เป<นไปอยี-างม ระบบ

IEEE

83b

14

Page 15: Introduction to software engineering principles

เปCาหมายีข่องการพ�ฒินาซอฟต์�แวร�

ซอฟต์�แวร�ท 7ม คิ�ณภาพ

สามารถส-งมอบได�ต์รงเวลัา

อยี0-ภายีใต์�งบประมาณท 7ประมาณการไว�

ต์รงต์ามคิวามต์�องการข่องผู้0�ใช�

15

Page 16: Introduction to software engineering principles

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

เก 7ยีวข่�องก�บการสร�างโปรแกรมข่นาดใหญ-

สามารถจั�ดการเก 7ยีวก�บคิวามซ*;าซ�อนได�

เน�นการท*างานร-วมก�นข่องบ�คิลัากร

สามารถเปลั 7ยีนแปลังได�ง-ายีเม27อจั*าเป<น

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

สนองคิวามต์�องการข่องผู้0�ใช�

16

Page 17: Introduction to software engineering principles

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

ว�ศวกรรมซอฟต์�แวร�เป<นกระบวนการผู้ลั�ต์ (production) ท 7ประกอบด�วยีก�จักรรมช-วงต์-างๆ เพ27อสร�างผู้ลั�ต์ภ�ณฑ์�ซอฟต์�แวร� (software work products)

โดยีการท*าก�จักรรมในแต์-ลัะช-วง (Phase) อาศ�ยีเทคิน�คิแลัะเคิร27องม2อ (tools) ซ87งเป<นเคิร27องม2อท 7ม การว�จั�ยีแลัะพ�ฒินาอยี-างต์-อเน27อง

17

Page 18: Introduction to software engineering principles

องคิ�ประกอบข่องว�ศวกรรมซอฟต์�แวร� (2)

Software work processes

Software work products

Tools /Environments

Market places / users

18

Page 19: Introduction to software engineering principles

คิ�ณลั�กษณะข่องกระบวนการว�ศวกรรมซอฟต์�แวร�

Understandability : ม การน�ยีามข่อบเข่ต์ข่องกระบวนการท 7ช�ดเจันแลัะง-ายีต์-อการเข่�าใจั

Visibility : ท*าให�ก�จักรรมกระบวนการช�ดเจันท 7ส�ดเพ27อสามารถมองเห1นจัากภายีนอก

Supportability : เคิร27องม2อช-วยีเฉพาะทางด�านว�ศวกรรมซอฟต์�แวร� (CASE Tools) สามารถช-วยีสน�บสน�นก�จักรรมภายีในข่อบเข่ต์แลัะกระบวนการ

19

Page 20: Introduction to software engineering principles

คิ�ณลั�กษณะข่องกระบวนการว�ศวกรรมซอฟต์�แวร� (2)

Acceptability : กระบวนการท 7ก*าหนด ข่อบเข่ต์ท 7สามารถยีอมร�บ แลัะการใช�โดยีว�ศวกรซอฟต์�แวร�ในการผู้ลั�ต์ผู้ลั�ต์ภ�ณฑ์�ซอฟต์�แวร�

Reliability : กระบวนการถ0กออกแบบในแนวทางซ87งคิวามผู้�ดพลัาดข่องกระบวนการถ0กหลั กเลั 7ยีงก-อนท 7จัะส-งผู้ลัต์-อคิวามผู้�ดพลัาดข่องผู้ลั�ต์ภ�ณฑ์�ซอฟต์�แวร�

Robustness : กระบวนการท 7ซอฟต์�แวร�สามารถท*างานต์-อได�แม�ว-าม ปEญหาท 7ไม-คิาดการณ�ไว�เก�ดข่8;น

20

Page 21: Introduction to software engineering principles

คิ�ณลั�กษณะข่องกระบวนการว�ศวกรรมซอฟต์�แวร� (3)

Maintainability : กระบวนการท 7สามารถว�ว�ฒินาการเพ27อต์อบสนองการเปลั 7ยีนแปลังคิวามต์�องการข่ององคิ�กร

Rapidity : กระบวนการท 7สามารถท*าให�ส-งมอบผู้ลั�ต์ภ�ณฑ์�ได�เร1วน�บจัากการก*าหนดร0ปแบบคิ�ณลั�กษณะข่องซอฟต์�แวร� (Software

specifications) ถ0กก*าหนด

21

Page 22: Introduction to software engineering principles

ประเภทข่องซอฟต์�แวร�ประยี�กต์�

22

System Software

Real-Time Software

Business Software

Engineering / Scientific Software

Embedded Software

Personal Computer Software

Artificial Intelligence Software

WebApps Software

Page 23: Introduction to software engineering principles

บ�คิลัากรท 7เก 7ยีวข่�องก�บการพ�ฒินาซอฟต์�แวร�

Project Manager / Project Leader

Business Analyst / System Analyst

Programmer / Developer

Software Engineer (CM, QA, Tester or etc.)

23

Page 24: Introduction to software engineering principles

Software Engineer

Project Manager

System Analyst Programmer

24

บ�คิลัากรท 7เก 7ยีวข่�องก�บการพ�ฒินาซอฟต์�แวร� (2)

Page 25: Introduction to software engineering principles

กระบวนการท�7วไปในการพ�ฒินาซอฟต์�แวร�

รวบรวมคิวามต์�องการ (Gathering Requirements)

ว�เคิราะห�แลัะออกแบบ (Analysis & Design)

เข่ ยีนโปรแกรม (Development)

ทดสอบ (Testing)

การต์�ดต์�;ง (Deployment)

25

Page 26: Introduction to software engineering principles

40%

2 0 %

40%

Analysis Design 4 0 %

40Testing %

2 0 %

26

กระบวนการท�7วไปในการพ�ฒินาซอฟต์�แวร� (2)

Page 27: Introduction to software engineering principles

Linear Model

Iterative Model

Incremental Model

Evolutionary Model

แบบจั*าลัองกระบวนการ

27

Page 28: Introduction to software engineering principles

THE END

น�กศ8กษาสามารถดาวน�โหลัด เอกสารประกอบการเร ยีน ได�ท 7 http://www.rabbitthailand.com

e-Mail ; [email protected]

28

Page 29: Introduction to software engineering principles

Q & A

29