Skip to main content
Global

10.3: تطوير البرمجيات

  • Page ID
    168308
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    تطوير البرامج

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

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

    الشريط الجانبي: مثلث جودة إدارة المشروع

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

    مثلث بالكلمات: النطاق والوقت والتكلفة في كل زاوية والجودة في الوسط
    الشكل 10.6 مثلث جودة إدارة المشاريع. الصورة من Mapto مرخصة في المجال العام

    إذن ماذا يعني أنه يمكنك معالجة اثنين فقط من الثلاثة؟ هذا يعني أن جودة المنتج النهائي تعتمد على المتغيرات الثلاثة: النطاق والجدول الزمني والميزانية المخصصة. تؤثر التغييرات في أي من هذه المتغيرات الثلاثة على المتغيرين الآخرين، وبالتالي الجودة.

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

    لغات البرمجة

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

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

    أجيال من لغات البرمجة

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

    يتم تلخيص بعض الخصائص المشتركة أدناه لتوضيح بعض الاختلافات بين هذه الأجيال:

    الجيل الأول (1GL)

    الجيل الثاني (2GL)

    الجيل الثالث (3GL)

    الجيل الرابع (4GL)

    الجيل الخامس (5GL)

    الوقت الذي تم تقديمه (الاختبار).

    الأربعينيات أو قبل ذلك

    الخمسينيات

    الخمسينيات والسبعينيات

    السبعينيات والتسعينات

    الثمانينيات - 1900

    تعليمات

    وهي مصنوعة من أرقام ثنائية من 0 و 1

    استخدم مجموعة من الصيغ التي يمكن قراءتها من قبل الإنسان والمبرمجين

    الصيغة أكثر تنظيمًا وتتكون من لغة أكثر شبهاً بالإنسان

    الصيغة صديقة لغير المبرمجين

    لا يزال قيد التقدم.

    الفئة

    تعتمد على الآلة

    كود الآلة

    تعتمد على الآلة

    مستوى منخفض، لغات التجميع

    آلة مستقلة

    مستوى عالي

    آلة مستقلة

    التجريد عالي المستوى،

    الجيل الثالث المتقدم

    برمجة المنطق

    ميزة

    سريع جدًا، لا حاجة إلى «الترجمة» إلى 0 و 1

    يمكن قراءة الكود وكتابته بواسطة المبرمجين بشكل أسهل من تعلم كود الآلة

    المزيد من الاستقلالية عن الماكينة

    أكثر ملاءمة للمبرمجين

    للأغراض العامة

    سهل التعلم

    قد لا تحتاج إلى مبرمجين لكتابة البرامج

    العيب

    تعتمد على الآلة، غير محمولة

    يجب تحويله إلى رمز الجهاز، الذي لا يزال يعتمد على الجهاز

    قد يتم اتخاذ خطوات متعددة للترجمة إلى رمز الجهاز

    أكثر تخصصًا

    لا يزال مبكرًا في مرحلة التبني

    استخدام اليوم

    إذا لزم الأمر للتفاعل مع الأجهزة مباشرة مثل برامج التشغيل (مثل برنامج تشغيل USB)

    إذا لزم الأمر للتفاعل مع الأجهزة مباشرة مثل برامج التشغيل (مثل برنامج تشغيل USB)

    يتم استخدام 3GLs الحديثة بشكل أكثر شيوعًا.

    يتم استخدام 3GLs المبكرة للحفاظ على برامج الأعمال الحالية أو البرامج العلمية.

    قاعدة بيانات، تطوير الويب

    محدود

    أدوات بصرية، أبحاث الذكاء الاصطناعي

    أمثلة

    لغة الآلة

    لغة التجميع

    بدايات الثلاثينيات: كوبول، فورتران

    3PLs الحديثة: C، C ++، جافا، جافا سكريبت

    بيرل، بي إتش بي، بايثون، سكل، روبي

    ميركوري، OPS5

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

    الشريط الجانبي: أمثلة للغات

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

    يضيف 1234 و 4321 باستخدام لغة الآلة:

    10111001

    00000000

    11010010

    10100001

    000001:00

    00000000

    10001001

    00000000

    00:001110

    10001011

    00000000

    00:01:110

    00000000

    00:01:110

    00000000

    0.000010

    10111001

    00000000

    11100001

    000.000 11

    000:10.000

    11000011

    10001001

    10100011

    00:001110

    000001:00

    0.000010

    00000000

    لغة الجيل الثاني. تعطي لغة التجميع عبارات تشبه اللغة الإنجليزية لتعليمات رمز الآلة، مما يسهل البرمجة. يجب تشغيل برنامج لغة التجميع من خلال أداة تجميع تقوم بتحويلها إلى كود الآلة. في ما يلي مثال لبرنامج يضيف 1234 و 4321 باستخدام لغة التجميع:

    عدد الإعلانات المتحركة: [0]، CX MOV CX43214، الحد الأقصى للحركة، الإعلانات: [0]

    مربع نقل، إعلانات: [2] إضافة مربع، مربع

    نقل الإعلانات: [4]، الحد الأقصى

    لا تقتصر لغات الجيل الثالث على نوع الأجهزة التي يتم تشغيلها وهي تشبه إلى حد كبير اللغات المنطوقة. يجب تجميع معظم لغات الجيل الثالث، وهي عملية تقوم بتحويلها إلى كود الآلة. تشمل لغات الجيل الثالث المعروفة BASIC و C و Pascal و Java. في ما يلي مثال باستخدام BASIC:

    A=1234 B=4321 C=نهاية A+B

    لغات الجيل الرابع هي فئة من أدوات البرمجة التي تتيح التطوير السريع للتطبيقات باستخدام واجهات وبيئات سهلة الاستخدام. في كثير من الأحيان، يكون للغة الجيل الرابع غرض معين، مثل التفاعل مع قاعدة البيانات أو كتابة التقارير. يمكن استخدام هذه الأدوات من قبل أولئك الذين لديهم القليل من التدريب الرسمي في البرمجة وتسمح بالتطوير السريع للتطبيقات و/أو الوظائف. تتضمن أمثلة لغات الجيل الرابع Clipper و FOCUS و FoxPro و SQL و SPSS.

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

    تم تجميعها مقابل تفسيرها

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

    تتطلب اللغة المفسرة تثبيت برنامج وقت التشغيل للتنفيذ. يقوم برنامج وقت التشغيل هذا بعد ذلك بترجمة رمز البرنامج سطرًا بسطر وتشغيله. عادةً ما تكون اللغات المترجمة أسهل في التعامل معها ولكنها أبطأ وتتطلب المزيد من موارد النظام. تتضمن أمثلة اللغات المفسرة الشائعة BASIC و PHP و PERL و Python. سيتم أيضًا اعتبار لغات الويب مثل HTML و Javascript مفسرة لأنها تتطلب متصفحًا للتشغيل.

    تعد لغة برمجة Java استثناءً مثيرًا للاهتمام لهذا التصنيف، لأنها في الواقع مزيج من الاثنين. يتم تجميع برنامج مكتوب بلغة Java جزئيًا لإنشاء برنامج يمكن فهمه بواسطة Java Virtual Machine (JVM). يحتوي كل نوع من أنظمة التشغيل على JVM الخاص به، والذي يجب تثبيته، مما يسمح بتشغيل برامج Java على العديد من أنواع أنظمة التشغيل المختلفة.

    إجرائية مقابل موجهة نحو الكائن

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

    على سبيل المثال، في نظام الموارد البشرية، ستكون هناك حاجة إلى كائن «EQUEMENT». إذا احتاج البرنامج إلى استرداد البيانات المتعلقة بالموظف أو تعيينها، فسيقوم أولاً بإنشاء كائن موظف في البرنامج ثم تعيين القيم المطلوبة أو استردادها. يحتوي كل كائن على خصائص، وهي حقول وصفية مرتبطة بالكائن. في المثال أدناه، يحتوي كائن الموظف على خصائص «الاسم» و «رقم الموظف» و «تاريخ الميلاد» و «تاريخ التوظيف». يحتوي الكائن أيضًا على «طرق» يمكنها اتخاذ إجراءات تتعلق بالكائن. في المثال، هناك طريقتان. الأول هو «ComputePay ()»، والذي سيعيد المبلغ الحالي المستحق للموظف. والثاني هو «ListEmployes ()»، والذي سيسترد قائمة بالموظفين الذين يقدمون تقاريرهم إلى هذا الموظف.

    كائن الموظف

    الكائن: موظف

    الاسم الأول

    الاسم الأخير

    معرف الموظف

    تاريخ الميلاد

    تاريخ الاستئجار

    كمبيوتباي (3)

    قائمة الموظفين ()

    أدوات البرمجة

    هناك قرار آخر يجب اتخاذه أثناء تطوير IS وهو مجموعة الأدوات اللازمة لكتابة البرامج. لكتابة البرامج، يحتاج المبرمجون إلى أدوات لإدخال التعليمات البرمجية، والتحقق من صيغة الكود، وبعض الطرق لترجمة التعليمات البرمجية الخاصة بهم إلى كود الآلة. لكي يكونوا أكثر كفاءة في البرمجة، يستخدم المبرمجون أدوات متكاملة مثل بيئة التطوير المتكاملة (IDE) أو أدوات هندسة البرمجيات بمساعدة الكمبيوتر (CASE).

    بيئة التطوير المتكاملة (IDE)

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

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

    تشير تقارير Statista.com إلى أن 80٪ من مطوري البرامج في جميع أنحاء العالم من 2018 و 2019 يستخدمون أداة تعاون الكود المصدري مثل GitHub، و 77٪ يستخدمون IDE مستقل مثل Eclipse، و 69٪ يستخدمون Microsoft Visual Studio. للحصول على قائمة كاملة، يرجى زيارة statista.com.

    أدوات هندسة البرمجيات بمساعدة الكمبيوتر (CASE)

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

    الإنشاء مقابل الشراء أو الاشتراك

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

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

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

    الحل المختلط هو الاشتراك. الاشتراك يعني أنه بدلاً من بيع المنتجات بشكل فردي، يقدم البائعون الآن نموذج اشتراك يمكن للمستخدمين تأجيره ودفعه بشكل دوري، مثل شهريًا أو سنويًا. تم استخدام نموذج التأجير في العديد من الصناعات الأخرى مثل الأفلام والكتب وانتقل مؤخرًا إلى صناعات التكنولوجيا العالية. يمكن للشركات والمستهلكين الآن الاشتراك في كل شيء تقريبًا، كما ناقشنا في الفصول السابقة، من التخزين الإضافي في منصات البريد الإلكتروني الخاصة بك مثل Google Drive أو Microsoft OneDrive، إلى برامج مثل Quickbooks و Microsoft Office 365 إلى خدمات الاستضافة ودعم الويب مثل Amazon AWS. يستفيد البائعون من تحويل المبيعات لمرة واحدة إلى مبيعات متكررة وزيادة ولاء العملاء. يستفيد العملاء من مشكلة تثبيت التحديثات، حيث يتم الاهتمام بدعم البرامج والتحديثات تلقائيًا، مع العلم أن البرنامج يستمر في التحديث بميزات جديدة. يعد نموذج الاشتراك الآن خيارًا سائدًا لكل من المستهلكين والشركات.

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

    خدمات الويب

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

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

    يمكن لخدمات الويب طمس الخطوط الفاصلة بين «الإنشاء مقابل الشراء». يمكن للشركات اختيار إنشاء تطبيق برمجي بنفسها ولكن بعد ذلك شراء وظائف من البائعين لتكملة نظامهم.

    حوسبة المستخدم النهائي أو تقنية المعلومات الخلفية

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

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

    حوسبة المستخدم النهائي لها عيوبها أيضًا. إذا كانت الأقسام داخل المؤسسة هي

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

    التواصل بين الأقسام سيقطع شوطًا طويلاً نحو الاستخدام الناجح لحوسبة المستخدم النهائي.

    الشريط الجانبي: إنشاء تطبيق جوال

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

    مع ظهور الهواتف المحمولة، ظهر نوع جديد من تطوير البرامج يسمى تطوير تطبيقات الأجهزة المحمولة. تتوقع Statista.com أن إيرادات تطبيقات الهاتف المحمول ستزيد بشكل كبير من 98 مليار دولار في عام 2014 إلى أكثر من 935 مليار دولار بحلول عام 2023. هذا يعني أن الحاجة إلى مطوري تطبيقات الأجهزة المحمولة قد زادت أيضًا.

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

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

    • يجب أن تختلف واجهة المستخدم للتكيف مع أحجام الشاشة المختلفة
    • استخدام الأصابع كمؤشرات أو لكتابة نص بدلاً من لوحة المفاتيح والماوس على سطح المكتب
    • يجب تلبية المتطلبات المحددة من بائع نظام التشغيل حتى يتم تضمين التطبيق في كل متجر (على سبيل المثال، متجر تطبيقات Apple أو متجر Android Play Store)
    • التكامل مع سطح المكتب أو السحابة لمزامنة البيانات
    • تكامل محكم مع الأجهزة المدمجة الأخرى مثل الكاميرات وأجهزة الاستشعار البيومترية أو أجهزة استشعار الحركة.
    • تقليل سعة الذاكرة ومساحة التخزين وقوة المعالجة

    تطبيقات الأجهزة المحمولة متاحة الآن لكل شيء تقريبًا وتستمر في النمو.

    المراجع:

    كانت Javascript هي اللغة الأكثر استخدامًا بين المطورين في جميع أنحاء العالم (2020). تم استرجاعه في 10 ديسمبر 2020 من Satistica.com

    وثائق منصة خرائط Google. تم استرجاعه في 10 ديسمبر 2020 من https://developers.google.com/maps/documentation

    أدوات البرمجة/التطوير المستخدمة من قبل مطوري البرامج في جميع أنحاء العالم من 2018 و 2019 (2020). تم استرجاعه في 10 ديسمبر 2020 من S tatista.com

    إيرادات تطبيقات الهاتف المحمول في جميع أنحاء العالم في 2014 إلى 2023 (2010.) تم استرجاعه في 10 ديسمبر 2020 من Statista.com