ﺗﻮﺳﻌﻪی ﻣﻬﻨﺪﺳﯽ ﻧﺮم اﻓﺰار ﺑﺎ اﺳﺘﻔﺎده از وب

1

ﻣﻘﺪﻣﻪ بر توسعه‌ی مهندسی نرم‌افزار با استفاده از وب:
ﺑﯿﺶ از ﯾﮏ دﻫﻪ از ﺗﻮﺳﻌﻪي وب ﮔﺬﺷﺘﻪ ﮐﻪ ﺑﻪ دﻧﺒﺎل آن، ﻣﻌﺎﯾﺐ ﺑﺰرﮔﯽ در اﯾﻦ ﺧﺼﻮص آﺷﮑﺎر ﺷﺪه اﺳﺖ و ﻣﺰاﯾﺎي اﺳﺘﻔﺎده از ﯾﮏ ﻣﺪل ﭘﺮوﺳﻪ در اﯾﺠﺎد ﻧﺘﺎﯾﺠﯽ دﻗﯿﻖ و آﻧﯽ ﻧﯿﺰ ﺷﻔﺎف ﮔﺮدﯾﺪه اﺳﺖ. ﯾﮏ ﻣﺪل ﭘﺮوﺳﻪ، ﺑﻪ ﻋﻨﻮان ﯾﮏ ﻧﻘﺸﻪ راه دﻗﯿﻘﯽ ﻋﻤﻞ ﮐﺮده ﮐﻪ ﻣﯿﺘﻮاﻧﺪ ﻣﺴﺌﻠﻪي ﭘﺎﯾﺪاري، ﮐﻨﺘﺮل و ﺳﺎزﻣﺎن را ﺑﺮاي ﻓﻌﺎﻟﯿﺘﯽ ﮐﻪ ﺑﺪون ﮐﻨﺘﺮل رﻫﺎ ﺷﺪه اﺳﺖ ﻓﺮاﻫﻢ ﻧﻤﻮده و ﯾﮏ رﻓﺘﺎر ﺑﯽﻧﻈﻤﯽ را ﻣﻔﺮوض داﺷﺘﻪ باشد. وب ﻣﻌﻨﺎﯾﯽ را ﻣﯿ‌‌ﺘﻮان زاﺋﯿﺪه‌ي اﻓﮑﺎر آﻗﺎي ﺗﯿﻢ ﺑﺮﻧﺮﻟﯽ داﻧﺴﺖ ﮐﻪ ﯾﮏ ﺳﺎﺧﺘﺎري از ﺷﺒﮑﻪي وﺑﯽ از دادهﻫﺎ ﯾﺎ وﺑﯽ از ﯾﮏ ﻣﺨﺰن اﻃﻼﻋﺎت را ﺑﺠﺎي ﻣﺠﻤﻮﻋﻪاي ﻋﻈﯿﻢ از وبﺳﺎﯾﺖﻫﺎ و ﺻﻔﺤﺎت وب ﭘﯿﺸﻨﻬﺎد داد.

ﺑﯿﺸﯿﻨﻪ:
ﻗﺒﻞ از ﻇﻬﻮر وب، ﻣﺘﺪﻟﻮژيﻫﺎي ﺗﻮﺳﻌﻪي ﻧﺮم‌ا‌ﻓﺰار ﻣﺨﺘﻠﻔﯽ ﺑﺮاي ﺗﻮﺳﻌﻪي اﭘﻠﯿﮑﯿﺸﻦﻫﺎي ﻧﺮم اﻓﺰاري ﭘﯿﺸﻨﻬﺎد ﮔﺮدﯾﺪ، ﺑﺎ اﯾﻦ ﻫﺪف ﮐﻪ ﺑﺘﻮاﻧﺪ ﻧﯿﺎزﻣﻨﺪيﻫﺎي ﮐﺎرﺑﺮ را ﭘﺎﺳﺦ داده و ﻫﺰﯾﻨﻪي ﻧﮕﻬﺪاريِ ﻧﺮم اﻓﺰار ﺗﻮﺳﻌﻪ ﯾﺎﻓﺘﻪ را ﮐﺎﻫﺶ دﻫﺪ. ﻣﺘﺪﻟﻮژيﻫﺎﯾﯽ ﮐﻪ در ﺣﺎل ﺣﺎﺿﺮ در اﯾﻦ زﻣﯿﻨﻪ وﺟﻮد دارﻧﺪ، برای ﺗﻮﺳﻌﻪي ﺳﯿﺴﺘﻢﻫﺎي ﻧﺮم اﻓﺰار ﻣﺒﺘﻨﯽ ﺑﺮ وب ﻣﻨﺎﺳﺐ ﻧﯿﺴﺘﻨﺪ، ﻣﺨﺼﻮﺻﺎٌ ﺑﺮاي وب ﻧﺴﻞ ﺳﻮم، ﮐﻪ وب معنایی (Web Semantic) ﻧﺎم دارد، ﭼﺮا ﮐﻪ ﻧﯿﺎز ﺑﻪ ﻣﻌﻨﺎﯾﯽﻫﺎﯾﯽ از ﻣﺤﺘﻮاي وب ﺑﻮده ﮐﻪ ﻣﺎﺷﯿﻦ ﺑﺘﻮاﻧﺪ در اﯾﻦ ﻧﻮع ﺳﯿﺴﺘﻢ‌های نرم‌افزاری آن را درک کند. اﮔﺮﭼﻪ وب معنایی را ﻧﻤﯿﺘﻮان ﺟﺎﯾﮕﺰینی ﺑﺮاي وب ﻓﻌﻠﯽ داﻧﺴﺖ و از اﯾﻦ رو سرویس وب معنایی را ﻧﻤﯿﺘﻮان ﺟﺎﯾﮕﺰﯾﻨﯽ ﺑﺮاي ﺳﺮوﯾﺲ وب ﯾﺎ ﻧﺮم اﻓﺰاري ﻓﻌﻠﯽ داﻧﺴﺖ. اﯾﻨﻬﺎ را ﻣﯿﺘﻮان ﺷﮑﻞ ﺗﻮﺳﻌﻪ ﯾﺎﻓﺘﻪاي از ﺳﺮويس وب داﻧﺴﺖ. ﺑﻨﺎﺑﺮاﯾﻦ ﻧﯿﺎز ﺑﻮده ﺗﺎ از ﭘﺮوﺳﻪي مهندسی ﻧﺮم اﻓﺰار اﺳﺘﻔﺎده ﮐﺮد ﺗﺎ ﺑﺘﻮان آﻧﺮا ﺑﺮ روي وب معنایی ﺑﮑﺎر ﮔﺮﻓﺖ. اﯾﻦ ﮐﺎر ﺑﺎﻋﺚ ﺷﺪه ﺗﺎ ﭘﺮوﺳﻪي ﯾﺎﻓﺘﻦ اﻃﻼﻋﺎت ﺑﻪ ﺷﮑﻠﯽ اﺳﺘﺎﻧﺪارد و آﺳﺎن ﺻﻮرت ﮔﯿﺮد و ﺑﺘﻮان اﯾﻦ اﻃﻼﻋﺎت را ﻣﺠﺪد اﺳﺘﻔﺎده و ﺗﺮﮐﯿﺐ ﻧﻤﻮد. وب معنایی در ﺗﺎزه ﺗﺮﯾﻦ ﺷﮑﻞ ﺧﻮد ﻗﺮار ﮔﺮﻓﺘﻪ و ﺑﺎﯾﺪ در آﯾﻨﺪه ﺷﮑﻞ ﺗﻮﺳﻌﻪ ﯾﺎﻓﺘﻪي ﺧﻮد را ﻃﯽ ﻧﻤﻮده و ﺑﺎ ﯾﮏ دﯾﺪي از ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ وب ﺗﺮﮐﯿﺐ ﺷﻮد.
ﺑﮑﺎرﮔﯿﺮي ﭘﺮوﺳﻪ‌ﻫﺎي SE ﺑﺮ روي SW، ﻧﺸﺎن دﻫﻨﺪه‌ي ﻧﯿﺎز ﺑﺮاي ﺗﻐﯿﯿﺮات در ﻓﺎز ﭼﺮﺧﻪي ﺣﯿﺎت ﻫﺮ SE و ﻓﻌﺎﻟﯿﺖﻫﺎي ﭼﺘﺮي ﺑﻮده ﮐﻪ ﺑﺮاي ﮐﯿﻔﯿﺖ ﺿﺮوري ﻣﯿ‌ﺒﺎﺷﺪ، ﻣﺎﻧﻨﺪ ﻣﺪﯾﺮﯾﺖ ﺗﻐﯿﯿﺮ، ﻣﺪﯾﺮﯾﺖ رﯾﺴﮏ، ﻣﺪﯾﺮﯾﺖ ﭘﯿﮑﺮﺑﻨﺪي و ﻏﯿﺮه).

