هندسة البرمجيات الاجتماعية

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

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

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

وبالتالي، يمكن تعريف هندسة البرمجيات الاجتماعية على أنه «تطبيق العمليات والأساليب والأدوات لتمكين إنشاء البرامج وإدارتها ونشرها واستخدامها في المجتمع عبر الإنترنت».

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

مراجع 

هندسة البرمجيات