งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

การออกแบบเชิงสถาปัตยกรรม

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "การออกแบบเชิงสถาปัตยกรรม"— ใบสำเนางานนำเสนอ:

1 การออกแบบเชิงสถาปัตยกรรม
บทที่ 8 การออกแบบเชิงสถาปัตยกรรม

2 วัตถุประสงค์ เพื่อทำความรู้จักกับรูปแบบเชิงสถาปัตยกรรม
เพื่อให้เข้าใจการออกแบบเชิงสถาปัตยกรรม และการออกแบบเชิงละเอียด เพื่อให้เข้าใจการเกาะกลุ่มกัน และการพึ่งพากัน

3 บทนำ ขั้นตอนการออกแบบซอฟต์แวร์ สถาปนิกซอฟต์แวร์ (Software Architect) จะต้องพิจารณาลักษณะโครงสร้างของซอฟต์แวร์ ประกอบด้วย ส่วนประกอบ และความสัมพันธ์ระหว่างส่วนประกอบและคำนึงถึงรูปแบบเชิงสถาปัตยกรรมของซอฟต์แวร์ การออกแบบซอฟต์แวร์ แบ่งเป็น 2 ประเภท การออกแบบเชิงสถาปัตยกรรม (Architectural Design) การออกแบบเชิงละเอียด (Detailed Design)

4 การออกแบบเชิงสถาปัตยกรรม (Architectural Design)
การออกแบบที่มองภาพรวมของซอฟต์แวร์ ซึ่งเกี่ยวข้องกับอุปกรณ์ฮาร์ดแวร์ ซอฟต์แวร์ เครือข่ายคอมพิวเตอร์ การออกแบบรายงาน การออกแบบส่วนต่อประสานกับผู้ใช้ ฐานข้อมูล และไฟล์ต่าง ๆ

5 การออกแบบเชิงละเอียด (Detailed Design)
การปรับโครงสร้างสถาปัตยกรรมให้ตรงกับความต้องการของผู้ใช้ การออกแบบมอดูล การแบ่งมอดูลออกเป็นฟังก์ชันย่อย และการออกแบบเชิงโครงสร้าง วัตถุประสงค์ของการออกแบบสถาปัตยกรรมโปรแกรม หรือ แผนภูมิโครงสร้าง เพื่อเป็นประโยชน์สำหรับนักเขียนโปรแกรมต่อไป

6 รูปแบบเชิงสถาปัตยกรรม
การเลือกรูปแบบเชิงสถาปัตยกรรม (Architectural Style) ให้กับซอฟต์แวร์ มีหลายรูปแบบ แตกต่างกันตามลักษณะของโครงสร้าง

7 การออกแบบเชิงสถาปัตยกรรมแบบ Pipe and Filters
Pipe เป็นเสมือนท่อส่งข้อมูลนำเข้าไปยังกระบวนการเปลี่ยนรูปข้อมูล Filter เหมือนตัวกรองข้อมูลจนได้ผลลัพธ์

8 การออกแบบเชิงสถาปัตยกรรมแบบ Call and Return
Main Program Controller Subprogram Application Subprogram การออกแบบที่มีลักษณะของโครงสร้างควบคุมแบบลำดับชั้นและบนลงล่าง

9 การออกแบบเชิงสถาปัตยกรรมแบบ Client/Server
เครื่องไคลเอนต์ที่อยู่บนเครื่องคอมพิวเตอร์เครื่องใดเครื่องหนึ่งส่งคำร้องขอ (Request) บริการไปยังเครื่องเซิร์ฟเวอร์ จากนั้น เซิร์ฟเวอร์จะประมวลผลตามความต้องการที่ได้รับ แล้วส่งผล (Replay ) ของบริการกลับไปยังเครื่องไคลเอนต์ที่ขอใช้บริการ

10 การออกแบบเชิงสถาปัตยกรรมแบบ Client/Server
กรณีมีเซิร์ฟเวอร์หลายตัว Client A

11 การออกแบบเชิงสถาปัตยกรรมแบบ Model View Controller
เป็นการออกแบบที่แยกส่วนการทำงานแต่ละส่วนให้เป็นอิสระต่อกัน คือ แบบจำลอง (Model) มุมมอง (View) ตัวควบคุม(Controller)

12 การออกแบบเชิงสถาปัตยกรรมแบบเลเยอร์
Java API OS API Kernel จัดโครงสร้างระบบย่อยหรือส่วนประกอบต่าง ๆ ในมุมมองแบบลำดับชั้น โดยแต่ละเลเยอร์ คือส่วนประกอบย่อยซึ่งจะทำงานในแต่ละด้านของซอฟต์แวร์และสามารถทำงานร่วมกับเลเยอร์ด้านนอกได้

13 การออกแบบเชิงสถาปัตยกรรมแบบฐานข้อมูลเป็นศูนย์กลาง
การออกแบบที่มีฐานข้อมูลเป็นศูนย์กลาง และผู้ใช้สามารถเข้าถึงข้อมูลในฐานข้อมูลได้โดยตรง

14 การออกแบบเชิงสถาปัตยกรรมแบบ Three Tier
การออกแบบที่มีลักษณะคล้ายกันแบบฐานข้อมูลเป็นศูนย์กลาง และสามารถ ปรับเปลี่ยนการออกแบบให้มีลักษณะเป็น n-tier ได้

15 การออกแบบเชิงสถาปัตยกรรม
การออกแบบเชิงสถาปัตยกรรม (Architectural Design) มองภาพรวมของการออกแบบซอฟต์แวร์ เรียกอีกชื่อหนึ่งว่า “การออกแบบระดับสูง (High-Level Design)” คือ การกำหนดโครงสร้างของซอฟต์แวร์ในมุมมองระดับบน โดยแสดงให้เห็นถึงส่วนประกอบ คุณลักษณะ และความสัมพันธ์ของส่วนประกอบ ภายใต้รูปแบบเชิงสถาปัตยกรรมในแบบต่าง ๆ การออกแบบเชิงสถาปัตยกรรมเกิดจากความต้องการที่ไม่เป็นฟังก์ชัน การออกแบบเชิงละเอียด คือการออกแบบมอดูลที่เกิดจากความต้องการเชิงฟังก์ชัน ความต้องการที่ไม่เป็นฟังก์ชัน

16 การออกแบบเชิงสถาปัตยกรรม
ความสัมพันธ์ระหว่างความต้องการ การออกแบบเชิงสถาปัตยกรรมและการออกแบบเชิงละเอียด

17 ตัวอย่างการออกแบบเชิงสถาปัตยกรรมของบ้าน

18 การออกแบบเชิงละเอียด (Detailed Design)
การออกแบบเชิงนำไปปฏิบัติ (Implementation Design) คือ การอธิบายรายละเอียดแต่ละส่วนประกอบของซอฟต์แวร์ เพื่อเป็นประโยชน์สำหรับการเขียนโปรแกรมให้มากที่สุด การแตกฟังก์ชันเป็นส่วนย่อย (Functional Decomposition) คือ การแบ่งมอดูลออกเป็นมอดูลย่อย ในปัจจุบัน นิยมใช้ในโปรแกรมประยุกต์บนเว็บ

19 การแตกฟังก์ชันของมอดูล

20 การแตกฟังก์ชันของมอดูลอีกรูปแบบ

21 การเกาะกลุ่มกัน การเกาะกลุ่มกัน ( Cohesion) คือ การเกาะกลุ่มกันระหว่างมอดูล วัตถุ หรือ ส่วนประกอบต่าง ๆ โดยคำนึงถึงดีกรีของความสัมพันธ์ (Degree of Relatedness) ภายในมอดูล วัตถุ หรือ ส่วนประกอบนั้น ๆ

22 การพึ่งพากัน (Coupling)
การติดต่อระหว่างข้อมูลมอดูล โดยมอดูลจะส่งผ่านพารามิเตอร์ไปยังมอดูลอื่น เรียกกว่า Function Call เมื่องานสิ้นสุด มอดูลที่ถูกเรียกจะส่งค่ากลับคืนมา เรียกกว่า Function Return

23

24 คำถามท้ายบท รูปแบบเชิงสถาปัตยกรรมคืออะไร และมีความสำคัญอย่างไร
การออกแบบเชิงสถาปัตยกรรมแบบ MVC คืออะไร และมีความสำคัญอย่างไร การออกแบบมอดูลที่ดีควรมีลักษณะอย่างไร พร้อมทั้งยกตัวอย่างประกอบและมีประโยชน์ต่อการพัฒนาซอฟต์แวร์อย่างไร


ดาวน์โหลด ppt การออกแบบเชิงสถาปัตยกรรม

งานนำเสนอที่คล้ายกัน


Ads by Google