homework 2

18
Homework 2 Present

Upload: archana-krishnan

Post on 03-Jan-2016

36 views

Category:

Documents


1 download

DESCRIPTION

Homework 2. Present. หัวข้อการนำเสนอ. Capability Maturity Model Agile Model eXtreme Programming Unified Process – UP Scrum Model Aspect-Oriented Software Development. C apability M aturity M odel. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Homework  2

Homework 2 Present

Page 2: Homework  2

หั�วข้�อการนำ�าเสนำอ•Capability Maturity Model

•Agile Model

•eXtreme Programming

•Unified Process – UP

•Scrum Model

•Aspect-Oriented Software Development

Page 3: Homework  2

Capability Maturity Model

Capability Maturity Model หัร�อที่��เร�ยกก�นำว�า (CMM) คื�อ แบบจำ�าลองว�ฒิ�ภาวะคืวามสามารถ เก�ดจำาก SEI ข้องมหัาว�ที่ยาล�ยคืาร#เนำที่� เมลลอนำ ถ$กก�าหันำดข้%&นำเพื่��อว�ดคืวามเชื่��อม��นำและคื�ณภาพื่ข้องกระบวนำการพื่�ฒินำาซอฟต์#แวร# โดย CMM ได�รวมเอาข้�อด�ข้อง TQM มาปร�บใชื่�ก�บการพื่�ฒินำาซอฟต์#แวร# โดยเฉพื่าะ จำ%งเป2นำโมเดลที่��ใชื่�ว�ดคืวามเชื่��อม��นำ และคื�ณภาพื่ข้องกระบวนำการพื่�ฒินำาซอฟต์#แวร#ในำป3จำจำ�บ�นำ

Page 4: Homework  2

• ระด�บเร��มต์�นำ เร�ยกว�า Initial Level• ระด�บจำ�ดที่�าโคืรงการเบ�&องต์�นำ เร�ยกว�า Repeatable Level • ระด�บที่��ม�การก�าหันำดข้%&นำอย�างชื่�ดเจำนำ เร�ยกว�า Defined Level

• ระด�บม�การจำ�ดการ เร�ยกว�า Managed Level• ระด�บปร�บปร�งใหั�เหัมาะสมที่��ส�ด เร�ยกว�า Optimizing Level

ระด�บมาต์รฐานำข้อง CMM

Page 5: Homework  2

•การที่�างานำเป2นำระบบมากข้%&นำ ม�การที่�างานำที่��ต์รวจำสอบได�โดยง�าย

• โอกาสในำการประสบผลส�าเร6จำในำการที่�างานำม�มากข้%&นำ

•ม�ว�ธี�การปฏิ�บ�ต์�ที่��เป2นำมาต์รฐานำ และสามารถย�ดหัย��นำได�

•สามารถร�บงานำจำากต์�างประเที่ศ และที่�ารายได�เข้�าประเที่ศได�

ประโยชื่นำ#ข้อง CMM

Page 6: Homework  2

Agile ModelAgile Model เป2นำแนำวคื�ดใหัม�ส�าหัร�บการพื่�ฒินำา

ซอฟต์#แวร# ที่��พื่ยายามที่��จำะแที่รกต์�วเข้�าไปในำ methodology แบบเด�ม เพื่��อใหั�งานำส�&นำลง ซ%�งการพื่�ฒินำาอาจำจำะใชื่�เวลาส�&นำๆ ประมาณ 1 – 4 ส�ปดาหั# โดยจำะเนำ�นำการส��อสารแบบต์�วต์�อต์�วมากกว�าการใชื่�เอกสาร ที่�มงานำโดยที่��วไปอย�างนำ�อยต์�องประกอบด�วย โปรแกรมเมอร#และล$กคื�า ที่��ใชื่�ก�าหันำดข้อบเข้ต์ และระบบงานำ

Page 7: Homework  2

• เล�อกบางหัล�กการมาที่�า• เป2นำว�ธี�หันำ%�งที่��จำะเอาหัล�กการข้อง Agile มาจำ�ดการก�บเอกสารและระบบเด�มที่��ม�อย$�ได�• ในำ Agile ประกอบด�วย

