Software Architecture PDF

Document Details

ComfyHawkSEye779

Uploaded by ComfyHawkSEye779

Faculty of Commerce and Business Administration – BIS

2023

Ian Summerfield

Tags

software architecture software design system analysis software engineering

Summary

This document provides an introduction to software architecture, covering different interpretations of the term. It emphasizes the importance of architectural design in creating reliable, secure, and effective software products. The document discusses components, their relationships, and the principles that guide their design and development. It also examines the factors that influence architectural decisions, such as maintainability and performance. The document provides a discussion on why architecture is important, and how it affects important software features such as security, usability and maintainability. It also includes various concepts such as a central security architecture, distributed architecture, and examples of architectural practices.

Full Transcript

‫ﻣﺘﺮﺟﻢ ﻣﻦ ﺍﻹﻧﺠﻠﻴﺰﻳﺔ ﺇﻟﻰ ﺍﻟﻌﺮﺑﻴﺔ ‪www.onlinedoctranslator.com -‬‬ ‫ﺑﻰﺍﻯ ﺍﺱ ‪301‬‬ ‫ﺃﻣﺬﻫﻞﻣﻘﺪﻣﺔ ﻓﻲ ﺗﺤﻠﻴﻞ ﻭﺗﺼﻤﻴﻢ‬ ‫ﺍﻟﻨﻈﻢ‬ ‫ﺑﻌﺾﻣﺤﺘﻮﻳﺎﺕ ﻣﺬﻛﺮﺍﺕ ﺍﻟﻤﺤﺎﺿﺮﺓ‬ ‫ﺗﺆﺧﺬﻣﻦ‬ ‫ﺇﻳﺎﻥﺳﻮﻣﺮﻓﻴﻞ‬ ‫‪© BIS3012023‬‬...

‫ﻣﺘﺮﺟﻢ ﻣﻦ ﺍﻹﻧﺠﻠﻴﺰﻳﺔ ﺇﻟﻰ ﺍﻟﻌﺮﺑﻴﺔ ‪www.onlinedoctranslator.com -‬‬ ‫ﺑﻰﺍﻯ ﺍﺱ ‪301‬‬ ‫ﺃﻣﺬﻫﻞﻣﻘﺪﻣﺔ ﻓﻲ ﺗﺤﻠﻴﻞ ﻭﺗﺼﻤﻴﻢ‬ ‫ﺍﻟﻨﻈﻢ‬ ‫ﺑﻌﺾﻣﺤﺘﻮﻳﺎﺕ ﻣﺬﻛﺮﺍﺕ ﺍﻟﻤﺤﺎﺿﺮﺓ‬ ‫ﺗﺆﺧﺬﻣﻦ‬ ‫ﺇﻳﺎﻥﺳﻮﻣﺮﻓﻴﻞ‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﻹﻧﺸﺎءﻣﻨﺘﺞ ﻣﻮﺛﻮﻕ ﻭﺁﻣﻦ ﻭﻓﻌﺎﻝ‪ ،‬ﻳﺠﺐ ﻋﻠﻴﻚ ﺍﻻﻫﺘﻤﺎﻡ ﺑﺎﻟﺘﺼﻤﻴﻢ ﺍﻟﻤﻌﻤﺎﺭﻱ ﺍﻟﺬﻱ‬ ‫ ‬ ‫ﻳﺸﻤﻞ‪:‬‬ ‫ﺗﻨﻈﻴﻤﻬﺎﺍﻟﻌﺎﻡ‪،‬‬ ‫ ‬ ‫ﻛﻴﻒﻳﺘﻢ ﺗﺤﻠﻴﻞ ﺍﻟﺒﺮﻧﺎﻣﺞ ﺇﻟﻰ ﻣﻜﻮﻧﺎﺗﻪ‪،‬‬ ‫ ‬ ‫ﺗﻨﻈﻴﻢﺍﻟﺨﺎﺩﻡ‬ ‫ ‬ ‫ﺍﻟﺘﻘﻨﻴﺎﺕﺍﻟﺘﻲ ﺗﺴﺘﺨﺪﻣﻬﺎ ﻟﺒﻨﺎء ﺍﻟﺒﺮﻧﺎﻣﺞ‪.‬ﺗﺆﺛﺮ ﺑﻨﻴﺔ ﺍﻟﻤﻨﺘﺞ ﺍﻟﺒﺮﻣﺠﻲ ﻋﻠﻰ ﺃﺩﺍﺉﻪ ﻭﻗﺎﺑﻠﻴﺘﻪ ﻟﻼﺳﺘﺨﺪﺍﻡ‬ ‫ ‬ ‫ﻭﺃﻣﺎﻧﻪﻭﻣﻮﺛﻮﻗﻴﺘﻪ ﻭﺇﻣﻜﺎﻧﻴﺔ ﺻﻴﺎﻧﺘﻪ‪.‬‬ ‫ ﻫﻨﺎﻙﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﺘﻔﺴﻴﺮﺍﺕ ﺍﻟﻤﺨﺘﻠﻔﺔ ﻟﻤﺼﻄﻠﺢ "ﻫﻨﺪﺳﺔ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ"‪.‬‬ ‫ﻳﺮﻛﺰﺍﻟﺒﻌﺾ ﻋﻠﻰ "ﺍﻟﻬﻨﺪﺳﺔ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ" ﺑﺎﻋﺘﺒﺎﺭﻫﺎ ﺍﺳﻤﺎً ‪ -‬ﺑﻨﻴﺔ ﺍﻟﻨﻈﺎﻡ‪ ،‬ﺑﻴﻨﻤﺎ ﻳﻌﺘﺒﺮ ﺍﻟﺒﻌﺾ ﺍﻵﺧﺮ‬ ‫ ‬ ‫ﺃﻥ"ﺍﻟﻬﻨﺪﺳﺔ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ" ﻫﻲ ﻓﻌﻞ ‪ -‬ﻋﻤﻠﻴﺔ ﺗﻌﺮﻳﻒ ﻫﺬﻩ ﺍﻟﻬﻴﺎﻛﻞ‪.‬‬ ‫‪3‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺠﺪﻭﻝ‪ 4.1‬ﺗﻌﺮﻳﻒ ﻣﻌﻬﺪ ﻣﻬﻨﺪﺳﻲ ﺍﻟﻜﻬﺮﺑﺎء ﻭﺍﻹﻟﻜﺘﺮﻭﻧﻴﺎﺕ ﻟﻠﻬﻨﺪﺳﺔ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ ﻟﻠﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﻬﻨﺪﺳﺔﺍﻟﻤﻌﻤﺎﺭﻳﺔ ﻫﻲ ﺍﻟﺘﻨﻈﻴﻢ ﺍﻷﺳﺎﺳﻲ ﻟﻨﻈﺎﻡ ﺑﺮﻣﺠﻲ ﻳﺘﺠﺴﺪ ﻓﻲ ﻣﻜﻮﻧﺎﺗﻪ‪ ،‬ﻭﻋﻼﻗﺎﺗﻬﺎ ﻣﻊ ﺑﻌﻀﻬﺎ‬ ‫ﺍﻟﺒﻌﺾﻭﻣﻊ ﺍﻟﺒﻴﺉﺔ‪ ،‬ﻭﺍﻟﻤﺒﺎﺩﺉ ﺍﻟﺘﻲ ﺗﻮﺟﻪ ﺗﺼﻤﻴﻤﻪ ﻭﺗﻄﻮﺭﻩ‪.‬‬ ‫‪4‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﻭﺍﻟﻤﻜﻮﻧﺎﺕ‬ ‫ ﺍﻟﻤﻜﻮﻥﻫﻮ ﻋﻨﺼﺮ ﻳﻨﻔﺬ ﻣﺠﻤﻮﻋﺔ ﻣﺘﻤﺎﺳﻜﺔ ﻣﻦ ﺍﻟﻮﻇﺎﺉﻒ ﺃﻭ ﺍﻟﻤﻴﺰﺍﺕ‪.‬‬ ‫ ﻳﻤﻜﻦﺍﻋﺘﺒﺎﺭ ﻣﻜﻮﻥ ﺍﻟﺒﺮﻧﺎﻣﺞ ﺑﻤﺜﺎﺑﺔ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺧﺪﻣﺔ ﻭﺍﺣﺪﺓ ﺃﻭ ﺃﻛﺜﺮ ﻳﻤﻜﻦ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ‬ ‫ﺑﻮﺍﺳﻄﺔﻣﻜﻮﻧﺎﺕ ﺃﺧﺮﻯ‪.‬‬ ‫ ﻋﻨﺪﺗﺼﻤﻴﻢ ﺑﻨﻴﺔ ﺍﻟﺒﺮﻧﺎﻣﺞ‪ ،‬ﻟﻴﺲ ﻋﻠﻴﻚ ﺃﻥ ﺗﻘﺮﺭ ﻛﻴﻔﻴﺔ ﺗﻨﻔﻴﺬ ﻋﻨﺼﺮ ﺃﻭ ﻣﻜﻮﻥ ﻣﻌﻤﺎﺭﻱ‪.‬‬ ‫ ﻭﺑﺪﻻ ًﻣﻦ ﺫﻟﻚ‪ ،‬ﻳﻤﻜﻨﻚ ﺗﺼﻤﻴﻢ ﻭﺍﺟﻬﺔ ﺍﻟﻤﻜﻮﻧﺎﺕ ﻭﺗﺮﻙ ﺗﻨﻔﻴﺬ ﺗﻠﻚ ﺍﻟﻮﺍﺟﻬﺔ ﺇﻟﻰ‬ ‫ﻣﺮﺣﻠﺔﻻﺣﻘﺔ ﻣﻦ ﻋﻤﻠﻴﺔ ﺍﻟﺘﻄﻮﻳﺮ‪.‬‬ ‫‪5‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺸﻜﻞ‪ 4.1‬ﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﺍﻟﺨﺪﻣﺎﺕ ﺍﻟﺘﻲ ﺗﻮﻓﺮﻫﺎ ﻣﻜﻮﻧﺎﺕ ﺍﻟﺒﺮﺍﻣﺞ‬ ‫ﺍﻟﺨﺪﻣﺎﺕﺍﻟﺘﻲ ﻳﻤﻜﻦ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻴﻬﺎ ﻣﻦ ﺧﻼﻝ‬ ‫ﻣﻜﻮﻥ‪API‬‬ ‫ﺍﻟﺨﺪﻣﺎﺕﺍﻟﺘﻲ ﻳﻤﻜﻦ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻴﻬﺎ ﻣﺒﺎﺷﺮﺓ‬ ‫ﺑﻮﺍﺳﻄﺔﻣﻜﻮﻧﺎﺕ ﺃﺧﺮﻯ‬ ‫ﻭﺍﺟﻬﺔﺑﺮﻣﺠﺔ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ‬ ‫ﺱ‪6‬‬ ‫ﺱ‪5‬‬ ‫ﺱ‪4‬‬ ‫ﺱ‪3‬‬ ‫ﺱ‪2‬‬ ‫ﺱ‪1‬‬ ‫ﺍﻟﻤﻜﻮﻥ‪2‬‬ ‫ﺍﻟﻤﻜﻮﻥ‪1‬‬ ‫‪6‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﻟﻤﺎﺫﺍﺗﻌﺘﺒﺮ ﺍﻟﻬﻨﺪﺳﺔ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ ﻣﻬﻤﺔ؟‬ ‫ ﺗﻌﺘﺒﺮﺍﻟﻬﻨﺪﺳﺔ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ ﻣﻬﻤﺔ ﻷﻥ ﻫﻨﺪﺳﺔ ﺍﻟﻨﻈﺎﻡ ﻟﻬﺎ ﺗﺄﺛﻴﺮ ﺃﺳﺎﺳﻲ ﻋﻠﻰ ﺧﺼﺎﺉﺺ ﺍﻟﻨﻈﺎﻡ‬ ‫ﻏﻴﺮﺍﻟﻮﻇﻴﻔﻴﺔ‪ ،‬ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﻓﻲ ﺍﻟﺠﺪﻭﻝ ‪.4.2‬‬ ‫ ﻳﺘﻀﻤﻦﺍﻟﺘﺼﻤﻴﻢ ﺍﻟﻤﻌﻤﺎﺭﻱ ﻓﻬﻢ ﺍﻟﻘﻀﺎﻳﺎ ﺍﻟﺘﻲ ﺗﺆﺛﺮ ﻋﻠﻰ ﻫﻨﺪﺳﺔ ﻣﻨﺘﺠﻚ ﻭﺇﻧﺸﺎء ﻭﺻﻒ‬ ‫ﻣﻌﻤﺎﺭﻱﻳﻮﺿﺢ ﺍﻟﻤﻜﻮﻧﺎﺕ ﺍﻷﺳﺎﺳﻴﺔ ﻭﻋﻼﻗﺎﺗﻬﺎ‪.‬‬ ‫ ﻳﺠﺐﺃﻥ ﻳﻜﻮﻥ ﺗﻘﻠﻴﻞ ﺍﻟﺘﻌﻘﻴﺪ ﻫﺪﻓﺎً ﻣﻬﻤﺎً ﻟﻤﺼﻤﻤﻲ ﺍﻟﻌﻤﺎﺭﺓ‪.‬‬ ‫ﻛﻠﻤﺎﻛﺎﻥ ﺍﻟﻨﻈﺎﻡ ﻣﻌﻘﺪﺍً‪ ،‬ﻛﻠﻤﺎ ﻛﺎﻥ ﻓﻬﻤﻪ ﻭﺗﻐﻴﻴﺮﻩ ﺃﻛﺜﺮ ﺻﻌﻮﺑﺔ ﻭﺗﻜﻠﻔﺔ‪.‬‬ ‫ ‬ ‫ﻣﻦﺍﻟﻤﺮﺟﺢ ﺃﻥ ﻳﺮﺗﻜﺐ ﺍﻟﻤﺒﺮﻣﺠﻮﻥ ﺍﻷﺧﻄﺎء ﻭﻳﻘﺪﻣﻮﻥ ﺍﻷﺧﻄﺎء ﻭﺍﻟﺜﻐﺮﺍﺕ ﺍﻷﻣﻨﻴﺔ ﻋﻨﺪﻣﺎ ﻳﻘﻮﻣﻮﻥ‬ ‫ ‬ ‫ﺑﺘﻌﺪﻳﻞﺃﻭ ﺗﻮﺳﻴﻊ ﻧﻈﺎﻡ ﻣﻌﻘﺪ‪.‬‬ ‫‪7‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺠﺪﻭﻝ‪ 4.2‬ﺳﻤﺎﺕ ﺟﻮﺩﺓ ﺍﻟﻨﻈﺎﻡ ﻏﻴﺮ ﺍﻟﻮﻇﻴﻔﻲ‬ ‫ﺍﻻﺳﺘﺠﺎﺑﺔ‬ ‫ﻫﻞﻳﻘﻮﻡ ﺍﻟﻨﻈﺎﻡ ﺑﺈﺭﺟﺎﻉ ﺍﻟﻨﺘﺎﺉﺞ ﻟﻠﻤﺴﺘﺨﺪﻣﻴﻦ ﻓﻲ ﻭﻗﺖ ﻣﻌﻘﻮﻝ؟‬ ‫ﻣﺼﺪﺍﻗﻴﺔ‬ ‫ﻫﻞﺗﻌﻤﻞ ﻣﻴﺰﺍﺕ ﺍﻟﻨﻈﺎﻡ ﻛﻤﺎ ﻫﻮ ﻣﺘﻮﻗﻊ ﻣﻦ ﻗﺒﻞ ﺍﻟﻤﻄﻮﺭﻳﻦ ﻭﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ؟‬ ‫ﺍﻟﺘﻮﻓﺮ‬ ‫ﻫﻞﻳﺴﺘﻄﻴﻊ ﺍﻟﻨﻈﺎﻡ ﺗﻘﺪﻳﻢ ﺧﺪﻣﺎﺗﻪ ﻋﻨﺪ ﻃﻠﺒﻬﺎ ﻣﻦ ﻗﺒﻞ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ؟‬ ‫ﺣﻤﺎﻳﺔ‬ ‫ﻫﻞﻳﻘﻮﻡ ﺍﻟﻨﻈﺎﻡ ﺑﺤﻤﺎﻳﺔ ﻧﻔﺴﻪ ﻭﺑﻴﺎﻧﺎﺕ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﻣﻦ ﺍﻟﻬﺠﻤﺎﺕ ﻭﺍﻻﺧﺘﺮﺍﻗﺎﺕ ﻏﻴﺮ ﺍﻟﻤﺼﺮﺡ‬ ‫ﺑﻬﺎ؟‬ ‫ﻗﺎﺑﻠﻴﺔﺍﻻﺳﺘﺨﺪﺍﻡ‬ ‫ﻫﻞﻳﻤﻜﻦ ﻟﻤﺴﺘﺨﺪﻣﻲ ﺍﻟﻨﻈﺎﻡ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﺍﻟﻤﻴﺰﺍﺕ ﺍﻟﺘﻲ ﻳﺤﺘﺎﺟﻮﻧﻬﺎ ﻭﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﺑﺴﺮﻋﺔ ﻭﺑﺪﻭﻥ‬ ‫ﺃﺧﻄﺎء؟‬ ‫ﻗﺎﺑﻠﻴﺔﺍﻟﺼﻴﺎﻧﺔ‬ ‫ﻫﻞﻳﻤﻜﻦ ﺗﺤﺪﻳﺚ ﺍﻟﻨﻈﺎﻡ ﺑﺴﻬﻮﻟﺔ ﻭﺇﺿﺎﻓﺔ ﻣﻴﺰﺍﺕ ﺟﺪﻳﺪﺓ ﺩﻭﻥ ﺗﻜﺎﻟﻴﻒ ﻏﻴﺮ ﺿﺮﻭﺭﻳﺔ؟‬ ‫ﺻﻤﻮﺩ‬ ‫ﻫﻞﻳﻤﻜﻦ ﻟﻠﻨﻈﺎﻡ ﺍﻻﺳﺘﻤﺮﺍﺭ ﻓﻲ ﺗﻘﺪﻳﻢ ﺍﻟﺨﺪﻣﺎﺕ ﻟﻠﻤﺴﺘﺨﺪﻣﻴﻦ ﻓﻲ ﺣﺎﻟﺔ ﺍﻟﻔﺸﻞ ﺍﻟﺠﺰﺉﻲ ﺃﻭ ﺍﻟﻬﺠﻮﻡ‬ ‫ﺍﻟﺨﺎﺭﺟﻲ؟‬ ‫‪8‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺠﺪﻭﻝ‪ 4.3‬ﺗﺄﺛﻴﺮ ﺃﻣﻦ ﺍﻟﻨﻈﺎﻡ ﻋﻠﻰ ﺑﻨﻴﺔ ﺍﻟﻨﻈﺎﻡ‬ ‫ﻫﻨﺪﺳﺔﺃﻣﻨﻴﺔ ﻣﺮﻛﺰﻳﺔ‬ ‫ﻓﻲﻓﻴﻠﻢ (‪ Rogue One )https://en.wikipedia.org/wiki/Rogue_One‬ﺍﻟﺬﻱ ﺳﺒﻖ ﺳﻠﺴﻠﺔ‬ ‫ﺃﻓﻼﻡ‪ ،Star Wars‬ﺧﺰﻧّﺖ ﺍﻹﻣﺒﺮﺍﻃﻮﺭﻳﺔ ﺍﻟﺸﺮﻳﺮﺓ ﺧﻄﻂ ﺟﻤﻴﻊ ﻣﻌﺪﺍﺗﻬﺎ ﻓﻲ ﻣﻜﺎﻥ ﻭﺍﺣﺪ ﺑﻌﻴﺪ ﺷﺪﻳﺪ‬ ‫ﺍﻟﺤﺮﺍﺳﺔﻭﺷﺪﻳﺪ ﺍﻷﻣﺎﻥ‪.‬ﻭﻳﻄُﻠﻖ ﻋﻠﻰ ﻫﺬﺍ ﺍﺳﻢ ﺑﻨﻴﺔ ﺍﻷﻣﺎﻥ ﺍﻟﻤﺮﻛﺰﻳﺔ‪.‬ﻭﻫﻲ ﺗﺴﺘﻨﺪ ﺇﻟﻰ ﺍﻟﻤﺒﺪﺃ ﺍﻟﻘﺎﺉﻞ‬ ‫ﺑﺄﻧﻪﺇﺫﺍ ﺍﺣﺘﻔﻈﺖ ﺑﺠﻤﻴﻊ ﻣﻌﻠﻮﻣﺎﺗﻚ ﻓﻲ ﻣﻜﺎﻥ ﻭﺍﺣﺪ‪ ،‬ﻓﻴﻤﻜﻨﻚ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﻜﺜﻴﺮ ﻣﻦ ﺍﻟﻤﻮﺍﺭﺩ ﻟﺤﻤﺎﻳﺔ ﺗﻠﻚ‬ ‫ﺍﻟﻤﻌﻠﻮﻣﺎﺕﻭﺿﻤﺎﻥ ﻋﺪﻡ ﺗﻤﻜﻦ ﺍﻟﻤﺘﺴﻠﻠﻴﻦ ﻣﻦ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻴﻬﺎ‪.‬‬ ‫ﻟﺴﻮءﺍﻟﺤﻆ )ﺑﺎﻟﻨﺴﺒﺔ ﻟﻺﻣﺒﺮﺍﻃﻮﺭﻳﺔ(‪ ،‬ﺗﻤﻜﻦ ﺍﻟﻤﺘﻤﺮﺩﻭﻥ ﻣﻦ ﺍﺧﺘﺮﺍﻕ ﺃﻣﻨﻬﻢ‪.‬ﻟﻘﺪ ﺳﺮﻗﻮﺍ ﻣﺨﻄﻄﺎﺕ ﻧﺠﻤﺔ‬ ‫ﺍﻟﻤﻮﺕ‪،‬ﻭﻫﻮ ﺍﻟﺤﺪﺙ ﺍﻟﺬﻱ ﻳﺪﻋﻢ ﻣﻠﺤﻤﺔ ﺣﺮﺏ ﺍﻟﻨﺠﻮﻡ ﺑﺄﻛﻤﻠﻬﺎ‪.‬ﻭﻓﻲ ﻣﺤﺎﻭﻟﺔ ﻟﻤﻨﻌﻬﻢ‪ ،‬ﺩﻣﺮﺕ‬ ‫ﺍﻹﻣﺒﺮﺍﻃﻮﺭﻳﺔﺃﺭﺷﻴﻔﻬﺎ ﺑﺎﻟﻜﺎﻣﻞ ﻣﻦ ﻭﺛﺎﺉﻖ ﺍﻟﻨﻈﺎﻡ‪ ،‬ﻭﻻ ﺃﺣﺪ ﻳﻌﺮﻑ ﻣﺎ ﻫﻲ ﺍﻟﺘﻜﺎﻟﻴﻒ ﺍﻟﻨﺎﺗﺠﺔ ﻋﻦ ﺫﻟﻚ‪.‬ﻟﻮ‬ ‫ﺍﺧﺘﺎﺭﺕﺍﻹﻣﺒﺮﺍﻃﻮﺭﻳﺔ ﺑﻨﻴﺔ ﺃﻣﺎﻥ ﻣﻮﺯﻋﺔ‪ ،‬ﻣﻊ ﺗﺨﺰﻳﻦ ﺃﺟﺰﺍء ﻣﺨﺘﻠﻔﺔ ﻣﻦ ﻣﺨﻄﻄﺎﺕ ﻧﺠﻤﺔ ﺍﻟﻤﻮﺕ ﻓﻲ‬ ‫ﻣﻮﺍﻗﻊﻣﺨﺘﻠﻔﺔ‪ ،‬ﻓﺈﻥ ﺳﺮﻗﺔ ﺍﻟﻤﺨﻄﻄﺎﺕ ﻛﺎﻧﺖ ﻟﺘﻜﻮﻥ ﺃﻛﺜﺮ ﺻﻌﻮﺑﺔ‪.‬ﻛﺎﻥ ﻋﻠﻰ ﺍﻟﻤﺘﻤﺮﺩﻳﻦ ﺍﺧﺘﺮﺍﻕ ﺍﻷﻣﻦ‬ ‫ﻓﻲﺟﻤﻴﻊ ﺍﻟﻤﻮﺍﻗﻊ ﻟﺴﺮﻗﺔ ﻣﺨﻄﻄﺎﺕ ﻧﺠﻤﺔ ﺍﻟﻤﻮﺕ ﺍﻟﻜﺎﻣﻠﺔ‪.‬‬ ‫‪9‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﻫﻨﺪﺳﺔﺍﻷﻣﻦ ﺍﻟﻤﺮﻛﺰﻳﺔ‬ ‫ ﺗﺘﻤﺜﻞﻓﻮﺍﺉﺪ ﺑﻨﻴﺔ ﺍﻷﻣﺎﻥ ﺍﻟﻤﺮﻛﺰﻳﺔ ﻓﻲ ﺗﺴﻬﻴﻞ ﺗﺼﻤﻴﻢ ﻭﺑﻨﺎء ﺍﻟﺤﻤﺎﻳﺔ ﻭﺇﻣﻜﺎﻧﻴﺔ ﺍﻟﻮﺻﻮﻝ‬ ‫ﺇﻟﻰﺍﻟﻤﻌﻠﻮﻣﺎﺕ ﺍﻟﻤﺤﻤﻴﺔ ﺑﻜﻔﺎءﺓ ﺃﻛﺒﺮ‪.‬‬ ‫ ﻭﻣﻊﺫﻟﻚ‪ ،‬ﺇﺫﺍ ﺗﻢ ﺍﺧﺘﺮﺍﻕ ﺃﻣﻨﻚ‪ ،‬ﻓﺈﻧﻚ ﺗﻔﻘﺪ ﻛﻞ ﺷﻲء‪.‬‬ ‫ ﺇﺫﺍﻗﻤﺖ ﺑﺘﻮﺯﻳﻊ ﺍﻟﻤﻌﻠﻮﻣﺎﺕ‪ ،‬ﻓﺈﻥ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﻛﺎﻓﺔ ﺍﻟﻤﻌﻠﻮﻣﺎﺕ ﻳﺴﺘﻐﺮﻕ‬ ‫ﻭﻗﺘﺎًﺃﻃﻮﻝ ﻭﻳﻜﻠﻒ ﺍﻟﻤﺰﻳﺪ ﻟﺤﻤﺎﻳﺘﻬﺎ‪.‬‬ ‫ ﺇﺫﺍﺗﻢ ﺍﺧﺘﺮﺍﻕ ﺍﻷﻣﺎﻥ ﻓﻲ ﻣﻜﺎﻥ ﻭﺍﺣﺪ‪ ،‬ﻓﻠﻦ ﺗﻔﻘﺪ ﺳﻮﻯ ﺍﻟﻤﻌﻠﻮﻣﺎﺕ ﺍﻟﺘﻲ ﻗﻤﺖ ﺑﺘﺨﺰﻳﻨﻬﺎ‬ ‫ﻫﻨﺎﻙ‪.‬‬ ‫‪10‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺇﻣﻜﺎﻧﻴﺔﺍﻟﺼﻴﺎﻧﺔ ﻭﺍﻷﺩﺍء‬ ‫ﻳﻮﺿﺢﺍﻟﺸﻜﻞ ‪ 4.2‬ﻧﻈﺎﻣﺎً ﻳﺘﻜﻮﻥ ﻣﻦ ﻣﻜﻮﻧﻴﻦ )‪ C1‬ﻭ‪ (C2‬ﻳﺸﺘﺮﻛﺎﻥ ﻓﻲ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ‬ ‫ ‬ ‫ﻣﺸﺘﺮﻛﺔ‪.‬‬ ‫ﺍﻓﺘﺮﺽﺃﻥ ‪ C1‬ﻳﻌﻤﻞ ﺑﺒﻂء ﻷﻧﻪ ﻳﺘﻌﻴﻦ ﻋﻠﻴﻪ ﺇﻋﺎﺩﺓ ﺗﻨﻈﻴﻢ ﺍﻟﻤﻌﻠﻮﻣﺎﺕ ﻓﻲ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻗﺒﻞ‬ ‫ ‬ ‫ﺍﺳﺘﺨﺪﺍﻣﻬﺎ‪.‬‬ ‫ﺭﺑﻤﺎﺗﻜﻮﻥ ﺍﻟﻄﺮﻳﻘﺔ ﺍﻟﻮﺣﻴﺪﺓ ﻟﺠﻌﻞ ‪ C1‬ﺃﺳﺮﻉ ﻫﻲ ﺗﻐﻴﻴﺮ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ‪.‬ﻭﻫﺬﺍ ﻳﻌﻨﻲ ﺃﻧﻪ ﻳﺠﺐ ﺃﻳﻀﺎً‬ ‫ ‬ ‫ﺗﻐﻴﻴﺮ‪ ،C2‬ﻭﻫﻮ ﻣﺎ ﻗﺪ ﻳﺆﺛﺮ ﻋﻠﻰ ﻭﻗﺖ ﺍﻻﺳﺘﺠﺎﺑﺔ‪.‬‬ ‫ ﻓﻲﺍﻟﺸﻜﻞ ‪ ،4.3‬ﺗﻢ ﺍﺳﺘﺨﺪﺍﻡ ﺑﻨﻴﺔ ﻣﺨﺘﻠﻔﺔ ﺣﻴﺚ ﻳﺤﺘﻮﻱ ﻛﻞ ﻣﻜﻮﻥ ﻋﻠﻰ ﻧﺴﺨﺘﻪ ﺍﻟﺨﺎﺻﺔ‬ ‫ﻣﻦﺃﺟﺰﺍء ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺘﻲ ﻳﺤﺘﺎﺟﻬﺎ‪.‬‬ ‫ﺇﺫﺍﺍﺣﺘﺎﺝ ﺃﺣﺪ ﺍﻟﻤﻜﻮﻧﺎﺕ ﺇﻟﻰ ﺗﻐﻴﻴﺮ ﺗﻨﻈﻴﻢ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ‪ ،‬ﻓﻠﻦ ﻳﺆﺛﺮ ﻫﺬﺍ ﻋﻠﻰ ﺍﻟﻤﻜﻮﻥ ﺍﻵﺧﺮ‪.‬‬ ‫ ‬ ‫ ﻭﻣﻊﺫﻟﻚ‪ ،‬ﻓﺈﻥ ﺑﻨﻴﺔ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺘﻌﺪﺩﺓ ﻗﺪ ﺗﻌﻤﻞ ﺑﺸﻜﻞ ﺃﺑﻄﺄ ﻭﻗﺪ ﺗﻜﻠﻒ ﺃﻛﺜﺮ ﻓﻲ‬ ‫ﺍﻟﺘﻨﻔﻴﺬﻭﺍﻟﺘﻐﻴﻴﺮ‪.‬‬ ‫ﺗﺤﺘﺎﺝﺑﻨﻴﺔ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺘﻌﺪﺩﺓ ﺇﻟﻰ ﺁﻟﻴﺔ )ﺍﻟﻤﻜﻮﻥ ‪ (C3‬ﻟﻀﻤﺎﻥ ﺍﺗﺴﺎﻕ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺸﺘﺮﻛﺔ‬ ‫ ‬ ‫ﺑﻴﻦ‪ C1‬ﻭ‪ C2‬ﻋﻨﺪ ﺗﻐﻴﻴﺮﻫﺎ‪.‬‬ ‫‪11‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺸﻜﻞ‪ 4.2‬ﺑﻨﻴﺔ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺸﺘﺮﻛﺔ‬ ‫ﻭﺍﺟﻬﺔﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫ﺳﻲ ‪2‬‬ ‫ﺝ‪1‬‬ ‫ﻗﺎﻋﺪﺓﺑﻴﺎﻧﺎﺕ ﻣﺸﺘﺮﻛﺔ‬ ‫‪12‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺸﻜﻞ‪.4.3‬ﺑﻨﻴﺔ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺘﻌﺪﺩﺓ‬ ‫ﻭﺍﺟﻬﺔﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫ﺳﻲ ‪2‬‬ ‫ﺝ‪1‬‬ ‫ﻗﺎﻋﺪﺓﺑﻴﺎﻧﺎﺕ ‪C2‬‬ ‫ﻗﺎﻋﺪﺓﺑﻴﺎﻧﺎﺕ ‪C1‬‬ ‫ﺳﻲ ‪3‬‬ ‫ﺍﻟﺘﻮﻓﻴﻖﺑﻴﻦ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫‪13‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺸﻜﻞ‪ 4.4‬ﺍﻟﻘﻀﺎﻳﺎ ﺍﻟﺘﻲ ﺗﺆﺛﺮ ﻋﻠﻰ ﺍﻟﻘﺮﺍﺭﺍﺕ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ‬ ‫ﻏﻴﺮﻭﻇﻴﻔﻲ‬ ‫ﺧﺼﺎﺉﺺﺍﻟﻤﻨﺘﺞ‬ ‫ﻣﻨﺘﺞ‬ ‫ﺑﺮﻣﺠﺔ‬ ‫ﺣﻴﺎﺓ‬ ‫ﺍﻟﺘﻮﺍﻓﻖ‬ ‫ﻣﻌﻤﺎﺭﻱ‬ ‫ﺍﻟﺘﺄﺛﻴﺮﺍﺕ‬ ‫ﺑﺮﻣﺠﺔ‬ ‫ﻋﺪﺩﻣﻦ‬ ‫ﺇﻋﺎﺩﺓﺍﻻﺳﺘﺨﺪﺍﻡ‬ ‫ﺍﻟﻤﺴﺘﺨﺪﻣﻮﻥ‬ ‫‪14‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺠﺪﻭﻝ‪ 4.4‬ﺃﻫﻤﻴﺔ ﻗﻀﺎﻳﺎ ﺍﻟﺘﺼﻤﻴﻢ ﺍﻟﻤﻌﻤﺎﺭﻱ‬ ‫ﺧﺼﺎﺉﺺﺍﻟﻤﻨﺘﺞ ﻏﻴﺮ ﺍﻟﻮﻇﻴﻔﻴﺔ‬ ‫ﺗﺆﺛﺮﺧﺼﺎﺉﺺ ﺍﻟﻤﻨﺘﺞ ﻏﻴﺮ ﺍﻟﻮﻇﻴﻔﻴﺔ ﻣﺜﻞ ﺍﻷﻣﺎﻥ ﻭﺍﻷﺩﺍء ﻋﻠﻰ ﺟﻤﻴﻊ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ‪.‬ﺇﺫﺍ ﺃﺧﻄﺄﺕ ﻓﻲ ﻫﺬﻩ‬ ‫ﺍﻟﺨﺼﺎﺉﺺ‪،‬ﻓﻤﻦ ﻏﻴﺮ ﺍﻟﻤﺮﺟﺢ ﺃﻥ ﻳﺤﻘﻖ ﻣﻨﺘﺠﻚ ﻧﺠﺎﺣﺎً ﺗﺠﺎﺭﻳﺎً‪.‬ﻟﺴﻮء ﺍﻟﺤﻆ‪ ،‬ﺑﻌﺾ ﺍﻟﺨﺼﺎﺉﺺ ﻣﺘﻌﺎﺭﺿﺔ‪ ،‬ﻟﺬﺍ ﻻ‬ ‫ﻳﻤﻜﻨﻚﺗﺤﺴﻴﻦ ﺳﻮﻯ ﺍﻟﺨﺼﺎﺉﺺ ﺍﻷﻛﺜﺮ ﺃﻫﻤﻴﺔ‪.‬‬ ‫ﻋﻤﺮﺍﻟﻤﻨﺘﺞ‬ ‫ﺇﺫﺍﻛﻨﺖ ﺗﺘﻮﻗﻊ ﻋﻤﺮﺍً ﺍﻓﺘﺮﺍﺿﻴﺎً ﻃﻮﻳﻼً ﻟﻠﻤﻨﺘﺞ‪ ،‬ﻓﺴﻮﻑ ﺗﺤﺘﺎﺝ ﺇﻟﻰ ﺇﻧﺸﺎء ﻣﺮﺍﺟﻌﺎﺕ ﻣﻨﺘﻈﻤﺔ ﻟﻠﻤﻨﺘﺞ‪.‬ﻟﺬﻟﻚ‪ ،‬ﻓﺄﻧﺖ‬ ‫ﺑﺤﺎﺟﺔﺇﻟﻰ ﺑﻨﻴﺔ ﻗﺎﺑﻠﺔ ﻟﻠﺘﻄﻮﺭ‪ ،‬ﺑﺤﻴﺚ ﻳﻤﻜﻦ ﺗﻜﻴﻴﻔﻬﺎ ﻻﺳﺘﻴﻌﺎﺏ ﺍﻟﻤﻴﺰﺍﺕ ﻭﺍﻟﺘﻜﻨﻮﻟﻮﺟﻴﺎ ﺍﻟﺠﺪﻳﺪﺓ‪.‬‬ ‫ﺇﻋﺎﺩﺓﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﻳﻤﻜﻨﻚﺗﻮﻓﻴﺮ ﺍﻟﻜﺜﻴﺮ ﻣﻦ ﺍﻟﻮﻗﺖ ﻭﺍﻟﺠﻬﺪ ﺇﺫﺍ ﻛﺎﻥ ﺑﺈﻣﻜﺎﻧﻚ ﺇﻋﺎﺩﺓ ﺍﺳﺘﺨﺪﺍﻡ ﻣﻜﻮﻧﺎﺕ ﻛﺒﻴﺮﺓ ﻣﻦ ﻣﻨﺘﺠﺎﺕ ﺃﺧﺮﻯ ﺃﻭ‬ ‫ﺑﺮﺍﻣﺞﻣﻔﺘﻮﺣﺔ ﺍﻟﻤﺼﺪﺭ‪.‬ﻭﻣﻊ ﺫﻟﻚ‪ ،‬ﻓﺈﻥ ﻫﺬﺍ ﻳﻘﻴﺪ ﺍﺧﺘﻴﺎﺭﺍﺗﻚ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ ﻷﻧﻚ ﻳﺠﺐ ﺃﻥ ﺗﺘﻨﺎﺳﺐ ﻣﻊ ﺗﺼﻤﻴﻤﻚ‬ ‫ﺣﻮﻝﺍﻟﺒﺮﻧﺎﻣﺞ ﺍﻟﺬﻱ ﻳﺘﻢ ﺇﻋﺎﺩﺓ ﺍﺳﺘﺨﺪﺍﻣﻪ‪.‬‬ ‫ﻋﺪﺩﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ‬ ‫ﺇﺫﺍﻛﻨﺖ ﺗﻘﻮﻡ ﺑﺘﻄﻮﻳﺮ ﺑﺮﺍﻣﺞ ﻟﻠﻤﺴﺘﻬﻠﻜﻴﻦ ﻳﺘﻢ ﺗﺴﻠﻴﻤﻬﺎ ﻋﺒﺮ ﺍﻹﻧﺘﺮﻧﺖ‪ ،‬ﻓﻘﺪ ﻳﺘﻐﻴﺮ ﻋﺪﺩ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺑﺴﺮﻋﺔ ﻛﺒﻴﺮﺓ‪.‬‬ ‫ﻭﻗﺪﻳﺆﺩﻱ ﻫﺬﺍ ﺇﻟﻰ ﺗﺪﻫﻮﺭ ﺧﻄﻴﺮ ﻓﻲ ﺍﻷﺩﺍء ﻣﺎ ﻟﻢ ﺗﻘﻢ ﺑﺘﺼﻤﻴﻢ ﺑﻨﻴﺘﻚ ﺑﺤﻴﺚ ﻳﻤﻜﻦ ﺗﻮﺳﻴﻊ ﻧﻄﺎﻕ ﻧﻈﺎﻣﻚ ﻭﺗﻘﻠﻴﺼﻪ‬ ‫ﺑﺴﺮﻋﺔ‪.‬‬ ‫ﺗﻮﺍﻓﻖﺍﻟﺒﺮﺍﻣﺞ‬ ‫ﺑﺎﻟﻨﺴﺒﺔﻟﺒﻌﺾ ﺍﻟﻤﻨﺘﺠﺎﺕ‪ ،‬ﻣﻦ ﺍﻟﻤﻬﻢ ﺍﻟﺤﻔﺎﻅ ﻋﻠﻰ ﺍﻟﺘﻮﺍﻓﻖ ﻣﻊ ﺑﺮﺍﻣﺞ ﺃﺧﺮﻯ ﺣﺘﻰ ﻳﺘﻤﻜﻦ ﺍﻟﻤﺴﺘﺨﺪﻣﻮﻥ ﻣﻦ ﺗﺒﻨﻲ‬ ‫ﻣﻨﺘﺠﻚﻭﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﻌﺪﺓ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻧﻈﺎﻡ ﻣﺨﺘﻠﻒ‪.‬ﻗﺪ ﻳﺤﺪ ﻫﺬﺍ ﻣﻦ ﺍﻟﺨﻴﺎﺭﺍﺕ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ‪ ،‬ﻣﺜﻞ ﺑﺮﻧﺎﻣﺞ ﻗﺎﻋﺪﺓ‬ ‫ﺍﻟﺒﻴﺎﻧﺎﺕﺍﻟﺬﻱ ﻳﻤﻜﻨﻚ ﺍﺳﺘﺨﺪﺍﻣﻪ‪.‬‬ ‫‪15‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﻤﻘﺎﻳﻀﺔ‪:‬ﺇﻣﻜﺎﻧﻴﺔ ﺍﻟﺼﻴﺎﻧﺔ ﻣﻘﺎﺑﻞ ﺍﻷﺩﺍء‬ ‫ ﺇﻣﻜﺎﻧﻴﺔﺻﻴﺎﻧﺔ ﺍﻟﻨﻈﺎﻡ ﻫﻲ ﺳﻤﺔ ﺗﻌﻜﺲ ﻣﺪﻯ ﺻﻌﻮﺑﺔ ﻭﺗﻜﻠﻔﺔ ﺇﺟﺮﺍء ﺗﻐﻴﻴﺮﺍﺕ ﻋﻠﻰ ﺍﻟﻨﻈﺎﻡ ﺑﻌﺪ‬ ‫ﺇﺻﺪﺍﺭﻩﻟﻠﻌﻤﻼء‪.‬‬ ‫ﻳﻤﻜﻨﻚﺗﺤﺴﻴﻦ ﺇﻣﻜﺎﻧﻴﺔ ﺍﻟﺼﻴﺎﻧﺔ ﻋﻦ ﻃﺮﻳﻖ ﺑﻨﺎء ﻧﻈﺎﻡ ﻣﻦ ﺃﺟﺰﺍء ﺻﻐﻴﺮﺓ ﻣﺴﺘﻘﻠﺔ‪ ،‬ﻳﻤﻜﻦ‬ ‫ ‬ ‫ﺍﺳﺘﺒﺪﺍﻝﻛﻞ ﻣﻨﻬﺎ ﺃﻭ ﺗﺤﺴﻴﻨﻬﺎ ﺇﺫﺍ ﻛﺎﻧﺖ ﻫﻨﺎﻙ ﺣﺎﺟﺔ ﺇﻟﻰ ﺇﺟﺮﺍء ﺗﻐﻴﻴﺮﺍﺕ‪.‬‬ ‫ ﻣﻦﺍﻟﻨﺎﺣﻴﺔ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ‪ ،‬ﻫﺬﺍ ﻳﻌﻨﻲ ﺃﻥ ﺍﻟﻨﻈﺎﻡ ﻳﺠﺐ ﺃﻥ ﻳﻨﻘﺴﻢ ﺇﻟﻰ ﻣﻜﻮﻧﺎﺕ ﺩﻗﻴﻘﺔ‪ ،‬ﻛﻞ ﻣﻨﻬﺎ‬ ‫ﻳﻘﻮﻡﺑﺸﻲء ﻭﺍﺣﺪ ﻓﻘﻂ‪.‬‬ ‫ﻭﻣﻊﺫﻟﻚ‪ ،‬ﻳﺴﺘﻐﺮﻕ ﺍﻷﻣﺮ ﺑﻌﺾ ﺍﻟﻮﻗﺖ ﺣﺘﻰ ﺗﺘﻮﺍﺻﻞ ﺍﻟﻤﻜﻮﻧﺎﺕ ﻣﻊ ﺑﻌﻀﻬﺎ ﺍﻟﺒﻌﺾ‪.‬ﻭﺑﺎﻟﺘﺎﻟﻲ‪،‬‬ ‫ ‬ ‫ﺇﺫﺍﻛﺎﻧﺖ ﻫﻨﺎﻙ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﻤﻜﻮﻧﺎﺕ ﺍﻟﻤﺸﺎﺭﻛﺔ ﻓﻲ ﺗﻨﻔﻴﺬ ﻣﻴﺰﺓ ﺍﻟﻤﻨﺘﺞ‪ ،‬ﻓﺴﻮﻑ ﻳﻜﻮﻥ ﺍﻟﺒﺮﻧﺎﻣﺞ‬ ‫ﺃﺑﻄﺄ‪.‬‬ ‫‪16‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﻤﻘﺎﻳﻀﺔ‪:‬ﺍﻷﻣﺎﻥ ﻣﻘﺎﺑﻞ ﻗﺎﺑﻠﻴﺔ ﺍﻻﺳﺘﺨﺪﺍﻡ‬ ‫ ﻳﻤﻜﻨﻚﺗﺤﻘﻴﻖ ﺍﻷﻣﺎﻥ ﻣﻦ ﺧﻼﻝ ﺗﺼﻤﻴﻢ ﺣﻤﺎﻳﺔ ﺍﻟﻨﻈﺎﻡ ﻋﻠﻰ ﺷﻜﻞ ﺳﻠﺴﻠﺔ ﻣﻦ ﺍﻟﻄﺒﻘﺎﺕ )‬ ‫ﺍﻟﺸﻜﻞ‪.(4.5‬‬ ‫ﻳﺘﻌﻴﻦﻋﻠﻰ ﺍﻟﻤﻬﺎﺟﻢ ﺍﺧﺘﺮﺍﻕ ﻛﻞ ﻫﺬﻩ ﺍﻟﻄﺒﻘﺎﺕ ﻗﺒﻞ ﺍﺧﺘﺮﺍﻕ ﺍﻟﻨﻈﺎﻡ‪.‬‬ ‫ ‬ ‫ ﻗﺪﺗﺘﻀﻤﻦ ﺍﻟﻄﺒﻘﺎﺕ ﻃﺒﻘﺎﺕ ﻣﺼﺎﺩﻗﺔ ﺍﻟﻨﻈﺎﻡ‪ ،‬ﻭﻃﺒﻘﺔ ﻣﺼﺎﺩﻗﺔ ﻣﻴﺰﺓ ﺣﺮﺟﺔ ﻣﻨﻔﺼﻠﺔ‪،‬‬ ‫ﻭﻃﺒﻘﺔﺗﺸﻔﻴﺮ ﻭﻣﺎ ﺇﻟﻰ ﺫﻟﻚ‪.‬‬ ‫ ﻣﻦﺍﻟﻨﺎﺣﻴﺔ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ‪ ،‬ﻳﻤﻜﻨﻚ ﺗﻨﻔﻴﺬ ﻛﻞ ﻣﻦ ﻫﺬﻩ ﺍﻟﻄﺒﻘﺎﺕ ﻛﻤﻜﻮﻧﺎﺕ ﻣﻨﻔﺼﻠﺔ ﺑﺤﻴﺚ‬ ‫ﺇﺫﺍﺗﻢ ﺍﺧﺘﺮﺍﻕ ﺃﺣﺪ ﻫﺬﻩ ﺍﻟﻤﻜﻮﻧﺎﺕ ﻣﻦ ﻗﺒﻞ ﺃﺣﺪ ﺍﻟﻤﻬﺎﺟﻤﻴﻦ‪ ،‬ﻓﺈﻥ ﺍﻟﻄﺒﻘﺎﺕ ﺍﻷﺧﺮﻯ ﺗﻈﻞ‬ ‫ﺳﻠﻴﻤﺔ‪.‬‬ ‫‪17‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺸﻜﻞ‪ 4.5‬ﻃﺒﻘﺎﺕ ﺍﻟﻤﺼﺎﺩﻗﺔ‬ ‫ﻣﺼﺎﺩﻗﺔ‪IP‬‬ ‫ﻣﺼﺎﺩﻗﺔﺍﻟﺘﻄﺒﻴﻖ‬ ‫ﻣﺼﺎﺩﻗﺔﺍﻟﻤﻴﺰﺓ‬ ‫ﺍﻟﺘﺸﻔﻴﺮ‬ ‫ﺍﻷﺻﻮﻝﺍﻟﻤﺤﻤﻴﺔ ﻣﺜﻞ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ‬ ‫ﺑﻄﺎﻗﺎﺕﺍﻻﺉﺘﻤﺎﻥ ﻟﻠﻤﺴﺘﺨﺪﻣﻴﻦ‬ ‫‪18‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﻗﻀﺎﻳﺎﻗﺎﺑﻠﻴﺔ ﺍﻻﺳﺘﺨﺪﺍﻡ‬ ‫ﻳﺆﺛﺮﺍﻟﻨﻬﺞ ﺍﻟﻄﺒﻘﻲ ﻟﻸﻣﺎﻥ ﻋﻠﻰ ﻗﺎﺑﻠﻴﺔ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﺒﺮﻧﺎﻣﺞ‪.‬‬ ‫ ‬ ‫ﻳﺘﻌﻴﻦﻋﻠﻰ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺗﺬﻛﺮ ﺍﻟﻤﻌﻠﻮﻣﺎﺕ‪ ،‬ﻣﺜﻞ ﻛﻠﻤﺎﺕ ﺍﻟﻤﺮﻭﺭ‪ ،‬ﺍﻟﻼﺯﻣﺔ ﻻﺧﺘﺮﺍﻕ ﻃﺒﻘﺔ ﺍﻷﻣﺎﻥ‪.‬ﻭﻣﻦ‬ ‫ ‬ ‫ﺍﻟﻤﺆﻛﺪﺃﻥ ﺗﻔﺎﻋﻠﻬﻢ ﻣﻊ ﺍﻟﻨﻈﺎﻡ ﻳﺘﺒﺎﻃﺄ ﺑﺴﺒﺐ ﻣﻴﺰﺍﺕ ﺍﻷﻣﺎﻥ ﺍﻟﺘﻲ ﻳﺘﻤﺘﻊ ﺑﻬﺎ‪.‬‬ ‫ﻳﺠﺪﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﻫﺬﺍ ﺍﻷﻣﺮ ﻣﺰﻋﺠﺎً ﻭﻏﺎﻟﺒﺎً ﻣﺎ ﻳﺒﺤﺜﻮﻥ ﻋﻦ ﺣﻠﻮﻝ ﺑﺪﻳﻠﺔ ﺣﺘﻰ ﻻ‬ ‫ ‬ ‫ﻳﻀﻄﺮﻭﺍﺇﻟﻰ ﺇﻋﺎﺩﺓ ﺍﻟﻤﺼﺎﺩﻗﺔ ﻟﻠﻮﺻﻮﻝ ﺇﻟﻰ ﻣﻴﺰﺍﺕ ﺍﻟﻨﻈﺎﻡ ﺃﻭ ﺍﻟﺒﻴﺎﻧﺎﺕ‪.‬‬ ‫ ﻟﺘﺠﻨﺐﺫﻟﻚ‪ ،‬ﺗﺤﺘﺎﺝ ﺇﻟﻰ ﻫﻨﺪﺳﺔ ﻣﻌﻤﺎﺭﻳﺔ‪:‬‬ ‫ﺍﻟﺘﻲﻻ ﺗﺤﺘﻮﻱ ﻋﻠﻰ ﻃﺒﻘﺎﺕ ﺃﻣﺎﻥ ﻛﺜﻴﺮﺓ‪،‬‬ ‫ ‬ ‫ﺍﻟﺘﻲﻻ ﺗﻔﺮﺽ ﺇﺟﺮﺍءﺍﺕ ﺃﻣﻨﻴﺔ ﻏﻴﺮ ﺿﺮﻭﺭﻳﺔ‪،‬‬ ‫ ‬ ‫ﺍﻟﺬﻱﻳﻮﻓﺮ ﻣﻜﻮﻧﺎﺕ ﻣﺴﺎﻋﺪﺓ ﺗﻌﻤﻞ ﻋﻠﻰ ﺗﻘﻠﻴﻞ ﺍﻟﺤﻤﻞ ﻋﻠﻰ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ‪.‬‬ ‫ ‬ ‫‪19‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﻤﻘﺎﻳﻀﺔ‪:‬ﺍﻟﺘﻮﺍﻓﺮ ﻣﻘﺎﺑﻞ ﺍﻟﻮﻗﺖ ﺍﻟﻤﺴﺘﻐﺮﻕ ﻟﻄﺮﺡ ﺍﻟﻤﻨﺘﺞ ﻓﻲ ﺍﻟﺴﻮﻕ‬ ‫ ﻳﻌﺪﺍﻟﺘﻮﻓﺮ ﻣﻬﻤﺎً ﺑﺸﻜﻞ ﺧﺎﺹ ﻓﻲ ﻣﻨﺘﺠﺎﺕ ﺍﻟﻤﺆﺳﺴﺎﺕ‪ ،‬ﻣﺜﻞ ﺍﻟﻤﻨﺘﺠﺎﺕ ﺍﻟﻤﺨﺼﺼﺔ‬ ‫ﻟﺼﻨﺎﻋﺔﺍﻟﺘﻤﻮﻳﻞ‪ ،‬ﺣﻴﺚ ﻣﻦ ﺍﻟﻤﺘﻮﻗﻊ ﺃﻥ ﺗﻌﻤﻞ ﻋﻠﻰ ﻣﺪﺍﺭ ﺍﻟﺴﺎﻋﺔ ﻃﻮﺍﻝ ﺃﻳﺎﻡ ﺍﻷﺳﺒﻮﻉ‪.‬‬ ‫ ﺇﻥﺗﻮﻓﺮ ﺍﻟﻨﻈﺎﻡ ﻫﻮ ﻣﻘﻴﺎﺱ ﻟﻤﺪﻯ "ﻭﻗﺖ ﺍﻟﺘﺸﻐﻴﻞ" ﻟﻬﺬﺍ ﺍﻟﻨﻈﺎﻡ‪.‬‬ ‫ﻳﺘﻢﺍﻟﺘﻌﺒﻴﺮ ﻋﻦ ﺍﻟﺘﻮﻓﺮ ﻋﺎﺩﺓ ًﻛﻨﺴﺒﺔ ﻣﺉﻮﻳﺔ ﻣﻦ ﺍﻟﻮﻗﺖ ﺍﻟﺬﻱ ﻳﻜﻮﻥ ﻓﻴﻪ ﺍﻟﻨﻈﺎﻡ ﻣﺘﺎﺣﺎً ﻟﺘﻘﺪﻳﻢ‬ ‫ ‬ ‫ﺍﻟﺨﺪﻣﺎﺕﻟﻠﻤﺴﺘﺨﺪﻡ‪.‬‬ ‫ ﻣﻦﺍﻟﻨﺎﺣﻴﺔ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ‪ ،‬ﻳﻤﻜﻨﻚ ﺗﺤﻘﻴﻖ ﺍﻟﺘﻮﺍﻓﺮ ﻣﻦ ﺧﻼﻝ ﻭﺟﻮﺩ ﻣﻜﻮﻧﺎﺕ ﺯﺍﺉﺪﺓ ﻓﻲ ﺍﻟﻨﻈﺎﻡ‪.‬‬ ‫ﻟﻼﺳﺘﻔﺎﺩﺓﻣﻦ ﺍﻟﺘﻜﺮﺍﺭ‪ ،‬ﻗﻢ ﺑﺘﻀﻤﻴﻦ ﻣﻜﻮﻧﺎﺕ ﺍﻟﻤﺴﺘﺸﻌﺮ ﺍﻟﺘﻲ ﺗﻜﺸﻒ ﻋﻦ ﺍﻟﻔﺸﻞ‪ ،‬ﻭﻣﻜﻮﻧﺎﺕ ﺍﻟﺘﺒﺪﻳﻞ‬ ‫ ‬ ‫ﺍﻟﺘﻲﺗﻘﻮﻡ ﺑﺘﺒﺪﻳﻞ ﺍﻟﺘﺸﻐﻴﻞ ﺇﻟﻰ ﻣﻜﻮﻥ ﺯﺍﺉﺪ ﻋﻦ ﺍﻟﺤﺎﺟﺔ ﻋﻨﺪ ﺍﻛﺘﺸﺎﻑ ﺍﻟﻔﺸﻞ‪.‬‬ ‫ ﺇﻥﺗﻨﻔﻴﺬ ﻣﻜﻮﻧﺎﺕ ﺇﺿﺎﻓﻴﺔ ﻳﺴﺘﻐﺮﻕ ﻭﻗﺘﺎً ﻭﻳﺰﻳﺪ ﻣﻦ ﺗﻜﻠﻔﺔ ﺗﻄﻮﻳﺮ ﺍﻟﻨﻈﺎﻡ‪.‬ﻛﻤﺎ ﺃﻧﻪ‬ ‫ﻳﻀﻴﻒﺗﻌﻘﻴﺪﺍً ﺇﻟﻰ ﺍﻟﻨﻈﺎﻡ ﻭﺑﺎﻟﺘﺎﻟﻲ ﻳﺰﻳﺪ ﻣﻦ ﻓﺮﺹ ﻇﻬﻮﺭ ﺍﻷﺧﻄﺎء ﻭﺍﻟﺜﻐﺮﺍﺕ ﺍﻷﻣﻨﻴﺔ‪.‬‬ ‫‪20‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺃﺳﺉﻠﺔﺍﻟﺘﺼﻤﻴﻢ ﺍﻟﻤﻌﻤﺎﺭﻱ‬ ‫ ﻛﻴﻒﻳﻤﻜﻦ ﺗﻨﻈﻴﻢ ﺍﻟﻨﻈﺎﻡ ﻛﻤﺠﻤﻮﻋﺔ ﻣﻦ ﺍﻟﻤﻜﻮﻧﺎﺕ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ‪ ،‬ﺣﻴﺚ ﻳﻮﻓﺮ ﻛﻞ ﻣﻜﻮﻥ ﻣﻦ‬ ‫ﻫﺬﻩﺍﻟﻤﻜﻮﻧﺎﺕ ﻣﺠﻤﻮﻋﺔ ﻓﺮﻋﻴﺔ ﻣﻦ ﻭﻇﺎﺉﻒ ﺍﻟﻨﻈﺎﻡ ﺍﻟﺸﺎﻣﻠﺔ؟‬ ‫ﻳﻨﺒﻐﻲﻟﻠﻤﻨﻈﻤﺔ ﺃﻥ ﺗﻮﻓﺮ ﻟﻚ ﻧﻈﺎﻡ ﺍﻷﻣﺎﻥ ﻭﺍﻟﻤﻮﺛﻮﻗﻴﺔ ﻭﺍﻷﺩﺍء ﺍﻟﺬﻱ ﺗﺤﺘﺎﺟﻪ‪.‬‬ ‫ ‬ ‫ ﻛﻴﻒﻳﻨﺒﻐﻲ ﺗﻮﺯﻳﻊ ﻫﺬﻩ ﺍﻟﻤﻜﻮﻧﺎﺕ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ ﻭﺍﻟﺘﻮﺍﺻﻞ ﻣﻊ ﺑﻌﻀﻬﺎ ﺍﻟﺒﻌﺾ؟‬ ‫ ﻣﺎﻫﻲ ﺍﻟﺘﻘﻨﻴﺎﺕ ﺍﻟﺘﻲ ﻳﺠﺐ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻓﻲ ﺑﻨﺎء ﺍﻟﻨﻈﺎﻡ ﻭﻣﺎ ﻫﻲ ﺍﻟﻤﻜﻮﻧﺎﺕ ﺍﻟﺘﻲ‬ ‫ﻳﺠﺐﺇﻋﺎﺩﺓ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ؟‬ ‫‪21‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺗﻨﻈﻴﻢﺍﻟﻤﻜﻮﻧﺎﺕ‬ ‫ ﺍﻟﺘﺠﺮﻳﺪﻓﻲ ﺗﺼﻤﻴﻢ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﻳﻌﻨﻲ ﺃﻧﻚ ﺗﺮﻛﺰ ﻋﻠﻰ ﺍﻟﻌﻨﺎﺻﺮ ﺍﻷﺳﺎﺳﻴﺔ ﻟﻠﻨﻈﺎﻡ ﺃﻭ‬ ‫ﻣﻜﻮﻥﺍﻟﺒﺮﻧﺎﻣﺞ ﺩﻭﻥ ﺍﻻﻫﺘﻤﺎﻡ ﺑﺘﻔﺎﺻﻴﻠﻪ‪.‬‬ ‫ ﻋﻠﻰﺍﻟﻤﺴﺘﻮﻯ ﺍﻟﻤﻌﻤﺎﺭﻱ‪ ،‬ﻳﺠﺐ ﺃﻥ ﻳﻨﺼﺐ ﺍﻫﺘﻤﺎﻣﻚ ﻋﻠﻰ ﺍﻟﻤﻜﻮﻧﺎﺕ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ‬ ‫ﻭﺍﺳﻌﺔﺍﻟﻨﻄﺎﻕ‪.‬‬ ‫ ﻳﺘﻀﻤﻦﺍﻟﺘﺤﻠﻞ ﺗﺤﻠﻴﻞ ﻫﺬﻩ ﺍﻟﻤﻜﻮﻧﺎﺕ ﻭﺍﺳﻌﺔ ﺍﻟﻨﻄﺎﻕ ﻭﺗﻤﺜﻴﻠﻬﺎ ﻛﻤﺠﻤﻮﻋﺔ ﻣﻦ‬ ‫ﺍﻟﻤﻜﻮﻧﺎﺕﺫﺍﺕ ﺍﻟﺤﺒﻴﺒﺎﺕ ﺍﻟﺪﻗﻴﻘﺔ‪.‬‬ ‫ ﻏﺎﻟﺒﺎًﻣﺎ ﻳﺘﻢ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﻨﻤﺎﺫﺝ ﺍﻟﻄﺒﻘﻴﺔ ﻟﺘﻮﺿﻴﺢ ﻛﻴﻔﻴﺔ ﺗﻜﻮﻳﻦ ﺍﻟﻨﻈﺎﻡ ﻣﻦ ﺍﻟﻤﻜﻮﻧﺎﺕ‪.‬‬ ‫‪22‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺸﻜﻞ‪ 4.6‬ﻧﻤﻮﺫﺝ ﻣﻌﻤﺎﺭﻱ ﻟﻨﻈﺎﻡ ﺍﺳﺘﺮﺟﺎﻉ ﺍﻟﻤﺴﺘﻨﺪﺍﺕ‬ ‫ﻣﺘﺼﻔﺢﺍﻟﻮﻳﺐ‬ ‫ﺍﻟﻤﺪﺧﻼﺕﺍﻟﻤﺤﻠﻴﺔ‬ ‫ﺍﻟﻄﺒﺎﻋﺔﺍﻟﻤﺤﻠﻴﺔ‬ ‫ﺗﻔﺎﻋﻞﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫ﺗﺼﺪﻳﻖ‬ ‫ﺇﺩﺍﺭﺓﻭﺍﺟﻬﺔ ﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫ﺻﻔﺤﺔﻋﻠﻰ ﺍﻹﻧﺘﺮﻧﺖ‬ ‫ﺍﻟﻨﻤﻮﺫﺝﻭﺍﻻﺳﺘﻔﺴﺎﺭ‬ ‫ﺍﻟﻤﺼﺎﺩﻗﺔﻭ‬ ‫ﺟﻴﻞ‬ ‫ﻣﺪﻳﺮ‬ ‫ﺗﻔﻮﻳﺾ‬ ‫ﺍﺳﺘﺮﺟﺎﻉﺍﻟﻤﻌﻠﻮﻣﺎﺕ‬ ‫ﺣﻘﻮﻕ‬ ‫ﻭﺛﻴﻘﺔ‬ ‫ﻣﺤﺎﺳﺒﺔ‬ ‫ﺍﻟﻤﺪﻓﻮﻋﺎﺕ‬ ‫ﻳﺒﺤﺚ‬ ‫ﺇﺩﺍﺭﺓ‬ ‫ﺍﺳﺘﺮﺟﺎﻉ‬ ‫ﻓﻬﺮﺱﺍﻟﻤﺴﺘﻨﺪﺍﺕ‬ ‫ﻓﻬِﺮﺱِ‬ ‫ﻓﻬِﺮﺱِ‬ ‫ﺍﺳﺘﻌﻼﻡﺍﻟﻔﻬﺮﺱ‬ ‫ﺍﻟﺨﻠﻖ‬ ‫ﺇﺩﺍﺭﺓ‬ ‫ﺍﻟﺨﺪﻣﺎﺕﺍﻷﺳﺎﺳﻴﺔ‬ ‫ﺣﺴﺎﺏﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫ﺍﺳﺘﻔﺴﺎﺭ‬ ‫ﻗﺎﻋﺪﺓﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﺍﻟﺘﺴﺠﻴﻞ‬ ‫ﺇﺩﺍﺭﺓ‬ ‫ﺗﺼﺪﻳﻖ‬ ‫ﺍﺳﺘﻔﺴﺎﺭ‬ ‫ﻗﻮﺍﻋﺪﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﺩﻱﺑﻲ ‪5‬‬ ‫ﺩﻱﺑﻲ ‪4‬‬ ‫ﻗﺎﻋﺪﺓﺑﻴﺎﻧﺎﺕ ‪DB3‬‬ ‫ﻗﺎﻋﺪﺓﺑﻴﺎﻧﺎﺕ ‪DB2‬‬ ‫ﻗﺎﻋﺪﺓﺑﻴﺎﻧﺎﺕ ‪1‬‬ ‫‪23‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺘﻌﻘﻴﺪﺍﻟﻤﻌﻤﺎﺭﻱ‬ ‫ ﺗﻨﺸﺄﺍﻟﺘﻌﻘﻴﺪﺍﺕ ﻓﻲ ﺑﻨﻴﺔ ﺍﻟﻨﻈﺎﻡ ﺑﺴﺒﺐ ﻋﺪﺩ ﻭﻃﺒﻴﻌﺔ ﺍﻟﻌﻼﻗﺎﺕ ﺑﻴﻦ ﺍﻟﻤﻜﻮﻧﺎﺕ ﻓﻲ ﻫﺬﺍ‬ ‫ﺍﻟﻨﻈﺎﻡ‪.‬‬ ‫ ﻋﻨﺪﺗﺤﻠﻴﻞ ﻧﻈﺎﻡ ﺇﻟﻰ ﻣﻜﻮﻧﺎﺗﻪ‪ ،‬ﻳﺠﺐ ﻋﻠﻴﻚ ﻣﺤﺎﻭﻟﺔ ﺗﺠﻨﺐ ﺍﻟﺘﻌﻘﻴﺪﺍﺕ ﺍﻟﺒﺮﻣﺠﻴﺔ ﻏﻴﺮ‬ ‫ﺍﻟﻀﺮﻭﺭﻳﺔ‪.‬‬ ‫ﺗﺤﺪﻳﺪﺍﻟﻌﻼﻗﺎﺕ‬ ‫ ‬ ‫ﺇﺫﺍﻛﺎﻧﺖ ﻫﻨﺎﻙ ﻋﻼﻗﺎﺕ ﺑﻴﻦ ﺍﻟﻤﻜﻮﻧﺎﺕ ‪ A‬ﻭ‪ ،B‬ﻓﺴﻴﻜﻮﻥ ﻣﻦ ﺍﻷﺳﻬﻞ ﻓﻬﻤﻬﺎ ﺇﺫﺍ ﺗﻢ ﺗﻌﺮﻳﻒ ‪ A‬ﻭ‪B‬‬ ‫ﻓﻲﻧﻔﺲ ﺍﻟﻮﺣﺪﺓ‪.‬‬ ‫ﺗﻘﻠﻴﻞﺍﻟﺘﺒﻌﻴﺎﺕ ﺍﻟﻤﺸﺘﺮﻛﺔ‬ ‫ ‬ ‫ﻋﻨﺪﻣﺎﻳﻌﺘﻤﺪ ﺍﻟﻤﻜﻮﻧﺎﻥ ‪ A‬ﻭ‪ B‬ﻋﻠﻰ ﺑﻌﺾ ﺍﻟﻤﻜﻮﻧﺎﺕ ﺃﻭ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻷﺧﺮﻯ‪ ،‬ﺗﺰﺩﺍﺩ ﺍﻟﺘﻌﻘﻴﺪﺍﺕ ﻷﻥ‬ ‫ﺍﻟﺘﻐﻴﻴﺮﺍﺕﻓﻲ ﺍﻟﻤﻜﻮﻥ ﺍﻟﻤﺸﺘﺮﻙ ﺗﻌﻨﻲ ﺃﻧﻪ ﻳﺘﻌﻴﻦ ﻋﻠﻴﻚ ﻓﻬﻢ ﻛﻴﻔﻴﺔ ﺗﺄﺛﻴﺮ ﻫﺬﻩ ﺍﻟﺘﻐﻴﻴﺮﺍﺕ ﻋﻠﻰ‬ ‫ﻛﻞﻣﻦ ‪ A‬ﻭ‪.B‬‬ ‫ ﻣﻦﺍﻷﻓﻀﻞ ﺩﺍﺉﻤﺎً ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺤﻠﻴﺔ ﺃﻳﻨﻤﺎ ﻛﺎﻥ ﺫﻟﻚ ﻣﻤﻜﻨﺎً ﻭﺗﺠﻨﺐ ﻣﺸﺎﺭﻛﺔ‬ ‫ﺍﻟﺒﻴﺎﻧﺎﺕﺇﺫﺍ ﻛﺎﻥ ﺫﻟﻚ ﻣﻤﻜﻨﺎً‪.‬‬ ‫‪24‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺸﻜﻞ‪ 4.7‬ﺃﻣﺜﻠﺔ ﻋﻠﻰ ﺍﻟﻌﻼﻗﺎﺕ ﺑﻴﻦ ﺍﻟﻤﻜﻮﻧﺎﺕ‬ ‫‪ C2‬ﻳﻘﻊ ﻣﻊ ‪C1‬‬ ‫‪ C2‬ﻳﺴﺘﺨﺪﻡ ‪C1‬‬ ‫‪ C2‬ﻫﻮ ﺟﺰء ﻣﻦ ‪C1‬‬ ‫ﺝ‪1‬‬ ‫ﺳﻲ ‪2‬‬ ‫ﺳﻲ ‪2‬‬ ‫ﺝ‪1‬‬ ‫ﺳﻲﺳﻲ ‪11‬‬ ‫ﻣﻜﺎﻟﻤﺎﺕ‬ ‫ﺳﻲ ‪2‬‬ ‫‪ C2‬ﺗﺸﺎﺭﻙ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﻊ ‪C1‬‬ ‫ﺳﻲ ‪2‬‬ ‫ﺑﻴﺎﻧﺎﺕ‬ ‫ﺝ‪1‬‬ ‫‪25‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺸﻜﻞ‪ 4.8‬ﺇﺭﺷﺎﺩﺍﺕ ﺍﻟﺘﺼﻤﻴﻢ ﺍﻟﻤﻌﻤﺎﺭﻱ‬ ‫ﻓﺼﻞﺍﻻﻫﺘﻤﺎﻣﺎﺕ‬ ‫ﻗﻢﺑﺘﻨﻈﻴﻢ ﻫﻨﺪﺳﺘﻚ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ ﺇﻟﻰ‬ ‫ﻣﻜﻮﻧﺎﺕﺗﺮﻛﺰ ﻋﻠﻰ‬ ‫ﺍﻫﺘﻤﺎﻡﻭﺍﺣﺪ‬ ‫ﺗﺼﻤﻴﻢ‬ ‫ﺍﻟﻤﺒﺎﺩﺉﺍﻟﺘﻮﺟﻴﻬﻴﺔ‬ ‫ﺗﻨﻔﻴﺬﻣﺮﺓ ﻭﺍﺣﺪﺓ‬ ‫ﻭﺍﺟﻬﺎﺕﻣﺴﺘﻘﺮﺓ‬ ‫ﺗﺠﻨﺐﺍﻟﺘﻜﺮﺍﺭ‬ ‫ﻣﻜﻮﻥﺍﻟﺘﺼﻤﻴﻢ‬ ‫ﺍﻟﻮﻇﺎﺉﻒﻓﻲ ﺃﻣﺎﻛﻦ ﻣﺨﺘﻠﻔﺔ ﻓﻲ‬ ‫ﻭﺍﺟﻬﺎﺕﻣﺘﻤﺎﺳﻜﺔ‬ ‫ﺍﻟﻬﻨﺪﺳﺔﺍﻟﻤﻌﻤﺎﺭﻳﺔ ﺍﻟﺨﺎﺻﺔ ﺑﻚ‬ ‫ﻭﻫﺬﺍﺍﻟﺘﻐﻴﻴﺮ ﺑﻄﻲء‬ ‫‪26‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺇﺭﺷﺎﺩﺍﺕﺍﻟﺘﺼﻤﻴﻢ ﻭﺍﻟﻬﻨﺪﺳﺔ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ ﺍﻟﻄﺒﻘﻴﺔ‬ ‫ ﻛﻞﻃﺒﻘﺔ ﻫﻲ ﻣﻨﻄﻘﺔ ﻣﺜﻴﺮﺓ ﻟﻠﻘﻠﻖ ﻭﻳﺘﻢ ﺍﻟﻨﻈﺮ ﺇﻟﻴﻬﺎ ﺑﺸﻜﻞ ﻣﻨﻔﺼﻞ ﻋﻦ ﺍﻟﻄﺒﻘﺎﺕ ﺍﻷﺧﺮﻯ‪.‬‬ ‫ﺗﻬﺘﻢﺍﻟﻄﺒﻘﺔ ﺍﻟﻌﻠﻴﺎ ﺑﺘﻔﺎﻋﻞ ﺍﻟﻤﺴﺘﺨﺪﻡ‪ ،‬ﻭﺍﻟﻄﺒﻘﺔ ﺍﻟﺘﺎﻟﻴﺔ ﺑﺈﺩﺍﺭﺓ ﻭﺍﺟﻬﺔ ﺍﻟﻤﺴﺘﺨﺪﻡ‪ ،‬ﻭﺍﻟﻄﺒﻘﺔ ﺍﻟﺜﺎﻟﺜﺔ‬ ‫ ‬ ‫ﺑﺎﺳﺘﺮﺟﺎﻉﺍﻟﻤﻌﻠﻮﻣﺎﺕ ﻭﻫﻜﺬﺍ‪.‬‬ ‫ ﺩﺍﺧﻞﻛﻞ ﻃﺒﻘﺔ‪ ،‬ﺗﻜﻮﻥ ﺍﻟﻤﻜﻮﻧﺎﺕ ﻣﺴﺘﻘﻠﺔ ﻭﻻ ﺗﺘﺪﺍﺧﻞ ﻓﻲ ﺍﻟﻮﻇﺎﺉﻒ‪.‬‬ ‫ﺗﺘﻀﻤﻦﺍﻟﻄﺒﻘﺎﺕ ﺍﻟﺴﻔﻠﻴﺔ ﻣﻜﻮﻧﺎﺕ ﺗﻮﻓﺮ ﻭﻇﺎﺉﻒ ﻋﺎﻣﺔ‪ ،‬ﻭﺑﺎﻟﺘﺎﻟﻲ ﻟﻴﺴﺖ ﻫﻨﺎﻙ ﺣﺎﺟﺔ ﻟﺘﻜﺮﺍﺭ ﺫﻟﻚ‬ ‫ ‬ ‫ﻓﻲﺍﻟﻤﻜﻮﻧﺎﺕ ﺍﻟﻤﻮﺟﻮﺩﺓ ﻓﻲ ﻣﺴﺘﻮﻯ ﺃﻋﻠﻰ‪.‬‬ ‫ ﺍﻟﻨﻤﻮﺫﺝﺍﻟﻤﻌﻤﺎﺭﻱ ﻫﻮ ﻧﻤﻮﺫﺝ ﻋﺎﻟﻲ ﺍﻟﻤﺴﺘﻮﻯ ﻻ ﻳﺘﻀﻤﻦ ﻣﻌﻠﻮﻣﺎﺕ ﺍﻟﺘﻨﻔﻴﺬ‪.‬‬ ‫ﻣﻦﺍﻟﻨﺎﺣﻴﺔ ﺍﻟﻤﺜﺎﻟﻴﺔ‪ ،‬ﻳﺠﺐ ﺃﻥ ﺗﺘﻔﺎﻋﻞ ﺍﻟﻤﻜﻮﻧﺎﺕ ﺍﻟﻤﻮﺟﻮﺩﺓ ﻓﻲ ﺍﻟﻤﺴﺘﻮﻯ ‪) X‬ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ( ﻓﻘﻂ ﻣﻊ ﻭﺍﺟﻬﺎﺕ ﺑﺮﻣﺠﺔ‬ ‫ ‬ ‫ﺍﻟﺘﻄﺒﻴﻘﺎﺕﺍﻟﺨﺎﺻﺔ ﺑﺎﻟﻤﻜﻮﻧﺎﺕ ﺍﻟﻤﻮﺟﻮﺩﺓ ﻓﻲ ﺍﻟﻤﺴﺘﻮﻯ ‪.X-1‬ﺃﻱ ﺃﻥ ﺍﻟﺘﻔﺎﻋﻼﺕ ﻳﺠﺐ ﺃﻥ ﺗﻜﻮﻥ ﺑﻴﻦ ﺍﻟﻄﺒﻘﺎﺕ ﻭﻟﻴﺲ ﻋﺒﺮ‬ ‫ﺍﻟﻄﺒﻘﺎﺕ‪.‬‬ ‫‪27‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﻤﺨﺎﻭﻑﺍﻟﻤﺘﻘﺎﻃﻌﺔ‬ ‫ ﺇﻥﺍﻟﻤﺨﺎﻭﻑ ﺍﻟﻤﺘﻘﺎﻃﻌﺔ ﻫﻲ ﻣﺨﺎﻭﻑ ﻧﻈﺎﻣﻴﺔ‪ ،‬ﺃﻱ ﺃﻧﻬﺎ ﺗﺆﺛﺮ ﻋﻠﻰ ﺍﻟﻨﻈﺎﻡ ﺑﺄﻛﻤﻠﻪ‪.‬‬ ‫ ﻓﻲﺍﻟﻬﻨﺪﺳﺔ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ ﻣﺘﻌﺪﺩﺓ ﺍﻟﻄﺒﻘﺎﺕ‪ ،‬ﺗﺆﺛﺮ ﺍﻟﻤﺨﺎﻭﻑ ﺍﻟﻤﺘﻘﺎﻃﻌﺔ ﻋﻠﻰ ﺟﻤﻴﻊ ﺍﻟﻄﺒﻘﺎﺕ‬ ‫ﻓﻲﺍﻟﻨﻈﺎﻡ ﺑﺎﻹﺿﺎﻓﺔ ﺇﻟﻰ ﺍﻟﻄﺮﻳﻘﺔ ﺍﻟﺘﻲ ﻳﺴﺘﺨﺪﻡ ﺑﻬﺎ ﺍﻷﺷﺨﺎﺹ ﺍﻟﻨﻈﺎﻡ‪.‬‬ ‫ ﺇﻥﺍﻻﻫﺘﻤﺎﻣﺎﺕ ﺍﻟﻤﺘﻘﺎﻃﻌﺔ ﺗﺨﺘﻠﻒ ﺗﻤﺎﻣﺎً ﻋﻦ ﺍﻻﻫﺘﻤﺎﻣﺎﺕ ﺍﻟﻮﻇﻴﻔﻴﺔ ﺍﻟﺘﻲ ﺗﻤﺜﻠﻬﺎ‬ ‫ﺍﻟﻄﺒﻘﺎﺕﻓﻲ ﺑﻨﻴﺔ ﺍﻟﺒﺮﻧﺎﻣﺞ‪.‬‬ ‫ ﻳﺠﺐﻋﻠﻰ ﻛﻞ ﻃﺒﻘﺔ ﺃﻥ ﺗﺄﺧﺬ ﻫﺬﻩ ﺍﻟﻤﺨﺎﻭﻑ ﻓﻲ ﺍﻻﻋﺘﺒﺎﺭ‪ ،‬ﻭﻣﻦ ﺍﻟﻤﺤﺘﻢ ﺃﻥ ﺗﺤﺪﺙ‬ ‫ﺗﻔﺎﻋﻼﺕﺑﻴﻦ ﺍﻟﻄﺒﻘﺎﺕ ﺑﺴﺒﺐ ﻫﺬﻩ ﺍﻟﻤﺨﺎﻭﻑ‪.‬‬ ‫ ﺇﻥﻭﺟﻮﺩ ﺍﻟﻤﺨﺎﻭﻑ ﺍﻟﻤﺘﻘﺎﻃﻌﺔ ﻫﻮ ﺍﻟﺴﺒﺐ ﻓﻲ ﺃﻥ ﺗﻌﺪﻳﻞ ﺍﻟﻨﻈﺎﻡ ﺑﻌﺪ ﺗﺼﻤﻴﻤﻪ ﻟﺘﺤﺴﻴﻦ‬ ‫ﺃﻣﻨﻪﻏﺎﻟﺒﺎ ًﻣﺎ ﻳﻜﻮﻥ ﺻﻌﺒﺎ‪ً.‬‬ ‫‪28‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺸﻜﻞ‪ 4.9‬ﺍﻟﻤﺨﺎﻭﻑ ﺍﻟﻤﺘﻘﺎﻃﻌﺔ‬ ‫ﻣﺼﺪﺍﻗﻴﺔ‬ ‫ﺃﺩﺍء‬ ‫ﺣﻤﺎﻳﺔ‬ ‫ﻭﺍﺟﻬﺔﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫ﻃﻠﺐ‬ ‫ﺑﻨﻴﺔﺗﺤﺘﻴﺔ‬ ‫ﻧﻈﺎﻡﺍﻟﺘﺸﻐﻴﻞ‬ ‫ﺍﻷﺟﻬﺰﺓ‬ ‫‪29‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺠﺪﻭﻝ‪ 4.5‬ﺍﻷﻣﻦ ﺑﺎﻋﺘﺒﺎﺭﻩ ﻣﺼﺪﺭ ﻗﻠﻖ ﻣﺸﺘﺮﻙ‬ ‫ﻫﻨﺪﺳﺔﺍﻷﻣﻦ‬ ‫ﻳﺘﻢﺍﺳﺘﺨﺪﺍﻡ ﺗﻘﻨﻴﺎﺕ ﻣﺨﺘﻠﻔﺔ ﻓﻲ ﻃﺒﻘﺎﺕ ﻣﺨﺘﻠﻔﺔ‪ ،‬ﻣﺜﻞ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ ‪ SQL‬ﺃﻭ ﻣﺘﺼﻔﺢ ‪.Firefox‬‬ ‫ﻳﻤﻜﻦﻟﻠﻤﻬﺎﺟﻤﻴﻦ ﻣﺤﺎﻭﻟﺔ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﺜﻐﺮﺍﺕ ﺍﻷﻣﻨﻴﺔ ﻓﻲ ﻫﺬﻩ ﺍﻟﺘﻘﻨﻴﺎﺕ ﻟﻠﻮﺻﻮﻝ ﺇﻟﻰ ﺍﻟﺒﻴﺎﻧﺎﺕ‪.‬‬ ‫ﻭﺑﺎﻟﺘﺎﻟﻲ‪،‬ﻓﺄﻧﺖ ﺑﺤﺎﺟﺔ ﺇﻟﻰ ﺍﻟﺤﻤﺎﻳﺔ ﻣﻦ ﺍﻟﻬﺠﻤﺎﺕ ﻓﻲ ﻛﻞ ﻃﺒﻘﺔ‪ ،‬ﺑﺎﻹﺿﺎﻓﺔ ﺇﻟﻰ ﺍﻟﺤﻤﺎﻳﺔ ﻓﻲ‬ ‫ﺍﻟﻄﺒﻘﺎﺕﺍﻷﺩﻧﻰ ﻓﻲ ﺍﻟﻨﻈﺎﻡ‪ ،‬ﻣﻦ ﺍﻟﻬﺠﻤﺎﺕ ﺍﻟﻨﺎﺟﺤﺔ ﺍﻟﺘﻲ ﺣﺪﺛﺖ ﻓﻲ ﻃﺒﻘﺎﺕ ﺍﻟﻤﺴﺘﻮﻯ ﺍﻷﻋﻠﻰ‪.‬‬ ‫ﺇﺫﺍﻛﺎﻥ ﻫﻨﺎﻙ ﻣﻜﻮﻥ ﺃﻣﺎﻥ ﻭﺍﺣﺪ ﻓﻘﻂ ﻓﻲ ﺍﻟﻨﻈﺎﻡ‪ ،‬ﻓﻬﺬﺍ ﻳﻤﺜﻞ ﺛﻐﺮﺓ ﺃﻣﻨﻴﺔ ﺧﻄﻴﺮﺓ ﻓﻲ ﺍﻟﻨﻈﺎﻡ‪.‬ﺇﺫﺍ ﻣﺮﺕ‬ ‫ﺟﻤﻴﻊﻋﻤﻠﻴﺎﺕ ﻓﺤﺺ ﺍﻷﻣﺎﻥ ﻋﺒﺮ ﻫﺬﺍ ﺍﻟﻤﻜﻮﻥ ﻭﺗﻮﻗﻒ ﻋﻦ ﺍﻟﻌﻤﻞ ﺑﺸﻜﻞ ﺻﺤﻴﺢ ﺃﻭ ﺗﻌﺮﺽ ﻟﻠﺨﻄﺮ ﻓﻲ‬ ‫ﻫﺠﻮﻡ‪،‬ﻓﻬﺬﺍ ﻳﻌﻨﻲ ﺃﻧﻪ ﻻ ﻳﻮﺟﺪ ﺃﻣﺎﻥ ﻣﻮﺛﻮﻕ ﺑﻪ ﻓﻲ ﻧﻈﺎﻣﻚ‪.‬‬ ‫ﻣﻦﺧﻼﻝ ﺗﻮﺯﻳﻊ ﺍﻷﻣﺎﻥ ﻋﺒﺮ ﺍﻟﻄﺒﻘﺎﺕ‪ ،‬ﻳﺼﺒﺢ ﻧﻈﺎﻣﻚ ﺃﻛﺜﺮ ﻣﺮﻭﻧﺔ ﻓﻲ ﻣﻮﺍﺟﻬﺔ ﺍﻟﻬﺠﻤﺎﺕ ﻭﻓﺸﻞ ﺍﻟﺒﺮﺍﻣﺞ )‬ ‫ﺗﺬﻛﺮﻣﺜﺎﻝ ‪ Rogue One‬ﻓﻲ ﻭﻗﺖ ﺳﺎﺑﻖ ﻣﻦ ﺍﻟﻔﺼﻞ(‪.‬‬ ‫‪30‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺸﻜﻞ‪ 4.10‬ﺑﻨﻴﺔ ﻃﺒﻘﻴﺔ ﻋﺎﻣﺔ ﻟﺘﻄﺒﻴﻖ ﻗﺎﺉﻢ ﻋﻠﻰ ﺍﻟﻮﻳﺐ‬ ‫ﻭﺍﺟﻬﺔﻣﺴﺘﺨﺪﻡ ﺗﻌﺘﻤﺪ ﻋﻠﻰ ﺍﻟﻤﺘﺼﻔﺢ ﺃﻭ ﺍﻟﻬﺎﺗﻒ ﺍﻟﻤﺤﻤﻮﻝ‬ ‫ﺇﺩﺍﺭﺓﺍﻟﻤﺼﺎﺩﻗﺔ ﻭﺗﻔﺎﻋﻞ ﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫ﻭﻇﺎﺉﻒﺧﺎﺻﺔ ﺑﺎﻟﺘﻄﺒﻴﻖ‬ ‫ﺍﻟﺨﺪﻣﺎﺕﺍﻟﻤﺸﺘﺮﻛﺔ ﺍﻷﺳﺎﺳﻴﺔ‬ ‫ﺇﺩﺍﺭﺓﺍﻟﻤﻌﺎﻣﻼﺕ ﻭﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫‪31‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺠﺪﻭﻝ‪ 4.6‬ﻭﻇﻴﻔﺔ ﺍﻟﻄﺒﻘﺔ ﻓﻲ ﺗﻄﺒﻴﻖ ﻗﺎﺉﻢ ﻋﻠﻰ ﺍﻟﻮﻳﺐ‬ ‫ﻭﺍﺟﻬﺔﻣﺴﺘﺨﺪﻡ ﺗﻌﺘﻤﺪ ﻋﻠﻰ ﺍﻟﻤﺘﺼﻔﺢ ﺃﻭ ﺍﻟﻬﺎﺗﻒ ﺍﻟﻤﺤﻤﻮﻝ‬ ‫ﻭﺍﺟﻬﺔﻧﻈﺎﻡ ﻣﺘﺼﻔﺢ ﻭﻳﺐ ﺗﺴُﺘﺨﺪﻡ ﻓﻴﻬﺎ ﻧﻤﺎﺫﺝ ‪ HTML‬ﻏﺎﻟﺒﺎً ﻟﺠﻤﻊ ﻣﺪﺧﻼﺕ ﺍﻟﻤﺴﺘﺨﺪﻡ‪.‬ﻳﺠﺐ ﺃﻳﻀ ًﺎ‬ ‫ﺗﻀﻤﻴﻦﻣﻜﻮﻧﺎﺕ ‪ Javascript‬ﻟﻺﺟﺮﺍءﺍﺕ ﺍﻟﻤﺤﻠﻴﺔ‪ ،‬ﻣﺜﻞ ﺍﻟﺘﺤﻘﻖ ﻣﻦ ﺻﺤﺔ ﺍﻟﻤﺪﺧﻼﺕ‪ ،‬ﻋﻠﻰ ﻫﺬﺍ ﺍﻟﻤﺴﺘﻮﻯ‪.‬‬ ‫ﺑﺪﻻ ًﻣﻦ ﺫﻟﻚ‪ ،‬ﻳﻤﻜﻦ ﺗﻨﻔﻴﺬ ﻭﺍﺟﻬﺔ ﺍﻟﻬﺎﺗﻒ ﺍﻟﻤﺤﻤﻮﻝ ﻛﺘﻄﺒﻴﻖ‪.‬‬ ‫ﺍﻟﻤﺼﺎﺩﻗﺔﻭﺇﺩﺍﺭﺓ ﻭﺍﺟﻬﺔ ﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫ﻃﺒﻘﺔﺇﺩﺍﺭﺓ ﻭﺍﺟﻬﺔ ﺍﻟﻤﺴﺘﺨﺪﻡ ﺍﻟﺘﻲ ﻗﺪ ﺗﺘﻀﻤﻦ ﻣﻜﻮﻧﺎﺕ ﻟﻤﺼﺎﺩﻗﺔ ﺍﻟﻤﺴﺘﺨﺪﻡ ﻭﺇﻧﺸﺎء ﺻﻔﺤﺔ‬ ‫ﺍﻟﻮﻳﺐ‪.‬‬ ‫ﻭﻇﺎﺉﻒﺧﺎﺻﺔ ﺑﺎﻟﺘﻄﺒﻴﻖ‬ ‫ﻃﺒﻘﺔ"ﺗﻄﺒﻴﻖ" ﺗﻮﻓﺮ ﻭﻇﺎﺉﻒ ﺍﻟﺘﻄﺒﻴﻖ‪.‬ﻭﻓﻲ ﺑﻌﺾ ﺍﻷﺣﻴﺎﻥ‪ ،‬ﻗﺪ ﻳﺘﻢ ﺗﻮﺳﻴﻌﻬﺎ ﺇﻟﻰ ﺃﻛﺜﺮ ﻣﻦ ﻃﺒﻘﺔ‪.‬‬ ‫ﺍﻟﺨﺪﻣﺎﺕﺍﻟﻤﺸﺘﺮﻛﺔ ﺍﻷﺳﺎﺳﻴﺔ‬ ‫ﻃﺒﻘﺔﺧﺪﻣﺎﺕ ﻣﺸﺘﺮﻛﺔ‪ ،‬ﺗﺘﻀﻤﻦ ﻣﻜﻮﻧﺎﺕ ﺗﻮﻓﺮ ﺍﻟﺨﺪﻣﺎﺕ ﺍﻟﺘﻲ ﺗﺴﺘﺨﺪﻣﻬﺎ ﻣﻜﻮﻧﺎﺕ ﻃﺒﻘﺔ ﺍﻟﺘﻄﺒﻴﻖ‪.‬‬ ‫ﺇﺩﺍﺭﺓﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺍﻟﻤﻌﺎﻣﻼﺕ‬ ‫ﻃﺒﻘﺔﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ ﺗﻮﻓﺮ ﺧﺪﻣﺎﺕ ﻣﺜﻞ ﺇﺩﺍﺭﺓ ﺍﻟﻤﻌﺎﻣﻼﺕ ﻭﺍﻻﺳﺘﺮﺩﺍﺩ‪.‬ﺇﺫﺍ ﻛﺎﻥ ﺗﻄﺒﻴﻘﻚ ﻻ ﻳﺴﺘﺨﺪﻡ ﻗﺎﻋﺪﺓ‬ ‫ﺑﻴﺎﻧﺎﺕ‪،‬ﻓﻘﺪ ﻻ ﻳﻜﻮﻥ ﺫﻟﻚ ﺿﺮﻭﺭﻳﺎً‪.‬‬ ‫‪32‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺠﺪﻭﻝ‪ 4.7‬ﻣﺒﺎﺩﺉ ﺍﻟﺘﺼﻤﻴﻢ ﺍﻟﻤﻌﻤﺎﺭﻱ ‪iLearn‬‬ ‫ﻗﺎﺑﻠﻴﺔﺍﻻﺳﺘﺒﺪﺍﻝ‬ ‫ﻳﺠﺐﺃﻥ ﻳﻜﻮﻥ ﻣﻦ ﺍﻟﻤﻤﻜﻦ ﻟﻠﻤﺴﺘﺨﺪﻣﻴﻦ ﺍﺳﺘﺒﺪﺍﻝ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﻟﻤﻮﺟﻮﺩﺓ ﻓﻲ ﺍﻟﻨﻈﺎﻡ ﺑﺒﺪﺍﺉﻞ‬ ‫ﻭﺇﺿﺎﻓﺔﺗﻄﺒﻴﻘﺎﺕ ﺟﺪﻳﺪﺓ‪.‬ﻭﺑﺎﻟﺘﺎﻟﻲ‪ ،‬ﻻ ﻳﻨﺒﻐﻲ ﺃﻥ ﺗﻜﻮﻥ ﻗﺎﺉﻤﺔ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﻟﻤﻀﻤﻨﺔ ﻣﺪﻣﺠﺔ ﻓﻲ‬ ‫ﺍﻟﻨﻈﺎﻡ‪.‬‬ ‫ﻗﺎﺑﻠﻴﺔﺍﻟﺘﻮﺳﻌﺔ‬ ‫ﻳﺠﺐﺃﻥ ﻳﻜﻮﻥ ﻣﻦ ﺍﻟﻤﻤﻜﻦ ﻟﻠﻤﺴﺘﺨﺪﻣﻴﻦ ﺃﻭ ﻣﺴﺆﻭﻟﻲ ﺍﻟﻨﻈﺎﻡ ﺇﻧﺸﺎء ﺇﺻﺪﺍﺭﺍﺗﻬﻢ ﺍﻟﺨﺎﺻﺔ ﻣﻦ‬ ‫ﺍﻟﻨﻈﺎﻡ‪،‬ﻭﺍﻟﺘﻲ ﻗﺪ ﺗﻌﻤﻞ ﻋﻠﻰ ﺗﻮﺳﻴﻊ ﺃﻭ ﺗﻘﻴﻴﺪ ﺍﻟﻨﻈﺎﻡ "ﺍﻟﻘﻴﺎﺳﻲ"‪.‬‬ ‫ﻣﻨﺎﺳﺐﻟﻠﻌﻤﺮ‬ ‫ﻳﻨﺒﻐﻲﺩﻋﻢ ﻭﺍﺟﻬﺎﺕ ﺍﻟﻤﺴﺘﺨﺪﻡ ﺍﻟﺒﺪﻳﻠﺔ ﺑﺤﻴﺚ ﻳﻤﻜﻦ ﺇﻧﺸﺎء ﻭﺍﺟﻬﺎﺕ ﻣﻨﺎﺳﺒﺔ ﻷﻋﻤﺎﺭ‬ ‫ﺍﻟﻄﻼﺏﻋﻠﻰ ﻣﺴﺘﻮﻳﺎﺕ ﻣﺨﺘﻠﻔﺔ‪.‬‬ ‫ﻗﺎﺑﻠﻴﺔﺍﻟﺒﺮﻣﺠﺔ‬ ‫ﻳﺠﺐﺃﻥ ﻳﻜﻮﻥ ﻣﻦ ﺍﻟﺴﻬﻞ ﻋﻠﻰ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺇﻧﺸﺎء ﺗﻄﺒﻴﻘﺎﺗﻬﻢ ﺍﻟﺨﺎﺻﺔ ﻋﻦ ﻃﺮﻳﻖ ﺭﺑﻂ‬ ‫ﺍﻟﺘﻄﺒﻴﻘﺎﺕﺍﻟﻤﻮﺟﻮﺩﺓ ﻓﻲ ﺍﻟﻨﻈﺎﻡ‪.‬‬ ‫ﺍﻟﺤﺪﺍﻷﺩﻧﻰ ﻣﻦ ﺍﻟﻌﻤﻞ‬ ‫ﻻﻳﻨﺒﻐﻲ ﻟﻠﻤﺴﺘﺨﺪﻣﻴﻦ ﺍﻟﺬﻳﻦ ﻻ ﻳﺮﻏﺒﻮﻥ ﻓﻲ ﺗﻐﻴﻴﺮ ﺍﻟﻨﻈﺎﻡ ﺍﻟﻘﻴﺎﻡ ﺑﻌﻤﻞ ﺇﺿﺎﻓﻲ ﺣﺘﻰ ﻳﺘﻤﻜﻦ‬ ‫ﺍﻟﻤﺴﺘﺨﺪﻣﻮﻥﺍﻵﺧﺮﻭﻥ ﻣﻦ ﺇﺟﺮﺍء ﺍﻟﺘﻐﻴﻴﺮﺍﺕ‪.‬‬ ‫‪33‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﻣﺒﺎﺩﺉﺗﺼﻤﻴﻢ ‪iLearn‬‬ ‫ ﻛﺎﻥﻫﺪﻓﻨﺎ ﻓﻲ ﺗﺼﻤﻴﻢ ﻧﻈﺎﻡ ‪ iLearn‬ﻫﻮ ﺇﻧﺸﺎء ﻧﻈﺎﻡ ﻋﺎﻟﻤﻲ ﻗﺎﺑﻞ ﻟﻠﺘﻜﻴﻒ ﻳﻤﻜﻦ‬ ‫ﺗﺤﺪﻳﺜﻪﺑﺴﻬﻮﻟﺔ ﻣﻊ ﺗﻮﻓﺮ ﺃﺩﻭﺍﺕ ﺗﻌﻠﻴﻤﻴﺔ ﺟﺪﻳﺪﺓ‪.‬‬ ‫ﻭﻫﺬﺍﻳﻌﻨﻲ ﺃﻧﻪ ﻳﺠﺐ ﺃﻥ ﻳﻜﻮﻥ ﻣﻦ ﺍﻟﻤﻤﻜﻦ ﺗﻐﻴﻴﺮ ﻭﺍﺳﺘﺒﺪﺍﻝ ﺍﻟﻤﻜﻮﻧﺎﺕ ﻭﺍﻟﺨﺪﻣﺎﺕ ﻓﻲ ﺍﻟﻨﻈﺎﻡ )‬ ‫ ‬ ‫ﺍﻟﻤﺒﺪﺃﺍﻥ)‪ (1‬ﻭ)‪.((2‬‬ ‫ﻧﻈﺮﺍًﻷﻥ ﻣﺴﺘﺨﺪﻣﻲ ﺍﻟﻨﻈﺎﻡ ﺍﻟﻤﺤﺘﻤﻠﻴﻦ ﺗﺮﺍﻭﺣﺖ ﺃﻋﻤﺎﺭﻫﻢ ﺑﻴﻦ ‪ 3‬ﺇﻟﻰ ‪ 18‬ﻋﺎﻣﺎً‪ ،‬ﻓﻘﺪ ﺍﺣﺘﺠﻨﺎ ﺇﻟﻰ ﺗﻮﻓﻴﺮ‬ ‫ ‬ ‫ﻭﺍﺟﻬﺎﺕﻣﺴﺘﺨﺪﻡ ﻣﻨﺎﺳﺒﺔ ﻟﻠﻌﻤﺮ ﻭﺗﺴﻬﻴﻞ ﺍﺧﺘﻴﺎﺭ ﺍﻟﻮﺍﺟﻬﺔ )ﺍﻟﻤﺒﺪﺃ )‪.((3‬‬ ‫ﻳﺴﺎﻫﻢﺍﻟﻤﺒﺪﺃ )‪ (4‬ﺃﻳﻀﺎً ﻓﻲ ﻗﺪﺭﺓ ﺍﻟﻨﻈﺎﻡ ﻋﻠﻰ ﺍﻟﺘﻜﻴﻒ‪ ،‬ﻭﺗﻢ ﺗﻀﻤﻴﻦ ﺍﻟﻤﺒﺪﺃ )‪ (5‬ﻟﻀﻤﺎﻥ ﻋﺪﻡ ﺗﺄﺛﻴﺮ ﻫﺬﻩ‬ ‫ ‬ ‫ﺍﻟﻘﺪﺭﺓﻋﻠﻰ ﺍﻟﺘﻜﻴﻒ ﺳﻠﺒﺎً ﻋﻠﻰ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺍﻟﺬﻳﻦ ﻟﻢ ﻳﺤﺘﺎﺟﻮﺍ ﺇﻟﻴﻬﺎ‪.‬‬ ‫‪34‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺗﺼﻤﻴﻢ‪ iLearn‬ﻛﻨﻈﺎﻡ ﻣﻮﺟﻪ ﻧﺤﻮ ﺍﻟﺨﺪﻣﺔ‬ ‫ ﻟﻘﺪﻗﺎﺩﺗﻨﺎ ﻫﺬﻩ ﺍﻟﻤﺒﺎﺩﺉ ﺇﻟﻰ ﻗﺮﺍﺭ ﺍﻟﺘﺼﻤﻴﻢ ﺍﻟﻤﻌﻤﺎﺭﻱ ﺍﻟﺬﻱ ﻳﻨﺺ ﻋﻠﻰ ﺃﻥ ﻧﻈﺎﻡ ‪iLearn‬‬ ‫ﻳﺠﺐﺃﻥ ﻳﻜﻮﻥ ﻣﻮﺟﻬﺎً ﻧﺤﻮ ﺍﻟﺨﺪﻣﺔ‪.‬‬ ‫ ﻛﻞﻣﻜﻮﻥ ﻓﻲ ﺍﻟﻨﻈﺎﻡ ﻋﺒﺎﺭﺓ ﻋﻦ ﺧﺪﻣﺔ‪.‬ﻭﺃﻱ ﺧﺪﻣﺔ ﻗﺎﺑﻠﺔ ﻟﻼﺳﺘﺒﺪﺍﻝ ﻭﻳﻤﻜﻦ ﺇﻧﺸﺎء ﺧﺪﻣﺎﺕ‬ ‫ﺟﺪﻳﺪﺓﻣﻦ ﺧﻼﻝ ﺍﻟﺠﻤﻊ ﺑﻴﻦ ﺍﻟﺨﺪﻣﺎﺕ ﺍﻟﻤﻮﺟﻮﺩﺓ‪.‬ﻭﻳﻤﻜﻦ ﺗﻮﻓﻴﺮ ﺧﺪﻣﺎﺕ ﻣﺨﺘﻠﻔﺔ ﺗﻘﺪﻡ ﻭﻇﺎﺉﻒ‬ ‫ﻣﻤﺎﺛﻠﺔﻟﻠﻄﻼﺏ ﻣﻦ ﻣﺨﺘﻠﻒ ﺍﻷﻋﻤﺎﺭ‪.‬‬ ‫ ﺗﻜﺎﻣﻞﺍﻟﺨﺪﻣﺔ‬ ‫ﺍﻟﺘﻜﺎﻣﻞﺍﻟﻜﺎﻣﻞﺗﻜﻮﻥ ﺍﻟﺨﺪﻣﺎﺕ ﻋﻠﻰ ﺩﺭﺍﻳﺔ ﺑﺎﻟﺨﺪﻣﺎﺕ ﺍﻷﺧﺮﻯ ﻭﻳﻤﻜﻨﻬﺎ ﺍﻟﺘﻮﺍﺻﻞ ﻣﻌﻬﺎ ﻣﻦ ﺧﻼﻝ ﻭﺍﺟﻬﺎﺕ ﺑﺮﻣﺠﺔ‬ ‫ ‬ ‫ﺍﻟﺘﻄﺒﻴﻘﺎﺕﺍﻟﺨﺎﺻﺔ ﺑﻬﺎ‪.‬‬ ‫ﺍﻟﺘﻜﺎﻣﻞﺍﻟﺠﺰﺉﻲﻗﺪ ﺗﺘﺸﺎﺭﻙ ﺍﻟﺨﺪﻣﺎﺕ ﻓﻲ ﻣﻜﻮﻧﺎﺕ ﺍﻟﺨﺪﻣﺔ ﻭﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﻟﻜﻨﻬﺎ ﻻ ﺗﺪﺭﻙ ﺫﻟﻚ ﻭﻻ‬ ‫ ‬ ‫ﺗﺴﺘﻄﻴﻊﺍﻟﺘﻮﺍﺻﻞ ﺑﺸﻜﻞ ﻣﺒﺎﺷﺮ ﻣﻊ ﺧﺪﻣﺎﺕ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﻷﺧﺮﻯ‪.‬‬ ‫ﻣﺴﺘﻘﻞﻻ ﺗﺴﺘﺨﺪﻡ ﻫﺬﻩ ﺍﻟﺨﺪﻣﺎﺕ ﺃﻱ ﺧﺪﻣﺎﺕ ﻣﺸﺘﺮﻛﺔ ﻟﻠﻨﻈﺎﻡ ﺃﻭ ﻗﻮﺍﻋﺪ ﺑﻴﺎﻧﺎﺕ ﻭﻻ ﺗﺪﺭﻙ ﻭﺟﻮﺩ ﺃﻱ‬ ‫ ‬ ‫ﺧﺪﻣﺎﺕﺃﺧﺮﻯ ﻓﻲ ﺍﻟﻨﻈﺎﻡ‪.‬ﻭﻳﻤﻜﻦ ﺍﺳﺘﺒﺪﺍﻟﻬﺎ ﺑﺄﻱ ﺧﺪﻣﺔ ﻣﻤﺎﺛﻠﺔ ﺃﺧﺮﻯ‪.‬‬ ‫‪35‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺸﻜﻞ‪.4.11‬ﻧﻤﻮﺫﺝ ﻣﻌﻤﺎﺭﻱ ﻣﺘﻌﺪﺩ ﺍﻟﻄﺒﻘﺎﺕ ﻟﻨﻈﺎﻡ ‪iLearn‬‬ ‫ﻭﺍﺟﻬﺔﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫ﺗﻄﺒﻴﻖ‪iLearn‬‬ ‫ﻣﺘﺼﻔﺢﺍﻟﻮﻳﺐ‬ ‫ﺇﺩﺍﺭﺓﻭﺍﺟﻬﺔ ﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫ﺗﺴﺠﻴﻞﺍﻟﺪﺧﻮﻝ‬ ‫ﺗﺴﻠﻴﻢﺍﻟﻮﺍﺟﻬﺔ‬ ‫ﺇﺩﺍﺭﺓﺍﻟﻨﻤﺎﺫﺝ‬ ‫ﺇﻧﺸﺎءﺍﻟﻮﺍﺟﻬﺔ‬ ‫ﺧﺪﻣﺎﺕﺍﻟﺘﻜﻮﻳﻦ‬ ‫ﻳﺜﺒﺖ‬ ‫ﻭﺍﺟﻬﺔﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫ﺣﻤﺎﻳﺔ‬ ‫ﻃﻠﺐ‬ ‫ﻣﺠﻤﻮﻋﺔ‬ ‫ﺧﺪﻣﺔ‬ ‫ﺇﻋﺪﺍﺩﺍﺕ‬ ‫ﺇﻋﺪﺍﺩﺍﺕ‬ ‫ﺗﻜﻮﻳﻦﺍﻟﺘﻜﻮﻳﻦ‬ ‫ﺧﺪﻣﺎﺕﺍﻟﺘﻄﺒﻴﻘﺎﺕ‬ ‫ﺗﻢﺗﺜﺒﻴﺖ ﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫ﺍﻟﺒﺮﻳﺪﺍﻹﻟﻜﺘﺮﻭﻧﻲ ﻭ‬ ‫ﻓﻴﺪﻳﻮﺛﺎﺑﺖ‬ ‫ﻣﻌﺎﻟﺞﺍﻟﻜﻠﻤﺎﺕ‬ ‫ﺍﻟﻮﺻﻮﻝﺇﻟﻰ ﺍﻷﺭﺷﻴﻒ‬ ‫ﺍﻟﺘﻄﺒﻴﻘﺎﺕ‬ ‫ﺍﻟﺮﺳﺎﺉﻞ‬ ‫ﻣﺪﻭﻧﺔﻭﻳﻜﻲ ﺟﺪﻭﻝ ﺑﻴﺎﻧﺎﺕ ﻋﺮﺽ ﺗﻘﺪﻳﻤﻲ ﺭﺳﻢ‬ ‫ﺍﻟﺨﺪﻣﺎﺕﺍﻟﻤﺘﻜﺎﻣﻠﺔ‬ ‫ﺍﻟﻤﺼﺎﺩﻗﺔﻭ‬ ‫ﺍﻟﺘﻌﻠﻢﺍﻻﻓﺘﺮﺍﺿﻲ‬ ‫ﺗﻔﻮﻳﺾ‬ ‫ﺑﻴﺉﺔ‬ ‫ﺗﺤﻠﻴﻼﺕﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫ﺍﻛﺘﺸﺎﻑﺍﻟﻤﻮﺍﺭﺩ‬ ‫ﺧﺪﻣﺎﺕﺍﻟﺒﻨﻴﺔ ﺍﻟﺘﺤﺘﻴﺔ ﺍﻟﻤﺸﺘﺮﻛﺔ‬ ‫ﻭﺍﺟﻬﺔﺍﻟﺘﻄﺒﻴﻖ‬ ‫ﺍﻟﺘﺴﺠﻴﻞﻭﺍﻟﻤﺮﺍﻗﺒﺔ‬ ‫ﺍﻟﻤﺼﺎﺩﻗﺔ‬ ‫ﻳﺒﺤﺚ‬ ‫ﺗﺨﺰﻳﻦﺍﻟﺘﻄﺒﻴﻘﺎﺕ‬ ‫ﺗﺨﺰﻳﻦﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫‪36‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺘﻮﺯﻳﻊ‬ ‫ ﻳﺤﺪﺩﻫﻨﺪﺳﺔ ﺗﻮﺯﻳﻊ ﻧﻈﺎﻡ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﺍﻟﺨﻮﺍﺩﻡ ﺍﻟﻤﻮﺟﻮﺩﺓ ﻓﻲ ﺍﻟﻨﻈﺎﻡ ﻭﺗﺨﺼﻴﺺ ﺍﻟﻤﻜﻮﻧﺎﺕ‬ ‫ﻟﻬﺬﻩﺍﻟﺨﻮﺍﺩﻡ‪.‬‬ ‫ ﺗﻌُﺪﻫﻨﺪﺳﺔ ﺍﻟﻌﻤﻴﻞ ﻭﺍﻟﺨﺎﺩﻡ ﻧﻮﻋﺎً ﻣﻦ ﻫﻨﺪﺳﺔ ﺍﻟﺘﻮﺯﻳﻊ ﺍﻟﻤﻨﺎﺳﺒﺔ ﻟﻠﺘﻄﺒﻴﻘﺎﺕ ﺍﻟﺘﻲ ﻳﺘﻤﻜﻦ‬ ‫ﻓﻴﻬﺎﺍﻟﻌﻤﻼء ﻣﻦ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ ﻣﺸﺘﺮﻛﺔ ﻭﻋﻤﻠﻴﺎﺕ ﻣﻨﻄﻖ ﺍﻷﻋﻤﺎﻝ ﻋﻠﻰ ﺗﻠﻚ‬ ‫ﺍﻟﺒﻴﺎﻧﺎﺕ‪.‬‬ ‫ ﻓﻲﻫﺬﺍ ﺍﻟﺒﻨﺎء‪ ،‬ﻳﺘﻢ ﺗﻨﻔﻴﺬ ﻭﺍﺟﻬﺔ ﺍﻟﻤﺴﺘﺨﺪﻡ ﻋﻠﻰ ﺟﻬﺎﺯ ﺍﻟﻜﻤﺒﻴﻮﺗﺮ ﺃﻭ ﺍﻟﺠﻬﺎﺯ ﺍﻟﻤﺤﻤﻮﻝ‬ ‫ﺍﻟﺨﺎﺹﺑﺎﻟﻤﺴﺘﺨﺪﻡ‪.‬‬ ‫ﺗﺘﻢﺗﻮﺯﻳﻊ ﺍﻟﻮﻇﺎﺉﻒ ﺑﻴﻦ ﺍﻟﻌﻤﻴﻞ ﻭﺟﻬﺎﺯ ﻛﻤﺒﻴﻮﺗﺮ ﺧﺎﺩﻡ ﻭﺍﺣﺪ ﺃﻭ ﺃﻛﺜﺮ‪.‬‬ ‫ ‬ ‫‪37‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺸﻜﻞ‪ 4.12‬ﺑﻨﻴﺔ ﺍﻟﻌﻤﻴﻞ ﻭﺍﻟﺨﺎﺩﻡ‬ ‫ﺍﻟﻌﻤﻴﻞ‪1‬‬ ‫ﻃﻠﺐ‬ ‫ﺇﺟﺎﺑﺔ‬ ‫ﻃﻠﺐ‬ ‫ﺍﻟﻌﻤﻴﻞ‪2‬‬ ‫ﺇﺟﺎﺑﺔ‬ ‫ﻃﻠﺐ‬ ‫ﺍﻟﻌﻤﻴﻞ‪3‬‬ ‫ﺍﻟﺨﻮﺍﺩﻡ‬ ‫ﻃﻠﺐ‬ ‫ﺇﺟﺎﺑﺔ‬ ‫ﺣﻤﻮﻟﺔ‬ ‫ﻋﻤﻴﻞ ‪...‬‬ ‫ﺍﻟﻤﻮﺍﺯﻥ‬ ‫ﺇﺟﺎﺑﺔ‬ ‫‪38‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺸﻜﻞ‪.4.13‬ﻧﻤﻂ ﻧﻤﻮﺫﺝ‪-‬ﻋﺮﺽ‪-‬ﻭﺣﺪﺓ ﺗﺤﻜﻢ‬ ‫ﻋﻤﻴﻞ‬ ‫ﺍﻟﻤﺘﺼﻔﺢ‬ ‫ﺍﻟﺼﻔﺤﺔﺍﻟﻤﺮﺍﺩ ﻋﺮﺿﻬﺎ‬ ‫ﻣﺪﺧﻼﺕﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫ﺗﻐﻴﻴﺮﺍﺕﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫ﻣﻨﻈﺮ‬ ‫ﻭﺣﺪﺓﺍﻟﺘﺤﻜﻢ‬ ‫ﻋﺮﺽﺍﻟﺘﺤﺪﻳﺚ‬ ‫ﻳﺘﻐﻴﺮ‬ ‫ﻋﺮﺽﺍﻟﺘﺤﺪﻳﺚ‬ ‫ﻃﻠﺐ‬ ‫ﺇﺷﻌﺎﺭ‬ ‫ﻃﻠﺐ‬ ‫ﻧﻤﻮﺫﺝ‬ ‫ﺍﻟﺨﺎﺩﻡ‬ ‫‪39‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻻﺗﺼﺎﻝﺑﻴﻦ ﺍﻟﻌﻤﻴﻞ ﻭﺍﻟﺨﺎﺩﻡ‬ ‫ ﺗﺴﺘﺨﺪﻡﺍﻻﺗﺼﺎﻻﺕ ﺑﻴﻦ ﺍﻟﻌﻤﻴﻞ ﻭﺍﻟﺨﺎﺩﻡ ﻋﺎﺩﺓ ًﺑﺮﻭﺗﻮﻛﻮﻝ ‪.HTTP‬‬ ‫ﻳﺮﺳﻞﺍﻟﻌﻤﻴﻞ ﺭﺳﺎﻟﺔ ﺇﻟﻰ ﺍﻟﺨﺎﺩﻡ ﺗﺘﻀﻤﻦ ﺗﻌﻠﻴﻤﺎﺕ ﻣﺜﻞ ‪ GET‬ﺃﻭ ‪ POST‬ﺑﺎﻹﺿﺎﻓﺔ ﺇﻟﻰ ﻣﻌﺮﻑ‬ ‫ ‬ ‫ﺍﻟﻤﻮﺭﺩ)ﻋﺎﺩﺓ ًﻋﻨﻮﺍﻥ ‪ (URL‬ﺍﻟﺬﻱ ﻳﺠﺐ ﺃﻥ ﺗﻌﻤﻞ ﻋﻠﻴﻪ ﻫﺬﻩ ﺍﻟﺘﻌﻠﻴﻤﺎﺕ‪.‬ﻗﺪ ﺗﺘﻀﻤﻦ ﺍﻟﺮﺳﺎﻟﺔ ﺃﻳﻀﺎً‬ ‫ﻣﻌﻠﻮﻣﺎﺕﺇﺿﺎﻓﻴﺔ‪ ،‬ﻣﺜﻞ ﺍﻟﻤﻌﻠﻮﻣﺎﺕ ﺍﻟﺘﻲ ﺗﻢ ﺟﻤﻌﻬﺎ ﻣﻦ ﻧﻤﻮﺫﺝ‪.‬‬ ‫ ‪JSON.‬ﻭ ‪ XML‬ﻫﻮ ﺑﺮﻭﺗﻮﻛﻮﻝ ﻧﺼﻲ ﻓﻘﻂ‪ ،‬ﻟﺬﺍ ﻳﺠﺐ ﺗﻤﺜﻴﻞ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﻨﻈﻤﺔ ﻛﻨﺺ‪.‬ﻫﻨﺎﻙ‬ ‫ﻃﺮﻳﻘﺘﺎﻥﻟﺘﻤﺜﻴﻞ ﻫﺬﻩ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﺴﺘﺨﺪﻣﺘﺎﻥ ﻋﻠﻰ ﻧﻄﺎﻕ ﻭﺍﺳﻊ‪ ،‬ﻭﻫﻤﺎ ‪HTTP‬‬ ‫‪.‬ﻫﻲﻟﻐﺔ ﺗﺮﻣﻴﺰ ﺗﺴﺘﺨﺪﻡ ﺍﻟﻌﻼﻣﺎﺕ ﻟﺘﺤﺪﻳﺪ ﻛﻞ ﻋﻨﺼﺮ ﻣﻦ ﻋﻨﺎﺻﺮ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪XML‬‬ ‫ ‬ ‫‪ Javascript.‬ﻫﻮ ﺗﻤﺜﻴﻞ ﺃﺑﺴﻂ ﻳﻌﺘﻤﺪ ﻋﻠﻰ ﺗﻤﺜﻴﻞ ﺍﻟﻜﺎﺉﻨﺎﺕ ﻓﻲ ﻟﻐﺔ ‪JSON‬‬ ‫ ‬ ‫‪40‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺸﻜﻞ‪ 4.14‬ﺑﻨﻴﺔ ﺧﺎﺩﻡ ﺍﻟﻌﻤﻴﻞ ﻣﺘﻌﺪﺩ ﺍﻟﻄﺒﻘﺎﺕ‬ ‫ﺍﻟﻌﻤﻴﻞ‪1‬‬ ‫ﺍﻟﻌﻤﻴﻞ‪2‬‬ ‫ﻗﺎﻋﺪﺓﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﻃﻠﺐ‬ ‫ﺧﺎﺩﻡﺍﻟﻮﻳﺐ‬ ‫ﺍﻟﺨﺎﺩﻡ‬ ‫ﺍﻟﺨﺎﺩﻡ‬ ‫ﺍﻟﻌﻤﻴﻞ‪3‬‬ ‫ﻋﻤﻴﻞ ‪...‬‬ ‫‪41‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﻫﻨﺪﺳﺔﻣﻮﺟﻬﺔ ﻧﺤﻮ ﺍﻟﺨﺪﻣﺔ‬ ‫ ﺍﻟﺨﺪﻣﺎﺕﻓﻲ ﺍﻟﺒﻨﻴﺔ ﺍﻟﻤﻮﺟﻬﺔ ﻧﺤﻮ ﺍﻟﺨﺪﻣﺔ ﻋﺒﺎﺭﺓ ﻋﻦ ﻣﻜﻮﻧﺎﺕ ﻋﺪﻳﻤﺔ ﺍﻟﺠﻨﺴﻴﺔ‪ ،‬ﻣﻤﺎ‬ ‫ﻳﻌﻨﻲﺃﻧﻪ ﻳﻤﻜﻦ ﺗﻜﺮﺍﺭﻫﺎ ﻭﻳﻤﻜﻦ ﻧﻘﻠﻬﺎ ﻣﻦ ﺟﻬﺎﺯ ﻛﻤﺒﻴﻮﺗﺮ ﺇﻟﻰ ﺁﺧﺮ‪.‬‬ ‫ ﻗﺪﺗﺸﺎﺭﻙ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﺨﻮﺍﺩﻡ ﻓﻲ ﺗﻘﺪﻳﻢ ﺍﻟﺨﺪﻣﺎﺕ‬ ‫ ﻋﺎﺩﺓ ًﻣﺎ ﻳﻜﻮﻥ ﻣﻦ ﺍﻷﺳﻬﻞ ﺗﻮﺳﻴﻊ ﻧﻄﺎﻕ ﺍﻟﻬﻨﺪﺳﺔ ﺍﻟﻤﻮﺟﻬﺔ ﻧﺤﻮ ﺍﻟﺨﺪﻣﺔ ﻣﻊ ﺯﻳﺎﺩﺓ‬ ‫ﺍﻟﻄﻠﺐﻭﺗﻜﻮﻥ ﻣﺮﻧﺔ ﻓﻲ ﻣﻮﺍﺟﻬﺔ ﺍﻟﻔﺸﻞ‪.‬‬ ‫‪42‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺸﻜﻞ‪ 4.15‬ﻫﻨﺪﺳﺔ ﻣﻮﺟﻬﺔ ﻧﺤﻮ ﺍﻟﺨﺪﻣﺔ‬ ‫ﺱ‪1‬‬ ‫ﺍﻟﻌﻤﻴﻞ‪1‬‬ ‫ﺱ‪2‬‬ ‫ﺱ‪3‬‬ ‫ﺍﻟﻌﻤﻴﻞ‪2‬‬ ‫ﺧﺪﻣﺔ‬ ‫ﺑﻮﺍﺑﺔ‬ ‫ﺧﺎﺩﻡﺍﻟﻮﻳﺐ‬ ‫ﺱ‪4‬‬ ‫ﺍﻟﻌﻤﻴﻞ‪3‬‬ ‫ﺱ‪5‬‬ ‫ﺱ‪6‬‬ ‫ﻋﻤﻴﻞ ‪...‬‬ ‫ﺧﺪﻣﺎﺕ‬ ‫‪43‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﻘﻀﺎﻳﺎﻓﻲ ﺍﻻﺧﺘﻴﺎﺭ ﺍﻟﻤﻌﻤﺎﺭﻱ‬ ‫ ﻧﻮﻉﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺗﺤﺪﻳﺜﺎﺕ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﺇﺫﺍﻛﻨﺖ ﺗﺴﺘﺨﺪﻡ ﻓﻲ ﺍﻟﻐﺎﻟﺐ ﺑﻴﺎﻧﺎﺕ ﻣﻨﻈﻤﺔ ﻳﻤﻜﻦ ﺗﺤﺪﻳﺜﻬﺎ ﻣﻦ ﺧﻼﻝ ﻣﻴﺰﺍﺕ ﻣﺨﺘﻠﻔﺔ ﻟﻠﻨﻈﺎﻡ‪ ،‬ﻓﻤﻦ‬ ‫ ‬ ‫ﺍﻷﻓﻀﻞﻋﺎﺩﺓ ًﺃﻥ ﻳﻜﻮﻥ ﻟﺪﻳﻚ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ ﻣﺸﺘﺮﻛﺔ ﻭﺍﺣﺪﺓ ﺗﻮﻓﺮ ﺍﻟﻘﻔﻞ ﻭﺇﺩﺍﺭﺓ ﺍﻟﻤﻌﺎﻣﻼﺕ‪.‬ﺇﺫﺍ ﺗﻢ‬ ‫ﺗﻮﺯﻳﻊﺍﻟﺒﻴﺎﻧﺎﺕ ﻋﺒﺮ ﺍﻟﺨﺪﻣﺎﺕ‪ ،‬ﻓﺴﺘﺤﺘﺎﺝ ﺇﻟﻰ ﻃﺮﻳﻘﺔ ﻟﻠﺤﻔﺎﻅ ﻋﻠﻰ ﺍﺗﺴﺎﻗﻬﺎ‪ ،‬ﻭﻫﺬﺍ ﻳﻀﻴﻒ ﺗﻜﻠﻔﺔ‬ ‫ﺇﺿﺎﻓﻴﺔﺇﻟﻰ ﻧﻈﺎﻣﻚ‪.‬‬ ‫ ﺗﻐﻴﻴﺮﺍﻟﺘﺮﺩﺩ‬ ‫ﺇﺫﺍﻛﻨﺖ ﺗﺘﻮﻗﻊ ﺃﻥ ﻣﻜﻮﻧﺎﺕ ﺍﻟﻨﻈﺎﻡ ﺳﻮﻑ ﻳﺘﻢ ﺗﻐﻴﻴﺮﻫﺎ ﺃﻭ ﺍﺳﺘﺒﺪﺍﻟﻬﺎ ﺑﺸﻜﻞ ﻣﻨﺘﻈﻢ‪ ،‬ﻓﺈﻥ ﻋﺰﻝ ﻫﺬﻩ‬ ‫ ‬ ‫ﺍﻟﻤﻜﻮﻧﺎﺕﻛﺨﺪﻣﺎﺕ ﻣﻨﻔﺼﻠﺔ ﻳﺒﺴﻂ ﻫﺬﻩ ﺍﻟﺘﻐﻴﻴﺮﺍﺕ‪.‬‬ ‫ ﻣﻨﺼﺔﺗﻨﻔﻴﺬ ﺍﻟﻨﻈﺎﻡ‬ ‫ﺇﺫﺍﻛﻨﺖ ﺗﺨﻄﻂ ﻟﺘﺸﻐﻴﻞ ﻧﻈﺎﻣﻚ ﻋﻠﻰ ﺍﻟﺴﺤﺎﺑﺔ ﻣﻊ ﻭﺻﻮﻝ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺇﻟﻴﻪ ﻋﺒﺮ ﺍﻹﻧﺘﺮﻧﺖ‪،‬‬ ‫ ‬ ‫ﻓﻤﻦﺍﻷﻓﻀﻞ ﻋﺎﺩﺓ ًﺗﻨﻔﻴﺬﻩ ﻛﻬﻨﺪﺳﺔ ﻣﻮﺟﻬﺔ ﻧﺤﻮ ﺍﻟﺨﺪﻣﺔ ﻷﻥ ﺗﻮﺳﻴﻊ ﻧﻄﺎﻕ ﺍﻟﻨﻈﺎﻡ ﺃﺳﻬﻞ‪.‬‬ ‫ﺇﺫﺍﻛﺎﻥ ﻣﻨﺘﺠﻚ ﻋﺒﺎﺭﺓ ﻋﻦ ﻧﻈﺎﻡ ﺃﻋﻤﺎﻝ ﻳﻌﻤﻞ ﻋﻠﻰ ﺧﻮﺍﺩﻡ ﻣﺤﻠﻴﺔ‪ ،‬ﻓﻘﺪ ﺗﻜﻮﻥ ﺍﻟﻬﻨﺪﺳﺔ ﻣﺘﻌﺪﺩﺓ‬ ‫ ‬ ‫ﺍﻟﻄﺒﻘﺎﺕﺃﻛﺜﺮ ﻣﻼءﻣﺔ‪.‬‬ ‫‪44‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺠﺪﻭﻝ‪ 4.8‬ﺧﻴﺎﺭﺍﺕ ﺍﻟﺘﻜﻨﻮﻟﻮﺟﻴﺎ‬ ‫ﻗﺎﻋﺪﺓﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﻫﻞﻳﺠﺐ ﻋﻠﻴﻚ ﺍﺳﺘﺨﺪﺍﻡ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ ‪ SQL‬ﻋﻼﺉﻘﻴﺔ ﺃﻭ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ ‪ NOSQL‬ﻏﻴﺮ ﻣﻨﻈﻤﺔ؟‬ ‫ﻣﻨﺼﺔ‬ ‫ﻫﻞﻳﺠﺐ ﻋﻠﻴﻚ ﺗﺴﻠﻴﻢ ﻣﻨﺘﺠﻚ ﻋﺒﺮ ﺗﻄﺒﻴﻖ ﺟﻮﺍﻝ ﻭ‪/‬ﺃﻭ ﻣﻨﺼﺔ ﻭﻳﺐ؟‬ ‫ﺍﻟﺨﺎﺩﻡ‬ ‫ﻫﻞﻳﻨﺒﻐﻲ ﻟﻚ ﺍﺳﺘﺨﺪﺍﻡ ﺧﻮﺍﺩﻡ ﺩﺍﺧﻠﻴﺔ ﻣﺨﺼﺼﺔ ﺃﻡ ﺗﺼﻤﻴﻢ ﻧﻈﺎﻣﻚ ﻟﻠﻌﻤﻞ ﻋﻠﻰ ﺳﺤﺎﺑﺔ ﻋﺎﻣﺔ؟ ﺇﺫﺍ‬ ‫ﻛﺎﻧﺖﺍﻟﺴﺤﺎﺑﺔ ﻋﺎﻣﺔ‪ ،‬ﻓﻬﻞ ﻳﻨﺒﻐﻲ ﻟﻚ ﺍﺳﺘﺨﺪﺍﻡ ‪ Amazon‬ﺃﻭ ‪ Google‬ﺃﻭ ‪ Microsoft‬ﺃﻭ ﺃﻱ ﺧﻴﺎﺭ‬ ‫ﺁﺧﺮ؟‬ ‫ﺍﻟﻤﺼﺪﺭﺍﻟﻤﻔﺘﻮﺡ‬ ‫ﻫﻞﻫﻨﺎﻙ ﻣﻜﻮﻧﺎﺕ ﻣﻔﺘﻮﺣﺔ ﺍﻟﻤﺼﺪﺭ ﻣﻨﺎﺳﺒﺔ ﻳﻤﻜﻨﻚ ﺩﻣﺠﻬﺎ ﻓﻲ ﻣﻨﺘﺠﺎﺗﻚ؟‬ ‫ﺃﺩﻭﺍﺕﺍﻟﺘﻄﻮﻳﺮ‬ ‫ﻫﻞﺗﺘﻀﻤﻦ ﺃﺩﻭﺍﺕ ﺍﻟﺘﻄﻮﻳﺮ ﺍﻟﺨﺎﺻﺔ ﺑﻚ ﺍﻓﺘﺮﺍﺿﺎﺕ ﻣﻌﻤﺎﺭﻳﺔ ﺣﻮﻝ ﺍﻟﺒﺮﻧﺎﻣﺞ ﺍﻟﺬﻱ ﻳﺘﻢ ﺗﻄﻮﻳﺮﻩ ﻭﺍﻟﺘﻲ‬ ‫ﺗﺤﺪﻣﻦ ﺍﺧﺘﻴﺎﺭﺍﺗﻚ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ؟‬ ‫‪45‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﻗﺎﻋﺪﺓﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ ﻫﻨﺎﻙﻧﻮﻋﺎﻥ ﻣﻦ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺘﻲ ﻳﺘﻢ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﺑﺸﻜﻞ ﺷﺎﺉﻊ ﺍﻵﻥ‪:‬‬ ‫ﻗﻮﺍﻋﺪﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻌﻼﺉﻘﻴﺔ‪ ،‬ﺣﻴﺚ ﻳﺘﻢ ﺗﻨﻈﻴﻢ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﻲ ﺟﺪﺍﻭﻝ ﻣﻨﻈﻤﺔ‬ ‫ ‬ ‫ﻗﻮﺍﻋﺪﺑﻴﺎﻧﺎﺕ ‪ ،NoSQL‬ﺣﻴﺚ ﺗﻜﻮﻥ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﻨﻈﻤﺔ ﺑﺸﻜﻞ ﺃﻛﺜﺮ ﻣﺮﻭﻧﺔ ﻭﻣﺤﺪﺩﺓ ﻣﻦ‬ ‫ ‬ ‫ﻗﺒﻞﺍﻟﻤﺴﺘﺨﺪﻡ‪.‬‬ ‫ ﺗﻌﺘﺒﺮﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻌﻼﺉﻘﻴﺔ‪ ،‬ﻣﺜﻞ ‪ ،MySQL‬ﻣﻨﺎﺳﺒﺔ ﺑﺸﻜﻞ ﺧﺎﺹ ﻟﻠﻤﻮﺍﻗﻒ‬ ‫ﺍﻟﺘﻲﺗﺤﺘﺎﺝ ﻓﻴﻬﺎ ﺇﻟﻰ ﺇﺩﺍﺭﺓ ﺍﻟﻤﻌﺎﻣﻼﺕ ﻭﺗﻜﻮﻥ ﻫﻴﺎﻛﻞ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﺘﻮﻗﻌﺔ ﻭﺑﺴﻴﻄﺔ ﺇﻟﻰ‬ ‫ﺣﺪﻣﺎ‪.‬‬ ‫ ﺗﻌﺘﺒﺮﻗﻮﺍﻋﺪ ﺑﻴﺎﻧﺎﺕ ‪ ،NoSQL‬ﻣﺜﻞ ‪ ،MongoDB‬ﺃﻛﺜﺮ ﻣﺮﻭﻧﺔ ﻭﺃﻛﺜﺮ ﻛﻔﺎءﺓ ﻣﻦ ﻗﻮﺍﻋﺪ‬ ‫ﺍﻟﺒﻴﺎﻧﺎﺕﺍﻟﻌﻼﺉﻘﻴﺔ ﻟﺘﺤﻠﻴﻞ ﺍﻟﺒﻴﺎﻧﺎﺕ‪.‬‬ ‫ﺗﺴﻤﺢﻗﻮﺍﻋﺪ ﺑﻴﺎﻧﺎﺕ ‪ NoSQL‬ﺑﺘﻨﻈﻴﻢ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﺸﻜﻞ ﻫﺮﻣﻲ ﺑﺪﻻ ًﻣﻦ ﺍﻟﺠﺪﺍﻭﻝ ﺍﻟﻤﺴﻄﺤﺔ‪ ،‬ﻭﻫﺬﺍ‬ ‫ ‬ ‫ﻳﺴﻤﺢﺑﻤﻌﺎﻟﺠﺔ ﻣﺘﺰﺍﻣﻨﺔ ﺃﻛﺜﺮ ﻛﻔﺎءﺓ ﻟﻠﺒﻴﺎﻧﺎﺕ ﺍﻟﻀﺨﻤﺔ‪.‬‬ ‫‪46‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﻣﻨﺼﺔﺍﻟﺘﻮﺻﻴﻞ‬ ‫ ﻳﻤﻜﻦﺃﻥ ﻳﻜﻮﻥ ﺍﻟﺘﺴﻠﻴﻢ ﻋﻠﻰ ﺷﻜﻞ ﻣﻨﺘﺞ ﻗﺎﺉﻢ ﻋﻠﻰ ﺍﻟﻮﻳﺐ ﺃﻭ ﻣﻨﺘﺞ ﻣﺤﻤﻮﻝ ﺃﻭ ﻛﻠﻴﻬﻤﺎ‬ ‫ﻣﺸﺎﻛﻞﺍﻟﻬﺎﺗﻒ ﺍﻟﻤﺤﻤﻮﻝ‪:‬‬ ‫ ‬ ‫ﺍﺗﺼﺎﻝﻣﺘﻘﻄﻊﻳﺠﺐ ﺃﻥ ﺗﻜﻮﻥ ﻗﺎﺩﺭﺍً ﻋﻠﻰ ﺗﻘﺪﻳﻢ ﺧﺪﻣﺔ ﻣﺤﺪﻭﺩﺓ ﺩﻭﻥ ﺍﻻﺗﺼﺎﻝ ﺑﺎﻟﺸﺒﻜﺔ‪.‬‬ ‫ ‬ ‫ﻗﻮﺓﺍﻟﻤﻌﺎﻟﺞﺗﺘﻤﺘﻊ ﺍﻷﺟﻬﺰﺓ ﺍﻟﻤﺤﻤﻮﻟﺔ ﺑﻤﻌﺎﻟﺠﺎﺕ ﺃﻗﻞ ﻗﻮﺓ‪ ،‬ﻟﺬﺍ ﻳﺘﻌﻴﻦ ﻋﻠﻴﻚ ﺗﻘﻠﻴﻞ ﺍﻟﻌﻤﻠﻴﺎﺕ‬ ‫ ‬ ‫ﺍﻟﺤﺴﺎﺑﻴﺔﺍﻟﻤﻜﺜﻔﺔ‪.‬‬ ‫ﺇﺩﺍﺭﺓﺍﻟﻄﺎﻗﺔﻋﻤﺮ ﺑﻄﺎﺭﻳﺔ ﺍﻟﻬﺎﺗﻒ ﺍﻟﻤﺤﻤﻮﻝ ﻣﺤﺪﻭﺩ ﻟﺬﺍ ﻳﺠﺐ ﻋﻠﻴﻚ ﻣﺤﺎﻭﻟﺔ ﺗﻘﻠﻴﻞ ﺍﻟﻄﺎﻗﺔ ﺍﻟﺘﻲ‬ ‫ ‬ ‫ﻳﺴﺘﺨﺪﻣﻬﺎﺗﻄﺒﻴﻘﻚ‪.‬‬ ‫ﻟﻮﺣﺔﺍﻟﻤﻔﺎﺗﻴﺢ ﻋﻠﻰ ﺍﻟﺸﺎﺷﺔﻟﻮﺣﺎﺕ ﺍﻟﻤﻔﺎﺗﻴﺢ ﺍﻟﺘﻲ ﺗﻈﻬﺮ ﻋﻠﻰ ﺍﻟﺸﺎﺷﺔ ﺑﻄﻴﺉﺔ ﻭﻣﻌﺮﺿﺔ ﻟﻸﺧﻄﺎء‪.‬‬ ‫ ‬ ‫ﻳﺠﺐﻋﻠﻴﻚ ﺗﻘﻠﻴﻞ ﺍﻹﺩﺧﺎﻝ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻟﻮﺣﺔ ﻣﻔﺎﺗﻴﺢ ﺍﻟﺸﺎﺷﺔ ﻟﺘﻘﻠﻴﻞ ﺇﺣﺒﺎﻁ ﺍﻟﻤﺴﺘﺨﺪﻡ‪.‬‬ ‫ ﻟﻠﺘﻌﺎﻣﻞﻣﻊ ﻫﺬﻩ ﺍﻻﺧﺘﻼﻓﺎﺕ‪ ،‬ﻓﺄﻧﺖ ﺗﺤﺘﺎﺝ ﻋﺎﺩﺓ ًﺇﻟﻰ ﺇﺻﺪﺍﺭﺍﺕ ﻣﻨﻔﺼﻠﺔ ﻟﻠﻤﺘﺼﻔﺢ ﻭﺍﻟﻬﺎﺗﻒ‬ ‫ﺍﻟﻤﺤﻤﻮﻝﻣﻦ ﺍﻟﻮﺍﺟﻬﺔ ﺍﻷﻣﺎﻣﻴﺔ ﻟﻤﻨﺘﺠﻚ‪.‬‬ ‫ﻗﺪﺗﺤﺘﺎﺝ ﺇﻟﻰ ﺑﻨﻴﺔ ﺗﺤﻠﻞ ﻣﺨﺘﻠﻔﺔ ﺗﻤﺎﻣﺎً ﻓﻲ ﻫﺬﻩ ﺍﻹﺻﺪﺍﺭﺍﺕ ﺍﻟﻤﺨﺘﻠﻔﺔ ﻟﻀﻤﺎﻥ ﺍﻟﺤﻔﺎﻅ ﻋﻠﻰ‬ ‫ ‬ ‫ﺍﻷﺩﺍءﻭﺍﻟﺨﺼﺎﺉﺺ ﺍﻷﺧﺮﻯ‪.‬‬ ‫‪47‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﺨﺎﺩﻡ‬ ‫ ﺃﺣﺪﺍﻟﻘﺮﺍﺭﺍﺕ ﺍﻟﺮﺉﻴﺴﻴﺔ ﺍﻟﺘﻲ ﻳﺠﺐ ﻋﻠﻴﻚ ﺍﺗﺨﺎﺫﻫﺎ ﻫﻮ ﻣﺎ ﺇﺫﺍ ﻛﻨﺖ ﺗﺮﻳﺪ ﺗﺼﻤﻴﻢ ﻧﻈﺎﻣﻚ‬ ‫ﻟﻴﻌﻤﻞﻋﻠﻰ ﺧﻮﺍﺩﻡ ﺍﻟﻌﻤﻼء ﺃﻭ ﻟﻴﻌﻤﻞ ﻋﻠﻰ ﺍﻟﺴﺤﺎﺑﺔ‪.‬‬ ‫ ﺑﺎﻟﻨﺴﺒﺔﻟﻠﻤﻨﺘﺠﺎﺕ ﺍﻻﺳﺘﻬﻼﻛﻴﺔ ﺍﻟﺘﻲ ﻟﻴﺴﺖ ﻣﺠﺮﺩ ﺗﻄﺒﻴﻘﺎﺕ ﺟﻮﺍﻝ‪ ،‬ﺃﻋﺘﻘﺪ ﺃﻧﻪ ﻣﻦ‬ ‫ﺍﻟﻤﻨﻄﻘﻲﺩﺍﺉﻤﺎً ﺗﻄﻮﻳﺮﻫﺎ ﻟﻠﺴﺤﺎﺑﺔ‪.‬‬ ‫ ﺑﺎﻟﻨﺴﺒﺔﻟﻠﻤﻨﺘﺠﺎﺕ ﺍﻟﺘﺠﺎﺭﻳﺔ‪ ،‬ﻳﻌﺪ ﻫﺬﺍ ﺍﻟﻘﺮﺍﺭ ﺃﻛﺜﺮ ﺻﻌﻮﺑﺔ‪.‬‬ ‫ﺗﻬﺘﻢﺑﻌﺾ ﺍﻟﺸﺮﻛﺎﺕ ﺑﺄﻣﻦ ﺍﻟﺴﺤﺎﺑﺔ ﻭﺗﻔﻀﻞ ﺗﺸﻐﻴﻞ ﺃﻧﻈﻤﺘﻬﺎ ﻋﻠﻰ ﺧﻮﺍﺩﻡ ﺩﺍﺧﻠﻴﺔ‪.‬ﻗﺪ ﻳﻜﻮﻥ ﻟﺪﻳﻬﺎ‬ ‫ ‬ ‫ﻧﻤﻂﻣﺘﻮﻗﻊ ﻻﺳﺘﺨﺪﺍﻡ ﺍﻟﻨﻈﺎﻡ‪ ،‬ﻭﺑﺎﻟﺘﺎﻟﻲ ﺗﻘﻞ ﺍﻟﺤﺎﺟﺔ ﺇﻟﻰ ﺗﺼﻤﻴﻢ ﻧﻈﺎﻣﻚ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻟﺘﻐﻴﻴﺮﺍﺕ‬ ‫ﺍﻟﻜﺒﻴﺮﺓﻓﻲ ﺍﻟﻄﻠﺐ‪.‬‬ ‫ ﺃﺣﺪﺍﻟﺨﻴﺎﺭﺍﺕ ﺍﻟﻤﻬﻤﺔ ﺍﻟﺘﻲ ﻳﺠﺐ ﻋﻠﻴﻚ ﺍﺗﺨﺎﺫﻫﺎ ﺇﺫﺍ ﻛﻨﺖ ﺗﻘﻮﻡ ﺑﺘﺸﻐﻴﻞ ﺑﺮﻧﺎﻣﺠﻚ ﻋﻠﻰ‬ ‫ﺍﻟﺴﺤﺎﺑﺔﻫﻮ ﺍﺧﺘﻴﺎﺭ ﻣﻮﻓﺮ ﺍﻟﺴﺤﺎﺑﺔ ﺍﻟﺬﻱ ﺳﺘﺴﺘﺨﺪﻣﻪ‪.‬‬ ‫‪48‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﻤﺼﺪﺭﺍﻟﻤﻔﺘﻮﺡ‬ ‫ ﺍﻟﺒﺮﻣﺠﻴﺎﺕﻣﻔﺘﻮﺣﺔ ﺍﻟﻤﺼﺪﺭ ﻫﻲ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﺍﻟﺘﻲ ﺗﺘﻮﻓﺮ ﻣﺠﺎﻧﺎً‪ ،‬ﻭﺍﻟﺘﻲ ﻳﻤﻜﻨﻚ ﺗﻐﻴﻴﺮﻫﺎ‬ ‫ﻭﺗﻌﺪﻳﻠﻬﺎﻛﻤﺎ ﻳﺤﻠﻮ ﻟﻚ‪.‬‬ ‫ﺍﻟﻤﻴﺰﺓﻫﻲ ﺃﻧﻪ ﻳﻤﻜﻨﻚ ﺇﻋﺎﺩﺓ ﺍﺳﺘﺨﺪﺍﻡ ﺑﺮﺍﻣﺞ ﺟﺪﻳﺪﺓ ﺑﺪﻻ ًﻣﻦ ﺗﻨﻔﻴﺬﻫﺎ‪ ،‬ﻣﻤﺎ ﻳﻘﻠﻞ ﻣﻦ ﺗﻜﺎﻟﻴﻒ ﺍﻟﺘﻄﻮﻳﺮ‬ ‫ ‬ ‫ﻭﺍﻟﻮﻗﺖﺍﻟﻤﺴﺘﻐﺮﻕ ﻟﻠﻮﺻﻮﻝ ﺇﻟﻰ ﺍﻟﺴﻮﻕ‪.‬‬ ‫ﺇﻥﻣﻦ ﻋﻴﻮﺏ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﻣﻔﺘﻮﺣﺔ ﺍﻟﻤﺼﺪﺭ ﻫﻮ ﺃﻧﻚ ﻣﻘﻴﺪ ﺑﻬﺬﺍ ﺍﻟﺒﺮﻧﺎﻣﺞ ﻭﻟﻴﺲ ﻟﺪﻳﻚ ﺃﻱ‬ ‫ ‬ ‫ﺳﻴﻄﺮﺓﻋﻠﻰ ﺗﻄﻮﺭﻩ‪.‬‬ ‫ ﻭﻳﻌﺘﻤﺪﺍﻟﻘﺮﺍﺭ ﺑﺸﺄﻥ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﻣﻔﺘﻮﺣﺔ ﺍﻟﻤﺼﺪﺭ ﺃﻳﻀﺎً ﻋﻠﻰ ﻣﺪﻯ ﺗﻮﻓﺮ ﻣﻜﻮﻧﺎﺗﻬﺎ‬ ‫ﻣﻔﺘﻮﺣﺔﺍﻟﻤﺼﺪﺭ ﻭﻧﻀﺠﻬﺎ ﻭﺩﻋﻤﻬﺎ ﺍﻟﻤﺴﺘﻤﺮ‪.‬‬ ‫ ﻗﺪﺗﻔﺮﺽ ﻣﺸﻜﻼﺕ ﺗﺮﺧﻴﺺ ﺍﻟﻤﺼﺪﺭ ﺍﻟﻤﻔﺘﻮﺡ ﻗﻴﻮﺩﺍً ﻋﻠﻰ ﻛﻴﻔﻴﺔ ﺍﺳﺘﺨﺪﺍﻣﻚ ﻟﻠﺒﺮﻧﺎﻣﺞ‪.‬‬ ‫ ﻳﺠﺐﺃﻥ ﻳﻌﺘﻤﺪ ﺍﺧﺘﻴﺎﺭﻙ ﻟﺒﺮﻣﺠﻴﺎﺕ ﺍﻟﻤﺼﺪﺭ ﺍﻟﻤﻔﺘﻮﺡ ﻋﻠﻰ ﻧﻮﻉ ﺍﻟﻤﻨﺘﺞ ﺍﻟﺬﻱ ﺗﻘﻮﻡ‬ ‫ﺑﺘﻄﻮﻳﺮﻩ‪،‬ﻭﺳﻮﻗﻚ ﺍﻟﻤﺴﺘﻬﺪﻑ‪ ،‬ﻭﺧﺒﺮﺓ ﻓﺮﻳﻖ ﺍﻟﺘﻄﻮﻳﺮ ﺍﻟﺨﺎﺹ ﺑﻚ‪.‬‬ ‫‪49‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺃﺩﻭﺍﺕﺍﻟﺘﻄﻮﻳﺮ‬ ‫ ﺗﺆﺛﺮﺗﻘﻨﻴﺎﺕ ﺍﻟﺘﻄﻮﻳﺮ‪ ،‬ﻣﺜﻞ ﻣﺠﻤﻮﻋﺔ ﺃﺩﻭﺍﺕ ﺗﻄﻮﻳﺮ ﺍﻷﺟﻬﺰﺓ ﺍﻟﻤﺤﻤﻮﻟﺔ ﺃﻭ ﺇﻃﺎﺭ ﻋﻤﻞ‬ ‫ﺗﻄﺒﻴﻘﺎﺕﺍﻟﻮﻳﺐ‪ ،‬ﻋﻠﻰ ﺑﻨﻴﺔ ﺍﻟﺒﺮﻧﺎﻣﺞ ﺍﻟﺨﺎﺹ ﺑﻚ‪.‬‬ ‫ﺗﺘﻀﻤﻦﻫﺬﻩ ﺍﻟﺘﻘﻨﻴﺎﺕ ﺍﻓﺘﺮﺍﺿﺎﺕ ﻣﺪﻣﺠﺔ ﺣﻮﻝ ﺑﻨﻴﺔ ﺍﻟﻨﻈﺎﻡ ﻭﻳﺠﺐ ﻋﻠﻴﻚ ﺍﻻﻟﺘﺰﺍﻡ ﺑﻬﺬﻩ‬ ‫ ‬ ‫ﺍﻻﻓﺘﺮﺍﺿﺎﺕﻻﺳﺘﺨﺪﺍﻡ ﻧﻈﺎﻡ ﺍﻟﺘﻄﻮﻳﺮ‪.‬‬ ‫ ﻗﺪﻳﻜﻮﻥ ﻟﺘﻜﻨﻮﻟﻮﺟﻴﺎ ﺍﻟﺘﻄﻮﻳﺮ ﺍﻟﺘﻲ ﺗﺴﺘﺨﺪﻣﻬﺎ ﺃﻳﻀﺎً ﺗﺄﺛﻴﺮ ﻏﻴﺮ ﻣﺒﺎﺷﺮ ﻋﻠﻰ ﺑﻨﻴﺔ ﺍﻟﻨﻈﺎﻡ‪.‬‬ ‫ﻋﺎﺩﺓ ًﻣﺎ ﻳﻔﻀﻞ ﺍﻟﻤﻄﻮﺭﻭﻥ ﺍﻟﺨﻴﺎﺭﺍﺕ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ ﺍﻟﺘﻲ ﺗﺴﺘﺨﺪﻡ ﺗﻘﻨﻴﺎﺕ ﻣﺄﻟﻮﻓﺔ ﻳﻔﻬﻤﻮﻧﻬﺎ‪.‬ﻋﻠﻰ‬ ‫ ‬ ‫ﺳﺒﻴﻞﺍﻟﻤﺜﺎﻝ‪ ،‬ﺇﺫﺍ ﻛﺎﻥ ﻓﺮﻳﻘﻚ ﻳﺘﻤﺘﻊ ﺑﺨﺒﺮﺓ ﻛﺒﻴﺮﺓ ﻓﻲ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻌﻼﺉﻘﻴﺔ‪ ،‬ﻓﻘﺪ ﻳﺠﺎﺩﻟﻮﻥ‬ ‫ﻓﻲﻫﺬﺍ ﺍﻷﻣﺮ ﺑﺪﻻ ًﻣﻦ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ ‪.NoSQL‬‬ ‫‪50‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﻨﻘﺎﻁﺍﻟﺮﺉﻴﺴﻴﺔ ‪1‬‬ ‫ ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﻫﻲ ﺍﻟﺘﻨﻈﻴﻢ ﺍﻷﺳﺎﺳﻲ ﻟﻠﻨﻈﺎﻡ ﺍﻟﻤﺘﺠﺴﺪ ﻓﻲ ﻣﻜﻮﻧﺎﺗﻪ‪ ،‬ﻭﻋﻼﻗﺎﺗﻬﺎ ﻣﻊ‬ ‫ﺑﻌﻀﻬﺎﺍﻟﺒﻌﺾ‪ ،‬ﻭﻣﻊ ﺍﻟﺒﻴﺉﺔ‪ ،‬ﻭﺍﻟﻤﺒﺎﺩﺉ ﺍﻟﺘﻲ ﺗﻮﺟﻪ ﺗﺼﻤﻴﻤﻪ ﻭﺗﻄﻮﺭﻩ‪.‬‬ ‫ ﺇﻥﻫﻨﺪﺳﺔ ﻧﻈﺎﻡ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﻟﻬﺎ ﺗﺄﺛﻴﺮ ﻛﺒﻴﺮ ﻋﻠﻰ ﺧﺼﺎﺉﺺ ﺍﻟﻨﻈﺎﻡ ﻏﻴﺮ ﺍﻟﻮﻇﻴﻔﻴﺔ ﻣﺜﻞ‬ ‫ﺍﻟﻤﻮﺛﻮﻗﻴﺔﻭﺍﻟﻜﻔﺎءﺓ ﻭﺍﻷﻣﺎﻥ‪.‬‬ ‫ ﻳﺘﻀﻤﻦﺍﻟﺘﺼﻤﻴﻢ ﺍﻟﻤﻌﻤﺎﺭﻱ ﻓﻬﻢ ﺍﻟﻘﻀﺎﻳﺎ ﺍﻟﻤﻬﻤﺔ ﻟﻤﻨﺘﺠﻚ ﻭﺇﻧﺸﺎء ﺃﻭﺻﺎﻑ ﻟﻠﻨﻈﺎﻡ ﺗﻮﺿﺢ‬ ‫ﺍﻟﻤﻜﻮﻧﺎﺕﻭﻋﻼﻗﺎﺗﻬﺎ‪.‬‬ ‫ ﺍﻟﺪﻭﺭﺍﻟﺮﺉﻴﺴﻲ ﻟﻸﻭﺻﺎﻑ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ ﻫﻮ ﺗﻮﻓﻴﺮ ﺍﻷﺳﺎﺱ ﻟﻔﺮﻳﻖ ﺍﻟﺘﻄﻮﻳﺮ ﻟﻤﻨﺎﻗﺸﺔ ﺗﻨﻈﻴﻢ‬ ‫ﺍﻟﻨﻈﺎﻡ‪.‬ﺗﻌﺘﺒﺮ ﺍﻟﻤﺨﻄﻄﺎﺕ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ ﻏﻴﺮ ﺍﻟﺮﺳﻤﻴﺔ ﻓﻌﺎﻟﺔ ﻓﻲ ﺍﻟﻮﺻﻒ ﺍﻟﻤﻌﻤﺎﺭﻱ ﻷﻧﻬﺎ ﺳﺮﻳﻌﺔ‬ ‫ﻭﺳﻬﻠﺔﺍﻟﺮﺳﻢ ﻭﺍﻟﻤﺸﺎﺭﻛﺔ‪.‬‬ ‫ ﻳﺘﻀﻤﻦﺗﺤﻠﻞ ﺍﻟﻨﻈﺎﻡ ﺗﺤﻠﻴﻞ ﺍﻟﻤﻜﻮﻧﺎﺕ ﺍﻟﻤﻌﻤﺎﺭﻳﺔ ﻭﺗﻤﺜﻴﻠﻬﺎ ﻛﻤﺠﻤﻮﻋﺔ ﻣﻦ ﺍﻟﻤﻜﻮﻧﺎﺕ‬ ‫ﺍﻟﺪﻗﻴﻘﺔ‪.‬‬ ‫‪51‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬ ‫ﺍﻟﻨﻘﺎﻁﺍﻟﺮﺉﻴﺴﻴﺔ ‪2‬‬ ‫ ﻟﺘﻘﻠﻴﻞﺍﻟﺘﻌﻘﻴﺪ‪ ،‬ﻳﺠﺐ ﻋﻠﻴﻚ ﻓﺼﻞ ﺍﻻﻫﺘﻤﺎﻣﺎﺕ ﻭﺗﺠﻨﺐ ﺍﻟﺘﻜﺮﺍﺭ ﺍﻟﻮﻇﻴﻔﻲ ﻭﺍﻟﺘﺮﻛﻴﺰ ﻋﻠﻰ‬ ‫ﻭﺍﺟﻬﺎﺕﺍﻟﻤﻜﻮﻧﺎﺕ‪.‬‬ ‫ ﻏﺎﻟﺒﺎًﻣﺎ ﺗﺤﺘﻮﻱ ﺍﻷﻧﻈﻤﺔ ﺍﻟﻤﺴﺘﻨﺪﺓ ﺇﻟﻰ ﺍﻟﻮﻳﺐ ﻋﻠﻰ ﺑﻨﻴﺔ ﻃﺒﻘﻴﺔ ﻣﺸﺘﺮﻛﺔ ﺗﺘﻀﻤﻦ ﻃﺒﻘﺎﺕ‬ ‫ﻭﺍﺟﻬﺔﺍﻟﻤﺴﺘﺨﺪﻡ‪ ،‬ﻭﻃﺒﻘﺎﺕ ﺧﺎﺻﺔ ﺑﺎﻟﺘﻄﺒﻴﻖ‪ ،‬ﻭﻃﺒﻘﺔ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ‪.‬‬ ‫ ﻳﺤﺪﺩﻫﻨﺪﺳﺔ ﺍﻟﺘﻮﺯﻳﻊ ﻓﻲ ﻧﻈﺎﻡ ﻣﺎ ﺗﻨﻈﻴﻢ ﺍﻟﺨﻮﺍﺩﻡ ﻓﻲ ﻫﺬﺍ ﺍﻟﻨﻈﺎﻡ ﻭﺗﺨﺼﻴﺺ ﺍﻟﻤﻜﻮﻧﺎﺕ ﻟﻬﺬﻩ‬ ‫ﺍﻟﺨﻮﺍﺩﻡ‪.‬‬ ‫ ﺗﻌﺪﺃﻧﻈﻤﺔ ﺍﻟﻌﻤﻴﻞ ﻭﺍﻟﺨﺎﺩﻡ ﻣﺘﻌﺪﺩﺓ ﺍﻟﻄﺒﻘﺎﺕ ﻭﺍﻟﻬﻨﺪﺳﺔ ﺍﻟﻤﻮﺟﻬﺔ ﻟﻠﺨﺪﻣﺔ ﻫﻲ ﺃﻛﺜﺮ‬ ‫ﺍﻟﻬﻨﺪﺳﺔﺍﻟﻤﻌﻤﺎﺭﻳﺔ ﺍﺳﺘﺨﺪﺍﻣﺎً ﻓﻲ ﺍﻷﻧﻈﻤﺔ ﺍﻟﻤﺴﺘﻨﺪﺓ ﺇﻟﻰ ﺍﻟﻮﻳﺐ‪.‬‬ ‫ ﻳﻌﺪﺍﺗﺨﺎﺫ ﺍﻟﻘﺮﺍﺭﺍﺕ ﺑﺸﺄﻥ ﺍﻟﺘﻘﻨﻴﺎﺕ ﻣﺜﻞ ﺗﻘﻨﻴﺎﺕ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺍﻟﺴﺤﺎﺑﺔ ﺟﺰءﺍً ﻣﻬﻤﺎً‬ ‫ﻣﻦﻋﻤﻠﻴﺔ ﺍﻟﺘﺼﻤﻴﻢ ﺍﻟﻤﻌﻤﺎﺭﻱ‪.‬‬ ‫‪52‬‬ ‫‪© BIS3012023‬‬ ‫ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ‬

Use Quizgecko on...
Browser
Browser