ضيفنا الكريم زائر منتدى تسالة
---------------------------------------------------------
حللت أهلاً .. ووطئت سهلاً ..
أهلاً بك بين اخوانك واخواتك
آملين أن تلقى المتعة والفائدة معنا
.:: حيـاك الله ::.

يسعدنا انضمامك لاسرتنا للتسجيل أنقر هنا

هيا لننمذج Lets Model, درس من دروس هندسة البرمجيات

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

هيا لننمذج Lets Model, درس من دروس هندسة البرمجيات

مُساهمة من طرف tessala في الخميس مايو 21, 2009 5:09 pm

السلام

هيا لننمذج Lets Model,
درس من دروس هندسة البرمجيات



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

مقدمة
تبدأ هذه الورقة بشرح
متطلبات المشروع (المثال) المراد شرحه ومن ثم تبين مراحل النمذجة ابتداء
من المتطلبات حتى كتابة الكود (الشفرة) بأي لغة كانت (في هذا المثال سنتبع
طريقة java أو #C) .

المتطلبات
لنفترض أن زبوننا أراد برنامجا
لتنظيم البريد في مكتب الخدمات البريدية. وبعد إجراء اللازم من طرق جمع
المتطلبات من مقابلة وقراءة للوثائق وغيرها من الطرق المعروفة لدينا.

ولنفترض أن مجموعة المتطلبات هي كالاتي:
- يستطيع المشترك أن يعمل ثلاث أشياء:
o الإرسال
o الاستقبال
o يغير عنوانه
- يتكون الارسال من أشياء معينة
o ارسال سريع
o ارسال عادي

هذا يكفي وإذا احتجنا متطلبات إضافية ، سوف نقوم بسؤال الزبون عنها.

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

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

النظرة الأولى نظرة على العمليات
إن UML تقدم نوع من
الرسم يدعى Case Use Diagram أو رسمة إستخدام الحالة وأنا أفضل أن أستخدم
هنا المصطلح الإنجليزي لأن الترجمة الحرفية للرسمة قد لا تكون دقيقة ولا
تؤدي المعنى.

إن Use Case تتكون من ثلاث أشياء رئيسية هي:
1-
Use Case وهو عبارة عن مجموعة من العمليات تنفذ عن طريق المستخدم تخدم في
النهاية عمل واحد فقط. وتمثل في الرسم بشكل بيضاوي يكتب فيه اسم العملية
التي تنفذها الـUse Case.
2- الممثل أو Actor وهو أي شيء يتعامل مع
النظام من الخارج قد يكون المستخدم المباشر أو شخص متأثر بالنظام أو حتى
نظام آخر يتعامل مع النظام. ويرمز للمثل في هذه الرسمة بشكل رسمة الرجل
الاسود.
3- العلاقة أو Acociation or Relation. وهي ما يربط بين "اليوس كيس" وبين الممثل ويرمز لها بخط وله أنواع تجدها في وثائق UML.

مثال على المكونات:


مثال تطبيقي على النظام المعطى:



يتبع =====


_________________
avatar
tessala
المدير العام
المدير العام

آخرمكافآت العضو :
الجنس : ذكر
عدد الرسائل : 1551
العمر : 51
العمل/الترفيه : صاحب الببيت
المزاج : مشغول
تعاليق الادارة : مرفوع من الخدمة
نقاط الشهرة : 5649
السٌّمعَة : 22
تاريخ التسجيل : 03/12/2008

http://tessala.up-with.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: هيا لننمذج Lets Model, درس من دروس هندسة البرمجيات

مُساهمة من طرف tessala في الخميس مايو 21, 2009 5:10 pm


النظرة الثانية نظرة على التركيب
هنا
تقدم UML طريقة رسومية في غاية الأهمية تدعى نموذج الصف المعنوي أو قل
onceptualC Class Model. وهنا تأتي خبرة الشخص في الكائنية المنحى ، حيث
يتكون النموذج من شيئين مهمين هما الصف Class و الرابط Association.

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

ليتبين لنا كيف نستخدم هذا النموذج لننظر الى المثال التالي:

نلاحظ
هنا أن هناك صفان كرتبطان مع بعضهما بعلاقة معينة تقرأ كالتالي: لـClass2
على الأقل صفر و على الأغلب علاقة واحدة مع Class1. أيضا لـ 1Class على
الأقل صفر و على الأغلب عدة علاقات مع 2Class.

ماهي الخيارات المتاحة؟
ان
لكل طرف في الرابط عدد يستخدمه ليصف عدد العلاقة مع الطرف الآخر. لذا فمن
الممكن أن يكون الطرف (*) ويعني عديد أو (0) ويعني احتمالية عدم وجود
العلاقة أو (1) وتسمى أيضا ( ) بدون أي رقم ويعني أن العلاقة من طرف واحد.
أيضا لو وضعنا رقمين متجاورين فأحدهما يعني الحد الأقصى والآخر الحد
الأعلى.

نستطيع أن نحدد شكل العلاقة هنا بأحد الأنواع التالية:
- علاقة "هو" وتعني علاقة الوراثة المعروفة لدى الكائنية المنحى وهي أن الابن هو الأب بالوراثة.
- علاقة "جزء من" وتعني أن الصف الأول هو "جزء من" الصف الثاني. أي أن الصف الأول هو في الأساس صفة موجودة في الصف الثاني.


هذا مثال آخر يوضح كل شيء:


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

هناك
شيء آخر وهو علاقة "التجزء" أو سمها علاقة "البعض من كل". في الحقيقة للصف
"شخص" يوجد 4 صفات ذكرت 3 منها سابقا أما الرابعة هي صفة "العنوان".
ولأنها صفة معقدة – أي تكون صفا بذاته- لذا استخدمنا علاقة "الجزئية" و
تقرأ كما سبق وشرحنا هكذا: ("العنوان" جزء من "الشخص" أو "الشخص" يحوي
"عنوان"). أيضا لو نلاحظ أن "الهاتف" جزء من "العنوان" و "بريد_إلكتروني"
جزء من "العنوان".

توضيح مهم: ما هو الفرق بين علاقة "العنوان" مع
"شخص" وبين علاقة "الهاتف" مع "العنوان"? إن علاقة "الجزئية" الملونة
باللون الأسود- أو مصمتة إذا أردت الدقة- تسمى علاقة "الجزئية القوية
Composition " و الأخرى تسمى علاقة "الجزئية العادية Aggregation". وتسمى
علاقة "الجزئية القوية" بهذا الاسم لأن طرفي العلاقة لا يتغنيان عن بعض و
يتطلب وجود أحدهما الآخر. مثل أننا لا نستطيع في النظام الموصوف لدينا في
الرسمة أن نسجل شخصا بدون عنوان. أو بمعنى آخر لا نستطيع أن يكون لدينا
عنوان ما بدون شخص مرتبط به.

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

وفي النهاية نقرأ
العلاقة بين الأب والإبن. إن الأب والإبن هما في النهاية شخص. و قد يكون
لكل أب إبن يربيه. ولكن لكل ابن أب وحد فقط.

لكل أنهي هذا الفصل أو
الرؤية الثانية للنظام أحب أن أنبه على أن المتعلم للـUML يجب أن يقرأ
وثائق UML ليعرف باقي التفاصيل. لأن هناك أشياء كثيرة لم أذكرها مثل أنواع
الصفوف "الكلاسات" و طرق بناء العلاقات. وقد اعتقدت أن ما تم تبيانه هنا
كاف للبدء للنمذجة. وشيء آخر هو أن ما كتبته كان باللغة العربية وهذا
مخالف لما يجب أن يكون عليه نموذج UML.


_________________
avatar
tessala
المدير العام
المدير العام

آخرمكافآت العضو :
الجنس : ذكر
عدد الرسائل : 1551
العمر : 51
العمل/الترفيه : صاحب الببيت
المزاج : مشغول
تعاليق الادارة : مرفوع من الخدمة
نقاط الشهرة : 5649
السٌّمعَة : 22
تاريخ التسجيل : 03/12/2008

http://tessala.up-with.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: هيا لننمذج Lets Model, درس من دروس هندسة البرمجيات

مُساهمة من طرف tessala في الخميس مايو 21, 2009 5:12 pm

وهذا النظرة الثالثة للقراءة العامة
------------------------------------


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


لكل نظام
حالات يكون عليها ويتغير فيها من حالة إلى أخرى حسب نوع التحفيز الذي يؤثر
عليه من عناصر خارجية. لنأخذ مثالا واضحا وهو نظام جهاز بيع المشروبات.
هذا النظام يكون دائما في وضع الاستعداد ويتحفز بوضع قطع معدنية داخله حتى
يصل لمرحلة الاكتفاء و من ثم يحفز بضغط المستخدم على زر اختيار المشروب
المراد ومن ثم يقوم الجهاز بإخراج المشروب والعودة إلى وضع الاستعداد مرة
أخرى. تعرف هذه العملية بجهاز الحالات النهائي أو Machine State Final.

توفر
UML نموذجا يشرح فيه هذه التصرفات للنظام والتي تقوم على مبدأ تحفيز
المستخدم للجهاز و تفاعل النظام مع هذا التحفيز. هذا النموذج يدعى نموذج
الحالات الانتقالية أو"(STD)State Transition Diagram". يتكون النموذج من
شيئين رئيسيين الحالة والانتقال. تمثل الحالة على شكل مستطيل مستدير
الجوانب و يمثل الانتقال على شكل خط يصل بين حالة وأخرى. يكتب على كل خط
الفعل الذي يفعله المؤثر الخارجي وردة فعل النظام. ولتوضيح ما ذكرت نأخذ
مثالا مثل العادة يفصل ما شرحنا.


Figure 5 مكونات State Transition Diagram



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


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


Figure 6 مثال على البريد STD


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



لن أطيل في شرح النموذج لأن يجب أن يكون لدى
القارئ في هذه المرحلة القدرة على قراءة نماذج UML ، لكني سأبين بعض
الأشياء التي قد تحتاج إلى توضيح. لاحظ أي انتقال بين حالة وأخرى تتحدد
بتحفز المستخدم ويكتب فوق خط الانتقال هذا التحفيز (فعل المستخدم). فإذا
كان للانتقال من حالة إلى أخرى شرط فيجب وضع هذا الشرط بين [قوسين] كما في
حالة الانتقال من "تسجيل الدخول" إلى "إرسال" اشترطنا أن تكون عملية
الدخول صحيحة. طبعا كلمة "صحيح" التي كتبت تعني وجود متغير ثنائي القيمة
Boolean ليكون قيمة ما بين القوسين إلى "صح True" عندها ينتقل النظام من
هذه الحالة للثانية. فإذا كان للنظام خارجا أو عملا يؤديه مع الانتقال
فيكتب بعد هذه العلامة"/". مثل حالة الانتقال من "الوارد" إلى "تسجيل
الدخول" بعدما أٌمرَ النظام بالخروج عندها يصدر النظام رسالة "شكرا لك"
وينتقل إلى حالة "تسجيل الدخول".


بقي شيء واحد في المثال وهو ما
يكون داخل الحالة ، وعادة يكون بعض الصفاتAttribute و الأهم من ذلك عمل
الحالة. فلو نظرنا إلى مثالنا لوجدنا حالة "البريد الوارد" تعمل عند
الدخول "On Entry" باستعادة كل ما في صندوق الوارد للمستخدم. توجد عدة
خيارات أخرى مثل "On Exit" وهي ما يعمل به عند الخروج من الحالة. يوجد
خيارات أخرى تجدها في وثائق UML قد لا تحتاج إليها الآن.


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


وشكرا...

_________________
avatar
tessala
المدير العام
المدير العام

آخرمكافآت العضو :
الجنس : ذكر
عدد الرسائل : 1551
العمر : 51
العمل/الترفيه : صاحب الببيت
المزاج : مشغول
تعاليق الادارة : مرفوع من الخدمة
نقاط الشهرة : 5649
السٌّمعَة : 22
تاريخ التسجيل : 03/12/2008

http://tessala.up-with.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: هيا لننمذج Lets Model, درس من دروس هندسة البرمجيات

مُساهمة من طرف h-agc في الخميس نوفمبر 01, 2012 10:27 pm

AGC Academy

البرنامج المتكامل لاحتراف صناعة البرمجيات وتصميم وبرمجة تطبيقات الإنترنت
للخريجين وطلاب الجامعات والمعاهد تم فتح باب القبول لدفعة APD12-01
تخريج مبرمج متخصص فى صناعة البرمجيات وتصميم وبرمجة تطبيقات الانترنت

------------------------------------------------------

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


[1] Initial Core

- Core AGC108 Programming Fundamentals


[2] Small Business Application

1 Core AGC109 Windows Programming and Database I. Core AGC105 - ICDL.

2 Core AGC110 Windows Programming and Database II. -

3 Core AGC111 Advanced Windows Programming. Core AGC131 Graphics Photoshop ,etc.


[3] Advanced Data Base Server

4 Core AGC402 SQL Server 2008 for Developer Core AGC506 My SQL Complete reference.


[4] Windows Programming .Net Frame Work 4.0

5 Core AGC112 Visual Studio.NET 2010 Windows Forms. Core AGC113 VB with SQL Server 2008.

6 Core AGC403 .Net Framework 4.0 Core.
7 Core AGC404 .Net Framework 4.0 Advanced. Core AGC124- Project.

8 Core AGC406 ADO. Net 4.0 , Entity frame work, LINQ.

9 Core AGC405 Windows Forms ,Service ,Advanced Topics.


10 Core AGC407 WPF Windows Presentation Foundation.
Core AGC401 ORACLE 11G SQL/SQL Plus


[5] Web Design and Developing

11 Core AGC501 Web Design HTML, MSExpress. Core AGC502 JavaScript & ASP 3.0 Classic.
12 Core AGC503 ASP. NET 4.0. Core 303 JQuery JavaScript
13 Core AGC504 Ajax, Silver Light.
Core AGC301 CSS
14 Core AGC505 WCF Windows Communication Foundation.
Core AGC302 affairs Project.

15 Core AGC410 Enterprise Reporting ,Business intelligence
Core AGC411 ORACLE forms 11g.

16 Core AGC507 PHP Developer.
Core AGC601 Business Accounting.


[6] Work Group , Final Projects, Certificate

1 عمل مقابلة لمناقشة مشاريع التراك
2 الإنضمام لمجموعة عمل
3 الحصول على شهادة الخبرة بالمشاريع التى قمت بصناعتها
4 المتابعة والابحاث للتطوير

مجموعات العمل


يتم تقسيم المشتركين الى مجموعات عمل أون لاين ليقوم بعمل مشروعات حية بنظام فريق العمل وعمل جوائز لأفضل مجموعات عمل توفير وتكليف المشتركين بعمل أبحاث من خلال توفير مراجع أون لاين لتسهيل عمل الأبحاث والعديد من الأنشطة.

مدة التدريب


- مدة التدريب عبارة عن 16 كور(مستوى) تشمل أكثر من 1900 محاضرة فى التدريب على صناعة البرمجيات على أيدى خبراء فى عالم صناعة البرمجيات.

نظام التأجيل


- نظام تأجيل التدريب : من حق المتدرب تأجيل التدريب والعودة بالتنسيق مع الإدارة بشرط ان ينتهى من دراسة الكور الحالى وتسليم المشروع الخاص به.


رسوم التدريب للمصريين فقط
نظام سداد الرسوم

يتم اعفاء المتدرب من 66% من رسوم التدريب ويقوم بدفع فقط 34% فقط ويتم خصم باقى الرسوم نهائيا.

للدفع بالتقسيط :يقوم المتدرب بدفع 125ج × 16 (كور) مستوى تدريبى ، يشترط تسليم مشاريع كل كور حتى يتم الشروع فى استلام الكور التالى.
للدفع الــــــكاش : 1800ج





رسوم التدريب لغير المصريين


- اجمالى الرسوم 2000دولار شامل التدريب على كافة المناهج التدريبية ومستلزمات التدريب.
- يتحمل المتدرب 42.5% فقط من رسوم التدريب والتى تقدر بمبلغ 850 دولارشاملة كافة رسوم التدريب ويتم اعفاء المتدرب من المبلغ المتبقى.
- يحصل المتدرب على بيانات الحساب فور ارسال البريد بالرغبة فى التدريب ويكون الحساب مفتوح مؤقتا لمدة 48 ساعة حتى يتم تحويل المبلغ.
- عند فتح المحاضرات مؤقتا لحين تحويل الحساب يقوم المتدرب بتحميل المحاضرات من على الانترنت لحين شحن المستلزمات فى غضون 48 ساعة.
- عقب تحويل المبلغ يتم ارسال بيانات التحويل على البريد Accounts@agcit.net .


- على المتدربين بجميع الدول العربية المراسلة على البريد التالى :Accounts@agcit.net يوجد خدمة شحن كافة مستلزمات التدريب الى المنزل.



للتحويل من داخل جمهورية مصر العربية
Bank Name : NSGB البنك الأهلى سوسيتيه جنرال
Bank Code : 0037
Branch Code : 0059
Account No. : 2031 0851705 EGP 62
Name :AGC Academy

للتحويل من خارج جمهورية مصر العربية
Bank Name : NSGB البنك الأهلى سوسيتيه جنرال
IBAN : EG45 0037 0059 2031085 170562
Swift Code: NSGBEGCX
Name: AGC Academy


للتحويل من خلال البريد المصرى

AGC Academy
01016-0000-1338-818
للتحويل من خلال البريد المصرى بجميع مكاتب البريد بجمهورية مصر العربية من خلال الايداع على الحساب التالى



بمجرد التحويل برجاء ارسال بيانات الحوالة على البريد Accounts@agcit.net وسيتم شحن المستلزمات لسيادتكم فورا


للإستعلام بجمهورية مصر العربية


أو الإتصال على الرقم
01289555486 01020499166

مواعيد العمل من 11صباحا حتى 7 مساء عدا الجمعة

القاهـــــــرة: 12 شارع الفريق محمود شكرى – خلف جامع جمال عبد الناصر كوبرى القبة
للاستعلام

www.agcit.org

www.facebook.com/agcit
avatar
h-agc
عضو
عضو

الجنس : ذكر
عدد الرسائل : 37
العمر : 37
نقاط الشهرة : 2040
السٌّمعَة : 1
تاريخ التسجيل : 30/05/2012

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى