Afa ¬B√ …I
ﺗﻌﺮﻳﻒ ﭘﺮﻭﮊﻩ ﯼ ﺩﺭﺱ
ﺑﺮﻧﺎﻣﻪ ﺳﺎﺯﯼ ﭘﻴﺸﺮﻓﺘﻪ )(40244
ﻧﻴﻢ ﺳﺎﻝ ﺍﻭﻝ 81-80
ﻣﺪﺭﺱ :ﺧﻮﺍﻧﺴﺎﺭﯼ
ﭼﻬﺎﺭ ﺻﻮﺭﺕ ﻣﺴﺄﻟﻪ ﺑﺮﺍﻱ ﺍﻧﺠﺎﻡ ﭘﺮﻭﮊﻩ ﺍﺟﺒﺎﺭﯼ ﺩﺭﺱ ﻭ ﭼﻬﺎﺭ ﭘﺮﻭﮊﻩ ﯼ ﺍﺿﺎﻓﻪ ﺑﻪ ﺻﻮﺭﺕ ﺍﻣﺘﻴﺎﺯﯼ
ﺗﻌﺮﻳﻒ ﺷﺪﻩ ﺍﺳﺖ .ﻣﻮﻋﺪ ﺗﺤﻮﻳﻞ ﭘﺮﻭﮊﻩ ﻫﺎ ﺩﺭ homepageﺩﺭﺱ ﻣﺸﺨﺺ ﻣﯽ ﺷﻮﺩ .ﻣﺤﺪﻭﺩﻳﺘﻲ ﺩﺭ ﺍﻧﺘﺨﺎﺏ
ﭘﺮﻭﮊﻫﻬﺎﯼ ﺍﺟﺒﺎﺭﯼ ﻭﺟﻮﺩ ﻧﺪﺍﺭﺩ ﻭ ﭘﺮﻭﮊﻩ ﻫﺎﯼ ﺍﻣﺘﻴﺎﺯﯼ ﺍﺧﺘﻴﺎﺭﯼ ﻫﺴﺘﻨﺪ .ﺗﺤﻮﻳﻞ ﭘﺮﻭﮊﻩ ﻫﺎ ﺑﻪ ﺷﻜﻞ
ﺣﻀﻮﺭﻱ ﺍﻧﺠﺎﻡ ﻣﻲ ﺷﻮﺩ .ﺩﺭ ﺍﻧﺠﺎﻡ ﭘﺮﻭﮊﻩ ﺑﻪ ﻧﻜﺎﺕ ﺯﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ:
.1ﻃﺮﺍﺣﻲ ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﺑﺎﻳﺪ ﺷﻴﺊ ﮔﺮﺍ ﺑﺎﺷﺪ .ﺑﻪ ﺧﺼﻮﺹ ﺭﻭﻱ ﻃﺮﺍﺣﻲ ﺳﻠﺴﻠﻪ ﻣﺮﺍﺗﺐ ﻭﺭﺍﺛﺖ ﻭ
ﭼﻨﺪﺭﻳﺨﺘﻲ ﺩﻗﺖ ﻛﻨﻴﺪ .ﺭﺳﻴﺪﮔﻲ ﺑﻪ ﺧﻄﺎﻫﺎ ﺭﺍ ﺍﺯ ﻃﺮﻳﻖ exceptionﺍﻧﺠﺎﻡ ﺩﻫﻴﺪ .ﺭﻋﺎﻳﺖ ﻧﻜﺎﺕ
ﭘﻴﻤﺎﻧﻪ ﺍﻱ ﻭ ﺍﻳﺪﻩ ﻫﺎﻱ ﻃﺮﺍﺣﻲ ﺩﺭ ﺍﺭﺯﺷﻴﺎﺑﻲ ﭘﺮﻭﮊﻩ ﺑﻪ ﺷﺪﺕ
ﺗﺄﺛﻴﺮ ﺩﺍﺭﺩ .ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺍﻣﻜﺎﻧﺎﺕ STL
ﺗﻮﺻﻴﻪ ﻣﻲ ﺷﻮﺩ.
.2ﻣﺎﻫﻴﺖ ﺗﻤﺎﻡ ﭘﺮﻭﮊﻩ ﻫﺎ ﻃﻮﺭﻱ ﺍﺳﺖ ﻛﻪ ﻭﺍﺳﻂ ﻛﺎﺭﺑﺮ ﺟﺰﺀ ﻣﻬﻤﻲ ﺍﺯ ﺁﻧﻬﺎ ﺭﺍ ﺗﺸﻜﻴﻞ ﻣﻲ ﺩﻫﺪ .ﺩﺭ
ﻃﺮﺍﺣﻲ ﺁﻥ ﺩﻗﺖ ﻛﻨﻴﺪ.
.3ﺩﺭ ﺍﻧﺘﺨﺎﺏ ﻣﺤﻴﻂ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺁﺯﺍﺩ ﻫﺴﺘﻴﺪ ﻣﮕﺮ ﺩﺭ ﺗﻌﺮﻳﻒ ﭘﺮﻭﮊﻩ ﻗﻴﺪ ﺷﺪﻩ ﺑﺎﺷﺪ .ﺯﺑﺎﻥ ﭘﻴﺎﺩﻩ
ﺳﺎﺯﻱ ﺍﻟﺰﺍﻣ ﹰﺎ C++ﺍﺳﺖ.
.4ﺗﻌﺪﺍﺩ ﻧﻔﺮﺍﺕ ﺍﻧﺠﺎﻡ ﻫﺮ ﭘﺮﻭﮊﻩ 2ﻧﻔﺮ ﺍﺳﺖ .ﻧﺤﻮﻩ ﻱ ﺗﻘﺴﻴﻢ ﻛﺎﺭ ﻭ ﺗﺴﻠﻂ ﺗﻤﺎﻡ ﺍﻋﻀﺎﻱ ﮔﺮﻭﻩ ﺑﺮ
ﺗﻤﺎﻡ ﻗﺴﻤﺘﻬﺎﻱ ﭘﺮﻭﮊﻩ ،ﺑﻪ ﻫﻨﮕﺎﻡ ﺍﺭﺯﺷﻴﺎﺑﻲ ﻣﻮﺭﺩ ﺗﻮﺟﻪ ﻗﺮﺍﺭ ﻣﻲ ﮔﻴﺮﺩ .ﺍﻧﺠﺎﻡ ﺗﻚ ﺗﻔﺮﻱ ﻳﻚ ﭘﺮﻭﮊﻩ
ﺍﻣﺘﻴﺎﺯﻱ ﻣﺤﺴﻮﺏ ﻧﻤﻲ ﺷﻮﺩ!
.5ﺍﻧﺠﺎﻡ ﮐﺎﻣﻞ ﭘﺮﻭﮊﻩ ﯼ ﺍﻧﺘﺨﺎﺑﯽ ﻣﻮﺭﺩ ﺗﺄﮐﻴﺪ ﺍﺳﺖ .ﻧﻴﻤﻪ ﺗﻤﺎﻡ ﻣﺎﻧﺪﻥ ﭘﺮﻭﮊﻩ )ﭼﻪ ﻭﺍﺳﻂ ﮐﺎﺭﺑﺮ ﻭ ﭼﻪ
ﮐﺎﺭﮐﺮﺩ ﻫﺎﯼ ﻣﺸﺨﺺ ﺷﺪﻩ ﺩﺭ ﺻﻮﺭﺕ ﭘﺮﻭﮊﻩ( ﺑﺎﻋﺚ ﺍﺯ ﺩﺳﺖ ﺩﺍﺩﻥ ﻗﺴﻤﺖ ﺯﻳﺎﺩﯼ ﺍﺯ ﻧﻤﺮﻩ ﯼ
ﭘﺮﻭﮊﻩ ﺧﻮﺍﻫﺪ ﺷﺪ.
.6ﺍﻓﺮﺍﺩ)ﮔﺮﻭﻩ ﻫﺎ(ﻳﯽ ﮐﻪ ﭘﺮﻭﮊﻩ ﯼ ﺍﻣﺘﻴﺎﺯﯼ ﺭﺍ ﺍﻧﺠﺎﻡ ﻣﯽ ﺩﻫﻨﺪ ﺣﺘﻤﹰﺎ ﻻﺯﻡ ﺍﺳﺖ ﻳﮑﯽ ﺍﺯ ﭘﺮﻭﮊﻩ ﻫﺎﯼ
ﺍﺟﺒﺎﺭﯼ ﺭﺍ ﺍﻧﺠﺎﻡ ﺩﺍﺩﻩ ﺑﺎﺷﻨﺪ.
.7ﺩﺭ ﻣﻮﺭﺩ ﭼﮕﻮﻧﮕﻲ ﻭ ﺣﺠﻢ ﻣﺴﺘﻨﺪﺍﺕ ﻣﻮﺭﺩ ﻧﻴﺎﺯ ﺑﺮﺍﻱ ﺗﺤﻮﻳﻞ ﭘﺮﻭﮊﻩ ،ﻣﺘﻌﺎﻗﺒﹰﺎ ﺍﺯ ﻃﺮﻳﻖ ﻟﻴﺴﺖ ﭘﺴﺖ
ﺍﻟﻜﺘﺮﻭﻧﻴﻚ ﻭ ﻳﺎ homepageﺩﺭﺱ ﺍﻃﻼﻋﺎﺕ ﻻﺯﻡ ﺍﺭﺍﺋﻪ ﻣﻲ ﺷﻮﺩ.
.8ﻧﮑﺎﺕ ﺍﺿﺎﻓﻪ ﺩﺭ ﻣﻮﺭﺩ ﺟﺰﻳﻴﺎﺕ ﻣﺮﺑﻮﻁ ﺑﻪ ﭘﺮﻭﮊﻩ ﻫﺎ ﻭ ﺗﻐﻴﻴﺮﺍﺕ ﻣﺤﺘﻤﻞ ﺩﺭ ﺻﻮﺭﺕ ﻣﺴﺄﻟﻪ ﻭ ﺭﻓﻊ
ﺍﺑﻬﺎﻡ ﺩﺭ ﻣﻮﺭﺩ ﭘﺮﻭﮊﻩ ﻫﺎ ﺩﺭ mailinglistﺩﺭﺱ ﻣﻨﻌﮑﺲ ﻣﯽ ﺷﻮﺩ.
.9ﺍﻧﺠﺎﻡ ﮐﺎﻣﻞ ﭘﺮﻭﮊﻩ ﻫﺎ ﺩﺭﺱ 5ﻧﻤﺮﻩ ﺍﺯ 20ﻧﻤﺮﻩ ﯼ ﭘﺎﻳﺎﻥ ﺗﺮﻡ ﺭﺍ ﺗﺸﮑﻴﻞ ﻣﯽ ﺩﻫﺪ .ﺍﻧﺠﺎﻡ ﮐﺎﻣﻞ ﻫﺮ
ﭘﺮﻭﮊﻩ ﯼ ﺍﻣﺘﻴﺎﺯﯼ ﺗﺎ ﺳﻘﻒ 2ﻧﻤﺮﻩ ﻣﯽ ﺗﻮﺍﻧﺪ ﺑﻪ ﻧﻤﺮﻩ ﺍﺯ 20ﺍﺿﺎﻓﻪ ﮐﻨﺪ.
.10ﺗﻮﺿﻴﺤﺎﺕ ﺷﻔﺎﻫﯽ ﺩﺭ ﻣﻮﺭﺩ ﭘﺮﻭﮊﻩ ﻫﺎﯼ ﺫﮐﺮ ﺷﺪﻩ ﭘﺲ ﺍﺯ ﺧﺎﺗﻤﻪ ﯼ ﺍﻣﺘﺤﺎﻥ ﭘﺎﻳﺎﻥ ﺗﺮﻡ ﻭ ﺳﺮ
ﺟﻠﺴﻪ ﯼ ﺍﻣﺘﺤﺎﻥ ﺍﺭﺍﺋﻪ ﻣﯽ ﺷﻮﺩ.
1
YML – ﻭﻳﺮﺍﻳﺸﮕﺮ1 ﭘﺮﻭﮊﻩ ﻱ
ﺩﺭ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﺯﻳﺮﻣﺠﻤﻮﻋﻪ ﺍﻱ ﺳﺎﺩﻩ. ﺑﺮﺍﻱ ﺗﻮﺻﻴﻒ ﻣﺴﺘﻨﺪﺍﺕ ﺳﺎﺧﺖ ﻳﺎﻓﺘﻪ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲ ﺷﻮﺩXML ﺯﺑﺎﻥ
ﻫﺪﻑ ﭘﺮﻭﮊﻩ ﻧﻮﺷﺘﻦ ﻳﻚ ﻭﻳﺮﺍﻳﺸﮕﺮ ﺑﺮﺍﻱ ﺍﻳﻦ ﺯﺑﺎﻥ. ﺭﺍ ﺩﺭ ﻧﻈﺮ ﻣﻲ ﮔﻴﺮﻳﻢYML ﺷﺪﻩ ﺍﺯ ﺍﻳﻦ ﺯﺑﺎﻥ ﺑﻪ ﻧﺎﻡ
: ﺗﻌﺮﻳﻒ ﺗﻌﺪﺍﺩﻱ ﭘﺮﻭﮊﻩ ﺑﺮﺍﻱ ﻳﻚ ﺩﺭﺱ ﺍﺳﺖ، ﻧﻮﺷﺘﻪ ﺷﺪﻩYML ﺑﻪ ﻋﻨﻮﺍﻥ ﻧﻤﻮﻧﻪ ﻣﺘﻦ ﺯﻳﺮ ﻛﻪ ﺑﻪ.ﺍﺳﺖ
<TermProject>
<Course> Programming in C++ </Course>
<Teacher> Mohammad Khansari </Teacher>
<DueDate> 80/11/11 </DueDate>
<Introduction>
There are four problems defined from which you can select
one as your final project ...
</Introduction>
<Project>
<Title> A simple YML editor </Title>
<Description>
XML is a language for describing structured documents ...
</Description>
</Project>
<Project>
<Title> A simple logic design environment </Title>
<Description>
Some text describing the second project ...
</Description>
<Comments>
A graphical user interface is required for your program
</Comments>
</Project>
<Project>
<Title> A simple embedded DBMS </Title>
<Description>
Some text describing the third project ...
</Description>
</Project>
<Project>
<Title> A simple CASE tool for refactoring </Title>
<Description>
Some text describing the fourth project ...
</Description>
</Project>
</TermProject>
ﻫﺮ. ﺍﺯ ﺗﻌﺪﺍﺩﯼ ﻋﻨﺼﺮ ﺗﺸﮑﻴﻞ ﺷﺪﻩ ﺍﺳﺖXML ﻫﺮ ﻣﺘﻦ ﺩﺭ،ﻫﻤﺎﻥ ﮔﻮﻧﻪ ﮐﻪ ﺍﺯ ﻣﺘﻦ ﻓﻮﻕ ﻣﺸﺨﺺ ﺍﺳﺖ
ﻧﻤﻮﻧﻪ ﻫﺎﻳﯽ ﺍﺯ ﻋﻨﺎﺻﺮ ﺩﺭ ﻣﺘﻦ.( ﺁﻏﺎﺯ ﻭ ﻳﮏ ﺑﺮﭼﺴﺐ ﭘﺎﻳﺎﻥ ﻣﺸﺨﺺ ﻣﯽ ﺷﻮﺩtag) ﻋﻨﺼﺮ ﺑﺎ ﻳﮏ ﺑﺮﭼﺴﺐ
. DueDate ﻳﺎ،Description ،Project ﻓﻮﻕ ﻋﺒﺎﺭﺗﻨﺪ ﺍﺯ
ElementName
< ﺍﺳﺖ ﮐﻪ ﺩﺭ ﺁﻥElementName> Some text </ElementName> ﻫﺮ ﻋﻨﺼﺮ ﺑﻪ ﺷﮑﻞ
ﺗﻮﺟﻪ ﮐﻨﻴﺪ ﮐﻪ ﻫﺮ ﻋﻨﺼﺮ ﺑﺎﻳﺪ ﻳﮏ ﺑﺮﭼﺴﺐ ﺁﻏﺎﺯﻳﻦ ﻭ ﻳﮏ ﺑﺮﭼﺴﺐ.ﺍﺳﻢ ﻫﻤﺎﻥ ﻋﻨﺼﺮ ﻣﻮﺭﺩ ﻧﻈﺮ ﺍﺳﺖ
ﻋﻨﺎﺻﺮ ﻣﯽ ﺗﻮﺍﻧﻨﺪ ﺗﻮﺩﺭﺗﻮ ﺑﺎﺷﻨﺪ ﻭ ﺍﺯ ﺍﻳﻦ ﻃﺮﻳﻖ ﻳﮏ ﺳﺎﺧﺘﺎﺭ ﺳﻠﺴﻠﻪ ﻣﺮﺍﺗﺒﯽ ﺍﻳﺠﺎﺩ.ﭘﺎﻳﺎﻧﯽ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ
. ﺍﻳﻦ ﺳﺎﺧﺘﺎﺭ ﺣﺘﻤ ﹰﺎ ﺑﻪ ﺷﮑﻞ ﺩﺭﺧﺖ ﺍﺳﺖ ﺑﺪﻳﻦ ﻣﻌﻨﯽ ﮐﻪ ﮐﻞ ﻣﺘﻦ ﺩﺭ ﻳﮏ ﻋﻨﺼﺮ ﺭﻳﺸﻪ ﻗﺮﺍﺭ ﻣﯽ ﮔﻴﺮﺩ.ﮐﻨﻨﺪ
2
ﻧﺎﻡ ﻫﺮ ﻋﻨﺼﺮ ﻓﻘﻂ ﺷﺎﻣﻞ ﺣﺮﻭﻑ ﺍﻟﻔﺒﺎ ﺍﺳﺖ ﻭ ﻋﻼﻣﺎﺕ ﻭ ﺍﺭﻗﺎﻡ ﺩﺭ ﺁﻥ ﻭﺟﻮﺩ ﻧﺪﺍﺭﻧﺪ .ﻫﻢ ﭼﻨﻴﻦ ﺣﺮﻭﻑ
ﮐﻮﭼﮏ ﻭ ﺑﺰﺭﮒ ﺑﺎ ﻳﮑﺪﻳﮕﺮ ﻣﺘﻔﺎﻭﺕ ﺩﺭ ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﯽ ﺷﻮﻧﺪ .ﺗﻮﺟﻪ ﮐﻨﻴﺪ ﮐﻪ ﻫﻴﭻ ﻋﻨﺼﺮ ﺍﺯ ﭘﻴﺶ ﺗﻌﻴﻴﻦ ﺷﺪﻩ
ﺍﯼ ﺩﺭ ﺍﻳﻦ ﺯﺑﺎﻥ ﻭﺟﻮﺩ ﻧﺪﺍﺭﺩ.
ﻗﻮﺍﻋﺪ ﺩﺭﺳﺘﯽ ﺳﺎﺧﺘﺎﺭ ﻳﮏ ﻣﺘﻦ YMLﺗﻮﺳﻂ ﻣﺘﻦ ﺩﻳﮕﺮﯼ ﻣﺸﺨﺺ ﻣﯽ ﺷﻮﺩ ﮐﻪ ﺣﺎﻭﯼ ﺳﺎﺧﺘﺎﺭﯼ ﺷﺒﻴﻪ ﺑﻪ
ﮔﺮﺍﻣﺮ ﻫﺎﯼ ﻣﺴﺘﻘﻞ ﺍﺯ ﻣﺘﻦ ﺍﺳﺖ).ﺑﺮﺍﯼ ﺯﺑﺎﻥ XMLﺍﻳﻦ ﻧﻘﺶ ﺗﻮﺳﻂ DTDﺍﻳﻔﺎ ﻣﯽ ﺷﻮﺩ (.ﺑﻪ ﻋﻨﻮﺍﻥ ﻣﺜﺎﻝ
ﺳﺎﺧﺘﺎﺭ ﻣﺘﻦ ﻓﻮﻕ ﺑﺪﻳﻦ ﺻﻮﺭﺕ ﺗﻮﺻﻴﻒ ﻣﯽ ﺷﻮﺩ:
TermProject -> Course,Teacher,DueDate,Introduction,Project+
Course -> TEXT
Teacher -> TEXT
DueDate -> TEXT
Introduction -> TEXT
?Project -> Title,Description,Comments
Title -> TEXT
Comments -> TEXT
ﻫﺮ ﻗﺎﻋﺪﻩ ﺩﺍﺭﺍﯼ ﻳﮏ ﺳﻤﺖ ﭼﭗ ﺍﺳﺖ ﮐﻪ ﻧﺎﻡ ﻳﮏ ﻋﻨﺼﺮ ﺭﺍ ﻣﺸﺨﺺ ﻣﺲ ﮐﻨﺪ ﻭ ﻳﮏ ﺳﻤﺖ ﺭﺍﺳﺖ ﮐﻪ
ﺳﺎﺧﺘﺎﺭ ﺁﻥ ﻋﻨﺼﺮ ﺭﺍ ﺗﻮﺻﻴﻒ ﻣﯽ ﮐﻨﺪ ﻭ ﺍﻳﻦ ﺩﻭ ﺑﺎ ﻧﻤﺎﺩ > -ﺍﺯ ﻫﻢ ﺟﺪﺍ ﻣﯽ ﺷﻮﻧﺪ .ﺑﻪ ﺍﺯﺍﯼ ﻫﺮ ﻋﻨﺼﺮ ﻓﻘﻂ
ﻳﮏ ﻗﺎﻋﺪﻩ ﺩﺍﺭﻳﻢ .ﺳﻤﺖ ﺭﺍﺳﺖ ﻫﺮ ﻗﺎﻋﺪﻩ ﺍﺯ ﺗﺮﮐﻴﺐ ﺗﻌﺪﺍﺩﯼ ﻋﻨﺼﺮ ﺩﻳﮕﺮ ﺗﺸﮑﻴﻞ ﻣﯽ ﺷﻮﺩ .ﺍﻳﻦ ﺗﺮﮐﻴﺐ
ﺗﻮﺳﻂ ﻋﻤﻠﮕﺮﻫﺎﯼ ﺯﻳﺮ ﺍﻧﺠﺎﻡ ﻣﯽ ﺷﻮﺩ:
•
* X?, X+, Xﺑﻪ ﺗﺮﺗﻴﺐ ﺑﻪ ﻣﻌﻨﯽ ﺗﮑﺮﺍﺭ ﺻﻔﺮ ﻳﺎ ﺑﻴﺸﺘﺮ ،ﺗﮑﺮﺍﺭ ﻳﮏ ﻳﺎ ﺑﻴﺸﺘﺮ ﻭ ﺗﮑﺮﺍﺭ ﺻﻔﺮ ﻳﺎ ﻳﮏ ﺍﺯ
ﻋﻨﺼﺮ Xﻫﺴﻨﺘﺪ.
•
X,Yﺑﻪ ﻣﻌﻨﯽ ﻋﻨﺼﺮ Xﻭ ﻋﻨﺼﺮ ) Yﺑﻪ ﺩﻧﺒﺎﻝ ﻫﻢ( ﺍﺳﺖ.
•
X|Yﺑﻪ ﻣﻌﻨﯽ ﻋﻨﺼﺮ Xﻳﺎ ﻋﻨﺼﺮ ) Yﻳﮑﯽ ﺍﺯ ﺍﻳﻦ ﺩﻭ ﻋﻨﺼﺮ( ﺍﺳﺖ.
ﺍﻭﻟﻮﻳﺖ ﺍﻳﻦ ﻋﻤﻠﮕﺮ ﻫﺎ ﺑﻪ ﺗﺮﺗﻴﺐ ﮔﺮﻭﻩ ﻫﺎﯼ ﻣﻄﺮﺡ ﺷﺪﻩ ﺩﺭ ﺑﺎﻻ ﻭ ﺩﺭ ﻣﻮﺭﺩ ﻋﻤﻠﮕﺮﻫﺎﯼ ﻫﻢ ﮔﺮﻭﻩ ﺍﺯ ﭼﭗ ﺑﻪ
ﺭﺍﺳﺖ ﺩﺭ ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﯽ ﺷﻮﺩ .ﺑﺮﺍﯼ ﺗﻌﻴﻴﻦ ﺩﺭﺳﺖ ﺳﺎﺧﺘﺎﺭ ﻣﻤﮑﻦ ﺍﺳﺖ ﻣﺠﺒﻮﺭ ﺑﻪ ﭘﺮﺍﻧﺘﺰﮔﺬﺍﺭﯼ ﺷﻮﻳﻢ.
ﺳﻤﺖ ﺭﺍﺳﺖ TEXTﺑﻪ ﻣﻌﻨﯽ ﻣﺘﻦ ﺍﺳﺖ ﮐﻪ ﺑﺮﺍﯼ ﺑﺮﮒ ﻫﺎﯼ ﺳﺎﺧﺘﺎﺭ ﺩﺭ ﻧﻈﺮﮔﺮﻓﺘﻪ ﻣﯽ ﺷﻮﺩ .ﻗﺎﻋﺪﻩ ﯼ ﺍﻭﻝ
ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﺭﻳﺸﻪ ﯼ ﺩﺭﺧﺖ ﻋﻨﺎﺻﺮ ﺩﺭ ﻣﺘﻦ YMLﺍﺳﺖ.
ﺩﺭ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﺑﺎﻳﺪ ﻳﮏ ﺑﺮﻧﺎﻣﻪ ﯼ ﻭﻳﺮﺍﻳﺸﮕﺮ ﺑﺮﺍﯼ ﻣﺘﻮﻥ YMLﺑﻨﻮﻳﺴﻴﺪ .ﭘﻴﺶ ﺍﺯ ﻭﻳﺮﺍﻳﺶ ،ﮐﺎﺭﺑﺮ ﺑﺎﻳﺪ ﺑﺮﺍﯼ
ﻣﺘﻦ ﺧﻮﺩ ﭘﺮﻭﻧﺪﻩ ﯼ ﺣﺎﻭﯼ ﻗﻮﺍﻋﺪ ﻣﺘﻦ ﺭﺍ ﻣﻌﺮﻓﯽ ﮐﻨﺪ .ﺩﺭ ﻫﺮ ﺧﻂ ﺍﻳﻦ ﭘﺮﻭﻧﺪﻩ ﻳﮏ ﻭ ﻓﻘﻂ ﻳﮏ ﻗﺎﻋﺪﻩ ﻭﺟﻮﺩ
ﺩﺍﺭﺩ .ﻣﻤﮑﻦ ﺍﺳﺖ ﺩﺭ ﺑﻴﻦ ﺍﺟﺰﺍﯼ ﺁﻥ ﺗﻌﺪﺍﺩ ﺩﻟﺨﻮﺍﻫﯽ ﻓﺎﺻﻠﻪ ﯼ ﺧﺎﻟﯽ ﺑﺎﺷﺪ .ﭘﺲ ﺍﺯ ﺁﻥ ﮐﺎﺭﺑﺮ ﺑﺎﻳﺪ ﺑﺘﻮﺍﻧﺪ ﺩﺭ
ﻳﮏ ﺻﻔﺤﻪ ﯼ ﻭﻳﺮﺍﻳﺸﮕﺮ ﻳﮏ ﻣﺘﻦ YMLﺭﺍ ﺍﻳﺠﺎﺩ ﻭ ﻳﺎ ﺍﺯ ﻳﮏ ﭘﺮﻭﻧﺪﻩ ﯼ ﻣﻮﺟﻮﺩ ﺑﺨﻮﺍﻧﺪ .ﺍﻣﮑﺎﻥ ﺫﺧﻴﺮﻩ ﺳﺎﺯﯼ
ﻧﻴﺰ ﻻﺯﻡ ﺍﺳﺖ .ﻫﻨﮕﺎﻡ ﻧﻮﺷﺘﻦ ﻣﺘﻦ YMLﻭﻳﺮﺍﻳﺸﮕﺮ ﺑﺎﻳﺪ ﻣﺪﺍﻭﻣﹰﺎ ﺩﺭﺳﺘﯽ ﻣﺘﻦ ﺭﺍ ﺍﺯ ﺭﻭﯼ ﻗﻮﺍﻋﺪ ﺩﺭﺳﺘﯽ
ﮐﻨﺘﺮﻝ ﮐﻨﺪ .ﺑﻪ ﺍﻳﻦ ﻣﻨﻈﻮﺭ ﻫﻨﮕﺎﻡ ﺍﻳﺠﺎﺩ ﻳﮏ ﻋﻨﺼﺮ ﺟﺪﻳﺪ ﺩﺭ ﻣﺘﻦ ،ﻭﻳﺮﺍﻳﺸﮕﺮ ﺑﺎﻳﺪ ﺍﺯ ﺭﻭﯼ ﺗﮓ ﺁﻏﺎﺯ ﺗﮓ ﭘﺎﻳﺎﻥ
ﺭﺍ ﻧﻴﺰ ﺗﻮﻟﻴﺪ ﮐﻨﺪ ﺩﺭ ﺻﻮﺭﺗﻴﮑﻪ ﻋﻨﺼﺮ ﺍﻳﺠﺎﺩ ﺷﺪﻩ ﻧﺎ ﺷﻨﺎﺧﺘﻪ ﺑﺎﺷﺪ ﻭ ﻳﺎ ﺩﺭ ﺁﻥ ﻣﺤﻞ ﻣﺠﺎﺯ ﻧﺒﺎﺷﺪ ،
ﻭﻳﺮﺍﻳﺸﮕﺮ ﺑﺎﻳﺪ ﮐﺎﺭﺑﺮ ﺭﺍ ﻣﻄﻠﻊ ﮐﺮﺩﻩ ﻭ ﺍﺯ ﺍﻳﻦ ﮐﺎﺭ ﺟﻠﻮﮔﻴﺮﯼ ﮐﻨﺪ .ﺩﺭ ﻫﺮ ﻧﻘﻄﻪ ﺍﺯ ﻣﺘﻦ ﮐﺎﺭﺑﺮ ﺑﺎﻳﺪ ﺑﺘﻮﺍﻧﺪ ﺍﺯ
ﻭﻳﺮﺍﻳﺸﮕﺮ ،ﻋﻨﺎﺻﺮ ﻣﺠﺎﺯ ﺩﺭ ﺁﻥ ﻧﻘﻄﻪ ﺭﺍ ﺳﺆﺍﻝ ﮐﻨﺪ .ﮐﺎﺭﺑﺮ ﺑﺎﻳﺪ ﻗﺎﺑﻠﻴﺖ ﺩﻳﺪﻥ ﻗﻮﺍﻋﺪ ﺭﺍ ﻧﻴﺰ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ.
3
ﻫﻢ ﭼﻨﻴﻦ ﺗﻌﺒﻴﻪ ﯼ ﻳﮏ ﻭﻳﺮﺍﻳﺸﮕﺮ ﺑﺮﺍﯼ ﻭﻳﺮﺍﻳﺶ ﻗﻮﺍﻋﺪ ﻧﻴﺰ ﺍﮐﻴﺪﹰﺍ ﺗﻮﺻﻴﻪ ﻣﯽ ﺷﻮﺩ) .ﺩﻗﺖ ﮐﻨﻴﺪ ﮐﻪ ﺍﮔﺮ
ﺳﺎﺧﺘﺎﺭ ﻗﻮﺍﻋﺪ
ﺭﺍ ﻧﻴﺰ ﺗﻮﺳﻂ ﻣﺠﻤﻮﻋﻪ ﺍﯼ ﺍﺯ ﻗﻮﺍﻋﺪ ﺗﻮﺻﻴﻒ ﮐﻨﻴﺪ ،ﺍﻳﻦ ﮐﺎﺭ ﺍﺯ ﻃﺮﻳﻖ ﺧﻮﺩ ﻭﻳﺮﺍﻳﺸﮕﺮ YML
ﻣﻤﮑﻦ ﺍﺳﺖ!(
ﺍﻳﺠﺎﺩ ﺍﻣﮑﺎﻧﺎﺕ ﻣﻔﻴﺪ ﺩﺭ ﻭﺍﺳﻂ ﮐﺎﺭﺑﺮ ﺩﺭ ﺍﺭﺯﺷﻴﺎﺑﯽ ﭘﺮﻭﮊﻩ ﻣﻔﻴﺪ ﺍﺳﺖ .ﺍﺯ ﺟﻤﻠﻪ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻗﻠﻢ ﻫﺎ ﻭ ﺭﻧﮓ
ﻫﺎﯼ ﻣﺘﻔﺎﻭﺕ ﺑﺮﺍﯼ ﺗﮓ ﻫﺎ ،ﺷﮑﺴﺘﻦ ﺧﻮﺩﮐﺎﺭ ﺧﻄﻮﻁ ،ﺩﻧﺪﺍﻧﻪ ﮔﺬﺍﺭﯼ ﺧﻮﺩﮐﺎﺭ ﻣﺘﻦ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺳﺎﺧﺘﺎﺭ
ﻋﻨﺎﺻﺮ ﻭ ﻳﺎ ﺍﻣﮑﺎﻥ ﺣﺮﮐﺖ ﺭﻭﯼ ﻣﺘﻦ ﺍﺯ ﺭﻭﯼ ﺳﺎﺧﺘﺎﺭ ﺩﺭﺧﺘﯽ ﻋﻨﺎﺻﺮ ﮐﻪ ﺩﺭ ﮐﻨﺎﺭ ﻣﺘﻦ ﺗﻌﺒﻴﻪ ﻣﯽ ﺷﻮﺩ.
ﺍﻧﺠﺎﻡ ﮐﺎﻣﻞ ﻗﺴﻤﺖ ﺍﺟﺒﺎﺭﯼ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﺑﻴﺶ ﺍﺯ ﺳﺎﻳﺮ ﭘﺮﻭﮊﻩ ﻫﺎ ﯼ ﺍﺟﺒﺎﺭﯼ ﻧﻤﺮﻩ ﺧﻮﺍﻫﺪ ﺩﺍﺷﺖ.
ﭘﺮﻭﮊﻩ ﻱ – 2ﻣﺤﻴﻂ ﻃﺮﺍﺣﯽ ﻣﺪﺍﺭﻫﺎﯼ ﻣﻨﻄﻘﯽ ﺳﺎﺩﻩ
ﺩﺭ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﺑﺎﻳﺪ ﻣﺤﻴﻄﯽ ﺑﺮﺍﯼ ﻃﺮﺍﺣﯽ ﻭ ﺷﺒﻴﻪ ﺳﺎﺯﯼ ﻣﺪﺍﺭﻫﺎﯼ ﻣﻨﻄﻘﯽ ﺳﺎﺩﻩ ﺍﻳﺠﺎﺩ ﮐﻨﻴﺪ .ﺑﺮﻧﺎﻣﻪ ﯼ ﺷﻤﺎ
ﺑﺎﻳﺪ ﺗﻌﺪﺍﺩﯼ ﻋﻨﺼﺮ ﻣﻨﻄﻘﯽ ﺭﺍ ﺑﺮﺍﯼ ﻃﺮﺍﺣﯽ ﻣﺪﺍﺭ ﺩﺭ ﺍﺧﺘﻴﺎﺭ ﮐﺎﺭﺑﺮ ﻗﺮﺍﺭ ﺩﻫﺪ .ﺍﻳﻦ ﻣﺠﻤﻮﻋﻪ ﺑﺎﻳﺪ ﺣﺪﺍﻗﻞ ﺷﺎﻣﻞ
ﮔﻴﺖ ﻫﺎﯼ ) xor, or, and, notﮔﻴﺖ ﻫﺎﯼ orﻭ andﻫﺮ ﻳﮏ ﺑﺎ ﺩﻭ ﻳﺎ ﺳﻪ ﻭﺭﻭﺩﯼ( ،
)Multiplexer (4/1 & 8/1
Decoder( 2/4 & 4/16)،ﻭ Encoderﻭ DeMuxﻣﺘﻨﺎﻇﺮ ﺑﺎ ﺁﻧﻬﺎ ،ﻭ ﻓﻠﻴﭗ ﻓﻼﭖ ﻫﺎﯼ Dﻭ Tﺑﺎﺷﺪ).ﺗﻤﺎﻡ ﻋﻨﺎﺻﺮ
ﺫﮐﺮ ﺷﺪﻩ ﺑﺎﻳﺪ ﺩﺍﺭﺍﯼ ﻳﮏ ﭘﺎﻳﻪ ﯼ enableﺑﺎﺷﻨﺪ (.ﮐﺎﺭﺑﺮ ﺑﺎﻳﺪ ﺑﺘﻮﺍﻧﺪ ﺗﻌﺪﺍﺩﯼ ﺍﺯ ﻋﻨﺎﺻﺮ ﻣﺬﮐﻮﺭ ﺭﺍ ﺍﻧﺘﺨﺎﺏ
ﮐﺮﺩﻩ ﻭ ﺍﺗﺼﺎﻻﺕ ﺑﻴﻦ ﺁﻥ ﻫﺎ ﺭﺍ ﺑﺮﻗﺮﺍﺭ ﮐﻨﺪ .ﻫﻢ ﭼﻨﻴﻦ ﺑﺎﻳﺪ ﻋﻨﺎﺻﺮﯼ ﺑﺮﺍﯼ ﻭﺭﻭﺩﯼ ﻭ ﺧﺮﻭﺟﯽ ﻣﺪﺍﺭ ﺗﻮﺳﻂ
ﺑﺮﻧﺎﻣﻪ ﺍﺭﺍﺋﻪ ﺷﻮﺩ .ﺳﺎﻋﺖ ﺗﻤﺎﻡ ﻋﻨﺎﺻﺮ ﻳﮑﺴﺎﻥ ﺍﺳﺖ ﻭ ﻣﺪﺍﺭ ﺩﺍﺭﺍﯼ feedbackﻧﻴﺴﺖ .ﮐﺎﺭﺑﺮ ﺑﺎﻳﺪ ﺑﺘﻮﺍﻧﺪ ﻣﺪﺍﺭ
ﺭﺍ ﺩﺭ ﺻﻮﺭﺕ ﻭﺟﻮﺩ ﻋﻨﺎﺻﺮ ﺗﺮﺗﻴﺒﯽ ،ﺑﻪ ﺻﻮﺭﺕ ﮔﺎﻡ ﺑﻪ ﮔﺎﻡ ﺷﺒﻴﻪ ﺳﺎﺯﯼ ﮐﻨﺪ .ﺗﻌﻴﻴﻦ ﻣﻘﺎﺩﻳﺮ ﻭﺭﻭﺩﯼ ﻫﺎ ﻳﺎ
ﺍﺯ ﻃﺮﻳﻖ ﺍﺭﺍﺋﻪ ﯼ ﺷﮑﻞ ﻣﻮﺝ ﺁﻥ ﻫﺎ ﻳﺎ ﺑﺎ ﺗﻐﻴﻴﺮ ﻣﻘﺪﺍﺭ ﺁﻥ ﻫﺎ ﺩﺭ ﻫﺮ ﮔﺎﻡ ﺷﺒﻴﻪ ﺳﺎﺯﯼ ﺍﻧﺠﺎﻡ ﻣﯽ ﺷﻮﺩ.
ﺧﺮﻭﺟﯽ ﻫﺎﯼ ﻣﺪﺍﺭ ﻫﻢ ﺑﺎﻳﺪ ﺑﺎ ﺭﻭﺵ ﻣﺸﺎﺑﻬﯽ ﺍﺭﺍﺋﻪ ﺷﻮﻧﺪ .ﮐﺎﺭﺑﺮ ﺑﺎﻳﺪ ﺑﺘﻮﺍﻧﺪ ﻣﺪﺍﺭ ﻃﺮﺍﺣﯽ ﺷﺪﻩ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ
ﻳﮏ ﻋﻨﺼﺮ ﻣﻨﻄﻘﯽ ﺟﺪﻳﺪ ﺫﺧﻴﺮﻩ ﮐﻨﺪ ﻭ ﺩﺭ ﻣﺪﺍﺭﻫﺎﯼ ﺩﻳﮕﺮ ﺍﺯ ﺁﻥ ﺍﺳﺘﻔﺎﺩﻩ ﮐﻨﺪ .ﻋﻨﺼﺮ ﺗﻌﺮﻳﻒ ﺷﺪﻩ ﺑﻪ ﺍﻳﻦ
ﺷﮑﻞ ،ﺩﺍﺭﺍﯼ ﭘﺎﻳﻪ ﻫﺎﻳﯽ ﺑﻪ ﺍﺯﺍﯼ ﻫﺮ ﻳﮏ ﺍﺯ ﻭﺭﻭﺩﯼ ﻫﺎ ﻭ ﺧﺮﻭﺟﯽ ﻫﺎﯼ ﻣﺪﺍﺭ ﺁﻥ ﺍﺳﺖ .ﺍﻳﻦ ﺑﺮﻧﺎﻣﻪ ﺣﺘﻤ ﹰﺎ ﺑﺎﻳﺪ
ﺩﺭ ﻣﺤﻴﻂ ﮔﺮﺍﻓﻴﮑﯽ windowsﺍﺟﺮﺍ ﺷﻮﺩ.
g
ﭘﺮﻭﮊﻩ ﻱ – 3ﺳﻴﺴﺘﻢ ﺳﺎﺩﻩ ﺷﺪﻩ ﯼ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ ﯼ ﺟﺎﺳﺎﺯﯼ ﺷﺪﻩ ) ( meQL Server
ﺩﺭ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﻓﺮﺽ ﺷﺪﻩ ﺍﺳﺖ ﺍﻓﺮﺍﺩ ﺑﺎ ﻣﻔﺎﻫﻴﻢ ﺍﺑﺘﺪﺍﻳﻲ ﭘﺎﻳﮕﺎﻩ ﻫﺎﯼ ﺩﺍﺩﻩ ،ﻣﺪﻝ ﺭﺍﺑﻄﻪ ﺍﯼ ،ﻭ SQLﺗﺎ ﺣﺪﯼ
ﺁﺷﻨﺎ ﻫﺴﺘﻨﺪ .ﺍﻧﺠﺎﻡ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﺑﺮﺍﯼ ﺳﺎﻳﺮ ﺍﻓﺮﺍﺩ ﺗﻮﺻﻴﻪ ﻧﻤﯽ ﺷﻮﺩ.
ﺯﺑﺎﻥ SQLﺑﺮﺍﯼ ﺗﻬﻴﻪ ﯼ ﭘﺮﺳﺶ ﻫﺎﻳﯽ ﺭﻭﯼ ﭘﺎﻳﮕﺎﻩ ﻫﺎﯼ ﺩﺍﺩﻩ ﺑﻪ ﮐﺎﺭ ﻣﯽ ﺭﻭﺩ.
mQLﻳﺎ mini Query Languageﺩﺭ ﻭﺍﻗﻊ ﻓﺮﻡ ﺧﻼﺻﻪ ﺷﺪﻩ ﺍﯼ ﺍﺯ ﺍﻳﻦ ﺯﺑﺎﻥ ﺑﺮﺍﯼ ﺍﺳﺘﻔﺎﺩﻩ ﻫﺎﯼ ﺳﺎﺩﻩ ﺗﺮ
ﻣﯽ ﺑﺎﺷﺪ .ﺩﺭ ﺑﺮﻧﺎﻣﻪ ﻫﺎﯼ ﻧﺮﻡ ﺍﻓﺰﺍﺭﯼ ﺑﺴﻴﺎﺭ ﭘﻴﺶ ﻣﯽ ﺁﻳﺪ ﮐﻪ ﺫﺧﻴﺮﻩ ﺳﺎﺯﯼ ﺍﻃﻼﻋﺎﺕ ﺑﻪ ﺻﻮﺭﺕ ﺭﺍﺑﻄﻪ ﺍﯼ,
ﻭ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺳﻴﺴﺘﻢ ﻫﺎﯼ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ ﺍﯼ ﺍﻧﺠﺎﻡ ﻣﯽ ﺷﻮﺩ .ﻭﻟﯽ ﮔﺎﻫﯽ ﺍﻭﻗﺎﺕ ﺑﻪ ﻋﻠﺖ ﻫﺰﻳﻨﻪ ﯼ
ﺯﻳﺎﺩ ﻭ ﺑﺎﺭ ﺍﺿﺎﻓﯽ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ ﺧﻮﺩ ﺑﻪ ﮐﻤﮏ ﺳﻴﺴﺘﻢ ﺫﺧﻴﺮﻩ ﺳﺎﺯﯼ ﺩﺭ ﻓﺎﻳﻞ ﺍﻃﻼﻋﺎﺕ ﺭﺍ ﻧﮕﻬﺪﺍﺭﯼ ﻣﯽ ﮐﻨﺪ
ﻭ ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ ﻗﺎﺑﻠﻴﺖ ﻣﺤﺎﺳﺒﺎﺕ ﺭﺍﺑﻄﻪ ﺍﯼ ﺭﺍ ﺍﺯ ﺩﺳﺖ ﻣﯽ ﺩﻫﺪ.
ﻫﺪﻑ ﺍﺯ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﺩﺭ ﻭﻫﻠﻪ ﯼ ﺍﻭﻝ ﭘﻴﺎﺩﻩ ﺳﺎﺯﯼ ﻳﮏ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ ﯼ ﺳﺎﺩﻩ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ
ﻓﺎﻳﻞ ﻫﺎ ﻣﯽ ﺑﺎﺷﺪ ﭼﻨﺎﻥ ﮐﻪ ﮐﺎﺭﺑﺮ ﻗﺎﺩﺭ ﺑﺎﺷﺪ ﺍﺯ ﻃﺮﻳﻖ ﻳﮏ ﺳﺮﯼ ﺗﻮﺍﺑﻊ ﮐﺘﺎﺑﺨﺎﻧﻪ ﺍﯼ ﻧﺴﺒﺖ ﺑﻪ ﺍﻳﺠﺎﺩ ﭘﺎﻳﮕﺎﻩ
4
ﺩﺍﺩﻩ ﯼ ﺟﺪﻳﺪ ،ﺍﻳﺠﺎﺩ ﺟﺪﺍﻭﻝ ﺟﺪﻳﺪ ،ﻗﺮﺍﺭﺩﺍﺩﻥ ﺩﺍﺩﻩ ﻫﺎﯼ ﺩﻟﺨﻮﺍﻩ ﺩﺭ ﺍﻳﻦ ﺟﺪﺍﻭﻝ ،ﺣﺬﻑ ﺩﺍﺩﻩ ﻫﺎ ،ﺑﻪ ﺭﻭﺯ
ﺩﺭﺁﻭﺭﯼ ﺁﻥ ﻫﺎ ﻭ ﺍﺟﺮﺍﯼ ﭘﺮﺳﺶ ﺑﺎ ﮔﺮﺍﻣﺮ ﺗﻌﻴﻴﻦ ﺷﺪﻩ ﺭﻭﯼ ﺟﺪﺍﻭﻝ ﺍﻗﺪﺍﻡ ﮐﻨﺪ.
ﻓﺮﻣﺖ ﺩﺳﺘﻮﺭﺍﺗﯽ ﮐﻪ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ ﺑﺎﻳﺪ ﺑﺘﻮﺍﻧﺪ ﭘﺸﺘﻴﺒﺎﻧﯽ ﮐﻨﺪ ﺑﻪ ﺷﺮﺡ ﺫﻳﻞ ﺍﺳﺖ:
]>CREATE TABLE <table name> (<column name> <column type> [<attribute constraint
)}]>{,<column name> <column type>[<attribute constraint
>DROP TABLE <table name
>SELECT [DISTINCT] <attribute list
})>FROM (<table name> {<alias>}) {, (<table name>{<alias
]>[WHERE <condition
}><attribute list>::=(*|<column name>){,*|<column name
)<attribute constraint>::=(PRIMARY KEY | NOT NULL
])}>INSERT INTO <table name> [(column name>{, <column name
}}>(VALUES( <constant value>, {<constant value>}){, <constant value>, {<constant value
)>| <select statement
>DELETE FROM <table name
]>[WHERE <selection condition
>UPDATE <table name
}>SET <column name>=<value expression>{, <column name>=<value expression
]>[WHERE <selection condition
ﺍﻧﻮﺍﻉ ﺩﺍﺩﻩ ﻫﺎﯼ ﻣﻮﺭﺩ ﭘﺸﺘﻴﺒﺎﻧﯽ ﺗﻮﺳﻂ ﺍﯼ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ ﻧﻴﺰ ﺑﻪ ﻗﺮﺍﺭ ﺯﻳﺮ ﺍﺳﺖ:
ﻣﻘﺪﺍﺭ ﻣﻨﻄﻘﯽ ﺩﺭﺳﺖ ﻳﺎ ﻏﻠﻂ
Boolean
ﻫﺮﮔﻮﻧﻪ ﻣﻘﺪﺍﺭ ﻋﺪﺩﯼ )ﺻﺤﻴﺢ ﻳﺎ ﺍﻋﺸﺎﺭ(
Numeric
ﻣﻘﺪﺍﺭ ﺭﺷﺘﻪ ﺍﯼ ﻧﻮﻳﺴﻪ ﺍﯼ )ﻣﺮﮐﺐ ﺍﺯ ﮐﺎﺭﺍﮐﺘﺮ ﻫﺎ( /ﺭﺷﺘﻪ ﺍﯼ ﺑﻪ ﻃﻮﻝ n
ﻳﮏ ﺭﺷﺘﻪ ﯼ ﺑﺎﻳﻨﺮﯼ /ﺭﺷﺘﻪ ﯼ ﺑﺎﻳﻨﺮﯼ ﺑﻪ ﻃﻮﻝ n
)String / String(n
)Binary / Binary(n
ﮐﺎﺭﺑﺮ ﺑﺎﻳﺪ ﺑﺮﺍﯼ ﮐﺎﺭ ﺑﺎ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ ﯼ ﭘﻴﺎﺩﻩ ﺳﺎﺯﯼ ﺷﺪﻩ ،ﺍﺯ ﻳﮏ ﺭﺍﻩ ﺍﻧﺪﺍﺯ) (Driverﺑﺮﺍﯼ ﺍﺗﺼﺎﻝ ﺑﻪ ﺩﻳﺘﺎﺑﻴﺲ،
ﻭ ﻳﮏ ﺳﺮﯼ ﻭﺍﺳﻂ ﺑﺮﺍﯼ ﺍﺭﺍﺋﻪ ﯼ ﭘﺮﺳﺶ ﻫﺎ ﻭ ﺩﺳﺘﻮﺭﺍﺕ ﻣﻮﺭﺩ ﻋﻼﻗﻪ ﻭ ﺩﺭﻳﺎﻓﺖ ﮐﺮﺩﻥ ﭘﺎﺳﺦ ﻫﺎ ﻭ ﻧﺘﺎﻳﺞ
ﭘﺮﺳﺶ ﻫﺎ ﺍﺳﺘﻔﺎﺩﻩ ﮐﻨﺪ.
ﺩﺭ ﻭﻫﻠﻪ ﯼ ﺩﻭﻡ ﺷﻤﺎ ﺑﺎﻳﺪ ﺍﻳﻦ ﺩﺭﺍﻳﻮﺭ ﻭ ﻭﺍﺳﻂ ﻫﺎ ﺭﺍ )ﺩﺭ ﻗﺎﻟﺐ ﻣﺠﻤﻮﻋﻪ ﺍﯼ ﺍﺯ ﮐﻼﺱ ﻫﺎ( ﻃﺮﺍﺣﯽ ﻭ ﭘﻴﺎﺩﻩ
ﺳﺎﺯﯼ ﮐﻨﻴﺪ .ﻃﺮﺍﺣﯽ ﺩﺭﺍﻳﻮﺭ ﻭ ﻭﺍﺳﻂ ﻫﺎﯼ ﻣﺬﮐﻮﺭ ﻭ ﻧﺤﻮﻩ ﯼ ﺗﻌﺎﻣﻞ ﺁﻥ ﻫﺎ ﺑﺎ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ ﺑﻪ ﻋﻨﻮﺍﻥ ﻗﺴﻤﺘﯽ
ﺍﺯ ﭘﺮﻭﮊﻩ ﻣﺤﺴﻮﺏ ﻣﯽ ﺷﻮﺩ .ﺍﺭﺍﺋﻪ ﯼ ﻣﺪﻟﯽ ﺷﻴﺊ ﮔﺮﺍ ،ﻗﺎﺑﻞ ﮔﺴﺘﺮﺵ ﻭ ﺣﺘﯽ ﺍﻻﻣﮑﺎﻥ ﻣﺴﺘﻘﻞ ﺍﺯ ﭘﺎﻳﮕﺎﻩ
ﺩﺍﺩﻩ ﺍﯼ ﺧﺎﺹ ﺗﻮﺻﻴﻪ ﻣﯽ ﺷﻮﺩ .ﺑﺮﺍﯼ ﮔﺮﻓﺘﻦ ﺍﻳﺪﻩ ﻫﺎﯼ ﻃﺮﺍﺣﯽ ﻣﯽ ﺗﻮﺍﻧﻴﺪ ﺑﻪ ﺍﺳﺘﺎﻧﺪﺍﺭﺩ ODBCﻭ
ﻣﺮﺍﺟﻌﻪ ﮐﻨﻴﺪ .ﻫﻤﺎﻥ ﻃﻮﺭ ﮐﻪ ﺍﺷﺎﺭﻩ ﺷﺪ؛ ﺩﺭﺍﻳﻮﺭ ﻣﺮﺑﻮﻃﻪ ﺑﺎﻳﺪ ﺣﺪﺍﻗﻞ ﻗﺎﺑﻠﻴﺖ ﻫﺎﯼ ﺯﻳﺮ ﺭﺍ ﺍﺭﺍﺋﻪ ﺩﻫﺪ:
•
ﺍﻳﺠﺎﺩ ﻳﮏ ﺍﺗﺼﺎﻝ ﺑﻪ ﺩﻳﺘﺎﺑﻴﺲ ﺑﺮﺍﯼ ﺍﻧﺠﺎﻡ ﻋﻤﻠﻴﺎﺕ ﻫﺎﯼ ﻣﻮﺭﺩ ﻧﻴﺎﺯ ﮐﺎﺭﺑﺮ
•
ﺍﺟﺮﺍﯼ ﺩﺳﺘﻮﺭﺍﺕ mQLﻣﻄﺎﺑﻖ ﺑﺎ ﮔﺮﺍﻣﺮ ﺗﻮﺻﻴﻒ ﺷﺪﻩ ﺭﻭﯼ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ
•
ﺑﺎﺯﮔﺮﺩﺍﻧﺪﻥ ﻧﺘﺎﻳﺞ ﺣﺎﺻﻞ ﺍﺯ ﺍﺟﺮﺍﯼ ﺩﺳﺘﻮﺭﺍﺗﯽ ﻣﺎﻧﻨﺪ SELECT
•
ﺁﮔﺎﻩ ﮐﺮﺩﻥ ﮐﺎﺭﺑﺮ ﺍﺯ ﻭﻗﻮﻉ ﺧﻄﺎ ﻫﻨﮕﺎﻡ ﻋﻤﻠﻴﺎﺕ ﺭﻭﯼ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ
•
ﺑﺴﺘﻦ ﺍﺗﺼﺎﻻﺕ ﻣﻮﺟﻮﺩ ﻭ ﺁﺯﺍﺩ ﺳﺎﺯﯼ ﻣﻨﺎﺑﻊ ﺍﺷﻐﺎﻝ ﺷﺪﻩ ﺍﺯ ﺳﻴﺴﺘﻢ
5
ﻳﺎ JDBC
ﺩﺭﺍﻳﻮﺭ ﻭ ﻭﺍﺳﻂ ﻫﺎﯼ ﻣﻮﺭﺩ ﻧﻈﺮ ﺑﺎﻳﺪ ﺑﻪ ﺷﮑﻞ ﻳﮏ ﺗﺎﺑﻊ ﮐﺘﺎﺑﺨﺎﻧﻪ ﺍﯼ ﭘﻮﻳﺎﯼ ﺯﻣﺎﻥ ﺍﺟﺮﺍ ﺩﺭ ﻣﺤﻴﻂ
Windows
ﻭ ﻳﺎ Linuxﺗﻬﻴﻪ ﺷﺪﻩ ﺑﺎﺷﻨﺪ .ﺑﺮﺍﯼ ﺗﺤﻮﻳﻞ ﭘﺮﻭﮊﻩ ﺑﺎﻳﺪ ﻧﻤﻮﻧﻪ ﺑﺮﻧﺎﻣﻪ ﻫﺎﻳﻲ ﮐﻪ ﺍﺯ ﺍﻳﻦ ﺗﻮﺍﺑﻊ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯽ ﮐﻨﻨﺪ
ﻭ ﺑﺎ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ ﻃﺮﺍﺣﯽ ﺷﺪﻩ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯽ ﮐﻨﻨﺪ ،ﺗﻬﻴﻪ ﺷﺪﻩ ﺑﺎﺷﻨﺪ.
ﭘﺮﻭﮊﻩ ﻱ – 4ﺍﺑﺰﺍﺭ ﮐﻤﮑﯽ ﺗﻮﺻﻴﻒ ،ﺗﻮﻟﻴﺪ ﻭ ﺗﺴﺖ ﺑﺮﻧﺎﻣﻪ ﻫﺎﯼ ﺷﻴﺊ ﮔﺮﺍ
CASE Toolﻫﺎ ) (Computer Aided Software Engineering Toolsﺍﺑﺰﺍﺭ ﻫﺎﻳﯽ ﺑﺮﺍﯼ ﺧﻮﺩﮐﺎﺭﺳﺎﺯﯼ
ﺗﻮﺳﻌﻪ ﯼ ﺳﻴﺴﺘﻢ ﻫﺎﯼ ﻧﺮﻡ ﺍﻓﺰﺍﺭﯼ ﺩﺭ ﻣﺮﺍﺣﻞ ﺗﺤﻠﻴﻞ ،ﻃﺮﺍﺣﯽ ،ﭘﻴﺎﺩﻩ ﺳﺎﺯﯼ ،ﺗﻬﻴﻪ ﯼ ﻣﺴﺘﻨﺪﺍﺕ ﻭ ﺗﻮﻟﻴﺪ
ﮐﺪ ﻣﯽ ﺑﺎﺷﻨﺪ) .ﺑﺮﺍﯼ ﻣﺜﺎﻝ ﻣﯽ ﺗﻮﺍﻥ ﺑﻪ ﺍﺑﺰﺍﺭﻫﺎﯼ Togetherﻭ Rational Roseﺍﺷﺎﺭﻩ ﮐﺮﺩ(.
ﺩﺭ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﭘﻴﺎﺩﻩ ﺳﺎﺯﯼ ﻳﮏ ﺍﺑﺰﺍﺭ CASEﺳﺎﺩﻩ ﺑﺮﺍﯼ ﻃﺮﺍﺣﯽ ﺷﻴﺊ ﮔﺮﺍ ﻣﺪ ﻧﻈﺮ ﻣﯽ ﺑﺎﺷﺪ.ﮐﺎﺭﺑﺮ ﺍﻳﻦ
ﺑﺮﻧﺎﻣﻪ ﺑﺎﻳﺪ ﺍﻳﻦ ﻗﺎﺑﻠﻴﺖ ﺭﺍ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ ﺩﺭ ﻳﮏ ﻣﺤﻴﻂ ﺑﺼﺮﯼ ) (visualﮐﻼﺱ ﻫﺎﯼ ﻣﻮﺭﺩ ﻧﻈﺮ ﺭﺍ ﻣﺸﺨﺺ
ﮐﻨﺪ ،ﺭﻭﺍﺑﻂ ﺑﻴﻦ ﺁﻥ ﻫﺎ ﺭﺍ )ﺍﺯ ﻗﺒﻴﻞ composition ، inheritanceﻭ ( associationﻣﺸﺨﺺ ﮐﺮﺩﻩ ،ﻣﺘﺪ ﻫﺎ ﻭ
ﻣﺘﻐﻴﻴﺮ ﻫﺎﯼ ﻫﺮ ﮐﻼﺱ ﺭﺍ ﻣﻌﺮﻓﯽ ﮐﺮﺩﻩ ﻭ ﺩﺭ ﻧﻬﺎﻳﺖ ﻳﮏ ﺗﻮﺻﻴﻒ ﺑﺼﺮﯼ ﺍﺯ ﻧﻤﻮﺩﺍﺭ ﻫﺎﯼ ﻣﺮﺑﻮﻁ ﺑﻪ ﮐﻼﺱ
ﻫﺎﯼ ﺩﺭﮔﻴﺮ ﺩﺭ ﻃﺮﺍﺣﯽ ﺧﻮﺩ ﺑﺮﺍﯼ ﺳﻴﺴﺘﻢ ﺍﺭﺍﺋﻪ ﮐﻨﺪ ).(Class Diagrams
ﺑﻪ ﻋﻨﻮﺍﻥ ﻣﺜﺎﻝ ﺷﮑﻞ ﺯﻳﺮ ﻳﮏ ﻣﺜﺎﻝ ﺧﻴﻠﯽ ﺳﺎﺩﻩ ﺍﺯ ﻳﮏ Class Diagramﻣﯽ ﺑﺎﺷﺪ:
ﺑﺮﻧﺎﻣﻪ ﺑﺎﻳﺪ ﻗﺎﺑﻠﻴﺖ ﺫﺧﻴﺮﻩ ﺳﺎﺯﯼ ﻭ ﺑﺎﺯﻳﺎﺑﯽ ﻧﻤﻮﺩﺍﺭ
ﻫﺎﯼ ﮐﻼﺱ ﮐﺎﺭﺑﺮ ﺭﺍ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ .ﻫﻢ ﭼﻨﻴﻦ ﮐﺎﺭﺑﺮ ﺑﺎﻳﺪ
ﺑﺘﻮﺍﻧﺪ ﭘﺲ ﺍﺯ ﺗﻮﻟﻴﺪ ﺑﺼﺮﯼ ﻧﻤﻮﺩﺍﺭ ﻫﺎﯼ ﮐﻼﺱ ﺗﻮﺳﻂ
ﺑﺮﻧﺎﻣﻪ ﻭ ﺑﻪ ﺻﻮﺭﺕ ﺧﻮﺩﮐﺎﺭ ﮐﺪ ﻣﺮﺑﻮﻁ ﺑﻪ ﺑﺮﻧﺎﻣﻪ
ﻫﺎﯼ ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﺍﻳﻦ ﻧﻤﻮﺩﺍﺭ ﻫﺎ ﺭﺍ ﺗﻮﻟﻴﺪ ﮐﻨﺪ )ﺗﻮﻟﻴﺪ ﮐﺪ
ﺩﺭ ﺣﻴﻦ ﺗﻮﻟﻴﺪ ﺑﺼﺮﯼ ﻧﻤﻮﺩﺍﺭﻫﺎ ﻣﻨﺎﺳﺐ ﺗﺮﺍﺳﺖ(.
ﻫﻢ ﭼﻨﻴﻦ ﺍﮔﺮ ﺑﺮﻧﺎﻣﻪ ﯼ ﮐﺎﺭﺑﺮ ﺑﺘﻮﺍﻧﺪ ﻓﺎﻳﻞ ﻫﺎﯼ ﻣﺮﺑﻮﻁ
ﺑﻪ ﮐﺪﻫﺎﯼ C++ﺭﺍ ﺍﺯ ﻳﮏ ﭘﻮﺷﻪ ﺧﻮﺍﻧﺪﻩ ﻭ ﻧﻤﻮﺩﺍﺭﻫﺎﯼ ﻣﺮﺑﻮﻃﻪ ﺭﺍ ﺭﺳﻢ ﮐﻨﺪ) (Refactoringﺍﻣﺘﻴﺎﺯ ﺧﻮﺑﯽ ﺑﺮﺍﯼ
ﭘﺮﻭﮊﻩ ﻣﺤﺴﻮﺏ ﻣﯽ ﺷﻮﺩ ﻓﺮﺽ ﻣﯽ ﺷﻮﺩ ﮐﻼﺱ ﻫﺎﯼ ﺫﺧﻴﺮﻩ ﺷﺪﻩ ﺩﺭ ﭘﻮﺷﻪ ﯼ ﻣﻌﺮﻓﯽ ﺷﺪﻩ ﭘﻴﭽﻴﺪﮔﯽ
ﺧﺎﺻﯽ ﻧﺪﺍﺭﻧﺪ ﻭ ﺍﺯ ﮐﻼﺱ ﻫﺎﯼ ﺳﺎﺩﻩ ﺗﺸﮑﻴﻞ ﻣﯽ ﺷﻮﻧﺪ.
ﭘﺮﻭﮊﻩ ﻱ ﺍﻣﺘﻴﺎﺯﯼ 1
ﻫﺪﻑ ﺍﺯ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﺗﻬﻴﻴﻪ ﯼ ﺑﺴﺘﻪ ﺍﯼ ﻧﺮﻡ ﺍﻓﺰﺍﺭﯼ ﺑﻪ ﻣﻨﻈﻮﺭ ﺗﻬﻴﻴﻪ ﯼ ﺧﻮﺩﮐﺎﺭ ﺑﺮﻧﺎﻣﻪ ﻫﺎﯼ ﺗﺠﺰﻳﻪ ﮐﻨﻨﺪﻩ ﯼ
) (Parserﮔﺮﺍﻣﺮ ﻣﯽ ﺑﺎﺷﺪ .ﺩﺭ ﻭﺍﻗﻊ ﻭﺭﻭﺩﯼ ﺍﻳﻦ ﺑﺮﻧﺎﻣﻪ ﺗﻮﺻﻴﻒ ﻳﮏ ﮔﺮﺍﻣﺮ ﻣﯽ ﺑﺎﺷﺪ ﻭ ﺧﺮﻭﺟﯽ ﺁﻥ
ﺑﺮﻧﺎﻣﻪ ﯼ ﻗﺎﺑﻞ ﺍﺟﺮﺍﻳﯽ )ﺑﻪ ﺯﺑﺎﻥ (C++ﺍﺳﺖ ﮐﻪ ﻣﯽ ﺗﻮﺍﻧﺪ ﻭﺭﻭﺩﯼ ﻫﺎﻳﯽ ﺑﺎ ﮔﺮﺍﻣﺮ ﻣﺮﺑﻮﻃﻪ ﺭﺍ
ﺗﺠﺰﻳﻪ )(parse
ﮐﻨﺪ .ﻻﺯﻡ ﺍﺳﺖ ﺩﺭ ﻃﺮﺍﺣﯽ ،ﺭﺍﺣﺘﯽ ﺍﺳﺘﻔﺎﺩﻩ ﮐﺎﺭﺑﺮ ﺍﺯ ﺑﺴﺘﻪ ﯼ ﻣﻮﺭﺩ ﻧﻈﺮ ﻣﻮﺭﺩ ﺗﻮﺟﻪ ﻗﺮﺍﺭ ﺑﮕﻴﺮﺩ.
ﺑﺮﺍﯼ ﺁﺷﻨﺎﻳﻲ ﺑﻴﺸﺘﺮ ﺑﺎ ﻧﺤﻮﻩ ﯼ ﮐﺎﺭ ﭼﻨﻴﻦ ﺑﺮﻧﺎﻣﻪ ﻫﺎﻳﯽ ﻣﯽ ﺗﻮﺍﻧﻴﺪ ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﻫﺎﯼ ﻣﺸﺎﺑﻪ ﺩﺭ Linuxﻣﺮﺍﺟﻌﻪ
ﮐﻨﻴﺪ.
6
ﭘﺮﻭﮊﻩ ﻱ ﺍﻣﺘﻴﺎﺯﯼ 2
ﺩﺭ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﻫﺪﻑ ﺍﺗﺠﺎﻡ ﭘﺮﻭﮊﻩ ﯼ ﺳﻮﻡ ) (meQL Serverﺭﺍ ﺑﻪ ﺻﻮﺭﺕ ﺗﻮﺯﻳﻊ ﺷﺪﻩ ﻭ ﺭﻭﯼ ﺷﺒﮑﻪ
ﻣﯽ ﺑﺎﺷﺪ .ﺩﺭ ﻭﺍﻗﻊ ﺩﺭ ﺍﻳﻦ ﻣﺴﺄﻟﻪ )ﮐﻪ ﻓﻘﻂ ﺑﺮﺍﯼ ﺍﻓﺮﺍﺩﯼ ﮐﻪ ﭘﺮﻭﮊﻩ ﯼ meQL Serverﺭﺍ ﺍﻧﺠﺎﻡ ﺩﺍﺩﻩ ﺍﻧﺪ
ﺗﻮﺻﻴﻪ ﻣﯽ ﺷﻮﺩ( ﺻﻮﺭﺕ ﻣﺴﺄﻟﻪ ﯼ ﺳﻮﻡ ﺑﻪ ﺍﻳﻦ ﺗﺮﺗﻴﺐ ﺗﻐﻴﻴﺮ ﻣﯽ ﮐﻨﺪ ﮐﻪ ﺩﺭ ﺻﻮﺭﺕ ﻧﺼﺐ ﻭ ﺭﺍﻩ ﺍﻧﺪﺍﺯﯼ
ﺑﺮﻧﺎﻣﻪ ﯼ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ ﺭﻭﯼ ﻳﮏ ﺳﻴﺴﺘﻢ ،ﺑﺮﻧﺎﻣﻪ ﻫﺎﯼ ﺩﻳﮕﺮ ﺑﺎ ﺩﺭ ﺍﺧﺘﻴﺎﺭ ﺩﺍﺷﺘﻦ ﺩﺭﺍﻳﻮﺭ ﻣﺮﺑﻮﻃﻪ ﻭ
ﺁﮔﺎﻫﯽ ﺍﺯ ﻧﺎﻡ ﻭ ﻳﺎ IPﺳﻴﺴﺘﻢ ﻣﺬﮐﻮﺭ ﺑﺘﻮﺍﻧﻨﺪ ﺍﺯ ﻗﺎﺑﻠﻴﺖ ﻫﺎﯼ ﺁﻥ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ ﺍﺳﺘﻔﺎﺩﻩ ﮐﻨﻨﺪ.
ﭘﺮﻭﮊﻩ ﻱ ﺍﻣﺘﻴﺎﺯﯼ 3
ﺩﺭ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﻃﺮﺍﺣﯽ ﻭ ﭘﻴﺎﺩﻩ ﺳﺎﺯﯼ ﻳﮏ Task scheduling management Componentﻣﺒﺘﻨﯽ ﺑﺮ
ﺗﮑﻨﻮﻟﻮﮊﯼ ) Component Object Model (COMﻣﺪ ﻧﻈﺮ ﻣﯽ ﺑﺎﺷﺪ .ﺟﺰﺋﻴﺎﺕ ﺑﻴﺸﺘﺮ ﺩﺭ ﻣﻮﺭﺩ ﮐﺎﺭﮐﺮﺩ ﻫﺎﯼ
ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﺍﺯ ﻃﺮﻳﻖ mailing listﺍﻋﻼﻡ ﻣﯽ ﺷﻮﺩ.
ﭘﺮﻭﮊﻩ ﻱ ﺍﻣﺘﻴﺎﺯﯼ 4
ﺩﺭ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﻃﺮﺍﺣﯽ ﻭ ﭘﻴﺎﺩﻩ ﺳﺎﺯﯼ ﻳﮏ ﺑﺴﺘﻪ ﯼ ﻧﺮﻡ ﺍﻓﺰﺍﺭﯼ ﺑﺮﺍﯼ ﺑﻪ ﮐﺎﺭ ﮔﻴﺮﯼ ﺗﮑﻨﻴﮏ ﻫﺎﯼ ﻫﻮﺵ
ﻣﺼﻨﻮﻋﯽ ﺍﺯ ﻗﺒﻴﻞ ﺍﻟﮕﻮﺭﻳﺘﻢ ﻫﺎﯼ ﮊﻧﺘﻴﮏ ،ﺷﺒﮑﻪ ﻫﺎﯼ ﻋﺼﺒﯽ ،ﻭﻳﺎ ﺍﻟﮕﻮﺭﻳﺘﻢ ﻫﺎﯼ ﻓﺎﺯﯼ ﺩﺭ ﺣﻞ ﻣﺴﺎﺋﻞ
ﻧﺮﻡ ﺍﻓﺰﺍﺭﯼ ﻣﺪ ﻧﻈﺮ ﻣﯽ ﺑﺎﺷﺪ .ﺩﺭ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﺗﻨﻬﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻳﮑﯽ ﺍﺯ ﺗﮑﻨﻴﮏ ﻫﺎﯼ ﺫﮐﺮ ﺷﺪﻩ ﮐﻔﺎﻳﺖ ﻣﯽ ﮐﻨﺪ.
ﺗﻮﺿﻴﺤﺎﺕ ﺑﻴﺸﺘﺮ ﻭ ﻣﻨﺎﺑﻊ ﻻﺯﻡ ﺑﺮﺍﯼ ﺍﻧﺠﺎﻡ ﭘﺮﻭﮊﻩ ﺍﺯ ﻃﺮﻳﻖ homepageﺩﺭﺱ ﻗﺎﺑﻞ ﺩﺳﺘﺮﺳﯽ ﺧﻮﺍﻫﺪ ﺑﻮﺩ.
ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ
7
© Copyright 2026 Paperzz