• 0
zaykem

كيف أطبق UML على مشروع حقيقي

سؤال

السلام عليكم ورحمة الله تعالى وبركاته

 

 

أثناء مشواري لتعلم البرمجة وجدت ان لغة UML  أفضل وسيلة لتحليل النظم  من عدة زوايا

 

وبالفعل بدأت في دراسة أنواع Diagrams الخاصة بها, وبعدها قررت أن أبدأ بعمل أول مشروع لي

 

وهو نظام مخازن ومبيعات بلغة c++ و مكتبة qt   فلم أعرف ماهي الخطوات التي سأتبعها لعمل هذا البرنامج

 

يعني كيف من الآخر ماهو الترتيب الذي سأتبعه مستعملا  uml Digrams  حتى أصل إلى الهدف المنشو د

 

 

وشكرا

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

5 إجابة على هذا السؤال .

  • 0

أرجو إيضاح الفكرة لي, أنا في أمس الحاجة لمخطط حتى أمشي عليه

 

 

أما إن كان سؤالي غير واضح فأتمني إبلاغي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

UML ستستخدمها مثلاً لو كنت تبرمج مع فريق أو عدّت فرق برمجية وكلكم تفهمونها، فهي لغة تخاطب أو برمجة رسومية بينكم، أيضاً UML لن تعلمك كيف تبني النظام، بل تفترض أنك تعرف كيف تبنيه وتستخدمها لتعبر برسومات عنه، ثم تبني من هذه الرسومات النظام، أداة تخطيط لا أكثر. طالما أنك الوحيد في الفريق فأرى أنه لافائدة كبيرة منها وأي رسومات ستؤدي الغرض.

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا  أخي سأحاول العمل بدون uml

 

رمضان كريم, وإن شاء الله يكون في عون إخواننا المصريين والسوريين في الفتن التي حلت بهم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

كيف تُستخدم ال UML بشكل صحيح ؟
https://www.facebook.com/photo.php?fbid=596697003695288&set=a.596624623702526.1073741826.596618987036423&type=1
 

"كيف تُستخدم ال UML بشكل صحيح ؟

كون أن لغه UML لها مقياس Standard وهناك جهه (ال ISO) تتولى الاهتمام بذلك، الا أن هذا لا يعارض وجود أكثر من استخدام لها أثناء فترة تطوير المشروع، وهذا الاختلاف بين طرق الاستخدام قد يدخلك في صراع أو نقاشات مطوله خصوصاً لو عملت مع شخص يستخدمها بطريقة ما ولا يدري الطرق الاخرى التي يمكن ان تكون لل UML فائده منها.

سأتحدث عن طريقتين الآن الأولى وهي توضيح كل العلاقات والكلاسات وبما داخلها بشكل مفصل جداً (سوف نسمية Blueprint) ، أما الثانية وهو توضيح جزء معين من تصميم المشروع Designing فقط بدون حتى الدخول في تفاصيله الدقيقة (سوف نسميه Sketch )

هذه الطرق يمكن ان تستخدمها قبل كتابه المشروع Forward Engineering، أو بعد كتابه المشروع Reverse Engineering، ولكل منها سبب،

لنتحدث عن طريقة عمل التفاصيل لكل شيء وهي المفضلة لدى المناهج الأكاديمية Blueprint فمثلاً يقوم الطالب أو المبرمج بعمل المشروع بالكامل ومن ثم في الأخير يقوم بتوليد أو رسم ال UML لهذا المشروع (هنا فائده ال UML أصبحت قليله والسبب أن المشروع انتهي والتوثيق ورسومات ال UML قد تكون اعقد من الكود نفسه) ، لذلك في غالب مشاريع تخرج الطلاب نجد أنهم يتبعوا Reverse Engineering Blueprint. الطريقة الأخرى في ال Blueprint وهي أن تقوم بعمل ال UML قبل المشروع، وهي لها فوائد مثلاً كنت مبرمج محترف ولديك مبرمج مبتدئ تريده أن يعمل فيمكن أن تقوم بعمل Forward Engineering وعمل ما يلزم لهذا المبرمج حتى يستطيع العمل والبرمجة بمفرده.

في الغالب القيام بعمل التفاصيل Blueprint يستلزم أدوات لتوليدها سواء كانت ضمن بيئتك البرمجية IDE أو أداة خارجية Third-Party تقوم بها (سواء قبل Forward أو بعد المشروع Reverse). الكتب الأكاديمية تسمى هذه الأدوات CASE Tools وقد سمى هذا المصطلح Martin Fowler (مهندس البرمجيات المعروف) بال Dirty Word وأن كثير من الشركات والمصنعين Vendors أصبحوا لا يستخدمونه ، واتفق معه في ذلك  ..

الطريقة الثانية للاستخدام UML وهو ما افضله واستخدمه وهو رسم ما يلزم لايصال الفكرة بدون الحاجه للدخول في التفاصيل Sketch. مثلاً كنت تريد ان تحل مشكلة عمل فهرسه للملفات فسوف تقوم بوضع ال High Level Design مع الفريق أو مع نفسك ومن ثم ترى هل سيحل هذا التصميم المشكلة ؟ فاذا كان كذلك والا فتقوموا بالتعديل عليه الا حين الوصول للشيء المناسب (طريقة الاستخدام هذه Forward Sketch تصلح ايضاً في اجتماعات المبرمجين في الفريق )، أو مثلاً لنقل أنك انهيت حل مشكلة ما وتريد توثيق الDesign أو أن هناك مبرمج جديد انضم وتريد شرح الفكرة العامه من هذا الاجزاء من الكود فال Reverse Sketch هنا أيضاً مفيد في تلك الحالة.