• value ผลล�พื่ธี#• principle หัล�กการ• practices ว�ธี�ปฏิ�บ�ต์�

• ที่�&งสามอย�างนำ�&เป2นำส�วนำหันำ%�งในำโมเดล Agile ที่��สามารถนำ�ามาพื่�ฒินำา SW ใหั�ม�ประส�ที่ธี�ภาพื่และเก�ด overhead นำ�อย

• ใหั�มอง Agile เป2นำส�วนำข้ยายข้องกระบวนำการพื่�ฒินำา SW แบบเด�มได�• ใหั� Agile เข้�าไปก�าก�บ ด$ว�าข้องเด�มที่��ม�อย$�อ�นำไหันำส�าคื�ญก6ที่�า ไม�ส�าคื�ญก6ละ• นำ�า Agile มาจำ�ดล�าด�บคืวามส�าคื�ญ ด$ว�าก�จำกรรมไหันำ คืวรที่�า ไม�คืวรที่�า

ร$ปแบบการที่�างานำข้อง AM

Page 8: Homework  2

eXtreme ProgrammingExtreme Programming หัร�อ XP เป2นำกระบวนำการพื่�ฒินำา

ซอฟต์#แวร#แบบ Agile (lightweight) ม�ป3จำจำ�ยพื่�&นำฐานำ ด�งนำ�&

• communication : เนำ�นำเร��องการพื่บปะพื่$ดคื�ย (หัล�กการ Agile)

• Simplicity : ออกแบบและเข้�ยนำโปรแกรมใหั�ง�าย ไม�เนำ�นำ performance มากนำ�ก เนำ�นำเร��องแก�

• Feedback : เนำ�นำเร��องล$กคื�า feedback เราเปล��ยนำได�เร��อยๆ โดยใชื่� refactor

• Courage : เราต์�องสามารถต์�ดส�นำใจำเองได� โปรแกรมเมอร#ม�คืวามกล�าในำการต์�ดส�นำใจำ

Page 9: Homework  2

• วางแผนำเกม (The Planning Game)•พื่ยายามซอยงานำใหั�ถ��ๆ (Small Releases)•ม�ต์�วกลางคื��นำระหัว�าง user และต์�วเรา (System Metaphor)

•ออกแบบใหั�ง�าย (Simple Design)•ที่ดสอบเสมอ (Continuous Testing)•แก� code บ�อยๆ (refactoring)

12 ก�จำกรรมหัล�กข้อง XP

Page 10: Homework  2

•ที่�างานำเป2นำคื$� (pair programming)•Team code ownership

•ที่�าการรวบรวมงานำอย�างต์�อเนำ��อง (Continuous Integration)

•ที่�างานำไปเร��อยๆ ไม�หั�กโหัม หั�ามว�าง (40-Hour-work-week)•มองที่�มเป2นำหันำ%�ง (On-site Customer)• ใชื่�มาต์รฐานำการ code แบบเด�ยวก�นำ (Coding Standards)

12 ก�จำกรรมหัล�กข้อง XP(ต์�อ)

Page 11: Homework  2

Unified Process (UP)

Unified Process (UP) คื�อกระบวนำการที่างว�ศวกรรมซอฟต์#แวร# ที่��เก�ดจำากการรวมเอาส��งที่��ผ$�เชื่��ยวชื่าญที่างการพื่�ฒินำาซอฟต์#แวร# ที่��เคืยก�าหันำดไว� และได�ผลด�ในำการพื่�ฒินำาซอฟต์#แวร#มารวมก�นำ โดยเล�อกแต์�เที่คืนำ�คืที่��ด� และข้�&นำต์อนำหัล�กที่��เหัม�อนำๆก�นำ มารวมก�นำ(Unify) และก�าหันำดใหั�ม�ชื่��อใหัม�ว�า กระบวนำการพื่�ฒินำาซอฟต์#แวร#แบบรวมเป2นำหันำ%�งเด�ยว “

(Unified Process)

Page 12: Homework  2

• การพื่�ฒินำาซอฟต์#แวร#คืวรเป2นำการพื่�ฒินำาแบบวนำกล�บ (Iterative Development)• โคืรงสร�างถ$กแบ�งออกเป2นำรอบ (Iteration)• ส��งที่��ได�จำะม�การพื่�ฒินำาเพื่��มจำนำกว�าจำะกลายเป2นำระบบที่��สมบ$รณ#• ในำแต์�ละรอบที่�มจำะต์�องที่�างานำซ�&า (Iterate)• การว�เคืราะหั# ออกแบบ พื่�ฒินำาโปรแกรม และที่ดสอบ

• การพื่�ฒินำาซอฟต์#แวร# ใดๆ คืวรม�การจำ�ดการคืวามต์�องการได� (Requirement Management)

6 กระบวนำการข้อง UP

Page 13: Homework  2

•การใชื่�แนำวคื�ดสถาป3ต์ยกรรมแบบองคื#ประกอบ (Component –based Model Architecture)• การนำ�ากล�บมาใชื่�ได�อ�ก (Reusable)• เพื่��อเป2นำพื่�&นำฐานำในำการจำ�ดการโคืรงการ• เพื่��อใหั�ม�การคืวบคื�มการที่�างานำอย�างชื่าญฉลาด

•การสร�างต์�นำแบบข้องระบบที่��สามารถมองเหั6นำได� (Visual Model) ด�วยภาษา UML

6 กระบวนำการข้อง UP(ต์�อ)

Page 14: Homework  2

•การต์รวจำสอบคื�ณภาพื่ข้องซอฟต์#แวร#ที่��พื่�ฒินำาอย�างต์�อเนำ��อง (Continuously Verify)• การที่ดสอบการที่�างานำข้องระบบ (Function Testing)• การที่ดสอบการใชื่�ระบบ (Usability Testing)• การที่ดสอบคืวามนำ�าเชื่��อถ�อข้องระบบ (Reliability Testing)• การที่ดสอบประส�ที่ธี�ภาพื่ (Performance Testing)• การที่ดสอบการสนำ�บสนำ�นำ (Supportability)

• การจำ�ดการการเปล��ยนำแปลง (Change Management)

6 กระบวนำการข้อง UP(ต์�อ)

Page 15: Homework  2

Scrum ModelScrum เป2นำ development process ที่��อย$�บนำพื่�&นำ

ฐานำข้อง Sprint เป2นำหันำ%�งในำ Implementationหัลายๆว�ธี�ที่��อย$�ในำคื�าย Agile Software Development Scrum จำะ sprint เป2นำชื่�วงๆต์ามหัล�กการแล�วคื�อชื่�วงละ 2-4 ส�ปดาหั# โดยจำะเป2นำชื่�วงที่��เราจำะเร�งที่�างานำอย�างเต์6มที่��เต์6มข้�ดจำ�าก�ด หัล�งจำบ sprint ก6จำะพื่�กบ�างส�ก 3-5 ว�นำ ก�อนำที่��จำะ sprint ต์�อไป

Page 16: Homework  2

• ว�าด�วยเร��องข้องที่�มงานำ (Role)• Scrum Team• Product Owner• Scrum Master

• ว�าด�วยเร��องข้องว�ธี�การที่�างานำ (Process)• Backlog• Sprint phase• Daily scrum

• ว�าด�วยเร��องข้องการประเม�นำและต์�ดต์ามงานำ (Demonstration and Evaluation)

3 Concept ข้อง Scrum

Page 17: Homework  2

Aspect-Oriented Software Development

Aspect-Oriented Software Development

(AOSD) เป2นำคืวามพื่ยายามในำการชื่�วยนำ�กพื่�ฒินำาส�าหัร�บแยกคือนำเซ�นำในำการเข้�ยนำโปรแกรม โดยเฉพื่าะอย�างย��งคือนำเซ�นำต์�ดข้วาง (crosscutting concern) เพื่��อเพื่��มคืวามเป2นำ module การใชื่�งานำ AOP อาจำจำะต์�องที่�าการปร�บเปล��ยนำภาษาในำการพื่�ฒินำา ในำข้ณะที่��การใชื่� AOSD จำะรวมถ%งคืวามเก��ยวข้�องก�บภาษา สภาพื่แวดล�อมและว�ธี�การพื่�ฒินำา

Page 18: Homework  2

SA – WAD – D - JA สว�สด�คืร�บ - คื�ะ