Object Oriented Software Analysis and Design

Post on 21-Mar-2017

9 views 1 download

Transcript of Object Oriented Software Analysis and Design

Object Oriented Software Analysisand Design

อาจารยสมเกยรต ชอเหมอน สาขาวชาวศวกรรมซอฟตแวร คณะวทยาศาสตรและเทคโนโลย

(tkorinp@hotmail.com)

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

Requirements Analysis

• การพฒนาโปรแกรมคอมพวเตอรใด ๆ ตองเรมตนดวยการระบความตองการ– วศวกรตองการออกแบบสะพานดวยซอฟตแวรเพอสรางแบบจ าลองสามมต

ท าใหผคนสามารถเหนภาพสะพานทสรางจรง– ผจดการอาจตองการซอฟตแวรทจะตดตามการท างานของบคคลและ

มอบหมายงานใหบคคลากรตามความสามารถในโครงการ

• เราจะได ความตองการ ทางดานซอฟตแวร• การออกแบบเชงวตถจะตอบสนองความตองการไดหรอไม?• วศวกรซอฟตแวรทมความเชยวชาญในการวเคราะหความตองการ• ความเขาใจวาสงใดคอความตองการดานซอฟตแวร

Requirements Analysis

• 1) การสมภาษณและลกคาผใชศกยภาพของระบบทจะหาสงทพวกเขาพดเกยวกบระบบทจ าเปน

• 2) การจดเกบเอกสารผลลพธของการสนทนาเหลาน

• 3) การระบคณสมบตทส าคญของระบบทจ าเปนตองใช

• 4) การผลตการออกแบบเบองตน (และอาจเปนตนแบบของระบบ)

• 5) การประเมนแผนการเรมตนเหลานกบลกคาและผทมศกยภาพ

• 6) ท าซ าขนตอนขางตนจนกวาจะเสรจสนการออกแบบไดววฒน

Requirements Analysis

• การวเคราะหความตองการเปนทกษะ

• แตมงเนนไปทขนตอนท 3-4 คอ รายละเอยดของระบบ

• ประสบการณ ทกษะการออกแบบเปนปจจยทส าคญ

• การผลตออกแบบทเรยบงายและมรปแบบเปนสงส าคญ หากตองการซอฟตแวรทท างานไดดและงายตอการพฒนา

• แตการออกแบบทด คอ สงทไมงายและตองใชประสบการณเปนปจจยส าคญ

Requirements Analysis

• เราเรยนรหลกการไดมากมาย แตประสบการณ ท าใหเกดความช านาญในการวเคราะหความตองการและออกแบบทด

• พนฐานของการวเคราะหปญหา– เรมจากการก าหนดรายละเอยดของปญหา

• รายชอค านามและค ากรยา• ระบสงทอยนอกขอบเขตของระบบ• ระบสงทเกยวของกน• ระบClassทมศกยภาพ• ระบแอตทรบวตทมศกยภาพ• ระบวธการทมศกยภาพ• ระบลกษณะทวไป• การปรบแตงการออกแบบของเราใชบตร CRC• ก าหนดรายะเอยดทงหมดของคลาส

The Problem

• การออกแบบจ าเปนตองทราบรายละเอยดทงหมด

• การวเคราะหตองมความร ความเขาใจ

Listing Nouns and Verbs

• ขนตอนแรกในการวเคราะห คอ การระบค านามและค ากรยา– ค านามบงบอกถง

• หนวยงานหรอวตถ object• บางสวนจะclass• บางสวนเปนแอตทรบวต attribute

– ค ากรยาบงบอกถง• การกระท าทจะด าเนนการ• บางสวนเปนวธการ (Methods)

– ค านามและค ากรยาระบไวในรปแบบของเอกพจน (เชน ‘books' กลายเปน ‘book')

– ค านามและค ากรยาวลทมการใชค านาม หรอ กรยาเพยงอยางเดยวไมเพยงพอ เชน ค ากรยา 'พมพ' ไมเปนทชดเจนเปน 'พมพใบเสรจรบเงน'

Identifying Things Outside The Scope of The System

• ระบสงทอยนอกขอบเขตของระบบ– สงส าคญในการออกแบบระบบคอ การระบปญหาทเกยวของ

– รายละเอยดบางสวนตามบรบท • ตามวตถประสงค

• สวนทเกยวของกบการออกแบบ

• ค าอธบายจากผใชระบบ อาจหมายถงงานทจะด าเนนการ

• ค าอธบายฟงกชนทจะตองด าเนนการในระบบ

– ระบสงทไมเกยวของ และก าหนดปญหาพนฐานทจะท าได

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

Identifying Potential Classes

• ระบวาเปน class– ค านาม

• แสดงใหเหนขอมลและการด าเนนงานควรจะไดรบการบรรจเขาดวยกน

• การระบขอมลทเกยวของ แตไมมการด าเนนงานสามารถเกบไวเปนคณลกษณะของClass

Identifying Potential Attributes

• การระบคณลกษณะ– ค านามอน ๆ ทไมสามารถน ามาใชในการระบ class

Identifying Potential Methods

• ค ากรยาใชระบวธการ (methods)

Identifying Common Characteristics

• ระบลกษณะทวไป– Class ทเลอกมคณลกษณะทเกยวของและวธการ

– โครงสรางของclass ในแตละล าดบชนทเหมาะสม โดยการระบคณลกษณะทวไปและคณสมบตพเศษ

Refining Our Design using CRC Cards

• การปรบแตงสงทออกแบบดวยการใชบตร ซอารซ– เมอระบ Class หลก แลวก าหนดคณลกษณะและวธการ

– ก าหนดประเภทขอมลและรายละเอยดตางๆ ในแผนภาพ UML

– การวเคราะหและการปรบแตงการออกแบบจงเปนกระบวนการทซบซอนมาก เพอใหเหนสงทจะท าจรง

– การออกแบบครงแรกไมสมบรณ ตองตรวจสอบการออกแบบเพอแกไขปญหาทอาจเกดขน

– การใชบตร CRC เพอตรวจสอบการท างานในสถานการณทแตกตาง

Refining Our Design using CRC Cards

การตรวจสอบคลาส

• เนอหาในบตร CRC

• ท าใหสามารถวาดแผนภาพ

• คลาสส าหรบการออกแบบ

• ทน าเสนอได

Summary

• การวเคราะหและออกแบบเชงวตถเปนการวเคราะหทงระบบและความตองการ จากการจดเกบรวบรวม เพอใหสามารถวเคราะหและออกแบบไดจ าเปนตองใชประสบการณและเครองมอเขามาชวยในการน าไปสรางในรปแบบทางซอฟตแวร

• ขอความทไดจากการรวบรวมความตองการ ท าใหเราทราบถงสวนประกอบทางดานซอฟตแวร ซงวตถตางๆ เชอมโยงกนตามแนวคดเชงวตถ