Professional Documents
Culture Documents
com -
1
ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﻗﺴﻢﻋﻠﻮﻡ ﺍﻟﺤﺎﺳﻮﺏ
_________________________________________________
ﺑﺎﻟﻨﺴﺒﺔﻟﻠﺴﻴﻨﺎﺭﻳﻮ ﺍﻟﻤﻮﺻﻮﻑ ﺃﺩﻧﺎﻩ ،ﻣﺎ ﻫﻮ ﻧﻤﻮﺫﺝ ﺩﻭﺭﺓ ﺍﻟﺤﻴﺎﺓ ﺍﻟﺬﻱ ﺳﺘﺨﺘﺎﺭﻩ؟ ﺍﺫﻛﺮ 4
ﺳﺒﺐﺍﺧﺘﻴﺎﺭﻙ ﻟﻬﺬﺍ ﺍﻟﻨﻤﻮﺫﺝ.
ﺃﻧﺖﺗﺘﻔﺎﻋﻞ ﻣﻊ(.Sys.ﺇﺩﺍﺭﺓ ﺍﻟﻤﻌﻠﻮﻣﺎﺕ) MISﻗﺴﻢ ﻓﻲ ﺷﺮﻛﺔ ﻧﻔﻂ ﻛﺒﻴﺮﺓ ﺟﺪﺍً ﺗﻀﻢ
ﺃﻗﺴﺎﻣﺎًﻣﺘﻌﺪﺩﺓ .ﻟﺪﻳﻬﻢ ﻧﻈﺎﻡ ﻭﺻﺎﻳﺔ )ﺇﺭﺙ( ﻣﻌﻘﺪ .ﺇﻥ ﺗﺮﺣﻴﻞ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﻦ ﻫﺬﺍ ﺍﻟﻨﻈﺎﻡ
ﺍﻟﻘﺪﻳﻢﻟﻴﺲ ﺑﺎﻟﻤﻬﻤﺔ ﺍﻟﺴﻬﻠﺔ ﻭﻗﺪ ﻳﺴﺘﻐﺮﻕ ﻭﻗﺘﺎً ﻃﻮﻳﻼ ً.ﺗﻬﺘﻢ ﺷﺮﻛﺔ ﺍﻟﻨﻔﻂ ﺑﺸﺪﺓ ﺑﺎﻟﻌﻤﻠﻴﺎﺕ
ﻭﻣﻌﺎﻳﻴﺮﺍﻟﻘﺒﻮﻝ ﻭﺍﻟﻌﻘﻮﺩ ﺍﻟﻘﺎﻧﻮﻧﻴﺔ.
ﺃﻋﻂﺳﺒﺒﻴﻦ ﻟﻤﺎﺫﺍ ﻳﺠﺐ ﻋﻠﻰ ﻣﻬﻨﺪﺳﻲ ﺍﻟﻨﻈﺎﻡ ﻓﻬﻢ ﺑﻴﺉﺔ ﺍﻟﻨﻈﺎﻡ؟ 5
ﺍﻟﻨﻤﻮﺫﺝﺍﻟﺤﻠﺰﻭﻧﻲ ،ﺍﻟﺬﻱ ﻃﻮﺭﻩﺑﺎﺭﻱ ﺑﻮﻫﻢ ،ﻫﻮ ﻧﻬﺞ ﻣﺮﻥ ﻟﺘﻄﻮﻳﺮ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﺍﻟﺬﻱ ﻳﺆﻛﺪﺗﺤﻠﻴﻞ ﺍﻟﻤﺨﺎﻃﺮ,
ﺍﻟﺘﻄﻮﻳﺮﺍﻟﺘﻜﺮﺍﺭﻱ ،ﻭﺍﻟﺘﻘﻴﻴﻢ ﺍﻟﻤﻨﺘﻈﻢ ﻭﺗﻌﻠﻴﻖ.ﻭﺗﺘﻤﻴﺰ ﻋﺎﺩﺓ ﺑﺎﻟﻤﺮﺍﺣﻞ ﺍﻟﺘﺎﻟﻴﺔ:
ﻗﺎﺑﻠﻴﺔﺇﻋﺎﺩﺓ ﺍﻻﺳﺘﺨﺪﺍﻡﺇﺩﺍﺭﺓ.
ﺍﻟﻘﻴﺎﺱ)ﻟﻠﺘﺼﻨﻴﻊﻗﺮﺍﺭﺍﺕ,ﻳﻜﺘﺸﻒﺍﻟﻤﺸﺎﻛﻞ ﻓﻲ ﻭﻗﺖ ﻣﺒﻜﺮ(
3
ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﻗﺴﻢﻋﻠﻮﻡ ﺍﻟﺤﺎﺳﻮﺏ
_________________________________________________
12ﻣﺎ ﻫﻲ ﻣﺰﺍﻳﺎ )ﻣﺰﺍﻳﺎ( ﺍﻟﻨﻤﻮﺫﺝ ﺍﻟﺘﺰﺍﻳﺪﻱ؟
4
ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﻗﺴﻢﻋﻠﻮﻡ ﺍﻟﺤﺎﺳﻮﺏ
_________________________________________________
14ﺧﺼﺎﺉﺺ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﺗﺘﻨﺎﻗﺾ ﻣﻊ ﺧﺼﺎﺉﺺ ﺍﻷﺟﻬﺰﺓ؟
ﻳﺎﺍﻟﺒﺮﻣﺠﻴﺎﺕﺃﺳﻬﻞ ﻟﻠﺘﻐﻴﻴﺮﻣﻦ ﺍﻷﺟﻬﺰﺓ .ﺗﻜﻠﻔﺔ ﺍﻟﺘﻐﻴﻴﺮ ﻛﺜﻴﺮﺓ
ﺃﻋﻠﻰﻟﻸﺟﻬﺰﺓ ﺑﺪﻻ ًﻣﻦ ﺍﻟﺒﺮﺍﻣﺞ.
ﺗﺘﻄﻮﺭﻣﻨﺘﺠﺎﺕ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﻣﻦ ﺧﻼﻝ ﺇﺻﺪﺍﺭﺍﺕ ﻣﺘﻌﺪﺩﺓ ﺑﻮﺍﺳﻄﺔ oﺇﺿﺎﻓﺔ ﻣﻴﺰﺍﺕ ﺟﺪﻳﺪﺓﻭ
ﺇﻋﺎﺩﺓﺍﻟﻜﺘﺎﺑﺔﺍﻟﻤﻨﻄﻖ ﺍﻟﺤﺎﻟﻲ ﻟﺪﻋﻢ ﺍﻟﻤﻴﺰﺍﺕ ﺍﻟﺠﺪﻳﺪﺓ.
ﺍﻟﺘﻜﻠﻔﺔoﺗﻄﻮﻳﺮ ﻟﻠﺒﺮﻣﺠﻴﺎﺕﺍﻟﻤﻨﺘﺠﺎﺕ ﻧﺴﺒﻴﺎﻣﺴﺘﻮﻱﻣﺘﺄﺧﺮ ,ﺑﻌﺪ ﻓﻮﺍﺕ ﺍﻟﻮﻗﺖ.
ﺛﺎﻟﺜﺎ.ﺍﺧﺘﺒﺎﺭ ﺍﻟﻨﻈﺎﻡ ﺍﻟﻔﺮﻋﻲ -ﻫﺬﺍ ﻧﻮﻉ ﻣﻦ ﺍﺧﺘﺒﺎﺭ ﺍﻟﺘﻜﺎﻣﻞ .ﻭﺣﺪﺍﺕ ﻣﺨﺘﻠﻔﺔ ﻫﻲ
5
ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﻗﺴﻢﻋﻠﻮﻡ ﺍﻟﺤﺎﺳﻮﺏ
_________________________________________________
ﻳﺘﻢﺩﻣﺠﻬﺎ ﻓﻲ ﺍﻟﻨﻈﺎﻡ ﺍﻟﻔﺮﻋﻲ ﻭﻳﺘﻢ ﺍﺧﺘﺒﺎﺭ ﺍﻟﻨﻈﺎﻡ ﺍﻟﻔﺮﻋﻲ ﺑﺄﻛﻤﻠﻪ .ﺭﺍﺑﻌﺎ.
ﺍﺧﺘﺒﺎﺭﺍﻟﻨﻈﺎﻡ– ﻳﺘﻢ ﺍﺧﺘﺒﺎﺭ ﺍﻟﻨﻈﺎﻡ ﺑﺄﻛﻤﻠﻪ ﻓﻲ ﻫﺬﺍ ﺍﻟﻨﻈﺎﻡ.
ﺍﻟﺨﺎﻣﺲ.ﺍﺧﺘﺒﺎﺭ ﺍﻟﻘﺒﻮﻝ– ﻳﺘﻀﻤﻦ ﻫﺬﺍ ﺍﻟﻨﻮﻉ ﻣﻦ ﺍﻻﺧﺘﺒﺎﺭﺍﺕ ﺍﺧﺘﺒﺎﺭ ﺍﻟﻨﻈﺎﻡ ﺑﺎﺳﺘﺨﺪﺍﻡﺑﻴﺎﻧﺎﺕ ﺍﻟﻌﻤﻴﻞ .ﺇﺫﺍ
ﻛﺎﻥﺍﻟﻨﻈﺎﻡ ﻳﺘﺼﺮﻑ ﻭﻓﻘﺎً ﻻﺣﺘﻴﺎﺟﺎﺕ ﺍﻟﻌﻤﻴﻞ ،ﻓﺴﻴﺘﻢ ﻗﺒﻮﻟﻪ.
ﻣﺴﺎﻭﺉLOC
ﺇﻧﻪﺍﻟﻠﻐﺔ ﺗﻌﺘﻤﺪ
6
ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﻗﺴﻢﻋﻠﻮﻡ ﺍﻟﺤﺎﺳﻮﺏ
_________________________________________________
ﻣﺎﺍﻟﺬﻱ ﺃﺩﻯ ﺇﻟﻰ ﺍﻻﻧﺘﻘﺎﻝ ﻣﻦ ﺍﻟﺘﻄﻮﻳﺮ ﺍﻟﻤﻮﺟﻪ ﻧﺤﻮ ﺍﻟﻤﻨﺘﺞ ﺇﻟﻰ ﺍﻟﺘﻄﻮﻳﺮ ﺍﻟﻤﻮﺟﻪ ﻧﺤﻮ ﺍﻟﻌﻤﻠﻴﺔ 23
ﻓﻲﻫﻨﺪﺳﺔ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ؟
ﻣﺰﺍﻳﺎ
ﻓﻲﺍﻟﻨﻤﻮﺫﺝ ﺍﻟﺘﻜﺮﺍﺭﻱ ،ﻳﻤﻜﻨﻨﺎ ﻓﻘﻂ ﺇﻧﺸﺎء ﻣﻠﻒﺗﺼﻤﻴﻢ ﻋﺎﻟﻲ ﺍﻟﻤﺴﺘﻮﻯﻣﻦ ﺍﻟﺘﻄﺒﻴﻖ
ﻗﺒﻞﻧﺒﺪﺃ ﻓﻲ ﺍﻟﻮﺍﻗﻊﺑﻨﺎء ﺍﻟﻤﻨﺘﺞﻭﺗﺤﺪﻳﺪ ﺣﻞ ﺍﻟﺘﺼﻤﻴﻢ ﻟﻠﻤﻨﺘﺞ ﺑﺄﻛﻤﻠﻪ.
ﺳﻠﺒﻴﺎﺕ
ﻛﻞﻣﺮﺣﻠﺔ ﻣﻦﺍﻟﺘﻜﺮﺍﺭ ﺟﺎﻣﺪ )ﻛﻞ ﻧﻤﻮﺫﺝ ﺃﻭﻟﻲ ﻣﻨﻔﺼﻞ ﻋﻦ ﺍﻟﻨﻤﻮﺫﺝ ﺍﻷﻭﻟﻲ ﺍﻟﺠﺪﻳﺪ(
ﻣﻊﻻ ﺗﺪﺍﺧﻼﺕ)ﻛﻞ ﻣﺮﺣﻠﺔﺗﻨﺘﻬﻲ ﺛﻢ ﺗﺒﺪﺃ ﻣﺮﺣﻠﺔ ﺃﺧﺮﻯ(
ﻣﻜﻠﻔﺔﻗﺪ ﺗﻨﺸﺄ ﻣﺸﺎﻛﻞ ﻓﻲ ﺑﻨﻴﺔ ﺍﻟﻨﻈﺎﻡ ﺃﻭ ﺍﻟﺘﺼﻤﻴﻢﻷﻧﻪ ﻟﻴﺲ ﻛﻞ ﺍﻟﻤﺘﻄﻠﺒﺎﺕ
ﻳﺘﻢﺗﺠﻤﻴﻌﻬﺎ ﻣﻘﺪﻣﺎً ﻃﻮﺍﻝ ﺩﻭﺭﺓ ﺍﻟﺤﻴﺎﺓ ﺑﺄﻛﻤﻠﻬﺎ
8
ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﻗﺴﻢﻋﻠﻮﻡ ﺍﻟﺤﺎﺳﻮﺏ
_________________________________________________
ﺍﺫﻛﺮﺍﺛﻨﻴﻦ ﻣﻦ ﺃﻭﺟﻪ ﺍﻟﻘﺼﻮﺭ ﻓﻲ ﻧﻤﻮﺫﺝ ﺍﻟﺸﻼﻝ .ﻣﺎ ﻫﻮ ﻧﻤﻮﺫﺝ ﺍﻟﻌﻤﻠﻴﺔ ﺍﻟﺬﻱ 32
ﺗﻘﺘﺮﺣﻪﻟﻠﺘﻐﻠﺐ ﻋﻠﻰ ﻛﻞ ﻧﻘﺺ؟
ﺑﻤﺠﺮﺩﻭﺟﻮﺩ ﺍﻟﺘﻄﺒﻴﻖ ﻓﻲﺍﺧﺘﺒﺎﺭﺍﺕ ﺍﻟﻤﺮﺣﻠﺔ ،ﺫﻟﻚﺻﻌﺐ ﺟﺪﺍﺗﻮﺟﻮﺧﻠﻒﻭ ﺗﻐﻴﻴﺮ ﺷﻲء
ﻣﺎﻟﻢ ﻳﻜﻦ ﺫﻟﻚ ﻣﺪﺭﻭﺳﺎً ﺟﻴﺪﺍً ﻓﻲ ﻣﺮﺣﻠﺔ ﺍﻟﻤﻔﻬﻮﻡ.
ﻻﺑﺮﺍﻣﺞ ﺍﻟﻌﻤﻞﻭﻳﺘﻢ ﺇﻧﺘﺎﺝﺣﺘﻰﻣﺘﺄﺧﺮﺧﻼﻝ ﺩﻭﺭﺓ ﺍﻟﺤﻴﺎﺓ.
33ﻣﺎ ﻫﻮ ﺭﺷﻴﻖ؟
ﺍﻟﻜﻠﻤﺔ'ﺭﺷﻴﻖ'ﻳﻌﻨﻲ -
ﻗﺎﺩﺭﻋﻠﻰﻳﺘﺤﺮﻙﺟﺴﻤﻚﺑﺴﺮﻋﺔﻭﺑﺴﻬﻮﻟﺔ.
ﻗﺎﺩﺭﻋﻠﻰﻳﻔﻜﺮﺑﺴﺮﻋﺔ ﻭﺑﻮﺿﻮﺡ.
ﻓﻲﺍﻷﻋﻤﺎﻝ ﺍﻟﺘﺠﺎﺭﻳﺔ ،ﻳﺘﻢ ﺍﺳﺘﺨﺪﺍﻡ ﻛﻠﻤﺔ " "Agileﻟﻮﺻﻒ ﻃﺮﻕﺍﻟﺘﺨﻄﻴﻂ ﻭﺍﻟﻘﻴﺎﻡ ﺑﺎﻟﻌﻤﻞﺣﻴﺚ
ﻳﻔﻬﻢﺫﻟﻚﺇﺟﺮﺍء ﺗﻐﻴﻴﺮﺍﺕﺣﺴﺐ ﺍﻟﺤﺎﺟﺔ ﻫﻮ ﺟﺰء ﻣﻬﻢ ﻣﻦ ﺍﻟﻌﻤﻞ.
ﺗﻌﻨﻲ"ﺳﺮﻋﺔ ﺍﻟﺤﺮﻛﺔ" ﻓﻲ ﺍﻷﻋﻤﺎﻝ ﺃﻥ ﺍﻟﺸﺮﻛﺔ ﺗﻜﻮﻥ ﺩﺍﺉﻤﺎً ﻓﻲ ﻭﺿﻊ ﻳﺴﻤﺢ ﻟﻬﺎ ﺑﻤﺮﺍﻋﺎﺓ ﻣﺎ ﻳﺤﺪﺙ
ﺗﻐﻴﺮﺍﺕﺍﻟﺴﻮﻕ .ﻓﻲ ﺗﻄﻮﻳﺮ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ ،ﻣﺼﻄﻠﺢ "ﺭﺷﻴﻖ" ﻫﻮﺗﻜﻴﻒﻟﺘﻌﻨﻲ "ﺍﻟﻘﺪﺭﺓ ﻋﻠﻰ".ﺍﻻﺳﺘﺠﺎﺑﺔ
ﻟﻠﺘﻐﻴﻴﺮﺍﺕ -ﺍﻟﺘﻐﻴﻴﺮﺍﺕ ﻣﻦ ﺍﻟﻤﺘﻄﻠﺒﺎﺕ,ﺍﻟﺘﻜﻨﻮﻟﻮﺟﻴﺎ ﻭﺍﻟﻨﺎﺱ'.
9
ﻫﻨﺪﺳﺔﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﻗﺴﻢﻋﻠﻮﻡ ﺍﻟﺤﺎﺳﻮﺏ
_________________________________________________
34ﻣﺎ ﻫﻮ ﺑﻴﺎﻥ ) Agileﻭﺛﻴﻘﺔ ﺍﻟﻘﻮﺍﻋﺪ(؟
ﻳﻨﺺﺑﻴﺎﻥ Agileﻋﻠﻰ ﺃﻧﻨﺎ ﻧﻜﺘﺸﻒﻃﺮﻕ ﺃﻓﻀﻞﻝﺍﻟﻨﺎﻣﻴﺔ ﺍﻟﺒﺮﻧﺎﻣﺞ ﻣﻦ ﺧﻼﻝ ﺍﻟﻘﻴﺎﻡ ﺑﺬﻟﻚ
ﻭﻣﺴﺎﻋﺪﺓﺍﻵﺧﺮﻳﻦ ﻋﻠﻰ ﺍﻟﻘﻴﺎﻡ ﺑﺬﻟﻚ .ﻣﻦ ﺧﻼﻝ ﻫﺬﺍ ﺍﻟﻌﻤﻞ ،ﻭﺻﻠﻨﺎ ﺇﻟﻰ ﻗﻴﻤﺔ -
ﺍﻟﺘﺴﻠﻴﻢﺍﻟﻤﺘﺰﺍﻳﺪ
ﻳﺘﻢﺗﻄﻮﻳﺮ ﺍﻟﺒﺮﻧﺎﻣﺞ ﺑﺰﻳﺎﺩﺍﺕ ﻣﻊ ﺗﺤﺪﻳﺪ ﺍﻟﻌﻤﻴﻞ ﻟﻠﻤﺘﻄﻠﺒﺎﺕ ﺍﻟﺘﻲ ﺳﻴﺘﻢ ﺗﻀﻤﻴﻨﻬﺎ ﻓﻲ
ﻛﻞﺯﻳﺎﺩﺓ.
ﺍﻟﻨﺎﺱﻻ ﻋﻤﻠﻴﺔ
ﻣﻬﺎﺭﺍﺕﺍﻝﻓﺮﻳﻖ ﺍﻟﺘﻄﻮﻳﺮﻳﻨﺒﻐﻲ ﺍﻻﻋﺘﺮﺍﻑ ﺑﻬﺎ ﻭﺍﺳﺘﻐﻼﻟﻬﺎ .ﻳﻨﺒﻐﻲ ﺗﺮﻙ ﺃﻋﻀﺎء
ﺍﻟﻔﺮﻳﻖﻟﺘﻄﻮﻳﺮ ﻃﺮﻗﻬﻢ ﺍﻟﺨﺎﺻﺔ ﻓﻲ ﺍﻟﻌﻤﻞ ﺩﻭﻥ ﻋﻤﻠﻴﺎﺕ ﺗﻮﺟﻴﻬﻴﺔ.
ﻗﺒﻮﻝﺍﻟﺘﻐﻴﻴﺮ
ﺗﻮﻗﻊﺃﻥ ﺗﺘﻐﻴﺮ ﻣﺘﻄﻠﺒﺎﺕ ﺍﻟﻨﻈﺎﻡ ،ﻟﺬﺍ ﻗﻢ ﺑﺘﺼﻤﻴﻢ ﺍﻟﻨﻈﺎﻡ ﻻﺳﺘﻴﻌﺎﺏ ﻫﺬﻩ
ﺍﻟﺘﻐﻴﻴﺮﺍﺕ.
ﺍﻟﺤﻔﺎﻅﻋﻠﻰ ﺍﻟﺒﺴﺎﻃﺔ
ﺍﻟﺘﺮﻛﻴﺰﻋﻠﻰ ﺍﻟﺒﺴﺎﻃﺔ ﻓﻲ ﻛﻞ ﻣﻦ ﺍﻟﺒﺮﺍﻣﺞ ﺍﻟﺘﻲ ﻳﺘﻢ ﺗﻄﻮﻳﺮﻫﺎ ﻭﻓﻲ ﻋﻤﻠﻴﺔ
ﺍﻟﺘﻄﻮﻳﺮ.ﺣﻴﺜﻤﺎ ﻛﺎﻥ ﺫﻟﻚ ﻣﻤﻜﻨﺎ ،ﺍﻟﻌﻤﻞ ﺑﻨﺸﺎﻁ ﻋﻠﻰﺇﺯﺍﻟﺔ ﺍﻟﺘﻌﻘﻴﺪ ﻣﻦ ﺍﻟﻨﻈﺎﻡ.
10