البومة | دورة تحليل و بناء مشروع متكامل على الويب [ الدرس الخامس] : الـ Merise ام الـ UML ؟ البومة

دورة تحليل و بناء مشروع متكامل على الويب [ الدرس الخامس] : الـ Merise ام الـ UML ؟

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


ملخص الدروس السابقة : 

(adsbygoogle = window.adsbygoogle || []).push({});
من خلال الدروس السابقة ، إقتبسنا مجموعة  من المفاهيم و أيضا الطرق المهمة لتحليل اي مشروع برمجي ، و لاحظ اننا لازلنا في مرحلة ” التحليل ” فقط ، فهمنا من خلال الدروس السابقة الهدف من هذه الدورة ، و كيف انه و بنهاية اخر درس ستكون قادرا عزيزي القارئ على تحليل اي فكرة تريد الى مشروع برمجي ، و ناقشنا ايضا في الدرس الموالي مفهوم كل من الفكرة و الوعي ، و كيف ان الفكرة هي ركيزة المشروع ، فالأفكار المبتذلة و المقلدة ستؤول الى فشل المشروع و إن قضيت نحبك في صناعته ، ثم تعرفنا على مفهوم الوعي و هو ببساطة رد فعل الفكرة بالنسبة للعامة ، ثم فهمنا ايضا التقنيات المناسبة لبناء اي مشروع ، فإن كان اندرويد فهذه هي تقنياته الملائمة ، و إن كان ويب فهذه هي تقنياته المناسبة و هكذا . 
ثم قررنا صديقي و بمساعدة متابعي الدورة في صفحتنا على الفيسبوك ، ان نختار مشروع ” موقع خدمات ” لنقوم بتحليله و تطبيق محتوانا و معلوماتنا و باقي دروس الدورة عليه ، و هذا تماما ما قمنا به في الدرس السابق ، فقد قمنا في اخر درس بالتجسس على التقنيات البرمجية التي تم إستخدامها في بناء مشاريع مشابهة ، و ذلك من أجل تحديد الميكانيكية الأفضل لبناء مشروع موقع خدمات . 
يمكنك دائما الرجوع و الإطلاع على الدروس السابقة إن كنت ستتابع هذه الدورة لأول مرة من هنا :
  1. دورة تحليل و بناء مشروع متكامل على الويب [ الدرس الأول ] : الأسباب ، الأهداف و النتائج
  2. دورة تحليل و بناء مشروع متكامل على الويب [ الدرس الثاني ] : الفكرة و الوعي
  3. دورة تحليل و بناء مشروع متكامل على الويب [ الدرس الثالث] : تحديد تقنيات بناء المشروع
  4. دورة تحليل و بناء مشروع متكامل على الويب [ الدرس الرابع ] : كيف تتجسس على المشاريع المشابهة برمجيا ؟ 
ملخص هذا الدرس ( للقارئين الكسالى ? ) 
في هذا الدرس عزيزي سنتعرف على أهم مفهومين على الإطلاق في مجال تحليل المشاريع ، يتم إستخدامهما على معايير عالمية ، و لا يوجد اي مشروع في هذا العالم لم يخضع لهما على الإطلاق ، و هما الـ Merise و الـ UML ، في هذا الموضوع سنكتفي فقط بشرح كل من الـ Mersie و أيضا UML ، و سنقارن بينهما و سنختار الأفضل ، اما إستخدامهما و شرحهما ، فسيكون في الدرس القادم ، و إن لم يكفي فسنزيد الشرح الى درس اخر أيضا ، لكن في هذا الدرس ، سنكتفي بإنتقاء الطريقة الأفضل لمشروعنا البرمجي ، يمكنك الإنتقال بين فقرات الموضوع مباشرة الى المفهوم الذي تريد معرفته او المقارنة التي تريد معرفتها ان كنت لا تود قراءة الموضوع كاملا . 


دورة تحليل و بناء مشروع متكامل على الويب [ الدرس الخامس] : الـ Merise ام الـ UML ؟


ما الذي نقصده بالـ Merise ؟ 

(adsbygoogle = window.adsbygoogle || []).push({});

