40
มาตรฐานทางด ้ านวิศวกรรมซอฟต์แวร์ วรวุฒิ รามจันทร์ เทคโนโลยีสารสนเทศและการจัดการ

Software Engineering Process Standard

  • Upload
    tuvarow

  • View
    2.405

  • Download
    4

Embed Size (px)

DESCRIPTION

#2

Citation preview

Page 1: Software Engineering Process Standard

มาตรฐานทางด ้ านวิศวกรรมซอฟต์แวร์

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

Page 2: Software Engineering Process Standard

AGENDAS

2

มาตรฐานทีเกียวข ้ องกับวิศวกรรมซอฟต์แวร์ CMMI ITIL ISO 12207, ISO 29110 TQS Q & A

Page 3: Software Engineering Process Standard

3

Standard® _ Bird Eyes View

Page 4: Software Engineering Process Standard

ความสัมพันธ์ของมาตรฐานต่าง ๆ

4

Page 5: Software Engineering Process Standard

มาตรฐานสําคัญอย่างไร

เป็นเกณฑ์สําหรับ

วิธีปฏิบัต ิทีดีทีสุด

งานทีมีประสิทธิภาพและได ้ ผล

ความสามารถบุคคล/องค์กร

การทํางานร่วมกัน

การกําหนดระดับความยอมรับ

5ทีมา: ครรชิต มาลัยวงศ์

Page 6: Software Engineering Process Standard

ตัวอย่างมาตรฐานบุคคล

Certified Software Project Manager (CSPM)

Certified Software Quality Analyst (CSQA)

Certified Software Tester (CSTE)

Certified Information Systems Auditor (CISA)

มาตรฐานเฉพาะทางของบริษัทซอฟต์แวร์

6

Page 7: Software Engineering Process Standard

มาตรฐานเฉพาะทางของบริษัท IT

โมเดลทีน่าสนใจในปัจจุบันมีดังนี

CMMI : สําหรับบริษัททีพัฒนาซอฟต์แวร์

ITIL

ISO 12207, ISO 29110

TQS (Thai Quality Software)

7

Spice (Software Process Improvement and Capability dEtermination) is an international initiative to support the development of an International Standard for Software Process Assessment.

Spice (ISO 15504) is an international standard for software process assessment.

Page 8: Software Engineering Process Standard

ทําไมมาตรฐานจึงมีความสําคัญ

8

Page 9: Software Engineering Process Standard

คุณค่าของการแก ้ ไขปัญหาทันเวลา

9

Relative CostTo Correct Error

DetailedDesign

Implementation

Integration

Validation

Operation

TIME

$$$

Error Correction Costs By Phase

Page 10: Software Engineering Process Standard

10

Page 11: Software Engineering Process Standard

CMMI คืออะไร

CMMI (Capability Maturity Model Integration) คือ? แบบจําลองการพัฒนากระบวนการ (ทีวัดทั งด ้ านขีดความสามารถและ

วุฒิภาวะ) ถูกสร ้ างขึนที Software Engineering Institute, Carnegie Mellon University

CMMI เป็นการต่อยอดจาก SW-CMM ทีใช ้ แพร่หลายทัวโลกกับงานพัฒนาซอฟต์แวร์มาจนหมดวาระไปประมาณปี 2005

Software Park Thailand ได ้ เริมนํา SW-CMM มาสู ่ธุรกิจซอฟต์แวร์ไทยตั งแต่ 1999 และมีบริษัทได ้ SW-CMM ระดับต่างๆราว 20 บริษัทถึงปัจจุบันนีบริษัททีได ้ SW-CMM ส่วนใหญ่ได ้ พัฒนากระบวนการอย่างต่อเนือง และบรรลุ CMMI เรียบร ้ อยแล ้ ว

11

Page 12: Software Engineering Process Standard

CMMI สามารถใช ้ กับ

Software Engineering Hardware Engineering System Engineering Integrated Product and Process Development Addition

12

Page 13: Software Engineering Process Standard

CMMI Maturity Levels

13

Continuous Process Improvement

Quantitative Management

Process Standardization

Basic Projects Management

Process unpredictable, poorly controlled, and reactive

Optimizing

QuantitativelyManaged

Defined

Managed

Initial

5

4

3

1

2

Page 14: Software Engineering Process Standard

CMMI Capability Levels

14

Page 15: Software Engineering Process Standard

15

ขอบเขตกระบวนการของ Staged Model

Page 16: Software Engineering Process Standard

16

Page 17: Software Engineering Process Standard

ITIL คืออะไร

ITIL คือ Information Technology Infrastructure Library

แนวทางการบริหารและจัดการเทคโนโลยีสารสนเทศอย่างเป็นระบบ

พัฒนาโดย British Government เพือประเมินการจัดจ้าง vendors และ

ปรับปรุงกระบวนการภายในขององค์กร

แสดงแนวทางโดยรวมของการพัฒนาและส่งมอบงานบริการโดยเฉพาะทางด้าน

เทคโนโลยีสารสนเทศ

กําหนดความเชือมโยงของการสือสารทีแตกต่างระหว่างแต่ละกระบวนการและ

ฟังก์ชันงาน

มุ่งไปทีลูกค้าเป็นหลัก โดยถือว่าลูกค้าเป็นศูนย์กลาง (Customer Centric)

17

Page 18: Software Engineering Process Standard

ตัวอย่างองค์กรทีนํา ITIL มาบริหารจัดการ

18

Page 19: Software Engineering Process Standard

เทคโนโลยีสารสนเทศและธุรกิจ

ITBusiness

19

Page 20: Software Engineering Process Standard

การจัดการกับโครงสร ้ างระบบทีซับซ ้ อน

20

Page 21: Software Engineering Process Standard

โมเดลจําลองสภาพการทํางานของระบบ

21

ScreenScrape

ScreenScrape

ScreenScrape

ScreenScrape

MessageQueue

MessageQueue

MessageQueue

DownloadFile

DownloadFile

DownloadFile

TransactionFile

TransactionFile

TransactionFile

ORB

ORB

CICS Gateway

CICS Gateway

APPC

APPCRPC

RPC

TransactionFile

Sockets

Sockets

Message

Message

Application

Application

Application

Application

Application

Application

Application

Application

Application

Application

Source: Gartner

Page 22: Software Engineering Process Standard

ITIL® v3

22

Page 23: Software Engineering Process Standard

23

Page 24: Software Engineering Process Standard

ISO 12207 คืออะไร

ISO 12207 เป็นมาตรฐานของวัฏจักรหรือกระบวนการพืนฐานในการพัฒนาซอฟต์แวร์ ซ ึงประกอบไปด ้ วยกระบวนการหลัก 5 กระบวนการดังต่อไปนี : Acquisition Supply Development Operation Maintenance

24

Page 25: Software Engineering Process Standard

แนวคิดของ ISO 12207

Process (17)กระบวนการ

Activity (74)กิจกรรม

Task (232)งาน

Artifact (154)เอกสาร

25

Page 26: Software Engineering Process Standard

รายละเอียด ISO 12207

7.1 Management 7.2 Infrastructure 7.3 Improvement 7.4 Training7. Organizational Life Cycle Process

5.1 Acquisition

5.2 Supply

5.3 Development

5.4 Operation

5.5 Maintenance

6.1 Documentation 6.2 Configuration Management 6.3 Quality Assurance 6.4 Verification

6.5 Validation 6.6 Joint Review 6.7 Audit 6.8 Problem Resolution

6. Supporting Life Cycle Process

5. Primary Life Cycle Process

26

Page 27: Software Engineering Process Standard

ผลลัพธ/์เอกสารของ ISO 12207

ประกอบด ้ วยเอกสาร (Documentation) 5 ประเภทดังนี Procedure Plan Records Documents Audits & Reviews

27

Page 28: Software Engineering Process Standard

ผลลัพธ/์เอกสารของ ISO 12207 (ต่อ)

Procedure เอกสารแสดงแนวทางการทํางาน หรือการปฏิบัต ิงานหลัก

Planเอกสารแสดงการปฏิบัต ิงานในรายละเอียดเฉพาะของแต่ละโครงการ โดยพิจารณาทังเรืองของเป้าหมาย, การจัดการทรัพยากร และการวัดผลเป็นระยะๆ (Milestone) ของโครงการนันๆ

Records เอกสารแสดงการบันทึกของการทํางานในกิจกรรมต่างๆ

28

Page 29: Software Engineering Process Standard

ผลลัพธ/์เอกสารของ ISO 12207 (ต่อ)

Documents เอกสารอืน นอกเหนือจาก procedure, plan, record ทีทําขึนหรือต ้ องมีในการทํางาน เช่น เอกสารสรุปผลการทํางาน, เอกสารนําเสนอข ้ อมูล, specifications เป็นต ้ น

Audits & Reviewsหลักฐานหรือเอกสาร แสดงการตรวจสอบและการวิเคราะห์การทํางานในกิจกรรมต่างๆ

29

Page 30: Software Engineering Process Standard

291102911030

Page 31: Software Engineering Process Standard

ISO 29110 คืออะไร

31

TQS (Thai Quality Software) เป็นมาตรฐานทีได้ประยุกต์จากมาตรฐานสากล

ISO12207 โดยประเทศไทยได้ส่งคณะกรรมการวิชาการเข้าร่วมกับกลุ่ม ISO/IEC SC7 ที

ทําหน้าทีในการยกร่างมาตรฐานระดับสากลด้านวิศวกรรม ซอฟต์แวร์และระบบ เพือวิจัยและ

พัฒนามาตรฐานวิศวกรรมซอฟต์แวร์สําหรับองค์กรขนาดกลางและเล็กทีเรียกว่า ISO 29110 Software Engineering-Lifecycle Profiles for Very Small Enterprises (VSE)

ISO 29110 เป็นแนวคิดยุคใหม่ของ ISO ทีจะเน้นการเติบโตของอุตสาหกรรม

ขนาดกลางและเล็ก รวมทั งผู ้ประกอบใหม่ทีเข้ามาให้มีโอกาสในการแข่งขันตามแนวทางการ

พัฒนา ฯ Outsourcing ซึงในอดีตทีผ่านมา มาตรฐานวิศวกรรมซอฟต์แวร์ได้ถูกทําให้เป็น

เรืองทีเข้าใจยากและมีความสลับซับซ้อนยุ่งยากในการปฏิบัติตาม

ISO 29110 ถูกพัฒนาด้วยแนวคิดพื นฐานเพือสนับสนุนองค์กรขนาดเล็กให้มี

โอกาสในการปรับปรุงกระบวนการและรับรองคุณภาพในระดับสากล

Page 32: Software Engineering Process Standard

กระบวนการของ ISO 29110

32

กระบวนการของ ISO 29110 เน้นให้ผู ้ประกอบการอิสระ ผู ้ประกอบการขนาดเล็ก

ทีมีบุคคลกรไม่เกิน 25 คน หรือหน่วยงานทางด้าน Software ทีอยู่ในองค์กรขนาด

ใหญ่ให้มีกระบวนการในการพัฒนาซอฟต์แวร์ทีเป็นระบบ และเข้าสู่กระบวนการ

สากล โดยจะเป็นการเริมต้นในเชิงกิจกรรมของการปรับปรุงกระบวนการ หรือ SPI (Software Process Improvement)

ISO 29110 ให้ความสําคัญ 2 กระบวนการหลัก คือ

- กระบวนการด้านการบริหารโครงการ (Project Management)

- กระบวนการด้านการสร้างซอฟต์แวร์ (Software Implementation)

Page 33: Software Engineering Process Standard

ISO/IEC SC7 STANDARD COLLECTION

33

Page 34: Software Engineering Process Standard

34

Page 35: Software Engineering Process Standard

TQS (Thai Quality Software) คืออะไร

คือ มาตรฐานของระบบบริหารคุณภาพของ Software โดยอาศัยพืนฐานจากมาตรฐาน ISO 12207

สามารถแบ่งได ้ เป็น 5 ระดับ (level) จาก 1 ถึง 5 ซึงแต่ละระดับมีสาระสําคัญในวัฏจักรของการพัฒนา Software ทีแตกต่างกัน

เมือองค์กรพัฒนาระบบ TQS ถึง level 5 ถือว่าสามารถเทียบเคียงได ้ กับ ISO 12207

แบ่งตาม 232 งาน (Tasks) ในการผลิตเอกสาร (Artifact) ต่างๆ (ประมาณโดยรวม 154 เอกสาร)

ประมาณ 20 - 40 เอกสารต่อ TQS หนึงระดับ

35

Page 36: Software Engineering Process Standard

TQS Level 1 (Basic Engineering)

ISO 12207 Activity Artifact Required5.2.4 Supply Planning Software Life Cycle Selection Procedure, Project Plan

5.3.1 Development Process Implementation Development Procedure

5.3.4 Software Requirement Analysis Software Requirement Document

5.3.5 Software Architectural Design Software Architecture Design Document, User Manual

5.3.7 Software Coding & Testing Test Procedure , Test Record

5.3.13 Software Acceptance Support Software Acceptance Testing Record

5.5.1 Maintenance Process Implementation Maintenance Procedure

5.5.3 Modification Implementation Modification Record

6.2.1 Configuration Mgt Implementation Configuration Management Procedure

6.2.3 Configuration Control Change Request Record

6.3.1 Quality Assurance Implementation Quality Assurance Procedure, Quality Assurance Record

7.1.1 Initiation & Scope Definition Project Management Procedure

A.4.1 Tailoring Decision and Rational Tailoring Decision and Rational Record

36

Page 37: Software Engineering Process Standard

TQS Level 2 – Activity from Level 1

Activity5.2.4 Supply Planning

5.3.1 Development Implementation

5.3.4 Software Requirement Analysis

5.3.5 Software Architectural Design

5.3.7 Software Coding & Testing

5.3.13 Software Acceptance Support

5.5.1 Maintenance Process Implementation

5.5.3 Modification Implementation

Activity

6.2.1 Configuration Mgt Implementation

6.2.3 Configuration Control

6.3.1 Quality Assurance Implementation

7.1.1 Initiation & Scope Definition

A.4.1 Tailoring Decision and Rational

37

Page 38: Software Engineering Process Standard

TQS Level 2 - Activities

Activity5.2.4 Supply Planning

5.2.6 Delivery & Completion

5.3.1 Development Implementation

5.3.2 System Requirement Analysis

5.3.3 System Architectural Design

5.3.4 Software Requirement Analysis

5.3.5 Software Architectural Design

5.3.7 Software Coding & Testing

5.3.12 Software Installation

5.3.13 Software Acceptance Support

5.4.2 Operational Testing

5.5.1 Maintenance Process Implementation

5.5.3 Modification Implementation

Activity6.1.1 Documentation

6.2.1 Configuration Mgt Implementation

6.2.3 Configuration Control

6.2.4 Configuration Status Accounting

6.2.6 Release Management

6.3.1 Quality Assurance Implementation

6.8.1 Problem Resolution

7.1.1 Initiation & Scope Definition

7.1.2 Planning

7.1.5 Closure

A.4.1 Tailoring Decision and Rational

38

Page 39: Software Engineering Process Standard

THE END

นักศึกษาสามารถดาวน์โหลด เอกสารประกอบการเรียน ได้ที

http://www.rabbitthailand.com

39

Page 40: Software Engineering Process Standard

40