ሶፍትዌር ምህንድስና

ሶፍትዌር ምህንድስና

፫ ሓምለ ፳፻፱


ክዊክሶርት / Quicksort

ኣብ ስነ-ኮምፒተር እቲ ክዊክሶርት ኣገባብ ሓደ ካብቶም ዝቀልጠፉ ኣገባባት እዩ ሓደ ዓውዲ (Array) ንምስራዕ። እቲ ዓውዲ ዘይስሩዕ ቁጽሪታት ወይ ከኣ ካልእ ትሕዝቶ ክህልዎ ይኽእል።


መፍትሒ ናይ ክዊክሶርት እቲ ክልሰ-ሓሳብ „መቀለ ድሓር ሰፈነ“ (= divide and conquer) እዩ። ቅድም ነቲ ዓቢ ሽግር ኣብ ንኣሽቱ ሽግራት ትመቅሎ፣ ድሓር ነቶም ንኣሽቱ ሽግራት ንምፍታሕ ይቀልል እዩ። ሽዑ ስጉም ብስጉም ነቲ ዓቢ ሽግር ትፈትሖ ማለት እዩ። ስለዚ ከኣ እዚ ኣገባብ „መቀለ ድሓር ሰፈነ“ ይበሃል፥

ሓደ ባእታ ካብቲ ዓውዲ ትወስድ (ኣየናይ ባእታ ከምትወስድ ኣገዳሲ ኣይኮነን) ነቲ ዓውዲ ምእንቲ ኣብ መኣከሉ ክትመቅሎ። ድሓር ነቶም ካልኦት ካብቲ ቀንዲ ባእታ ዝንእሱ ባእታታት ኣብ ጸጋም ትገብሮም፣ ነቶም ካልኦት ካብቲ ቀንዲ ባእታ ዝዓበዩ ባእታታት ኣብ የማን ትገብሮም። ድሓር ልክዕ ነዚ ዕማም ትደግሞ፣ ነቲ ሓድሽ ዝወጸ ክፋል ናይቲ ዓውዲ ትመቅሎ፣ ሽዑ ነቲ ሓድሽ ክፋል ትሰርዖ። ድሓር ሙሉእ ዓውዲ ምስ ሰርዓኻ፡ እቶም ባእታታት ኣብቲ ዓውዲ (ትሕዝቶ ዓውዲ) ኩሎም ተሰሪዖም ኣለው።


እዚ’ቲ ቀንዲ ሽጣራ ናይቲ ክዊክሶርት ኣገባብ እዩ። ነቲ ክልሰ-ሓሳብ „መቀለ ድሓር ሰፈነ“ ኣብ ብዙሕ ዝተፋላለዩ ነገራት ኣብ ውሽጢ ሶፍትዌር ወይ ስነ-ኮምፒተር ይጥቀምሉ እዩ።

ኣብ ውሽጢ’ቲ ፕሮግራም ወይ ኮውድ ሕሳባዊ ፍልጠት ከኣ ክህልወካ ኣለዎ። ስነ-ሎምፒተር ብዘይ ሕሳብ ሙት እዩ።


መብርሂ ናይ ክዊክሶርት፥



እቲ ዝስዕብ ኣገባብ (= function) ነቲ ቀንዲ ባእታ ይደሊ፣ ነቲ ዓውዲ (files[ ]) ከኣ ይመቅሎ፥


ቀንዲ ባእታ = Pivot


ፍሉያት ኢንዱስትሪታት

ኣመዓራርይ

ሶፍትዌር ምህንድስና ኣብ 10 ፍሉያት ጨናፍር ክምቀል ዝኽእል ኮይኑ፡ ንሳቶም ድማ ።

  1. ሶፍትዌር ዘድልዮም ነገራት : ሶፍትዌር ዘድልዮም ነገራት ምትንታን፣ ምትንታን፣ ምግላጽን ምርግጋጽን .
  2. ዲዛይን ሶፍትዌር : ዲዛይን ሶፍትዌር ብተለምዶ ብመሳርሒታት ኮምፒተር ዝተሓገዙ ሶፍትዌር ምህንድስና (CASE)ን ከም ውሁድ ሞዴሊንግ ላንጉዌጅ ( UML ) ዝኣመሰሉ ናይ ቅርጺ ደረጃታት ብምጥቃምን ይዛዘም።
  3. ምምዕባል ሶፍትዌር : ብኣጠቓቕማ ቋንቋታት ፕሮግራሚንግ ሶፍትዌር ምህናጽ ።
  4. ሶፍትዌር ቴስቲንግ : ሶፍትዌር ቴስቲንግ ማለት ጌጋታት ንምርካብ ዝዓለመ ፕሮግራም ንምፍጻም ዝግበር መስርሕ እዩ። ፈተነ ሶፍትዌር እቲ ፍርያት ሶፍትዌር ልክዕ፣ ምሉእን ቅኑዕን ጠለባት ዓሚልን ጠለባት ፍርያትን ከምዘማልእ ንምርግጋፅ ዝዓለመ እዩ።
  5. ጽገና ሶፍትዌር : ስርዓታት ሶፍትዌር መብዛሕትኡ ግዜ ብዙሕ ጸገማት ስለዘለዎም ንመጀመርታ ግዜ ምስ ተዛዘሙ ነዊሕ ድሕሪ ምጽናሕ ክመሓየሹ ኣለዎም። እዚ ንኡስ ዓውዲ እዚ ነቶም ጉዳያት ይምርምሮም እዩ።
  6. ምሕደራ ውቅር ሶፍትዌር : ስርዓታት ሶፍትዌር ዝተሓላለኹ ስለዝኾኑ፡ ውቅሮም (ንኣብነት ፡ ምቁጽጻር ስሪትን ምንጪ ኮድን ) ስታንዳርድን ቅርጻውን ኣገባባት ተጠቒምካ ክመሓደር ኣለዎ።
  7. ምሕደራ ምህንድስና ሶፍትዌር : ምሕደራ ስርዓታት ሶፍትዌር ካብ ምሕደራ ፕሮጀክት ብዙሕ ኣምር ይልቃሕ ፣ ኣብ ሶፍትዌር ግን ኣብ ካልኦት ስነ-ፍልጠታት ምሕደራ ዘይገጥሙ ብዙሓት ንኣሽቱ ፍልልያት ኣለዉ።
  8. መስርሕ ምምዕባል ሶፍትዌር : መስርሕ ምምዕባል ሶፍትዌር ኣብ ሞንጎ ሞያውያን ኣካታዒ እዩ፤ ገለ ፍሉጣት መስርሓት ዋተርፎል ሞዴል ፣ ስፓይራል ሞዴል ፣ ወሰኽን ተደጋጋምን ምዕባለ፣ ከምኡ እውን ቅልጡፍ ምዕባለ እዮም።
  9. ንመሳርሒታት ሶፍትዌር ምህንድስና ብኮምፒተር ዝተሓገዘ ሶፍትዌር ምህንድስና ርአ
  10. ፅሬት ሶፍትዌር