الجمعة، 22 نوفمبر 2019

أساسيات تصميم البرمجيات #Software Design Basics Software Engineering

أساسيات تصميم البرمجيات #Software Design Basics Software Engineering 


أساسيات تصميم البرمجيات 
Software Design Basics Software #Engineering

تصميم البرمجيات هو عمليه لتحويل متطلبات المستخدم إلى بعض شكل مناسب ، والذي يساعد مبرمج في برمجه البرمجيات والتنفيذ.

لتقييم متطلبات المستخدم ، يتم إنشاء مستند SRS (مواصفات متطلبات البرامج) في حين انه بالنسبة للتشفير والتنفيذ ، هناك حاجه إلى متطلبات أكثر تحديدا وتفصيلا من حيث البرمجيات. ويمكن استخدام مخرجات هذه العملية مباشره في التنفيذ بلغات البرمجة.

تصميم البرامج هو الخطوة الاولي في SDLC (برنامج دوره حياه تصميم) ، الذي ينقل التركيز من مجال المشكلة إلى مجال الحل. فانه يحاول تحديد كيفيه الوفاء بالمتطلبات المذكورة في SRS تعني المتطلبات الخاصة بالبرمجيات
Software Requirements Specification.
مستويات تصميم البرامج

تصميم البرمجيات له ثلاثه مستويات من النتائج:



  • التصميم المعماري-التصميم المعماري هو النسخة التجريدية الأعلى من النظام. فانه يحدد البرنامج كنظام مع العديد من المكونات التفاعل مع بعضها البعض. علي هذا المستوي ، والمصممين الحصول علي فكره مجال الحل المقترح.
  • تصميم عالي المستوي-يكسر التصميم الرفيع المستوي مفهوم "الكيان الوحيد-المكون المتعدد" للتصميم المعماري إلى رؤية اقل تجريدا من الانظمه الفرعية والوحدات النمطية ويصور تفاعلها مع بعضها البعض. ويركز التصميم الرفيع المستوي علي كيفيه تنفيذ النظام إلى جانب جميع مكوناته في اشكال من الوحدات النمطية. وهي تعترف بالهيكل المعياري لكل نظام فرعي وعلاقتها وتفاعلها فيما بينها.
  • تصميم مفصل-تصميم مفصل يتعامل مع جزء التنفيذ من ما ينظر اليه علي انه نظام وأنظمته الفرعية في التصميمين السابقين. وهو أكثر تفصيلا نحو وحدات وتطبيقاتها. وهو يعرف البنية المنطقية لكل وحده نمطيه وواجهاتها للتواصل مع الوحدات النمطية الأخرى.

الوحدات units 

النمذجة هي تقنيه لتقسيم نظام البرمجيات إلى وحدات متعددة منفصلة ومستقله ، والتي من المتوقع ان تكون قادره علي تنفيذ المهام بشكل مستقل. قد تعمل هذه الوحدات النمطية كثوابت أساسيه للبرنامج بأكمله. يميل المصممون إلى تصميم الوحدات النمطية بحيث يمكن تنفيذها و/أو تجميعها بشكل منفصل ومستقل.

تصميم وحدات يتبع بدون قصد قواعد ' الانقسام وقهر ' استراتيجية حل المشاكل وهذا لان هناك العديد من الفوائد الأخرى المرفقة مع تصميم وحدات من البرمجيات.

الاستفادة من النمذجة:

مكونات أصغر هي أسهل للحفاظ علي
يمكن تقسيم البرنامج علي أساس الجوانب الوظيفية
ويمكن جلب المستوي المطلوب من التجريد في البرنامج
يمكن أعاده استخدام المكونات ذات التماسك العالي مره أخرى
يمكن جعل التنفيذ المتزامن ممكنا
المطلوب من جانب الأمان.

التزامن

العودة في الوقت المناسب ، ومن المفترض ان يتم تنفيذ جميع البرامج بشكل تسلسلي. ونعني بالتنفيذ المتسلسل انه سيتم تنفيذ التعليمات المشفرة واحدا تلو الآخر مما يعني انه يتم تنشيط جزء واحد فقط من البرنامج في اي وقت من الأوقات. يقول ، برنامج لديه وحدات متعددة ، ثم واحد فقط من جميع الوحدات النمطية يمكن العثور عليها نشطه في اي وقت من التنفيذ.

في تصميم البرامج ، يتم تنفيذ التزامن عن طريق تقسيم البرنامج إلى وحدات مستقله متعددة من التنفيذ ، مثل الوحدات النمطية وتنفيذها في نفس الوقت. وبعبارة أخرى ، يوفر التزامن القدرة علي البرنامج لتنفيذ أكثر من جزء واحد من التعليمات البرمجية بالتوازي مع بعضها البعض.

فمن الضروري للمبرمجين والمصممين للتعرف علي تلك الوحدات ، والتي يمكن اجراء التنفيذ المتوازي.

المثال
ميزه الاختيار الإملائي في معالج الكلمات هي وحده نمطيه من البرامج ، والتي تعمل علي طول الجانب المعالج الكلمة نفسها.

الاقتران والتماسك

