الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما هى اولوياتك عند تصميم اى تطبيق

مغلق
بدأه طارق إبراهيم في 5 يوليو 2005 · 23 رد · 4,112 مشاهدة · في الأخبار والنقاشات التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هناك مقالة تتحدث عن قابلية البرامج للاستخدام كتبها صديقنا وائل الكابلي (لا اعلم لماذا كتبت هذه الجملة)

بمرور الوقت نبدأ فى الالتفات لاشياء كنا نمر عليها مرور الكرام .... شخصياً امر بمرحلة النضوج البرمجى و هى المرحلة التى تنظر فيها بنظرة اخرى احترافية غير نظرة المبرمج فى عامه الاول

بمرور الوقت و كتابة العديد من البرامج او المشاركة فى كتابة اجزاء تجعلك تنظر للتطبيقات بنظرة مختلفة و تفكر ايهم اولى بالاهتمام

الوظيفية Functionality - الامن Security - السرعة فى التنفيذ Speed Of Execution - الكفائة و قلة استهلاك الموارد Performance And Low Resource Cost

البعض سيقول كل هذه العوامل فى حال صممت لبرامجك جيداً :rolleyes:

معذرة اتمنى ان نتحدث عن الجانب العملى الذى تتخذوه فى برامجكم

:blink: شكلى بخرف و عايز انام

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#2

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

اذا بالنسبة الأختيارات ال3الاولى مهمة في البرنامج

تم تعديل هذه المشاركة بواسطة crazy-man في 5 يوليو 2005 في 03:50

#3

الخيار الاول بلا جدال ..... وهو اللي احاول اسويه في كل برامجي <<<<< هذا اذا كنت سويت برامج : )

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#4

نسيت شغلة مهمة: maintainablitiy

انا لما اكتب شغلة .. ما يهمي انها تشتغل بقدر ما يهمني ان اكتبها بطريقة جيدة. <<< مع العلم اني مش كاتب كثير يعني ..

ممكن الواحد يكتب كود مثل هذا:

for( i = t; i < u+y; y++, x++ )
{
    st = md * x^z;
    v &= yt;
    while( !0 && xt ||  !!y|x )
    {
        x |= x + qt;
    }
}

و راح يكون كود يؤدي الوظيفة (مهما كانت تلك الوظيفة), لكني لا اريد ابدا كتابة كود مثل هذا في اي مشروع حجمه اكثر من 20 سطر.

#5

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

:D

Nothing to mention except that I am Muslim

Using your brain is not bad as you think

My Blog

logo.jpg

#6

الصراحه إنت كتبهم بالترتيب يا طارق

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

هل البرنامج مثلا سيكون ك utility تظل تعمل فى الخلفيه ،، هنا يجب أن يكون أقل إستهلاكا للموارد

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

#7

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

و فوق كل ذي علم عليم

#8

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

فكر بطريقة أخرى

#9

كم تبلغ نسبة 14 : 157 ؟

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#10
اقتباس
كم تبلغ نسبة 14 : 157 ؟

حوالي 9%

لكن ما العلاقة؟

فكر بطريقة أخرى

#11

بالنسبة لى فالخيارات كلها مهمة لكن الاهم اول ثلاثة فالامان لايهمنى كثيراً :rolleyes:

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#12

حسن.....

ممكن أن تشرح لي ماذا كتبت؟؟

وشكرا!!

#13

للرفع

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#14

أقولك علي حاجه كمان ممكن تلاقيها في البرامج العربيه فقط ونادرا ما تجدها في البرامج الأجنبيه هي

الـ Run Time Errors !!!

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

ونوع آخر وهو عدم ارفاق كل الملفات التي يحتاجها البرنامج من مكتبات دوال مما يتسبب في رساله خطأ من النوع الذي أقصده Run Time Error ,,,

ثانيا قارن يبن واجهات البرامج العربيه والبرامج الأجنبيه ستجد فارقا كبيرا جدا بينهما وذلك يأتي بسبب أن الكثير من المبرمجين العرب يكون مستخدما للكومبيوتر لمدة 6 شهور (بالكتير) ثم يبدأ بدراسة لغة برمجة مما يسبب عدم الخبره البرمجيه والتي يطلق عليها رسميا ((هندسة البرمجيات)), وهي للأسف مفقوده عند الكثير من المبرمجين العرب ,,,

تم تعديل هذه المشاركة بواسطة hazzoom في 7 سبتمبر 2005 في 15:45

#15

يااااااااه

الان فقط شفت السؤال يا أبو مازن :lol:

ما اقصده هو انه يهمني ان يكون الكود مفهوم و ليس عبارة عن مجموعة من الـ loops في داخلها مجموعة من جمل if .. else و المتغيرات اللي اسمائها تتكون من حرف واحد او حرفين!

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

#16

كنت أجاريك فقط.. لكن فعلا، ما هي نتائج هذه الدوامة التي صنعتها؟! هاها.

#17

الاول : ان يكون مصمم بشكل جيد بحيث يسهل اجراء التعديلات عليه.

ثانيا: ان يكون جميل في شكله وسهل في استخدامه.

هذا رأيي طبعا.

اسف سوف اقطعك من كتابة الكود، ادخل هنا لدقيقتين فقط

http://www.shbab1.com/2minutes.htm

#18

ههههه :D

و ما ادراني .. انا كتبتها على الطاير بدون معنى! :lol:

#19

السلام عليكم

لن اجيب على هذه السؤال لانك لم تحدد نوع البرنامج الذى ساكتبه واتحمل مسؤليته..

هل هو برنامج لتعليم الاطفال الحروف الهجائيه؟؟ ام هو برنامج لعبة كتشينه(ورق)؟؟ ام هو اوتو بايلوت لقيادة الطائره؟؟ ام برنامج لمراقبة المفاعل النووى؟؟

الاجابه تختلف بإختلاف البرنامج..

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

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

والسلام عليكم

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#20

السلام عليكم

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

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

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

و كنت أتمنى أن يكون الأستفتاء هو متعدد الأختيارات و ليس أختيار واحد. :)

محمد

comp2.gif

#21

أقل إستهلاك للموارد أولا و قبل كل شئ , ثم الأمن

____________________________________________________________________________

{ اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ } سورة الأنبياء (1)

____________________________________________________________________________

In a world without walls and fences, who needs Windows and Gates

مدونتي

#22

للرفع

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#23

أنا مع الاخ احمد غريب اذ انا القول الفصل لنوع التطبيق و هو الذي يحدد الاولوية في الاهتمام

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#24
اقتباس
هناك مقالة تتحدث عن قابلية البرامج للاستخدام كتبها صديقنا وائل الكابلي (لا اعلم لماذا كتبت هذه الجملة)

دعوني أسوق لمقالتي :P <--------------------- يارب من فين جانا هذا...!!

ولكن عزيزنا طارق أحس أنه هناك شيء له علاقة...

دعوني أستفيض قليلا هنا...

1. تريد برنامج "كوتشينة (نحن نسميه سيكمبيل)" كما قال أخونا أحمد....

ويقدم لك المبرج التالي: ( برنامج على درجة عالية من الأمان ، ويستغل اقل موارد ممكنة ، وكمان سريع)

ولكن مشكلته الوحيدة انك لاتعرف أنك فزت أم لا....

هنا يأتي مكان هم في البحوث وهو "المصادقة و التأكيد" وبالانجليزية "Validate and Verfy" وهو ما نسمية اختصارا V&V.

مامعنى المصادقة ومامعنى التأكيد؟

المصادقة Validation هي أن نعرف أننا نصنع المنتج الصحيح....(لأننا قد نبدأ ببرنامج كوتشينة وننتهي ببرنامج شبيه بالـActive Directory و لا يعمل ككوتشينة حقيقية)..

التأكيد Verification وهو أن نتأكد في أننا نصنع منتجنا بطريقة صحيحة (لأننا قد ننتهي من المنتج ويكون بالضبط يؤدي ماهو مطلوب ولكنه ليس مصمم بطريقة جيدة فنفقد عناصر الجودة في البرنامج مثل قابلة الصيانة فيمابعد)...

كيف نصادق؟

هناك عدة طرق ولكن أهمها هو أن ترجع إلى زبونك وتتأكد منه أن ما توصلت إليه حتى الآن هو ما يريد وتكون هذه العملية بعد كل محطة أو مرحلة من مراحل صنع البرنامج.. ومنه مايعرف بالـنموذج أو الـ Prototype و يدخل فيه أيضا ما يعرف باختبار القبول Acceptance Test.

كيف نتأكد؟

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

مراجع:

http://www.software.org/pub/v&v/

اعتذار:

عن الاطالة :D

لماذا تكون الليغو اللعبة الأكثر عبقرية في العالم؟

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

-----

وائل بن أحمد كابلي

مستشار تطوير برمجيات | مايكروسوفت للخدمات الاستشارية

MCSE | MCTS SharePoint Infrastructure | MCTS SharePoint - Development | MCP | MSF Essentials

http://blogs.msdn.com/wael

@waelkabli

هذا الموضوع مغلق.

مواضيع مشابهة