إليك خطوات إنشاء تطبيق على الهواتف الذكية

ليس سرًا مدى انتشار تطبيقات الهواتف المحمولة اليوم؛ في الواقع فإنه وبحسب احصائية نشرت من قبل Flurry على نطاق الولايات المتحدة هذا العام فإن معدل استخدام الفرد للهاتف المحمول يصل الى خمس ساعات يوميًا ويشير هذا التقرير أيضًا إلى زيادة سريعة لهذا الرقم بنسبة 20% عن نهاية العام المنصرم.

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

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

قد تختلف خطوات التنفيذ من شخص/مجموعة إلى أخرى إذ لا وجود لمعيار محدد في أسلوب العمل، بالنسبة لنا فإن العمل على تنفيذ تطبيقٍ ما يجري في 8 خطوات تبدأ من المتطلبات وتنتهي بالاطلاق!

 

تحديد المتطلبات (Specifying requirements)

 

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

أثناء جمع المتطلبات ينبغي الابتعاد جليًا عن عملية التفكير في كيفية قيامها، إذ أن هذا الأمر يخص المرحلة التي تليها –تحليل المتطلبات– وتنقسم المتطلبات الى نوعين:

  • متطلبات وظيفية:

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

  • متطلبات غير وظيفية:

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

 

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

تحليل المتطلبات (Requirements analysis )

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

 

كتابة كتيب المواصفات مع الرسم المبدئي (Wireframing)

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

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

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

 

تصميم النظام (Design phase)

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

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

 

تصميم الواجهات الرئيسية (User interface)

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

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

برمجة الوظائف للنظام (Programing)

width=

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

ويقسم فيها التطبيق الى جزئين:

1- الخاص بالخادم  (Web-Services Programming)

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

2- الخاص بالهاتف المحمول ( Mobile Programming )

بعد تصميم الواجهات، يكتب فيها النص البرمجي المسؤول عن عرض البيانات وضبط تفاعل المستخدم معها.

 

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

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

 

أختبار النظام بالكامل (Testing phase)

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

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

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

الإطلاق (Publishing)

بعد الفراغ من مرحلة اختبار النظام والتأكد من عملية التطبيق؛ يتم التقدم لطلب فتح متجر إلكتروني سواءً من Google play أو App store ويرفع التطبيق على المتجر بناءً على النظام المصمم وما يتلائم معه.

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

 

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

محمد الغزال

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

3 تعليقات

    1. Mohamed
      On 17 يونيو، 2017 at 3:17 م

      شكرا اخي محمد علي الايضاح
      لدي سوال

      كيف تقومون بتقديم العرض المالي لزبون، بمعني كيف تحددود سعركم؛ هل بالساعه، حجم التطبيق ،،الخ)

      الرد
      1. محمد الغزال
        On 14 يوليو، 2017 at 11:33 م

        العفو عزيزي محمد،

        سأقوم في تدوينة منفصلة بالحديث عن هذا الموضوع بإسترسال.

        الرد
    1. lion nufilia
      On 18 أكتوبر، 2017 at 9:49 ص

      بارك الله فيك ونتمنى المزيد من التدوينات

      الرد

إضافة تعليق