عندما يتم نمطيه برنامج برنامج ، يتم تقسيم مهامه إلى عده وحدات استنادا إلى بعض الخصائص. وكما نعلم ، فان الوحدات النمطية هي مجموعه من التعليمات التي وضعت معا من أجل تحقيق بعض المهام. ومع ذلك ، فهي تعتبر كيانا واحدا ولكنها قد تشير إلى بعضها البعض للعمل معا. وهناك تدابير يمكن من خلالها قياس نوعيه تصميم الوحدات النمطية وتفاعلها فيما بينها. وتسمي هذه التدابير الاقتران والتماسك.

التماسك

التماسك هو المقياس الذي يحدد درجه الاعتمادية داخل عناصر الوحدة النمطية. كلما زاد التماسك ، كان الأفضل هو تصميم البرنامج.

هناك سبعه أنواع من التماسك ، وهي –

  • التماسك العرضي-هو التماسك غير المخطط والعشوائي ، والذي قد يكون نتيجة لكسر البرنامج في وحدات أصغر من أجل النمذجة. لأنه غير مخطط له ، فانه قد يخدم الارتباك للمبرمجين وعموما غير مقبول.
  • التماسك المنطقي-عندما يتم وضع العناصر المصنفة منطقيا في وحده نمطيه ، فانها تسمي التماسك المنطقي.
  • التماسك الزمني-عندما يتم تنظيم عناصر الوحدة النمطية بحيث تتم معالجتها في نقطه مماثله في الوقت المناسب ، فانها تسمي التماسك الزمني.
  • التماسك الإجرائي-عندما يتم تجميع عناصر الوحدة النمطية معا ، والتي يتم تنفيذها بشكل تسلسلي من أجل أداء مهمة ، فانها تسمي التماسك الإجرائي.
  • الترابط التواصلي-عندما يتم تجميع عناصر الوحدة النمطية معا ، والتي يتم تنفيذها بشكل تسلسلي والعمل علي نفس البيانات (المعلومات) ، فانها تسمي التماسك التواصلي.
  • التماسك المتسلسل-عندما يتم تجميع عناصر الوحدة النمطية لان إخراج عنصر واحد يخدم كمدخل إلى آخر وهكذا,...
  • التماسك الوظيفي-وهو يعتبر اعلي درجه من التماسك ، ومن المتوقع جدا. ويتم تجميع عناصر الوحدة النمطية في التماسك الوظيفي لأنها جميعا تسهم في وظيفة واحده محدده جيدا. كما يمكن أعاده استخدامه.

اقتران

الاقتران هو مقياس يحدد مستوي الاعتمادية بين الوحدات النمطية للبرنامج. فانه يحكي في ما مستوي الوحدات تتداخل وتتفاعل مع بعضها البعض. كلما انخفضت الاقتران ، كلما كان البرنامج أفضل.

هناك خمسه مستويات من اقتران ، وهي-


  • اقتران المحتوي-عندما يمكن للوحدة النمطية الوصول مباشره أو تعديل أو الرجوع إلى محتوي وحده نمطيه أخرى ، فانه يسمي اقتران مستوي المحتوي.
  • اقتران المشتركة-عندما وحدات متعددة لديها حق الوصول للقراءة والكتابة إلى بعض البيانات العالمية ، ويسمي اقتران المشتركة أو العالمية.
  • اقتران التحكم-وتسمي وحدتين التحكم-إلى جانب إذا كان واحد منهم يقرر وظيفة وحده أخرى أو تغيير تدفق التنفيذ.
  • اقتران الطوابع-عندما تشارك وحدات متعددة بنيه البيانات المشتركة والعمل علي جزء مختلف منه ، ويسمي اقتران الطوابع.
  • اقتران البيانات-اقتران البيانات عندما تتفاعل وحدتان مع بعضهما البعض عن طريق تمرير البيانات (كمعلمه). إذا وحده نمطيه بتمرير بنيه البيانات كمعلمه ، ثم الوحدة النمطية المتلقية يجب استخدام كافة المكونات الخاصة به.

ومن الناحية المثالية ، لا يعتبر اقتران ليكون أفضل.

التحقق من التصميم

إخراج عمليه تصميم البرامج هو وثائق التصميم ، والرموز الزائفة ، والرسوم البيانية المنطقية مفصله ، والرسوم البيانية العملية ، ووصف مفصل لجميع المتطلبات الوظيفية أو غير وظيفية.

وتعتمد المرحلة التالية ، وهي تنفيذ البرامجيات ، علي جميع النواتج المذكورة أعلاه.

ثم يصبح من الضروري التحقق من الإخراج قبل الانتقال إلى المرحلة التالية. في وقت مبكر يتم الكشف عن اي خطا ، كلما كان ذلك أفضل أو انه قد لا يتم الكشف عن حتى اختبار المنتج. وإذا كانت نواتج مرحله التصميم في شكل تدوين رسمي ، فانه ينبغي استخدام أدوات التحقق المرتبطة بها ، والا فانه يمكن استخدام استعراض تصميمي شامل للتحقق منها والتحقق من صحتها.

بواسطة نهج التحقق المنظم ، يمكن للمراجعين الكشف عن العيوب التي قد تحدث بسبب التغاضي عن بعض الشروط. استعراض التصميم الجيد هو المهم لتصميم البرمجيات الجيدة ، والدقة والجودة.



التسميات: