You are on page 1of 16

‫مشاريع برمجية‬

‫للمبرمج بوضياف ياسر‬


‫مقدمة‬

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


‫أقدم لكم نفسي أنا ياسر بوضياف ‪ 23‬سنه مطور برمجيات سطح مكتب وهواتف نقالة‪.‬‬
‫مبرمج لمجموعة من البرامج الخاصة وبرامج خاصة بتسيير مجموعة من الشركات على‬
‫مستوى القطر الوطني‪.‬‬
‫أقدم لكم هذه الصفحات من اجل إزاحة الستار عن اللبس الذي يواجه معظم المبتدئين‬
‫الذين لم يزاولوا مشروعا كامال‪.‬‬
‫اللبس الذي هو عباره عن نقص خبره وعدم معرفه كيفية انشاء او تسيير مشروع في‬
‫اإلعالم اآللي كامال‪.‬‬
‫المشكل ليس نقصا في الزاد العلمي بل هو مشكل في عدم معرفه الخطوات الالزمة إلكمال‬
‫مشروع اعالم الي متكامل ما الذي يعني هذا يعني انه ال يمكن للفرد في هذه المرحلة ان‬
‫يعرف ما هو الالزم إلكمال مشروع ‪ 100‬بالمئة‬
‫هذا الكتاب المتواضع هو نتاج خبرتي المتواضعة في المجال و التعامل مع العمالء و‬
‫تسيير المشاريع و التي تنقص العديد من المبتدئين و الذين ال يحظون بمشاريع كاملة‬
‫لنقص تجربتهم و عدم معرفتهم بالخطوات الالزمة لتسيير أي مشروع‬

‫نتفادى اإلطالة و ننتقل لصلب الموضوع‬


‫✔‬
‫المحاور‬
‫المشروع‬
‫*تعريف المشروع ‪1--------------------------------------------------------------------------------------------‬‬

‫محاور تقسيم أي مشروع‬


‫*دراسة جدوى المشروع ‪2------------------------------------------------------------------------------------‬‬

‫*تصميم قواعد البيانات ‪3--------------------------------------------------------------------------------------‬‬

‫*تصميم الواجهات ‪4------------------------------------------------------------------------------------------‬‬

‫*برمجة المشروع ‪-‬بعض المعلومات والرسومات مستوحاة ومأخوذة من موقع الكتروني جزائري‪10/11/9/8/7/6/5/4-------- -‬‬

‫*حماية المشروع‪11-------------------------------------------------------------------------------------------‬‬

‫*اختبار المشروع‪12------------------------------------------------------------------------------------------‬‬

‫*تسليم المشروع‪13-------------------------------------------------------------------------------------------‬‬
‫المشروع‬
‫تعريف المشروع‬
‫يعرف بانه عمل يقوم به الفرد لينفذ فكرة معينه سواء كانت عباره عن منتج او خدمة بحيث يستخدم المشروع لتنفيذ هذه الفكرة‬
‫بعض الموارد الرئيسية كالموارد المالية والمعرفية والعمال‪.‬‬
‫هذا تعريف الذي نقوم بإعطائه هو تعريف عام للمشاريع هنا وفي هذا الكتاب سنتحدث عن المشاريع البرمجية مبدءيا أي اننا‬
‫سنتطرق الى المراحل العامة التي تتشارك فيها جميع المشاريع وستتطرف الى المراحل الخاصة بالمشاريع البرمجية‬
‫يحتاج تنفيذ مشروع للمرور على بعض المراحل المتزامنة والمتسلسلة بحيث ال يمكن اكمال المشروع دون اكمال هذه المراحل‬
‫قاعديا وتصنف هذه المراحل على الشكل التالي‬

‫‪1‬‬
‫محاور تقسيم أي مشروع‬
‫تقسيم اي مشروع ينطوي ضمن المراحل التالية‬
‫دراسة جدوى المشروع‬
‫اول مرحله وهي دراسة جدوى المشروع او ما يسمى بتحليل البيانات في دراسة المشاريع البرمجية هذه المرحلة تنطوي عليها‬
‫دراسة فكره المشروع دراسة تامه مع دراسة السوق التي ستطرح فيه الفكرة ودراسة مدى جدوى المشروع ان كانت الفكرة قابله‬
‫للتطبيق عمليا ام ال‬
‫تعتبر هذه المرحلة مهمه جدا بحيث ال يمكن مرور عليها دون اكمالها بطريقه صحيحه الن عدم دراسة مشروع بطريقه صحيحه‬
‫يؤدي الى خطا في تنفيذ المراحل القادمة من المشروع وبالتالي خطأ في تنفيذ فكره المشروع على أساسه أي أن المشروع لن يكتمل‬
‫بطريقه صحيحه‪.‬‬
‫تنقسم دراسة جدوى مشروع الى مراحل فرعيه‬
‫* مرحله التحدث مع العميل ان كنت ستنفذه من أجل عميل معين وهي مرحلة استنباط أكبر قدر من المعلومات من أجل أخذ‬
‫العناوين األساسية من أجل بدء البحث في الطريق الصحيح ومن أجل االستنباط االفكار التي يريدها والتي ال يريدها العميل اساسا او‬
‫افكار تنفذها في المشروع بطريقه خاطئة او اقل مما يريد‪.‬‬
‫* مرحله البحث وهي المرحلة التي تقوم فيها بالبحث عن تعريف العناوين االساسية مجرد التعاريف واخذ واستنباط المعاني‬
‫االساسية من اجل بناء قاعده صحيحه وفهم الفكرة على اسس صحيحة‪ .‬ألن فهم المشروع وفهم الفكرة قاعديا بطريقه صحيحه‬
‫سيسمح لك بالتعديل وتكبير المشروع كما تريد فيما بعد في حال كنت قد قمت ببناء قاعده صحيحه‪ .‬تكمن خطورة عدم دراسة‬
‫المشروع بطريقه صحيحه في انه يمكن ان يتوقف المشروع في اي لحظه رغم انه ينفذ بطريقه صحيحه‪ .‬فعلى سبيل المثال المشروع‬
‫يقول بأن نقوم بتصميم سيارة او صناعة سيارة بينما من ينفذ المشروع يقوم بصناعه طائرة على اخر المواصفات تعمل بطريقة‬
‫صحيحه‪ .‬رغم ان ما صنعه يعمل بطريقة صحيحة لكن ليس كما تتطلبه فكرة المشروع وهذا يعني إعادة المشروع من الصفر‪ .‬لذا‬
‫تأكد في ان ‪ 90‬بالمئة من االخطاء في دراسة مشروع تؤدي في مرحله معينه الى اعاده مشروع من الصفر‪.‬‬

‫*جدوى المشروع وهي المرحلة التي تقوم فيها بدراسة السوق المراد الدخول اليه ومعرفه ان كانت او كان المشروع مجديا وقابال‬
‫للتطبيق عمليا وعلى ارض الواقع فهنا مجموعه كبيره من األفكار التي يمكن تطبيق على بيئات مختلفة لكن ال يمكن تطبيق على البيئة‬
‫التي تريد النشاط فيها‬
‫*مرحله دراسة المنافسة وهي مرحله مقارنة النتائج القاعدية عن المشروع التي استنبطناها من المرحلة السابقة مع السوق المراد‬
‫الدخول فيه لتلبيتها او عرضها على العمل‪ .‬فلنضرب مثاال على ان العميل طلب منك انشاء تطبيق لمركبه سياحيه مع سائق‪ .‬فكرة‬
‫تطبيق سهلة جدا وهي توفير السيارات أجرة للعمل دون ان يتحرك من مكانه بحيث يقوم بفتح التطبيق واختيار وجهته ثم سيختار‬
‫التطبيق السائق االقرب اليه اوتوماتيكيا ليذهب الى مكان تواجده والذهاب في الرحلة‪ .‬أي أنك بعد أن تقوم برحلة البحث عن‬
‫المعلومات األساسية وفهم الفكرة جيدا ستذهب الى رحله الدراسة السوق الجزائري على سبيل المثال من أجل رؤية ومعرفه أكبر عدد‬
‫معلومات عن أشهر التطبيقات المماثلة ومعرفه النقائص أو نقاط القوة التي جعل تلك التطبيقات ناجحة في هذا السوق‬
‫جميع ما مر من المراحل سيسمح لنا بمعرفه النقاط االساسية كاملة للمشروع قاعديا على األقل بطريقه صحيحه او كما اقولها دائما‬
‫‪-‬كي تشوف النهاية تاع المشروع كيفاش دايرة اعرف بلي راك كملت هذه المرحلة قاعديا‪-‬‬