معرفی و آشنایی سرویس‌ها:
ﺳﺮوﯾﺲ وب ﻣﻌﻨﺎﯾﯽ ﻣﯿﺘﻮاﻧﺪ ﻗﺎﺑﻠﯿﺖ ﭘﯿﻮﻧﺪ ﺧﻮدﮐﺎر دادهﻫﺎ را در ﺑﯿﻦ اﭘﻠﯿﮑﯿﺸﻦﻫﺎ ﻓﺮاﻫﻢ ﻧﻤﺎﯾﺪ. در ﺑﻌﻀﯽ از ﻣﻮاﻗﻊ، اﯾﻦ ﺳﺮوﯾﺲ ﮐﻪ ﺑﻪ ﻋﻨﻮان ﻧﺮم اﻓﺰار ﻣﺸﺘﺮك ﺷﻨﺎﺧﺘﻪ ﻣﯿﺸﻮد، ﻣﺪل ﺗﺤﻮﻟﯽ ﻧﺮم اﻓﺰار ﺑﻪ ﻋﻨﻮان ﯾﮏ ﺳﺮوﯾﺲ ﻣﯿﺘﻮاﻧﺪ ﻣﺎﻟﮑﯿﺖ ﻧﺮم اﻓﺰار را از ﮐﺎرﺑﺮ ﺟﺪا ﮐﻨﺪ. ﻣﺨﺼﻮﺻﺎٌ ﺷﺒﮑﻪي اﺟﺘﻤﺎﻋﯽ وب ﮐﻪ ﻣﯿﺘﻮاﻧﺪ اﺳﺘﻘﻼل ﭘﻠﺖ ﻓﺮم و زﺑﺎن را ﺑﺮ روي ﺳﺮوﯾﺲ ﺗﻘﺎﺿﺎ ﻓﺮاﻫﻢ ﺳﺎزد. ﺑﻬﺮه ﺑﺮداري از ﺣﻮزه ي ﺟﺪﯾﺪ ﻧﺮم اﻓﺰار ﯾﺎ ﺑﮑﺎر ﮔﯿﺮي ﭘﺮوﺳﻪ ي ﻣﻌﻨﺪﺳﯽ وب ﺑﺮ روي وب ﻣﻌﻨﺎﯾﯽ ﻣﯿﺘﻮاﻧﺪ اﻣﺮي ارزﺷﻤﻨﺪ ﺑﺎﺷﺪ، ﭼﺮا ﮐﻪ در ﺣﺎل ﺣﺎﺿﺮ ﻓﻌﺎﻟﯿﺖ ﻫﺎي ﮐﻤﯽ در اﯾﻦ ﺣﻮزه ﺻﻮرت ﮔﺮﻓﺘﻪ اﺳﺖ و از اﯾﻦ رو ﻣﯿﺘﻮان از ﺑﮑﺎر ﮔﯿﺮي ﺟﺮﯾﺎن ﻣﻬﻨﺪﺳﯽ ﻧﺮم اﻓﺰار در اﯾﻦ ﺗﺤﻮﻻت ﺗﮑﻨﻮﻟﻮژي ﺑﻬﺮه ﺑﺮد. ﻫﺪف اﯾﻦ ﺑﻮده ﮐﻪ ﯾﮏ ﺑﺎزﺑﯿﻨﯽ ﺟﺎﻣﻌﻪ را در اﯾﻦ ﺣﻮزه اﻧﺠﺎم داد ﺗﺎ ﺑﺘﻮان داﻧﺸﯽ را در اﯾﻦ ﺧﺼﻮص ﺑﻪ ﻋﻨﻮان ﯾﮏ ﻧﻘﻄﻪي ﺷﺮوع در اﺧﺘﯿﺎر ﭘﮋوﻫﺸﮕﺮان ﻗﺮار دارد، ﭼﺮا ﮐﻪ ﺑﺮ اﺳﺎس ﺗﺠﺎرب ﺷﺨﺼﯽاي ﮐﻪ در اﺧﺘﯿﺎر دارﯾﻢ، ﺟﺴﺘﺠﻮي ﭼﻨﯿﻦ داﻧﺸﯽ ﻣﯿﺘﻮاﻧﺪ اﻣﺮي ﺧﺴﺘﻪ ﮐﻨﻨﺪه و زﻣﺎن ﺑﺮ ﺑﺎﺷﺪ. ﻗﺒﻞ از اﯾﻦ اﯾﻨﮑﻪ ﻣﺴﺌﻠﻪ ي وب ﻣﻌﻨﺎﯾﯽ را از دﯾﺪ ﻣﻬﻨﺪﺳﯽ ﻧﺮم اﻓﺰار ﻣﻮرد ﺑﺮرﺳﯽ ﻗﺮار دارﯾﻢ، ﻧﯿﺎز اﺳﺖ ﺗﺎ ﻣﻔﺎﻫﯿﻢ وب ﻣﻌﻨﺎﯾﯽ را ﺑﻪ اﺧﺘﺼﺎر در اﯾﻨﺠﺎ ﺑﯿﺎن ﮐﻨﯿﻢ.

