كيف تصمم برنامج؟

    • كيف تصمم برنامج؟

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

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

      سأسرد لكم بعض مما تعلمته وعملت به وكانت ناجحة معي.

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

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

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


      والسؤال الذي يطرح نفسه هنا ماهي هندسة البرمجيات؟
      ان هندسه البرامج هو القيام بتحليل كامل قبل القيام باي برمجه من قبل المبرمجين. ان من يقوم بهذه المهمه ممكن ان يكون فريق من المبرمجين او فريق مخصص قد يمثلون شركة برمجية مثلاً.

      هندسه البرنامج تقوم على الاسس التاليه:
      1- جمع المتطلبات من الزبون أو الجهة المتقدمة بهذا الطلب فقد يكون الزبون منشأة معينة أو احدى المحلات التجارية أو قد تكون فكرة البرنامج نابعة منك لتسهل على نفسك بعض العمليات.
      2- يعتبر تصميم البرنامج من أهم العمليات في البرنامج لأنه على ضوء ذلك يقتنع الزبون بالبرنامج أو لا أو قد تعيد تصميمه من أجل ان يتناسب معه، فيجب ان يكون التصميم سهلا واضحا لا تعقيد فيه، حتى يسهل استخدامه لأن البرنامج وجد لتسهيل مهمة وليس لتعقيدها ليس ذلك فحسب بل أنك ستوفر على نفسك مجهود كبير في كتابة الأكواد والاجراءات في حال ما اذا كنت قد صممت البرنامج بطريقة سلسة وسهلة، بالطبع بعد تجربة البرنامج أكثر من مرة وعرضه على الزبون وتعديله يتحقق لك أفضل النتائج باذن الله.
      3- البرمجه وهذه اسهل مهمه بعد التصميم فكتابة الأكواد ماهي إلا مخاطبة البرنامج كما أنني اخاطبكم الآن فالتحليل في البداية أصعب بكثير من كتابة البرنامج فلو تم التحليل بشكل منطقي سليم بعدها يسهل تنفيذ الأوامر وتطبيقها فعلياً.
      4- اختبار البرنامج وهذه نقطه مهمه ولا بد ان تكون في الحسبان خلال القيام بالتصميم. وكثير من الشركات تضع نسخه مجانيا للمحللين وكثير من الناس لاخذ ردة فعلهم من البرنامج والتأكد من خلوه من اية مشاكل.
      5- اخيرا لابد من الاخذ في الاعتبار من سوف يستعمل البرنامج حيث انك لابد ان تجعل البرنامج سهلاً بعيداً عن التعقيد والرموز الغير واضحة للمستخدم وتجعل البرنامج اكثر حيوية وممتع في نفس الوقت.
      فمثلا لاحظ ان MS WORD يعتبر صعباً بالنسبة لشخص مبتدئ لكثرة الأيقونات والقوائم امام المستخدم العادي ويتطلب دروس خاصه لفهم استعماله بل تنتج كتب من أجل ذلك ما بالك وان MICROSOFT المنتجه للبرنامج من اكثر الشركات تقدما في مجال تسهيل مهمه المستخدم في برامجها فما بالك بما هو خفي في هذا البرنامج الضخم جدا.
      حقيقة أنا شخصيا لا استعمل الوورد إلا في الكتابات المعقدة أما حفظ النصوص وكتابتها فتكون عادة في المفكرة تماماً كموضوعي هذا.

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

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

      اذكر هنا باختصار العمليات العامة الهامة لأي برنامج -:
      1- تحديد المشكلة .

      2- تحديد المدخلات .

      3- تحديد المخرجات .

      4- اختيار الحل الأمثل .

      5- كتابة البرنامج .

      6- اختبار وتصحيح البرنامج .

      7- توثيق البرنامج .

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

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

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

      فمثلا لو اخترنا لغة البرمجة فجوال بيسك أو VB متوافق مع الوندوز فانه لابد من الآتي:

      1- انشاء الواجهة باستعمال النموذج وادوات التحكم في فيجوال بيسك.

      2- اعداد خصائص كائنات الواجهة وترتيبها.

      3- كتابة الاجراءات.

      4- اختبار البرنامج .

      5- اتباع الأخطاء وتصحيحها.

      6- توثيق البرنامج وتصريفه وتوزيعه وذلك باخراج ملف تنفيذي يمثل البرنامج.

      اعتذر منكم ان كان هناك تعقيد في اسلوبي واتمنى من الجميع المشاركة بما لديهم والفائدة لي وللجميع باذن الله.
      دمتم لي وللمنتدى، وشكراً لقرائتك لهذا الموضوع.
      oman0.net/profile.forum?mode=viewprofile&u=1
    • نقاط كثيرة .. ومهمة لمصمم البرامج ... لو نظرنا لمتطلب سوق البرامج المحلي .... و أعني
      بذالك الشركات والمؤسسات التجارية المحلية... بدرجاتها الصغيرة و الكبيرة ... نجد متطلب
      برامج الإحصاء والمحاسبة والتي يدخل في تصميمها الخوارزميات و قواعد البيانات و جميع
      ما جاء بهذا الموضوع ينصب في كيفية رسم خطة لتصميمها و إخراجها في صورة سليمة و
      ميسرة وسهلة..هنا نجد للإبداع مكان من الذكاء التخطيط الدراسة لا تكفي الإمكانيات لوحدها
      لكسب الزبون و للوصول لجودة الإنتاج بأقل تكلفة و مجهود ...ربما أراد كاتب الموضوع أن
      يسلط الضوء على جانب مهم و مهم جدا في تصميم البرامج و ما عليه من طلب عالمي و ليس
      محلي فحسب ... تقريبا جميع الشركات و المؤسسات التجارية و الصناعية لا بد و أن تقوم
      بكتابة فواتير و مهم أن تحتفظ بنسخة منها ... فعلى أقل تقدير هي تحتاج لبرنامج محاسبة
      بمواصفات خاصة يتلائم مع مجالها التجاري أو الصناعي ... البرمجة التطبيقية ... مجالات
      متعددة ... وجهة نظري كمصمم برامج أن لا يكتفي المبرمج بمجالات محددة بل عليه أن يوسع
      من مداركه و خبراته البرمجية ... فهناك مجالات أخرى بعيدة نسبين عن برامج الإحصاء
      و المحاسبة ...و مهمة له و كذالك ذات مردود إقتصادي لو تم تصميمها على نهج الموضوع
      إنما يبقى الطلب المحلي عليها متواضعا ... رغم ذالك تبقى التجارة الإلكترونية على شبكة
      الإنترنت خيارا مفتوحا و سوق يمكن أن يحقق أرباح و مردود إقتصادي جيد ما لو تم فيه
      التسويق بطريقة سليمة .... المنافسة و السعي نحو جذب المستخدم و الترويج المسيس وفي
      تلبية متطلبات المستخدم بجودة و يسر و سرعة ... مترجمتا على تطبيقات برمجية تواكب
      مستجدات و مستحدثات هذه التقنية عامل يؤكد تحقيق الأرباح و مردودا إقتصادي قد لا
      يمكن تحقيقه خارج السوق الإلكترونية ... غير أن أغلب برامج المستخدم العادي لا تتطلب
      إمكانيات و مجموعة عمل بل من الممكن تصميمها بمجهودات فردية .... شكرا لك و
      جزاك الله خير أخي محروس على هذه المعلومات القيمة .... في أمان الله :)

      تم تحرير الموضوع 1 مرة, آخر مرة بواسطة ناقوس الخطر ().

    • hudaaa كتب:

      نجد متطلب
      برامج الإحصاء والمحاسبة والتي يدخل في تصميمها الخوارزميات و قواعد البيانات؟؟

      ممكن تفسروا ليه معنى الكلام هذاا ... اذا سمحتوا وجزاكم الله خيراً


      ارجو ان يسمح كاتب تلك السطور بالرد عليك.

      لا اقصد الموضوع نفسه لانه انا من كتب الموضوع الرئيسي ولم ينبه الكاتب بالمصدر.


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


      اما الخوارزميات فهي طرق حل المسائل باختصار.


      اذا كنت مهتم بالبرمجة وتصميمها ارجو ان تذكر لي ما تريده بالضبط كي اجيبك بارك الله فيك.