‫‪2‬‬
‫تصميم قواعد البيانات‬

‫تُ ّ‬
‫عرف قاعدة البيانات بأنها عبارة عن كمية كبيرة من البيانات والمعلومات التي يُمكن الرجوع إليها وإجراء العمليات المختلفة عليها‬
‫كعمليات البحث والتعديل والمقارنة‪ ،‬وذلك من خالل تكلفة بسيطة وسرعة عالية‪ ،‬وتمتاز هذه البيانات الرقمية بأنها بيانات ذات فهرسة‬
‫‪.‬وترتيب معين‪ ،‬وتُعتبر لغة سيكوال هي أشهر لغات قواعد البيانات‬
‫بعد االنتهاء من مرحله البحث المفصلة ستذهب مباشرة الى تخطيط المشروع او ما يسمى في المشاريع البرمجية ‪ -‬تصميم‬
‫قواعد البيانات‪ -‬وألنها هي األساس في أي مشروع برمجي فان أي خطأ على مستوى البرنامج أو الكود المصدري الخاص بك يمكن‬
‫تعديله‪ .‬أي خطأ في الكود يمكن تعديله لكن خطآ في تصميم قاعده البيانات قد يؤدي الى اعاده تصميم قاعدة البيانات كاملة أي اعادة‬
‫تصميم المشروع كامال من الصفر ولهذا تعتبر هذه النقطة وهذه المرحلة مهمه جدا ولذلك يجب أن تكون مرحلة البحث مفصلة‬
‫وصحيحة وبدون أخطاء قاعدي ة‪ .‬مرحلة تصميم قواعد البيانات تعتبر النقلة الفعلية من النظري الى العملي أي نقل المشروع من واقع‬
‫البحوث النظرية ل تجسيده ميدانيا ‪ .‬تصميم قواعد البيانات هو علم بحد ذاته و ربما ال أملك الخبرة الكافية للتحدث عنه بطريقة تعليمية‬
‫لكنه يتركز على تحويل المعلومات الى جداول و مخططات مفهومة للمبرمجين‬
‫فلنضرب مثاال كنت عند عميل وطلب منك العميل التالي‬
‫‪-‬لدي شركة بها موظفون‪ .‬أود برنامجا يسمح بتسيير الموظفين من حيث توقيت العمل الحضور و الرواتب حسب الرتب‪-‬‬
‫صدق أو ال تصدق فأنت محظوظ فهذا العميل قد اختصر عليك مرحلة بحث طويلة وحدد مراده بالضبط‪ .‬لن تضطر للتعمق في‬
‫البحث فهو قد اعطاك جميع المعلومات الالزمة في سطر واحد‬
‫أوال تحتاج لمعرفة ماهو الموظف لتجد بانه شخص يمتاز ببعض المزايا اإلضافية ‪ +‬المزايا التي يتطلبها العمل في هذه الشركة‬
‫لدينا أول كيان و هو شخص ‪ .‬كيف نستطيع ان نميز أي شخص كان ؟ نعم أحسنت االسم واللقب الجنس و رقمه التسلسلي أو رقم‬
‫هاتفه‪..‬‬
‫جيد اذا لدينا كيان اسمه شخص مكون من اسم ولقب وجنس و رقم تسلسلي ال يتكرر خاص به و رقم هاتف والتي هي معلومات‬
‫يمتلكها أي شخص في الوقت الحالي و ال يمكن بأي حال ان تكون غير متوفرة‬
‫جيد ‪ .‬من هو الموظف؟ الموظف هو عبارة عن شخص يمتلك مهارات معينة‪ .‬توقف عندك قلت أن الموظف هو شخص أي أنه‬
‫أوتوماتيكيا سيمتلك صفات الشخص العادي ‪ +‬مهارات معينة ‪ +‬معلومات إضافية كالراتب‪ .‬أي أن الكيان المسمى موظف سيكرر‬
‫نفس معلومات الشخص باإلضافة لمعلومات أخرى‪..‬‬
‫و لحسن الحظ و لتفادي التكرار وفر لنا العلماء تحفة علمية تسمى الوراثة والتي بواسطتها لن يقوم كيان الموظف بتكرار معلومات‬
‫كيان الشخص بل سيرثها ببساطة‪.‬‬