الـ Merise هي تقنية يتم إستخدامها في تحليل المشاريع في المجال المعلوماتي ، لا اريد صديقي ان اقدم لك شرحا معقدا لأني على دراية جيدة بأن القراء هنا لا يحبون التعقيدات و يفضلون البساطة خصوصا في مواضيع مثل هذه ، لذلك راجع معي هذا الأمر ، لنفترض أنك توصلت بطلب من أحد الأشخاص لمشروع معين ، او لنفترض انه مشروعك ، فهو بالطبع لن يقدم لك جداول قاعدة البيانات و لن يقدم لك الكلاسات التي يجب إستخدامها برمجيا و ما الى ذلك ، بل ما سيقدمه لك هو نص على شكل : ” اريد موقعا يقوم بأخذ أسماء المنتجات ، فيأتي المستخدم و يتسجل في الموقع ، ثم يختار المنتج الذي يريده ، بعدها يستطيع شرائه ، ايضا اريد من المستخدم ان يضع تقييما للمنتوج و تعليقا بعد شرائه … ” . 
كل هذ المعلومات تأتي بما يسمى ” دفتر التحملات ” او الـ Specifications ، و من هذا المنطلق ، عليك ان تستخرج صديقي أهم العناصر البرمجية التي يجب عليك الإشتغال عليها ، مثل الجداول في قواعد البيانات و أيضا العناصر الخاصة بهذه الجداول ، ايضا الكلاسات ، و صفحات الموقع او البرنامج و ما الى ذلك ، فكيف يمكننا تحقيق هذا ؟ 
من كل هذا تظهر لنا تقنية الـ Merise ، وهي تعتبر Modeling Language ، ليست لغة برمجة ، بل لغة تصميم و بناء للمشروع ، تضم تقنية الـ Merise ثلاثة أقسام رئيسية ، و هي الـ Conceptional ، ثم الـ Logical ، و أخيرا الـ Physical ، لأن النص و طوله لا يسمحان لنا بالتعمق أكثر في الـ Merise فلربما نشرح لك تقنياته كاملة من الصفر ، لكن حاليا نريد فقط تقديم تعريف له ، في الـ Conceptional نقوم بإقتباس أسماء الوحدات او الـ Entities التي سننطلق من خلالها ، فمثلا في النص أعلاه ، يوجد لدينا المستخدم ، المستخدم يحمل الـ ID الخاص به ، ايضا الإيميل و الباسوورد و ربما إسمه و معلومات أخرى ، اي انه كيان Entity لا بد من حضوره في المشروع البرمجي ، و سيتم تجسيده على شكل Table او جدول في قاعدة البيانات على شكل : User(id int primary key , email varchar , password varchar , name varchar ) ، و هكذا دواليك الى حين إستخراج كل الـ Entities من نص الـ Specifications ثم بناء قاعدة البيانات بالإعتماد عليها ، ايضا ربط قواعد البيانات بما يسمى الروابط او العلاقات Relations ، و هي تختلف فمنها (1,1) اي One to One , و غيرها مثل (0,1) , (1,*) و غيرها ،  و هي علاقات ستحدد لك في الأخير قواعد البيانات ، الجداول ، محتاواها ، المفاتيح الرئيسية  و المفاتيح الخارجية Foreign Keys . 
حقا الـ  Merise يحتاج الى دورة لوحده لأكون صريحا معك  ، او على الأقل مقال مخصص له ، لذلك سنكتفي بتعريفنا له في الأسطر السابقة . 

– ما الذي نقصده بالـ UML ؟ 


عبارة الـ UML هي إختصار لـ Unified Modeling Language ، و هي تشتغل تقريبا بنفس مبدئ الـ Merise الا انها اكثر تحديثا و تحديدا ايضا ، ربما اليوم لا يتم إستخدام الـ Merise في تحليل المشاريع الا نادرا ، و ذلك لان الـ UML قد سيطر على الأمر ، يعتمد الـ UML على شيئ اخر غير الـ Conceptional و الـ Logical و الـ Physical ، فالـ UML يعتمد على ما يسمى بالـ Diagrams او يمكننا ترجمتها الى المخططات ، و لكل Diagram جزء مخصص من تطوير اي مشروع برمجي ، فحصولك على الحل لكل Diagram يعني حصولك على قطعة من أحجية حل مشروع برمجي متكامل ، يمتلك الـ UML تقريبا ما يقارب 13 نوع من الـ Diagrams ، الا انه لا يتم إستخدام الا 5 او 6 تقريبا بكثرة ، و هذه الـ 5 كافية من أجل تحليل اي مشروع برمجي و تجريده من مجرد فكرة الى مخطط قابل للبرمجة ، من أهم الـ Diagrams الخاصة بالـ UML نجد Class Diagram ، و هو مخطط بواسطته نستطيع إستخراج الكلاسات Classes التي يمكننا إستخدامها في المشروع البرمجي ، ايضا الـ Functions و الـ Component لأي كلاس برمجي ، يوجد ايضا الـ Use Case Diagram و هو مخطط يسمح لنا بتقصي الأفعال التي يقوم بها أحد الكلاسات ، فمثلا و بإستنباطنا للنص أعلاه الخاص بالـ Specifications ، فنجد ان الuser او المستخدم سيتوجب عليه شراء منتوج ، وضع تعليقات ، وضع تقييم للمنتوج ، تسجيل الدخول ، تسجيل الخروج و ما الى ذلك ، هذه كلها حركات يجب ان نوفرها للمستخدم ، و لنقوم بتجميعها كلها ، فنسحتاج الى الـ Use Case Diagram من أجل فعل ذلك ، يوجد أيضا الـ Activity Diagram و الـ Timline Diagram و غيرها . 
(adsbygoogle = window.adsbygoogle || []).push({});
اما الهدف من الـ UML فلا يختلف الا قليلا عن هدف الـ Merise ، وهو اخد النص او دفتر التحملات او متطلبات العميل او متطلباتك انت الشخصية ، و تحليلها و تحويلها من مجرد نص ، الى قواعد بيانات و كلاسات و Functions و صفحات و كل شيئ ، و هي عملية ضرورية ضرورية في أي مشروع برمجي . 

ما الأفضل لتحليل مشروع برمجي ؟ الـ Merise ام الـ UML ؟ و أيهما سنتبع في دورتنا هذه ؟ 


إن كنت صديقي مبتدئا في عالم التحليل هذا ، و لم تقم بالمرة بتحليل أي مشروع برمجي إنطلاقا من الفكرة ، فأنصحك بالـ Merise ، فهو سهل و ممتاز لإكتساب مهارة تحليل المشاريع البرمجية و تحويل الأفكار الى جداول و قواعد بيانات و Objects و ما الى ذلك ، لكن ، إن كنا سنشتغل على مشروع حي حقيقي ، فإن الـ Merise للأسف لن يفيدنا كثيرا كونه لن يقدم لنا العديد من المعلومات و الادوات و التحليلات التي نحتاجها من أجل إنجاز مشروعنا ، و في هذه الحالة سيتوجب علينا إستخدام الـ UML ، و إستخدام ما إستدعى الأمر من Diagrams فيه ، فالـ UML اليوم مستخدم عالميا في تحليل المشاريع ، و إن كنا نريد من مشروعنا ان يكون مُتقن التحليل ، فسيتوجب علينا إستخدام الـ UML بدل الـ Merise . 
من هذه الفكرة ننطلق صديقي لنخبرك أن مشروعنا الذي نشتغل عليه في هذه الدورة ، و هو بناء موقع للخدمات ، سنقوم بتحليله بتقنية الـ UML و ليس الـ Merise ، و سيكون الدرس القادم درسا نقوم فيه بتجريد أفكار مشروعنا الى مجموعة  من الـ Diagrams . 

فيديو إضافي : 


إن إشتغلت من قبل بتقنية  الـ UML ، فالفيديو التالي يشرح لك أداة جميلة يمكنك إستخدامها من أجل صناعة الـ Diagrams ، و هي نفسها الاداة التي سنستخدمها في الدرس القادم ، فيمكنك الإطلاع عليها قليلا من هذا الفيديو : 



[youtube https://www.youtube.com/watch?v=p_n07nNIyIs]

تابع الدرس القادم : 


ككلمة اخيرة صديقي ، نحب ان نذكرك انه يمكنك دائما متابعة الدورة و التوصل بجديدها عبر بريدك الإلكتروني بالتسجيل في الفورم التالي : 



#mc_embed_signup{background:#fff; clear:left; font:14px Helvetica,Arial,sans-serif; width:100%;} /* Add your own MailChimp form style overrides in your site stylesheet or in this style block. We recommend moving this block and the preceding CSS link to the HEAD of your HTML file. */


او يمكنك تفعيل خاصية See First في صفحتنا على الفيسبوك من أجل التوصل بكل جديدنا اول بأول : 







الكاتب

مواضيع متعلقة

التعليقات مغلقة