การพัฒนา software

27
กกกกกกกก Software 237311 BASIC PRINCIPLES FOR EDUCATIONAL SOFTWARE DEVELOPMENT

Upload: anussara-thathaisong

Post on 29-Nov-2014

7.161 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: การพัฒนา Software

การพั�ฒนาSoftware

237311 BASIC PRINCIPLES FOR EDUCATIONAL SOFTWARE DEVELOPMENT

Page 2: การพัฒนา Software

SDLC คือ

วั�ฏจั�กรการพั�ฒนาระบบงาน (System development

Life Cycle : SDLC)

หมายถึ�ง ขั้��นตอนหร�อกระบวันการในการพั�ฒนาระบบงาน ซึ่��งม�จั�ดเร �มต!นในการทํ#างานและจั�ดสิ้ �นสิ้�ดขั้องการปฏ บ�ต งาน

วั�ฏจั�กรการพั�ฒนาระบบงาน (System development

Life Cycle : SDLC)

หมายถึ�ง ขั้��นตอนหร�อกระบวันการในการพั�ฒนาระบบงาน ซึ่��งม�จั�ดเร �มต!นในการทํ#างานและจั�ดสิ้ �นสิ้�ดขั้องการปฏ บ�ต งาน

Page 3: การพัฒนา Software

ขั้� นตอนที่��ใช้�ศึ�กษาขั้บวนการว�เคืราะห์�และออกแบบระบบ ประกอบด้�วย

วั เคราะห) (Analysis) วั เคราะห) (Analysis)

ออกแบบ (Design) ออกแบบ (Design)

สิ้ร!างหร�อพั�ฒนาระบบ (Construction) สิ้ร!างหร�อพั�ฒนาระบบ (Construction)

การปร�บเปล��ยน (Conversion) การปร�บเปล��ยน (Conversion)

SDLC

เขั้!าใจัป*ญหา (Problem Recognition)เขั้!าใจัป*ญหา (Problem Recognition)

บ#าร�งร�กษา (Maintenance) บ#าร�งร�กษา (Maintenance)

ศึ�กษาควัามเป.นไปได! (Feasibility Study)

Page 4: การพัฒนา Software

ต�วอย$าง SDLC

Page 5: การพัฒนา Software

เคืร�องมือที่��ใช้�ในการพั�ฒนาระบบ (Tools)

ค�อ ซึ่อฟต)แวัร)ทํ��ช่2วัยสิ้ร!างหร�อวัาดแบบจั#าลองช่น ดต2าง ๆ ตรวัจัสิ้อบควัามถึ4กต!องขั้องแบบจั#าลอง ช่2วัยสิ้ร!างรายงานและแบบฟอร)ม รวัมทํ��งช่2วัยสิ้ร!างโค!ดโปรแกรมให!อ�ตโนม�ต

Page 6: การพัฒนา Software

www.themegallery.com Company Logo

ต�วอย$างเคืร�องมือที่��ใช้�ในการพั�ฒนาระบบ (Tools)

Title 1 Title 2 Title 3

Page 7: การพัฒนา Software

ต�วอย$างเคืร�องมือที่��ใช้�ในการพั�ฒนาระบบ (Tools)

Page 8: การพัฒนา Software

ต�วอย$างเคืร�องมือที่��ใช้�ในการพั�ฒนาระบบ (Tools)

Page 9: การพัฒนา Software

ต�วอย$างเคืร�องมือที่��ใช้�ในการพั�ฒนาระบบ (Tools)

Page 10: การพัฒนา Software

แบบจำ(าลองที่��ใช้�ในการพั�ฒนาระบบ (Model)

แบบจั#าลอง (Model) ค�อ สิ้�ญล�กษณ์)ทํ��ใช่!ในการจั#าลองขั้!อเทํ7จัจัร งต2าง ๆ ทํ��เก ดขั้��นในระบบ ไม2วั2าจัะเป.นแบบจั#าลองขั้!อม4ล (Data Model) หร�อขั้��นตอนการทํ#างานขั้องระบบ (Process Model)

Page 11: การพัฒนา Software

ต�วอย$างแบบจำ(าลองที่��ใช้�ในการพั�ฒนาระบบ (Model)

Flow ChartFlow Chart

Data Flow Diagram (DFD)Data Flow Diagram (DFD)

Structure ChartStructure Chart

Page 12: การพัฒนา Software

ต�วอย$างแบบจำ(าลองที่��ใช้�ในการพั�ฒนาระบบ (Model)

Entity Relationship Diagram (ERD)Entity Relationship Diagram (ERD)

Use Case DiagramUse Case Diagram Class DiagramClass Diagram

Page 13: การพัฒนา Software

ต�วอย$างแบบจำ(าลองที่��ใช้�ในการพั�ฒนาระบบ (Model)

Sequence DiagramSequence Diagram

PERT ChartPERT Chart

Organization Hierarchy ChartOrganization Hierarchy Chart

Page 14: การพัฒนา Software

ต�วอย$างแบบจำ(าลองที่��ใช้�ในการพั�ฒนาระบบ (Model)

Gantt ChartGantt Chart

Financial Analysis Model – NPV, ROIFinancial Analysis Model – NPV, ROI

Page 15: การพัฒนา Software

ตารางเปร�ยบเที่�ยบขั้�อด้� ขั้�อเสี�ยขั้อง SSADM, RAD และ OOD&D

เปร�ยบเที่�ยบ

SSADM RAD OOD&D

ขั้�อด้�

- สิ้ามารถึรวับรวัมควัามต!องการจัากผู้4!ใช่!ได!- การเปล��ยนแปลงควัามต!องการม�น!อย

- ผู้4!ใช่!สิ้ามารถึใช่!งานระบบในสิ้2วันทํ��ต!องการ และจั#าเป.นได!เร7วักวั2าSSADM

- Maintain ง2ายเพัราะวั2าแต2ละ object แยกออกมาเด2นช่�ด- Reuseable เอาไปใช่!ใหม2ได!ง2าย เน��องจัาก Object ม�การก#าหนดค�ณ์สิ้มบ�ต ขั้องต�วัเองช่� ดเจัน สิ้ามารถึออกแบบ Object ให!ไปใช่!ได!ในหลายกรณ์�

ขั้�อเสี�ย

- ใช่!เวัลานานมากในการวั เคราะห)และออกแบบระบบ

- ระบบทํ��น#ามาใช่!อาจัจัะย�งทํ#างานได!ไม2ครอบคล�มระบบทํ��งหมด

- แบบจั#าลองทํ��เป.นแผู้นภาพัแตกต2างก�นไป ทํ#าให!แผู้นภาพัไม2เป.นมาตรฐาน - ไม2 Self contained หมายควัามวั2า การอ!างอ งถึ�ง Object ใดๆเด��ยวัๆไม2ได!

Page 16: การพัฒนา Software

ตารางเปร�ยบเที่�ยบขั้�อด้� ขั้�อเสี�ยขั้อง SSADM, RAD และ OOD&D

เปร�ยบเที่�ยบ

SSADM RAD OOD&D

ขั้�อด้�

- ขั้�อมื+ลที่��ว�เคืราะห์�และออกแบบจำะตรงก�บคืวามื- ต�องการขั้องผู้+�ใช้�และเจำ�าขั้องระบบมืากที่��สี-ด้

- ใช่!เวัลาน!อยในการพั�ฒนา เพัราะเป.นการสิ้ร!างต!นแบบขั้องงานก2อนเหมาะก�บระบบงานทํ��ม�ขั้นาดเล7ก

- สิ้ะทํ!อนควัามเป.นจัร งไดด�กวั2าการอ อกแบบในล�กษณ์ะทํ��วัๆไปทํ��เราออกแบบก�นไม2Self contained หมายควัามวั2า การอ!างอ งถึ�ง Object ใดๆเด��ยวัๆไม2ได! เราต!องร4 !จั�ก Super class ทํ�กต�วัด!วัย ไม2เช่2นน��นค�ณ์สิ้มบ�ต จัะมาไม2หมด

ขั้�อเสี�ย

- ขั้าดควัามรอบคอบในการพั จัารณ์าถึ�งป*ญหาทํ��จัะเก ดตามมายากต2อการเร�ยนร4 !

- การทํ��Sub class ถึ4ก Inherit จัาก Super class

Page 17: การพัฒนา Software

UML คือ

UML (Unified Modeling Language) คือ สี�ญล�กษณ์�มืาตรฐานที่��ใช้�ในว�ธี�การออกแบบการพั�ฒนาเช้�งว�ตถุ- (Object-oriented Design Methodology) ซึ่��งสี�ญล�กษณ์�ที่��ใช้�น� นจำะได้�มืาจำากการรวมืเอาว�ธี�การในการออกแบบและว�เคืราะห์� แบบ Object-oriented 3 แบบคือ

1. Booch Method ขั้อง Grady Booch2. Object-Modeling Technique(OMT) ขั้อง James Rumbaugh3. Use case methodology ขั้อง Ivar Jacobson

Page 18: การพัฒนา Software

CASE TOOL คือ

CASE Tools ห์มืายถุ�ง ซึ่อฟแวร�ที่��เป6นเคืร�องมือที่��มื�สี$วนประกอบช้$วยสีน�บสีน-นการที่างานในก�จำกรรมืต$างๆ ขั้องงานว�ศึวกรรมืซึ่อฟแวร�ไมื$ว$าจำะเป6น คืวามืต�องการ การออกแบบ การเขั้�ยนโปรแกรมื และการที่ด้สีอบโปรแกรมื และ CASE ถุอเป6นเที่คืโนโลย�ช้น�ด้ห์น��ง ที่��เพั��มืคืวามืสีามืารถุให์�ก�บซึ่อฟแวร�จำนกลายเป6นเคืร�องมือช้$วยแบ$งเบาภาระขั้องน�กพั�ฒนาระบบ

Page 19: การพัฒนา Software

ต�วอย$างโปรแกรมืที่��ใช้�เป6นเคืร�องมือขั้อง Upper-CASE และ Lower-CASE

- Rational Rose : ใช้�สี(าห์ร�บวาด้ UML  Design  for  OO(Object Oriented)  และ  generate code- Visible Analyst:  ใช้�สี(าห์ร�บวาด้ Context Diagram และ Data flow diagram- Visual Studio : ที่(าออกแบบและสีร�าง  web- Oracle  Enterprise  Development Suite- Paradigm  Plus- Logic Works Suite- AxiomSys and AxiomDsn- V32 & X32

Page 20: การพัฒนา Software

ต�วอย$างโปรแกรมืที่��ใช้�เป6นเคืร�องมือขั้อง Upper-CASE และ Lower-CASE

www.themegallery.com Company Logo

- Business process engineering tools tool ที่��ช้$วยในการออกแบบกระบวนการที่าง ด้�านธี-รก�จำ- Process modeling and management tools tool ที่��ช้$วยในการออกแบบและการจำ�ด้การ กระบวนการที่��วไป- Project planning tools tool ที่��ช้$วยในการวางแผู้นการที่(า Project- Risk analysis tools tool ที่��ช้$วยในการว�เคืราะห์�คืวามืเสี��ย งที่��จำะเก�ด้ขั้� นก�บ Project- Project management tools tool ที่��ช้$วยในการจำ�ด้การและบร�ห์าร Project- Requirements tracing tools tool ที่��ช้$วยในการต�ด้ตามืการก(าห์นด้ requirement ต$างๆ ขั้อง Project

Page 21: การพัฒนา Software

ต�วอย$างโปรแกรมืที่��ใช้�เป6นเคืร�องมือขั้อง Upper-CASE และ Lower-CASE

- Metrics and management tools tool ที่��ช้$วยในการจำ�ด้การและการสีร�าง Metric- Documentation tools tool ที่��ช้$วยในการจำ�ด้ที่(าเอกสีารขั้อง Project- System software tools tool ที่��ช้$วยสีน�บสีน-นการที่(างานก�บซึ่อฟแ วร�ระบบ- Quality assurance tools tool ที่��ช้$วยในการที่(า Quality assurance- Database management tools tool ที่��ช้$วยในการบร�ห์ารและจำ�ด้การฐาน ขั้�อมื+ล- Software configuration management tools tool ที่��ช้$วยในการจำ�ด้การการที่(า Software configuration

Page 22: การพัฒนา Software

ต�วอย$างโปรแกรมืที่��ใช้�เป6นเคืร�องมือขั้อง Upper-CASE และ Lower-CASE

- Analysis and design tools tool ที่��ช้$วยในการที่(างานในว�เคืราะห์�แล ะออกแบบระบบ- PRO/SIM tools tool ที่��ช้$วยในการที่(า prototype และจำ(าลองการที่(างาน (Prototyping and Simulation ) ขั้องระบบ- Interface design and development tools tool ที่��ช้$วยในการออกแบบและพั�ฒนา Interface ขั้องระบบ- Prototyping tools tool ที่��ช้$วยในการที่(า Prototype ต$างๆ- Programming tools tool ที่��ช้$วยในการเขั้�ยนโปรแกรมื คือจำะรวมืเอา compiler, editor และ debugger ไว�ด้�วยก�น- Web development tools tool ที่��ช้$วยในการพั�ฒนา website

Page 23: การพัฒนา Software

ต�วอย$างโปรแกรมืที่��ใช้�เป6นเคืร�องมือขั้อง Upper-CASE และ Lower-CASE

-Integration and testing tools tool ที่��ช้$วยในการที่(า Integration และการที่ด้สีอบการที่(างานขั้องระบบ- Static analysis tools tool ที่��ช้$วยในการที่ด้สีอบการว�เคืราะห์�ต างๆ- Dynamic analysis tools tool ที่��ช้$วยในการว�เคืราะห์�และที่ด้สีอบร ะบบแบบ Dynamic- Test management tools tool ที่��ช้$วยในการจำ�ด้การการที่ด้สีอบระบบ- Client/server testing tools tool ที่��ช้$วยในการที่ด้สีอบการที่(างานขั้องระ บบที่��เป6นแบบ Client/server- Reengineering tools tool ที่��ช้$วยในการที่(า Software reengineering ระบบเก$า

Page 24: การพัฒนา Software

จำากที่��ศึ�กษา CASE มืาที่$านจำะเลอกใช้� Tool โปรแกรมืใด้ที่��จำะช้$วยพั�ฒนาระบบ

โปรแกรมื Analysis and design tools tool ที่��ช้$วยในการที่(างานในว�เคืราะห์�และออกแบบระบบ

โปรแกรมื Analysis and design tools tool ที่��ช้$วยในการที่(างานในว�เคืราะห์�และออกแบบระบบ

Page 25: การพัฒนา Software

โปรแกรมื Analysis and design tools tool

นอกจัากการสิ้ร!างระบบสิ้ารสิ้นเทํศึใหม2แล!วั การวั เคราะห)ระบบ จัะช่2วัยในการแก!ไขั้ระบบสิ้ารสิ้นเทํศึเด มทํ��ม�อย42แล!วัให!ด�ขั้��นด!วัย ด�งน��น  ควัามร4 !ในการวั เคราะห)และออกแบบระบบจั�งม�ควัามสิ้#าค�ญ เพัราะเป.นป*จัจั�ยในการสิ้ร!างและพั�ฒนาระบบสิ้ารสิ้นเทํศึ การวั เคราะห)ระบบเป.นเร��องทํ��น2าสิ้นใจั เพัราะน�กวั เคราะห)ระบบต!องต ดต2อก�บคนหลายคน ได!ร4 !ถึ�งการจั�ดการและการทํ#างานในองค)การ ทํ#าให!เราม�ควัามร4 !เก��ยวัก�บระบบคอมพั วัเตอร)หลายแบบมากขั้��น

Page 26: การพัฒนา Software

แห์ล$งอ�างอ�ง

http://reg.ksu.ac.th/teacher/lawan/Lesson3.htm

http://www.no-poor.com/dssandos/Chapter9-dss.htm

http://namp410.blogspot.com/2010/01/sdlc.html

Page 27: การพัฒนา Software

237311 BASIC PRINCIPLES FOR EDUCATIONAL SOFTWARE DEVELOPMENT

จำ�ด้ที่(าโด้ยนางสีาววรรณ์ภา พัลเรอง รห์�สี 523050250-5นางสีาวอน-สีรา ที่าไธีสีงคื� รห์�สี 523050480-8

สีาขั้าคือมืพั�วเตอร�ศึ�กษา คืณ์ะศึ�กษาศึาสีตร� มืห์าว�ที่ยาล�ยขั้อนแก$น