‫ترى كمية المعلومات التي قمت باستخالصها من سطر واحد فقط ؟ دعن أفاجئك ألقول لك أنها ‪ 40‬بالمئة فقط من المعلومات‬
‫الموجودة في هذا السطر‬
‫كما قلت في البداية فالكتاب ليس لتعلم قواعد البيانات لذلك فسنكتفي بالشرح السطحي و اعطائكم لينك لألستاذ المصري القدير حسونة‬
‫احمد في دورته المفصلة جدا الخاصة بتحليل البيانات‬
‫رابط الدورة‬

‫‪https://www.youtube.com/watch?v=cTHsMvsyOyE&list=PLHIfW1KZRIfkmVuqMl3gaRLUtHOl‬‬
‫‪1db12‬‬

‫بعد انتهاء هذه المرحلة و التي تقوم فيها بتخطيط مشروعك كامال ستذهب ألسهل مرحلة !! نعم ! نعم هي أقل المراحل خطورة و هي‬
‫مرحلة برمجة وتصميم المشروع كامال ‪.‬‬

‫‪3‬‬
‫تصميم الواجهات‬
‫بما أنك وصلت لهذه المرحلة فأنت قد مررت على اصعب مرحله وهي مرحله دراسة المشروع وتحليل بيانات وفي الحقيقة في‬
‫حياتي العملية ال اسمح ألحد غيري باستالم هذه المرحلة و انا موجود في المشروع ! لماذا !! ألنني ال أثق في أحدهم لحد اآلن في أنه‬
‫يستطيع أو يمكنه أن يوفر ما قلت للعميل ‪ ..‬فتخيل معي أنه بعد ما أوكلت تحليل البيانات لشخص معين وبعد الشهر او شهرين من‬
‫العمل أكتشفنا أن بعض من المعلومات التي قام بإعطائها لي المشاركين في المشروع خاطئة !!!!‬
‫كيف سيكون الرد مني ؟حتى وان قمت بفصله فان المشروع سيعاد من الصفر لألسف‪.‬‬
‫األخطاء في البرمجة األخطاء في التصميم ال بأس بها يمكن اصالحها وتمديد الوقت فقط لكن خطآ في تحليل البيانات يساوي اعادة‬
‫المشروع من الصفر لذلك لحد اآلن على ان اقوم بجمع المعلومات بنفسي والسهر على مرحله البحث بنفسي ألي مشروع برمجي‬
‫أقوم به باستالمه من عميل معين لكي أتفادى االخطاء في التحليل والتي لن تراها حتى يمر على المشروع وقت معين و هذا مبنية عن‬
‫تجارب حقيقة مررت بها حين عملي لدى شركات برمجية ‪ .‬فأثناء استالمي مخططات بعض المشاريع ألقوم بتنفيذها اكتشفنا بعد ‪3‬‬
‫بل وهناك أخطاء تصميمية تمنع تطوير اشهر من العمل ان بعض المعلومات خاطئة وال يمكن االستمرار على هذا المخطط ‪.‬‬
‫المشروع مستقبال‪ .‬كبناء برج خليفة لتكتشف بعد انتهاء بناءه من أن األرضية غير صالحة على المدة البعيد!‬
‫بعد التأكد من جميع ما فات ستذهب لتصميم الواجهات و التي ستكون مبنية على تصميم قواعد البيانات وكياناتها‪ .‬هذه المرحلة يلزمها‬
‫مصمم متخ صص ان كان مشروعا موجها لالستعمال الواسع لكن يمكن ان يتكفل به شخص تعلم التصميم حديثا كبداية‬
‫تصميم الواجهات يشمل العديد من لغات التصميم على حسب بيئة التطوير أشهرها‬

‫‪Html-css‬‬

‫بالنسبة لمطوري الويب كمثال فقط !‬


‫هذه المرحلة تعتبر مهمة جدا من أجل إعطاء انطباع جيد للعمالء من النظرة األولى فالتصاميم البسيطة و الجذابة و المتناسقة التي‬
‫تجعل العميل او المستعمل يتوقف للتجربة ليمر للمرحلة التالية و هي تجربة وظائف المشروع و هنا نذهب للمرحلة التالية‬

‫‪4‬‬
‫برمجة المشروع‬
‫أحد أهم المراحل وهي مرحله برمجة المشروع هذه المرحلة بالذات تستند الى قاعدة البيانات مباشرة ببرمجته او كتابته لجعل‬
‫البرنامج حيا ومتفاعال مع التغيرات والوظائف التي يلزم القيام بها في الحقيقة‪.‬‬
‫مع التطور الموجود اآلن يمكن أو تسمح بعض التطبيقات والبرامج من انشاء الوظائف أوتوماتيكيا مباشره من مخطط البيانات يعني‬
‫بمجرد ان تقوم بتخطيط قاعده البيانات الخاصة بك وهناك بعض البرامج التي تحول قاعده بيانات الخاصة بك الى أكواد جاهزة باللغة‬
‫التي تريد !‬
‫مع تطور التكنولوجيا اآلن اصبحت هذه المرحلة تحصيل حاصل كما قلت من قبل بحيث أصبحت هناك برامج تقوم بتحويل قواعد‬
‫بيانات الخاصة بك الى كود جاهز باللغة التي تريد أي أن جميع الدوال الخاصة بك ستكتب مباشرة‪.‬‬
‫ما عليك فعله فقط هو ملئ الدوال و كتابتها وتنفيذ الحل باللغة التي تريد تنفيذ المشروع بها ‪.‬‬
‫مرحله البرمجة تمد بصلة مباشرة لمرحلة تحليل البيانات ألن مرحلة البرمجة تقوم بتنفيذ الحلول الخاصة بالمشاكل التي واجهتها‬
‫والتي سيواجهها المشروع أثناء تنفيذه‪.‬‬
‫بعض المشاكل التقنية التي ستواجهها في هذه المرحلة هي مشاكل اختيار اطار العمل المناسب لتنفيذ هذه المرحلة على حسب‬
‫احتياجاتك بطبيعة الحال لتوفر عديد الخيارات‪.‬‬
‫مثل ما ذكرنا في مرحلة تحليل البيانات فانه من المهم جدا أن نجعل المشروع الخاص بنا قابال للتعديل مستقبال‬
‫كي نقوم بتنفيذ هذه المرحلة على مستوى الكود ؟ نقوم بتنفيذها بواسطة البرمجة كائنية التوجه والتي تستند الى‬

‫‪5‬‬
‫البرمجة كائنية التوجه‬ ‫أوال يجب ان نعرف‬
‫هي نمط برمجة متقدم يقوم بتقسيم البرنامج الى كائنات بحيث تكون هذه الكائنات عبارة عن حزم تعليب من البيانات والمتغيرات‬
‫والدوال ووحدات التنظيم وواجهات االستخدام الخاصة بكل كائن أي أن الكائن يقوم بأخذ جميع ما سبق لتخصيصها على حسب نمط‬
‫االستعمال بحيث يتكون هذا النمط البرمجي من التالي‬
‫الكائنات‬
‫وهي حزم تعليب البيانات والدوال الوظيفية في وحدات تعمل ضمن برنامج نشيط وهي أساس هيكلية برمجة الحاسوب الشيئية مثل‬
‫ما ذكرناه سابقا‪ .‬تعتمد البرمجة الكائنية التوجه على مفهوم الكائن‪ ،‬في العالم الحقيقي يمكن أن يكون الكائن سيارة أو دولة أو أستاذا أو‬
‫‪(behaviors).‬والسلوكيات )‪ (attributes‬حاسوبا…هذه األشياء لها ما نسميه بالسمات مثلما سترون في المخطط ادناه‪..‬‬

‫األصناف ‪ – Class‬الصنف‬
‫يمكن اعتبار صنف في البرمجة الكائنية بمثابة قالب أو نموذج يمكن من خالله إنشاء كائنات‪ ،‬وستكون للكائنات التي تم إنشاؤها من نفس‬
‫‪.‬الصنف نفس الجوانب المتشابهة (نفس السمات والطرق)‪ ،‬ويسمى كائن صنف معين أيضًا “مثيل” من هذا الصنف‬

‫‪Dz-res.com‬‬

‫‪6‬‬
‫التجريد‬
‫وهو قدره البرنامج على تجاهل بعض واجهات المعلومات المتالعبة اي التركيز على المفهوم االساسي للكائن وهيكله النظري‬
‫وتجريده من طريقة العمل النهائية والتوجهات الخارجية‬

‫‪Dz-res.com‬‬

‫‪7‬‬
‫التغليف‬
‫لنفترض أن لدينا برنام ًجا يحتوي على عدد قليل من الكائنات المختلفة منطقيًا والتي تتواصل مع بعضها البعض وفقًا للقواعد المحددة سابقًا‬
‫في البرنامج‪ ،‬يتم تحقيق التغليف عندما يحافظ كل كائن على حالته الخاصة‪ ،‬داخل صنف معين‪ .‬ال تملك الكائنات األخرى وصوال مباشرا‬
‫إليها وبدالً عن ذلك‪ ،‬يمكنهم فقط استدعاء قائمة بالوظائف العامة التي نسميها “طرق” كما ذكرنا من قبل‪ .‬إذا كنت ترغب في التواصل مع‬
‫الكائن‪ ،‬فيجب عليك استخدام الطرق المقدمة ولكن بشكل افتراضي ال يمكنك تغيير الحالة‪ .‬لتوضيح األشياء دعونا نلعب لعبة‪ ،‬هناك أشخاص‬
‫وهناك قطة‪ ،‬لتطبيق التغليف‪ ،‬نلخص كل منطق “القط” في صنف يسمى “القط‬

‫”‬

‫‪Dz-res.com‬‬

‫‪8‬‬
‫تعدد االوجه‬
‫لقد وصلنا إلى الكلمة األكثر تعقيدًا والتي نفسي وجدت صعوبة في فهمها أثناء دراستي الجامعية‪ ،‬تعدد األشكال الذي يعني “العديد من‬
‫األشكال” في اليونانية‪ .‬عرفنا قوة التوريث وبإمكاننا اآلن استعمالها بكل بساطة‪ ،‬ولكن تبقى لدينا مشكلة‪ ،‬لنفترض أن لدينا صنف أصلي‬
‫وبعض األصناف الفرعية التي ترثه‪ ،‬أحيانًا نريد استخدام مجموعة أو على سبيل المثال قائمة تحتوي على مزيج من جميع هذه األصناف‪،‬‬
‫أو لدينا طريقة منشأة في الصنف األصلي ولكننا نرغب في استخدامها في األصناف الفرعية أيضًا‪ .‬يمكن حل ذلك باستخدام التعدد‪ ،‬ببساطة!‬
‫يعطي هذا األخير طريقة الستخدام صنف تما ًما مثل صنفه األصلي بحيث ال يكون هناك التباس بخلط األنواع ولكن كل صنف فرعي يحافظ‬
‫صنف رئيسية ليتم إعادة استخدامها‪ ،‬وهي تحدد )‪ (interface‬على طرقه الخاصة كما هي‪ .‬يحدث هذا عادةً عن طريق تحديد واجهة‬
‫مجموعة من الطرق الشائعة‪ .‬ثم يقوم كل فصل تابع بإضافة نسخته الخاصة من هذه الطرق‪ .‬في أي وقت تتوقع فيه مجموعة مثل القائمة أو‬
‫مثيال من الواجهة حيث يتم تحديد الطرق الشائعة‪ ،‬فإن اللغة تهتم بتقييم اإلضافة الصحيحة للطرق الشائعة بغض النظر عن الفرع‬ ‫الطريقة ً‬
‫ق نظرة على المثال التالي‬
‫ِ‬ ‫أل‬ ‫لي‪،‬‬ ‫بالنسبة‬ ‫ا‬‫ح‬‫ً‬ ‫واض‬ ‫جعله‬ ‫التالي‬ ‫المثال‬ ‫لكن‬ ‫األولى‪،‬‬ ‫المرة‬ ‫من‬ ‫التعدد‬ ‫فهم‬ ‫الصعب‬ ‫من‬ ‫يبدو‬ ‫قد‬ ‫تمريره‪.‬‬ ‫الذي تم‬
‫‪ :‬لتعدد األشكال الهندسية‪ ،‬حيث تعيد هذه األشكال استخدام واجهة مشتركة لحساب مساحة السطح والمحيط‬

‫أوهو بدل من استدعاء االجراءات الفرعية مباشره تستطيع البرمجة الشيئية ارسال رسائل او االجراء المعين الذي يتم نداءه نتيجة‬
‫الرسالة يعتمد على نوع الكائن الذي تم االرسال له اي انه باستخدام اجراءات ودوال مختلفة اعتمادا على نوع الكائن ‪.‬ببساطه هو‬
‫استعمال وسيط لكي ال نصل او ال نحرر المصدر األساسي ‪..‬‬

‫‪Dz-res.com‬‬

‫‪9‬‬
‫الوراثة‬

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

‫‪Dz-res.com‬‬

‫‪10‬‬
‫حماية المشروع‬
‫واالن بعد االنتهاء من مرحله البرمجة سننتقل مباشره الى مرحله حماية المشروع وهي مرحلة مهمة جدا تتطلب أناس مختصون‬
‫في الحماية من أجل حمايه البرنامج بطريقه صحيحه ألن ببساطه حمايه المشروع أهم من المشروع نفسه وأهم من جميع المراحل‬
‫السابقة بالنسبة لنقاط عديدة في حماية المشروع فهي تعني حماية كلفة المشروع وحماية االستثمار الذي قمنا به في فكرة المشروع‬
‫والعمال الخاصين به‪.‬‬
‫ولحماية المشاريع البرمجيات توجد عده طرق معتمده باستعمال ادوات تشفير متعددة اشهرها‬

‫‪Rsa‬‬

‫والتي تعتبر احدى اقوى دوال التشفير في العالم على غرار طرق التشفير و الحماية المعتمدة التي تدرس في المعاهد و الجامعات‬

‫✔ فشل حماية المشروع يعني فشل المشروع برمته‪.‬‬

‫‪11‬‬
‫االختبارات البرمجية‬
‫هي عبارة عن عملية تستخدم لتقييم وظيفة تطبيق برمجي معين؛ بقصد معرفة ما إذا كانت )‪ (Software Testing‬اختبار البرمجيات‬
‫البرمجيات المطورة تفي بالمتطلبات المحددة أم ال‪ ،‬ويتم أيضا ً من خالل هذه العملية تحديد العيوب؛ لضمان خلو المنتج من العيوب من أجل إنتاج‬
‫‪.‬منتج جيد النوعية‪ ،‬والهدف منها هو تزويد المستخدمين بمعلومات عن جودة المنتج أو البرامج التي يتم اختبارها‬

‫أهمية االختبارات البرمجية‪:‬‬

‫توفر عملية اختبار البرمجيات معلومات واضحة عن جودة البرامج وخطر فشلها للمستخدمين في المستقبل‪ ،‬واختبار البرمجيات مهم ألنه إذا كان‬
‫هناك أخطاء في البرنامج فإنه من الممكن تحديدها في وقت مبكر ويمكن حلها قبل تسليم المنتج البرمجي النهائي‪.‬‬

‫م ّما يؤدي إلى توفير الوقت والتكلفة وفيما يلي أهمية استخدام فحص البرمجيات بشكل مفصل‬

‫يزيد من رضا المستهلك والعمالء‪ :‬حيث تساعد عملية فحص البرمجيات في الحفاظ على رضا العمالء‬

‫حيث يجب أن يكون رضا العمالء هي األولوية عندما يتعلق األمر ببيع منتج أو خدمة معينة‪ ،‬ويمكن )‪(Customers Satisfaction‬‬
‫للعمالء طلب استرداد األموال خاصة عندما ال يكون المنتج أو الخدمة غير مطابقة للمواصفات المحددة مسبقاً‪.‬‬

‫تقليل التكاليف‪ :‬عملية فحص البرمجيات تقلل من التكاليف الحالية حيث يتم توفير المزيد من المال عند تسويق برنامج خالي من األخطاء‬
‫والعيوب‪ ،‬وهذا يمنع النفقات غير المتوقعة التي يجلبها العمالء الغير راضين مثل‪ :‬استبدال المنتج وإصالحه‪.‬‬
‫إنجاح المشاريع واألعمال‪:‬‬

‫باإلضافة إلى ذلك فإن اختبار البرمجيات يضمن أن عملية تقديم المنتج أو الخدمة تساعد عملية اختبار البرمجيات في تحسين عائد االستثمار‬
‫سيكون على مستوى أعلى وذلك يساعد في المحافظة على العمالء ويخلق الوالء للعالمة التجارية‪.‬‬

‫أنواع اختبارات البرمجيات‪ :‬يمكن تصنيف تقنيات فحص البرمجيات بشكل رئيسي إلى فئتين‬

‫اختبار الصندوق األسود‬

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

‫اختبار الصندوق األبيض‬

‫وهي طريقة الختبار البرمجيات حيث يتم اختبار الهياكل الداخلية أو عمل التطبيقات‪ ،‬ويتطلب هذه النوع من االختبارات معرفة الشيفرة المصدرية‬
‫‪ ،.‬ويتضمن هذا االختبار التأكد من أن جميع العمليات الداخلية تتم وفقا ً للمواصفات)‪(source code‬‬

‫‪12‬‬
‫اذا وصلنا الى اخر مرحله وهي تسليم المشروع للعميل وذلك بعدما مررنا‬
‫بجميع المراحل من دراسة المشروع لتحليل بياناته مرورا بتصميم الواجهات‬
‫وبرمجة الدوال األساسية وحماية المشروع واختباره ‪.‬‬
‫أصبح المشروع اآلن بعد مرور بجميع المراحل جاهزا للتسليم واالطالق في‬
‫السوق رسميا‪.‬‬
‫كان معكم أخوكم ياسر بوضياف في تقديم بسيط وشرح بسيط لمراحل تسيير‬
‫مشروع برمجي‪.‬‬
‫لست مولعا او ذا صيت بالكتابة لكن ان تمنى ان المعلومة قد وصلت‬
‫كما اريدها بالضبط‬
‫دمتم في رعاية هللا وحفظه ‪.‬‬
‫السالم عليكم‪.‬‬

‫‪13‬‬

You might also like