ﺑﺎزﺑﯿﻨﯽ سرویس ‌ها و ﯾﺎﻓﺘﻪ ﻫﺎ:
ﺑﺴﯿﺎري از ﻣﻄﺎﻟﻌﺎت ﭘﯿﺸﻨﻬﺎدي، ﺷﺎﻣﻞ ﭘﺮوﺳﻪﻫﺎي ﺗﻤﺎم اﺗﻮﻣﺎﺗﯿﮏ ﯾﺎ ﻧﯿﻤﻪ اﺗﻮﻣﺎﺗﯿﮏ ﺑﻮده‌اﻧﺪ، ﻣﺜﻼٌ از اﺑﺰارﻫﺎﯾﯽ ﺑﺮاي ﭘﯿﺎده‌ﺳﺎزي ﭼﺎرﭼﻮب آﻧﻬﺎ و ﯾﺎ ارزﯾﺎﺑﯽ ﭼﺎرﭼﻮب ﺧﻮد اﺳﺘﻔﺎده ﻧﻤﻮده‌اﻧﺪ، ﻣﺎﻧﻨﺪ ارزﯾﺎﺑﯽ WSMO ﮐﻪ اراﺋﻪ ﺷﺪه اﺳﺖ. روي ﻫﻢ‌رﻓﺘﻪ، ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻨﮑﻪ اﻏﻠﺐ اﯾﻦ ﻣﻄﺎﻟﻌﺎت در ﺣﺪود 5 ﺳﺎل اﺳﺖ ﮐﻪ ﺻﻮرت ﮔﺮﻓﺘﻪ اﺳﺖ، ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻧﻮ و ﺑﺪﯾﻊ ﺑﻮدن آﻧﻬﺎ ﻣﻮرد ﺗﻮﺟﻪ ﺧﺎﺻﯽ ﻗﺮار ﮔﺮﻓﺘﻪ‌اﻧﺪ. ﻧﯿﺎز ﺑﺮاي ﺑﮑﺎرﮔﯿﺮي ﻧﯿﺰ ﺑﻪ ﻋﻨﻮان ﻣﺤﺘﻮاي وب ﻣﻌﻨﺎﯾﯽ ﻗﺎﺑﻞ درك ﺗﻮﺳﻂ ﻣﺎﺷﯿﻦ ﺗﺸﺨﯿﺺ داده ﺷﺪه اﺳﺖ. ﻫﯿﭻ ﮐﺪام از ﻣﺪلﻫﺎي ﻣﻨﺪﺳﯽ وب ﻣﻌﻨﺎﯾﯽ ﭘﯿﺸﻨﻬﺎدي، ﺑﻪ ﺻﻮرت ﮐﺎﻣﻞ ﭘﯿﺎدهﺳﺎزي ﻧﺸﺪه اﺳﺖ و ﺑﺴﯿﺎري از ﻓﻌﺎﻟﯿﺖﻫﺎﯾﯽ ﮐﻪ ﻗﺒﻼٌ ﻣﻄﺮح ﮔﺮدید ﻧﯿﺰ ﯾﮏ روش ﻣﻬﻨﺪﺳﯽ ﻣﺠﺪد را ﺑﺮاي ﺗﺒﺪﯾﻞ اﭘﻠﯿﮑﯿﺸﻦﻫﺎي وب ﺑﻪ اﭘﻠﯿﮑﯿﺸﻦﻫﺎي وب ﻣﻌﻨﺎﯾﯽ ﭘﯿﺸﻨﻬﺎد دادﻧﺪ و ﺗﻨﻬﺎ ﺗﻌﺪادي از آﻧﻬﺎ، اﯾﻦ ﭘﺮوﺳﻪي ﺗﻮﺳﻌﻪ را از ﻫﻤﺎن اﺑﺘﺪا ﻣﺪ ﻧﻈﺮ و ﻗﺮار داده‌اﻧﺪ. ﻣﺸﺎﻫﺪه ﺷﺪه اﺳﺖ ﮐﻪ ﺑﻌﻀﯽ از ﭘﮋوﻫﺸﮕﺮان، از MDD اﺳﺘﻔﺎده ﻧﻤﻮده‌اﻧﺪ ﭼﺮا ﮐﻪ ﻣﯿﺘﻮان آﻧﺮا اﻧﺘﺨﺎﺑﯽ ﻃﺒﯿﻌﯽ ﺑﺮاي ﻣﺪلﺳﺎزي داﻧﺴﺖ.
ﭘﺲ از اراﺋﻪي روﺷﯽ ﻫﺎي ﭘﯿﺸﻨﻬﺎدي ﺑﺮاي ﻣﺪل SE ﺑﺮاي Sw، ﻣﺸﺎﻫﺪه ﺷﺪه اﺳﺖ ﮐﻪ از آﻧﺎﯾﯽ ﮐﻪ واﺑﺴﺘﮕﯽ ﮐﻤﯽ در ﺑﯿﻦ ﻓﺎز ﻫﺎي ﺗﻮﺳﻌﻪ ي SW وﺟﻮد دارد، ﻣﯿﺘﻮان آﻧﻬﺎ را ﭘﺸﺖ ﺳﺮ ﻫﻢ اﻧﺠﺎم داد. اﮔﺮﭼﻪ ﻗﻮاﻧﯿﻦ ارزﯾﺎﺑﯽ ﺑﺎﯾﺪ اﯾﻦ ﺗﻀﻤﯿﻦ را ﺑﺪﻫﻨﺪ ﮐﻪ ﺻﺮف ﻧﻈﺮ از ﭼﮕﻮﻧﮕﯽ ﭘﯿﺎدهﺳﺎزي ﭼﺮﺧﻪي ﺣﯿﺎت، ﺑﺘﻮان آﻧﺮا از ﻧﻈﺮ ﺗﮑﻤﯿﻞ ﺑﻮدن و ﺳﺎزﮔﺎري ﻃﺮاﺣﯽ ﺑﺮرﺳﯽ ﮐﺮد.

داﻣﻨﻪ:
ﻧﯿﺎز ﺑﺮاي ﺑﮑﺎر ﮔﯿﺮي ﻣﻬﻨﺪﺳﯽ ﻧﺮم اﻓﺰار ﻓﻌﻠﯽ در ﺗﺤﻮﻻت ﺗﮑﻨﻮﻟﻮژي اﺧﯿﺮي ﮐﻪ ﻣﯿﺘﻮاﻧﺪ ﺑﺨﺸﯽ از ﻣﻬﻨﺪﺳﯽ وب را ﺗﺸﮑﯿﻞ دﻫﺪ، ﻣﻮرد ﺑﺮرﺳﯽ ﻗﺮار ﮔﺮﻓﺖ. ﻫﺪﻓﯽ ﮐﻪ ﻣﺎ از اﯾﻦ ﻣﻄﺎﻟﻌﻪ دﻧﺒﺎل ﻣﯿﮑﻨﯿﻢ، دو ﻃﺮﻓﻪ اﺳﺖ. از ﯾﮏ ﺳﻮ، ﻫﺪف اﯾﻦ ﺑﻮده ﻣﺸﺨﺺ ﮐﻨﯿﻢ ﮐﻪ ﭼﻄﻮر ﻣﺪل ﺷﻐﻠﯽ ﮐﻪ ﻣﺤﺎﺳﺒﺎت اﺑﺮي ﻧﺎم دارد، ﺑﺮاي ﺗﺤﻮﯾﻞ SaaS ﻧﯿﺎزر ﺑﻪ ﭘﺮوﺳﻪي اﺳﺘﺎﻧﺪاردﺳﺎزي ﺷﺪه دارد. از ﺳﻮي دﯾﮕﺮ، ﻣﻤﮑﻦ اﺳﺖ ﭼﮕﻮﻧﮕﯽ ﺑﻬﺮه ﺑﺮدن SW از ﭘﺮوﺳﻪي SE را ﺑﺮ رووي ﭘﺮوﺳﻪي ﻣﻬﻨﺪﺳﯽ وب ﮐﻠﯽ را ﺑﻪ صورت کلی و همچنین فازهای انحصاری پروسه را بتوان مورد مطالعه قرار داد.
ﺑﺎ ﺑﮑﺎرﮔﯿﺮي SE ﺑﺮاي SW در ﺟﻬﺖ اﭘﻠﯿﮑﯿﺸﻦﻫﺎي ﻣﺤﺴﻮس ﺑﻪ داده، ﻣﺸﺎﺑﻪ ﺑﺎ ﻣﺮﮐﺰ ﺳﻼﻣﺘﯽ و ﻏﯿﺮه، ﭘﺮوﺳﻪ ﺑﺮاي ﭘﺮازش ﺧﻮدﮐﺎر اﺳﺘﺎﻧﺪارد ﺳﺎزي ﺷﺪه اﺳﺖ. ﺑﺎ اﺳﺘﻔﺎده از ﭘﺮوﺳﻪي SE، اﭘﻠﯿﮑﯿﺸﻦ ﻫﺎي وب ﻣﻌﻨﺎﯾﯽ را ﻣﯿﺘﻮان ﺑﺎ ﻣﻌﻤﺎري SE و ﭘﺸﺘﯿﺒﺎﻧﯽ اﺑﺰار (از ﻃﺮﯾﻖ MDA) ﺑﺎ UML ﻏﻨﯽ ﻧﻧﻤدﻮد و ﺑﻪ ﻃﻮر ﻣﺸﺎﺑﻪ، ﻣﻬﻨﺪﺳﯽ ﻧﺮم اﻓﺰار اﺑﺮي را ﻣﯿﺘﻮان ﺑﺮاي اﭘﻠﯿﮑﯿﺸﻦﻫﺎﯾﯽ ﮐﻪ ﻣﺆﻟﻔﻪﻫﺎﯾﯽ ﺑﺎ ﻗﺎﺑﻠﯿﺖ اﺳﺘﻔﺎدهي ﻣﺠﺪد دارﻧﺪ)ﮐﻪ ﺑﻪ ﻋﻨﻮان ﺳﺮوﯾﺲ اراﺋﻪ ﺷﺪه‌اﻧﺪ (ﻣﻨﺎﺳﺐ داﻧﺴﺖ و ﻣﯿﺘﻮان ﯾﮏ ﭘﺮوﺳﻪي SE ﺑﻨﭻ ﻣﺎرك ﺗﻮﺳﻌﻪ داد ﮐﻪ ﺑﺘﻮاﻧﺪ ﺑﻬﺒﻮد ﻣﺰاﯾﺎي آﻧﺮا ﺑﻪ ﻫﻤﺮاه داﺷﺘﻪ ﺑﺎﺷﺪ. ﺧﺎﻃﺮ ﻧﺸﺎن ﻣﯿ‌ﮑﻨﯿﻢ ﮐﻪ ﻧﺎﺗﻮازﻧﯽﻫﺎﯾﯽ ﮐﻪ ﺑﯿﻦ ﻣﺘﺪﻟﻮژيﻫﺎي SE وﺟﻮد دارد، این اصل را ﻣﻨﻌﮑﺲ ﻧﻤﻮده ﮐﻪ ﺑﺮاي ﭘﺎﺳﺦ ﺑﻪ ﭼﺎﻟﺶﻫﺎي ﻣﺨﺘﻠﻔﯽ ﮐﻪ در ﭘﺮوژهﻫﺎي ﻧﺮم اﻓﺰاري وﺟﻮد دارد، ﻓﻌﺎﻟﯿﺖﻫﺎي زﯾﺎدي ﺑﺎﯾﺪ ﺻﻮرت ﮔﯿﺮد. ﻋﯿﺐ ﯾﮏ ﭘﺮوژه‌ ي ﻧﺮم اﻓﺰاري را ﻧﯿﻤﺘﻮان ﻧﺎﺷﯽ از ﯾﮏ ﻣﺘﺪﻟﻮژي ﻧﺮم اﻓﺰاري داﻧﺴﺖ، ﺑﻠﮑﻪ ﻣﯿﺘﻮان ﻧﺎﺷﯽ از ﺗﯿﻢ ﺗﻮﺳﻌﻪاي داﻧﺴﺖ ﮐﻪ ﯾﮏ ﻣﺘﺪﻟﻮژي ﺗﻮﺳﻌﻪي اﺷﺘﺒﺎﻫﯽ را اﻧﺘﺨﺎب ﻧﻤﻮده اﺳﺖ.