object oriented software analysis and design
TRANSCRIPT
![Page 1: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/1.jpg)
Object Oriented Software Analysisand Design
อาจารยสมเกยรต ชอเหมอน สาขาวชาวศวกรรมซอฟตแวร คณะวทยาศาสตรและเทคโนโลย
![Page 2: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/2.jpg)
Object Oriented Software Analysisand Design
1) Requirements Analysis2) The Problem3) Listing Nouns and Verbs4) Identifying Things Outside The Scope of The System5) Identifying Synonyms6) Identifying Potential Classes7) Identifying Potential Attributes8) Identifying Potential Methods9) Identifying Common Characteristics10) Refining Our Design using CRC Cards11) Elaborating Classes
![Page 3: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/3.jpg)
Requirements Analysis
• การพฒนาโปรแกรมคอมพวเตอรใด ๆ ตองเรมตนดวยการระบความตองการ– วศวกรตองการออกแบบสะพานดวยซอฟตแวรเพอสรางแบบจ าลองสามมต
ท าใหผคนสามารถเหนภาพสะพานทสรางจรง– ผจดการอาจตองการซอฟตแวรทจะตดตามการท างานของบคคลและ
มอบหมายงานใหบคคลากรตามความสามารถในโครงการ
• เราจะได ความตองการ ทางดานซอฟตแวร• การออกแบบเชงวตถจะตอบสนองความตองการไดหรอไม?• วศวกรซอฟตแวรทมความเชยวชาญในการวเคราะหความตองการ• ความเขาใจวาสงใดคอความตองการดานซอฟตแวร
![Page 4: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/4.jpg)
Requirements Analysis
• 1) การสมภาษณและลกคาผใชศกยภาพของระบบทจะหาสงทพวกเขาพดเกยวกบระบบทจ าเปน
• 2) การจดเกบเอกสารผลลพธของการสนทนาเหลาน
• 3) การระบคณสมบตทส าคญของระบบทจ าเปนตองใช
• 4) การผลตการออกแบบเบองตน (และอาจเปนตนแบบของระบบ)
• 5) การประเมนแผนการเรมตนเหลานกบลกคาและผทมศกยภาพ
• 6) ท าซ าขนตอนขางตนจนกวาจะเสรจสนการออกแบบไดววฒน
![Page 5: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/5.jpg)
Requirements Analysis
• การวเคราะหความตองการเปนทกษะ
• แตมงเนนไปทขนตอนท 3-4 คอ รายละเอยดของระบบ
• ประสบการณ ทกษะการออกแบบเปนปจจยทส าคญ
• การผลตออกแบบทเรยบงายและมรปแบบเปนสงส าคญ หากตองการซอฟตแวรทท างานไดดและงายตอการพฒนา
• แตการออกแบบทด คอ สงทไมงายและตองใชประสบการณเปนปจจยส าคญ
![Page 6: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/6.jpg)
Requirements Analysis
• เราเรยนรหลกการไดมากมาย แตประสบการณ ท าใหเกดความช านาญในการวเคราะหความตองการและออกแบบทด
• พนฐานของการวเคราะหปญหา– เรมจากการก าหนดรายละเอยดของปญหา
• รายชอค านามและค ากรยา• ระบสงทอยนอกขอบเขตของระบบ• ระบสงทเกยวของกน• ระบClassทมศกยภาพ• ระบแอตทรบวตทมศกยภาพ• ระบวธการทมศกยภาพ• ระบลกษณะทวไป• การปรบแตงการออกแบบของเราใชบตร CRC• ก าหนดรายะเอยดทงหมดของคลาส
![Page 7: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/7.jpg)
The Problem
• การออกแบบจ าเปนตองทราบรายละเอยดทงหมด
• การวเคราะหตองมความร ความเขาใจ
![Page 8: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/8.jpg)
Listing Nouns and Verbs
• ขนตอนแรกในการวเคราะห คอ การระบค านามและค ากรยา– ค านามบงบอกถง
• หนวยงานหรอวตถ object• บางสวนจะclass• บางสวนเปนแอตทรบวต attribute
– ค ากรยาบงบอกถง• การกระท าทจะด าเนนการ• บางสวนเปนวธการ (Methods)
– ค านามและค ากรยาระบไวในรปแบบของเอกพจน (เชน ‘books' กลายเปน ‘book')
– ค านามและค ากรยาวลทมการใชค านาม หรอ กรยาเพยงอยางเดยวไมเพยงพอ เชน ค ากรยา 'พมพ' ไมเปนทชดเจนเปน 'พมพใบเสรจรบเงน'
![Page 9: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/9.jpg)
Identifying Things Outside The Scope of The System
• ระบสงทอยนอกขอบเขตของระบบ– สงส าคญในการออกแบบระบบคอ การระบปญหาทเกยวของ
– รายละเอยดบางสวนตามบรบท • ตามวตถประสงค
• สวนทเกยวของกบการออกแบบ
• ค าอธบายจากผใชระบบ อาจหมายถงงานทจะด าเนนการ
• ค าอธบายฟงกชนทจะตองด าเนนการในระบบ
– ระบสงทไมเกยวของ และก าหนดปญหาพนฐานทจะท าได
![Page 10: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/10.jpg)
Identifying Synonyms
• ค าพองรปหรอพองเสยง น าไปสการซ าซอนและสบสน
SynonymsNouns :-.. world ranking professional=professional runner.. fund-raising amateur=amateur runner.. runner=competitorNote runner is not a synonym of professional runner as some runners are amateurs.Verbs :-.. marathon=compete.. check status=display status.. print collection list = print list.. finish race = record specified time
![Page 11: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/11.jpg)
Identifying Potential Classes
• ระบวาเปน class– ค านาม
• แสดงใหเหนขอมลและการด าเนนงานควรจะไดรบการบรรจเขาดวยกน
• การระบขอมลทเกยวของ แตไมมการด าเนนงานสามารถเกบไวเปนคณลกษณะของClass
![Page 12: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/12.jpg)
Identifying Potential Attributes
• การระบคณลกษณะ– ค านามอน ๆ ทไมสามารถน ามาใชในการระบ class
![Page 13: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/13.jpg)
Identifying Potential Methods
• ค ากรยาใชระบวธการ (methods)
![Page 14: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/14.jpg)
Identifying Common Characteristics
• ระบลกษณะทวไป– Class ทเลอกมคณลกษณะทเกยวของและวธการ
– โครงสรางของclass ในแตละล าดบชนทเหมาะสม โดยการระบคณลกษณะทวไปและคณสมบตพเศษ
![Page 15: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/15.jpg)
Refining Our Design using CRC Cards
• การปรบแตงสงทออกแบบดวยการใชบตร ซอารซ– เมอระบ Class หลก แลวก าหนดคณลกษณะและวธการ
– ก าหนดประเภทขอมลและรายละเอยดตางๆ ในแผนภาพ UML
– การวเคราะหและการปรบแตงการออกแบบจงเปนกระบวนการทซบซอนมาก เพอใหเหนสงทจะท าจรง
– การออกแบบครงแรกไมสมบรณ ตองตรวจสอบการออกแบบเพอแกไขปญหาทอาจเกดขน
– การใชบตร CRC เพอตรวจสอบการท างานในสถานการณทแตกตาง
![Page 16: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/16.jpg)
Refining Our Design using CRC Cards
![Page 17: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/17.jpg)
การตรวจสอบคลาส
• เนอหาในบตร CRC
• ท าใหสามารถวาดแผนภาพ
• คลาสส าหรบการออกแบบ
• ทน าเสนอได
![Page 18: Object Oriented Software Analysis and Design](https://reader030.vdocuments.site/reader030/viewer/2022032711/58d0cebb1a28ab866c8b6b1b/html5/thumbnails/18.jpg)
Summary
• การวเคราะหและออกแบบเชงวตถเปนการวเคราะหทงระบบและความตองการ จากการจดเกบรวบรวม เพอใหสามารถวเคราะหและออกแบบไดจ าเปนตองใชประสบการณและเครองมอเขามาชวยในการน าไปสรางในรปแบบทางซอฟตแวร
• ขอความทไดจากการรวบรวมความตองการ ท าใหเราทราบถงสวนประกอบทางดานซอฟตแวร ซงวตถตางๆ เชอมโยงกนตามแนวคดเชงวตถ