المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : 8خ خطوات لعمل برمجة أي برنامج


diamond
09-19-2006, 08:25 PM
8 خطوات لعمل برمجة اي برنامج

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

1) حدد الهدف من برنامجك.

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

كيف تحدد الهدف؟

أ) الهدف يجب أن يكون واضحاً محدداً، لا تقل: أريد أن أبرمج منتدى، بل حدد أكثر، هل تريد أن يكون هذا المنتدى لموقعك فقط؟ أم أنه لمنافسة منتدى آخر مثل phpBB أو VB؟ أو أنك تريد إنشاء منتدى بسيط للمواقع التي لا تحتاج لبرامج المنتديات الكبيرة والمعقدة؟ حدد بالضبط هدفك.

ب) حدد توقيتاً لهدفك، كم تحتاج لإنجاز الهدف؟ شهر؟ أسبوع؟ قم بتحديد المدة اللازمة لتحقيق هدفك لأنك إن لم تحدد مدة زمنية معينة، قد تسوف الأمر حتى ينتهي عمرك ولا تحقق هدفك.


2) حدد شكل البرنامج.

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

قم بتحديد شكل هذه الصفحات وهذه فقط أمثلة:

- الصفحة الرئيسية للبرنامج.
- صفحة القسم (إن كان هناك أقسام متعددة في البرنامج).
- صفحة المقال أو الموضوع.
- نسخة المقال للطباعة.
- لوحة التحكم بتفاصيلها الضرورية.

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

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


3) صمم قاعدة البيانات.

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


4) قم بتصميم نظام التصفح لبرنامجك.

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


5) إبدأ في كتابة البرنامج!

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

إبدأ البرمجة بملف الإعدادات الذي يسمى عادة config.php، حيث تضع فيه المتغيرات اللازمة للبرنامج، ثم بملف الاتصال بقاعدة البيانات db_connect، وكذلك ملف الدخول إلى لوحة التحكم login.php، وأذكر بأن هذه مجرد أمثلة، وكل برنامج قد يحتاج إلى ملفات أخرى غير مذكورة هنا.


6) كن مرناً.

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


7) كن منظماً.

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

8) وثق كل شيء.

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

د سالم
09-19-2006, 10:30 PM
خطوات جميلة جدا و واضحة فلك مني آسمى آيات الشكر و العرفان

خالد الجديع
09-19-2006, 10:57 PM
Diamond

ماشاء الله تبارك الله . موسوعة متحركة من العلوم زادك الله علما و فهما.

اخي الفاضل عندي بعض الإضافات البسيطة.

عند عمل بناء برنامج

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

بعد هذه العملية يتم عمل خطة لبناء البرنامج و تكون هذه الخطة قد استفادت من مخرجات عملية التركيز و فيها يتم بناء خطة و اضحة و دقيقة لكل جزء من أجزاء دورة حياة بناء البرنامج Software LifeCycle و تحديد ما إذا كانت عملية بناء البرنامج سوف تكون عملية "سفلى - عليا" أو "صاعدة - نازلة Bottom -up or top-down

ثم بعد ذلك تأتي عملية التحليل و التي يتم فيها تحليل و ظائف البرنامج المراد بنائه و غالبا يكون مخرجات هذه العمليى ثلاث مخرجات 1- الكينونات العلائقية 2- هرم وظائف البرنامج 3- رسم لعمليات البرنامج

ثم تأتي مرحلة التصميم و التي تستفيد من مخرجات التحليل و يتم في الغالب فيها أربع عمليات 1- بناء الفهارس Index 2- بناء الطبقة الفعلية لقواعد البيانات انطلاقا من التحليل الكينوناتي 3- بناء المستعرضات Views

ثم تأتي مرحلة البرمجة و فيها يتم بناء وظائف النظام كما خرجت من التحليل و التصميم و بناء شبكة التواصل بينها

هناك امور اخرى تعتمد على كل نظام فقد تكون هناك عملية لنقل البيانات من نظام إلى آخر و قد يتم بناء مخطط للكوارث Fail and Disastor Recovery و هلم جرا

اخي ديموند كتبته على عجل ليتلائم مع موضوعك الرائع و ليكون مرجعا جيدا لكل من أراد الدخول في هذا العالم

ماذكرته انت هو تطبيق عملي لمثال حي و ما ذكرته انا هو طريقة عامة

تحياتي لكم و لقلمك السيال

Amooolah
09-19-2006, 11:39 PM
بارك الله فيك أخوي Diamond

خطوات جيدة ومنظمة

وبتنفعني في مشروع التخرج في القريب العاجل بإذن الله

nisrine
09-19-2006, 11:45 PM
صراحة اخي diamon لا اعرف مادا اقول انت متميز في طرح المواضيع.
اريد ان اسالك سؤال ادا كانت لديك فكرة عن عمل موقع على frontpage ارجو ان تفيدنا .
اصلي انا اريد ان اعمل موقع بس انا عندي مشكلة في وضع الصوت و الصورة على موقعي.
وشكرا

Air_Snake
09-19-2006, 11:59 PM
خطوات جميله جدا ورائعه

الـخط6ـيرة
09-20-2006, 11:58 AM
يعطيك العافية اخوي Diamond

مواضيعك دائما جميلة وهادفة

diamond
09-22-2006, 05:57 PM
د سالم

لا شكر على واجب .. نشكر لكم المرور والتعليق

أستاذنا خالد الجديع

وزادكم من فضله

ما أنا إلا عبد فقير لله وطالب علم

أشكرك على الإضافات القيمة

أمووله

شكرا على المرور

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

نسرين

المتميز وجودك معنا

إذا عرفتي الإجابة فلا تبخلي علينا

إيير سنيك

الأجمل مروركم

الخطيرة

الاجمل غطلالتك علينا والتعليق

شكرا للجميع ورمضان مبارك

أحمد حافظ
12-02-2006, 11:39 PM
جزاك الله خيرا