عندما تقوم بال Sketcher فقد لا تلتزم بأي Standard للرسم ، بمجرد أن تصل فكرتك المطلوبة للفريق وهذا هو الهدف Communication Ideas فهذا يكفى ولو لم تكن مطابق لل UML Standards (الصورة المرفقة توضح Sketch قديم قمت بعمله وهو يوضح فكرة معينة بغض النظر عن الالتزام الحرفي بالمعيار وطريقة الرسم).

فأسأل نفسك هل انت Sketcher أم Blueprinter ، ولا تتعصب لطريقة واستخدم كل منها في الوقت المناسب"

تم تعديل بواسطه Wajdy Essam
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

كيف تُستخدم ال UML بشكل صحيح ؟

https://www.facebook.com/photo.php?fbid=596697003695288&set=a.596624623702526.1073741826.596618987036423&type=1

 

"كيف تُستخدم ال UML بشكل صحيح ؟

كون أن لغه UML لها مقياس Standard وهناك جهه (ال ISO) تتولى الاهتمام بذلك، الا أن هذا لا يعارض وجود أكثر من استخدام لها أثناء فترة تطوير المشروع، وهذا الاختلاف بين طرق الاستخدام قد يدخلك في صراع أو نقاشات مطوله خصوصاً لو عملت مع شخص يستخدمها بطريقة ما ولا يدري الطرق الاخرى التي يمكن ان تكون لل UML فائده منها.

سأتحدث عن طريقتين الآن الأولى وهي توضيح كل العلاقات والكلاسات وبما داخلها بشكل مفصل جداً (سوف نسمية Blueprint) ، أما الثانية وهو توضيح جزء معين من تصميم المشروع Designing فقط بدون حتى الدخول في تفاصيله الدقيقة (سوف نسميه Sketch )

هذه الطرق يمكن ان تستخدمها قبل كتابه المشروع Forward Engineering، أو بعد كتابه المشروع Reverse Engineering، ولكل منها سبب،

لنتحدث عن طريقة عمل التفاصيل لكل شيء وهي المفضلة لدى المناهج الأكاديمية Blueprint فمثلاً يقوم الطالب أو المبرمج بعمل المشروع بالكامل ومن ثم في الأخير يقوم بتوليد أو رسم ال UML لهذا المشروع (هنا فائده ال UML أصبحت قليله والسبب أن المشروع انتهي والتوثيق ورسومات ال UML قد تكون اعقد من الكود نفسه) ، لذلك في غالب مشاريع تخرج الطلاب نجد أنهم يتبعوا Reverse Engineering Blueprint. الطريقة الأخرى في ال Blueprint وهي أن تقوم بعمل ال UML قبل المشروع، وهي لها فوائد مثلاً كنت مبرمج محترف ولديك مبرمج مبتدئ تريده أن يعمل فيمكن أن تقوم بعمل Forward Engineering وعمل ما يلزم لهذا المبرمج حتى يستطيع العمل والبرمجة بمفرده.

في الغالب القيام بعمل التفاصيل Blueprint يستلزم أدوات لتوليدها سواء كانت ضمن بيئتك البرمجية IDE أو أداة خارجية Third-Party تقوم بها (سواء قبل Forward أو بعد المشروع Reverse). الكتب الأكاديمية تسمى هذه الأدوات CASE Tools وقد سمى هذا المصطلح Martin Fowler (مهندس البرمجيات المعروف) بال Dirty Word وأن كثير من الشركات والمصنعين Vendors أصبحوا لا يستخدمونه ، واتفق معه في ذلك  ..

الطريقة الثانية للاستخدام UML وهو ما افضله واستخدمه وهو رسم ما يلزم لايصال الفكرة بدون الحاجه للدخول في التفاصيل Sketch. مثلاً كنت تريد ان تحل مشكلة عمل فهرسه للملفات فسوف تقوم بوضع ال High Level Design مع الفريق أو مع نفسك ومن ثم ترى هل سيحل هذا التصميم المشكلة ؟ فاذا كان كذلك والا فتقوموا بالتعديل عليه الا حين الوصول للشيء المناسب (طريقة الاستخدام هذه Forward Sketch تصلح ايضاً في اجتماعات المبرمجين في الفريق )، أو مثلاً لنقل أنك انهيت حل مشكلة ما وتريد توثيق الDesign أو أن هناك مبرمج جديد انضم وتريد شرح الفكرة العامه من هذا الاجزاء من الكود فال Reverse Sketch هنا أيضاً مفيد في تلك الحالة.

عندما تقوم بال Sketcher فقد لا تلتزم بأي Standard للرسم ، بمجرد أن تصل فكرتك المطلوبة للفريق وهذا هو الهدف Communication Ideas فهذا يكفى ولو لم تكن مطابق لل UML Standards (الصورة المرفقة توضح Sketch قديم قمت بعمله وهو يوضح فكرة معينة بغض النظر عن الالتزام الحرفي بالمعيار وطريقة الرسم).

فأسأل نفسك هل انت Sketcher أم Blueprinter ، ولا تتعصب لطريقة واستخدم كل منها في الوقت المناسب"

مشكور أخي وجدي على الشرح المميز

 

بماأنك قمت بالرد في سؤالي فأتمني أن تجيبني على سؤال آخر

 

قرأت موضوع لك عن uml  وتحدتث فيه عن Waterfall Model

 

 أعرف أن هذه الطريقة غير مجدية وتدخل في تعقيدات بعد إنجاز والمشروع وأن الطريقة الأفضل هي :التكراري التزايديIterative, Incremental

 

فكيف أستطيع تطبيق هذه الطريقة في مشروعي ؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .