مرحلة تصميم البرنامج Software Design فى هندسة البرمجيات

قد يظن البعض أن ما يقصد بالتصميم هو شكل البرنامج فقط. لكن هذا جزء بسيط منه.
فماذا يقصد بتصميم البرنامج (Software Design)؟

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

و تنقسم مرحلة التصميم إلى مراحل عديدة من أهمها:
1 – تصميم البنية أو الهيكل Architectural Design
2 – تصميم نماذج البرنامج باستخدام اللغة الرسومية UML – Unified Modeling Lanuage
3 – تصميم واجهة الاستخدام GUI – Graphical User Interface

وهذا شرح موجز لكل مرحلة كما يلي:

أولا : تصميم البنية أو الهيكل (Architectural Design)
كما أن بناء مبنى يتطلب أولا تحديد شكل هيكله، فكذلك بناء البرنامج. هيكيلة البرنامج هي عميلة ترتيب لأجزاء البرنامج بطريقة معينة و
مرتبة و تنظيم ترابط هذه الأجزاء مع بعضها البعض. غالبا لا تتطلب هذه مرحلة الابتكار، فهناك أنواع معروفة و محددة من الهياكل. كل ما يُستلزم في هذه المرحلة أو اختيار الهيكل المناسب للبرنامج. يعتمد اختيار الهيكل على نوع البرنامج و على دراسة جوانب آخرى مهمة كالأداء (performance) والحماية و الأمان (security and safty) و سهولة الصيانة (Maintainability).

من الهياكل المستخدمة:
أ ) هيكل الخادم-المخدوم (أو الزبون) (Client-Server Architecture)
و يستخدم في البرامج التي تعمل على أكثر من جهاز أو موزعة على شبكة. مثال: متصفح الانترنت.

ب) هيكل الطبقات (Layered Architecture)
ويستخدم في البرامج التي تنقسم إلى أجزاء واضحة (طبقات). و كل طبقة تعتمد على ما تحتها من طبقات.
مثال: برامج تحويل و إرسال البيانات عبر الشبكة. فتحويل البيانات يستلزم مراحل و كل مرحلة تعتبر طبقة.

ج) هيكل التخرين أو المخرن (Repository Architecture)
و يستخدم في البرامج التي تعتمد على قاعدة (أو قواعد) بيانات كبيرة (Database).
مثال: برنامج تنظيم مكتبة يحتوي قاعدة بيانات ضخمة تحوي جميع معلومات الكتب و معلومات الموظفين …الخ. ، و يستخدم هذه القاعدة أكثر من شخص في نفس الوقت.

uml logo

ثانيا: تصميم النماذج بالـ UML:
وهي أهم المراحل، حيث أنها زبدة التصميم وفيها الجزء الأكبر من التحليل و التفكير و “الابتكار” في عملية التصميم.
لكن ما هي ال UML؟ 

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

من أهم نماذج ال UML:
• نموذج دراسة حالة (سمة) من البرنامج (Usecase Diagram)
• نموذج ترابط الأصناف أو الأجزاء (Class Diagram)
• النماذج الديناميكية (Dynamic Diagrams) ، وتنقسم إلى:
– نموذج الفعالية بين الأجزاء (Activity Diagram)
– نموذج التعاون أو الاشتراك (بين الأصناف) (Collaboration Diagram)
– نموذج تسلسل الأحداث (Sequence Diagram)
– نموذج المراحل (Statechart)

uml.usecases
uml.seq

وهذه بعض الأمثلة:
 

و هناك العديد من النماذج الآخرى. (سنتطرق لشرح مفصل عن ال UML في مقال لاحق).
في نهاية هذه المرحلة الطويلة و المتعبة نكون قد أنتجنا نماذج مفصلة و عديدة عن البرنامج تكون جاهزة لتقديمها للمبرمج.

ثالثا: تصميم واجهة الاستخدام (GUI Design)
واجهة الاستخدام هي واجهة البرنامج التي يتعامل معها المستخدم. وتشمل بالأساس الجزئ المرئي الذي يتكون عادة من نوافذ و أزرار و حقول كتابة و لون الخلفية و لون الخط… الخ.
يتعلق هذا القسم بالجزء الفني و جمالي من البرنامج. كم يهتم بسرعة استجابة الواجهة و إمكانيتها إعطاء معلومات واضحة و كافية للمستخدم. وهناك دراسات كثيرة في هذا المجال تشمل دراسة الجانب النفسي للإنسان و تأثره بالألوان و بطريقة ترتيب الأشياء.
على سبيل المثال، من النصائح المعروفة في هذا المجال هي: لا تستخدام جميع ألوان قوس قزح في واجهة برنامجك!  . من المفضل استخدام لونين إلى أربع ألوان مختلفة كحد أقصى.

calc ani
calc

وشكرًا


مقالات ذات صلة

دورة حياة البرنامج أو المشروع في هندسة البرمجيات

من البديهي أن مراحل تطوير أي مشروع بما في ذلك تطوير البرامج لابد إن تتبع إستراتيجية معينة يدار بها المشروع حتى نهايته وهذه الإستراتيجية أو دورة حياة المشروع هي مانسميه في هندسة البرمجيات ب project lifecycle.

تعرف على مفهوم هندسة البرمجيات او Software Engineering

سنتكلم عن هندسة البرمجيات او Software Engineering وهو تخصص شهير فى مجال تكنولوجيا المعلومات. وقبل الشروع فى الحديث عن...

كتب بواسطة عمرو العربى

مؤسس مطور

التعليقات

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

*