معمارية برمجيات

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث

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

نظرة عامة[عدل]

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

لماذا معماريه البرمجيات مهمه[عدل]

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

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

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

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

الهدف من معماريه البرمجيات[عدل]

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

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

يجب على مصصم معماريه البرمجيات الاهتمام بالقرارات ألمتعلفة بالتصميم والأمور ألمتعلفة بجودة البرمجيات وطرق حمايتها و ومتطلبات المستخدم والعمل

نضع في اعتبارنا أنه ينبغي لمعماريه البرمجيات :-

التركيز على هيكل النظام ولكن مع إخفاء تفاصيل التنفيذ للبرمجيات.

التركيز على حالات الاستخدام والسيناريوهات.

المتطلبات المختلف لأصحاب المصلحة.

التعامل مع المتطلبات الوظيفية والنوعية على حد سواء

Icon-gears.png هذه بذرة مقالة عن موضوع تقني تحتاج للنمو والتحسين، فساهم في إثرائها بالمشاركة في تحريرها.