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

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

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

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

وبالتالي، يمكن تعريف هندسة البرمجيات الاجتماعية على أنه «تطبيق العمليات والأساليب والأدوات لتمكين إنشاء البرامج وإدارتها ونشرها واستخدامها في المجتمع عبر الإنترنت».Imed Hammouda, Jan Bosch, Mehdi Jazayeri, Tommi Mikkonen: First International Workshop on Social Software Engineering and Applications (SoSEA 2008). In: Proceedings of the 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2008). IEEE, 2008, pp. 531-532.

إحدى الملاحظات الرئيسية في مجال هندسة البرمجيات الاجتماعية هي أن المفاهيم والمبادئ والتقنيات المصممة لتطبيقات البرمجيات الاجتماعية قابلة للتطبيق على تطوير البرمجيات نفسها لأن هندسة البرمجيات هي نشاط اجتماعي بطبيعته. لا تقتصر هندسة البرمجيات الاجتماعية على أنشطة محددة لتطوير البرمجيات. وفقًا لذلك، تم اقتراح أدوات لدعم أجزاء مختلفة من هندسة البرمجيات الاجتماعية، على سبيل المثال، تصميم النظام الاجتماعي أو هندسة المتطلبات الاجتماعية.Steffen Lohmann, Sebastian Dietzold, Philipp Heim, Norman Heino: A Web Platform for Social Requirements Engineering. In: Software Engineering 2009 (Workshops). GI, 2009, pp. 309-315.  وبالتالي، فإن برمجيات السوق الرأسية، مثل أدوات تطوير البرمجيات أو الأدوات الهندسية أو أدوات التسويق أو البرمجيات التي تساعد المستخدمين في عملية صنع القرار يمكن أن تستفيد من المكونات الاجتماعية.Technische Universität München, sebis: Completed research projects on (vertical) social software http://www.ducttapemarketing.com/blog/2010/07/05/the-future-of-social-networks-is-vertical/  يميز الكثير من البرامج الاجتماعية العمودية بشدة في قاعدة مستخدميها عن البرامج الاجتماعية التقليدية مثل يأمر.
 مراجع 

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