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

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

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

مهندس البرمجيات او مهندس انظمة الحاسوب (بالإنجليزية: Software Engineer , Computer Systems Engineer) هو محترف ممارس متخصص في هندسة البرمجيات (Software Engineering) ، "أحد التخصصات الهندسية الذي ظهر في بدايه الاربعينات مع ظهور اول حاسوب رقمي عام ١٩٤٠م [1]" يقوم بتطبيق النظريات العلمية (Scientific Theories) و الخوارزميات (Algorithm) لتنفيذ او تصميم حلول تقنية المعلومات (Information Technology Solutions) لمختلف المجالات ضمن معايير السلامة و الجودة المتعارف عليها [2][3][4] . صنف موقع CareerCast.com مهنة مهندس البرمجيات ثالث أفضل وظيفة في الولايات المتحدة الأمريكية بدخل يزيد عن ٧ ألاف درلار أمريكي شهريا طبقا لدراسة سوق العمل عام ٢٠١٣م [5] يشترط في اسواق العمل [6] و النقابات المهنية حصول مهندس البرمجيات على درجه علمية . و يجب التنويه ان مراحل و مستويات التعليم و الدرجات العلمية تختلف من بلد إلى اخر . في أستراليا يتدرج السلم التعليمي إلى عشر مستويات بهم خمس درجات علمية [7] و في بريطانيا و دول الاتحاد الأوروبي يتدرج السلم التعليمي إلى ثمان مستويات بهم اربع درجات علمية [8] . عموما مهندس البرمجيات يجب ان يكون حاصل على شهادة جامعية (Academic Degree) من المستوى الاول "دبلوم عالي" [9][10][11] (First-tier Degree) او الثاني "بكالوريوس" [12][13] (Second-tier Degree) طبقا لنظام بلده في تخصص هندسة البرمجيات او علوم الحاسب الالي او تكنولوجيا المعلومات و الاتصالات او حسب ما تنص عليه قوانين و لوائح النقابات المنظمة للمهنة [14][15] . في كندا على سبيل المثال لا تقبل النقابات المهنية تسجيل مهندس البرمجيات الا اذا كان حاصل على شهاده البكالوريوس في هندسة البرمجيات [16] و لا يحق للحاصلين على شهادات نفس المستوى في اي تخصص اخر ان يسجل في النقابات المهنية تحت هذا المسمى . ملاحظة " تعتبر شهادة البكالوريوس هي شهادة المرحلة الجامعية الأولى طبقا لأنظمة التعليم في كندا [17] و الولايات المتحدة الأمريكية [18] " بينما تعتمد الحكومة الأسترالية و الحكومة النيوزلندية على معايير مرنة مبنية على النظام البريطاني في الموازنة بين المؤهلات العلمية و الخبرات العملية في تقييم مهندس البرمجيات [19] . توضح مقارنة بين انظمة التعليم في مختلف دول العالم تمت تحت اشراف منظمة الأمم المتحدة انه بالرغم من عدم وجود نظام عالمي يربط بين الأنظمة الدولية الا انه لا يوجد اختلاف كبير [20] في الشروط اللازمة لتأهيل مهندس البرمجيات لدخول اسواق العمل و التسجيل في النقبات المهنية

مهندس برمجيات (انظمة الحاسوب) يعمل علي تصميم و تنفيذ المشاريع التقنية يقوم مهندس البرمجيات بصناعه تكنولوجيا المعلومات عن طريق تصاميم مبنيه على نظريات علميه و تطبيقها باسس هندسيه ، ان التكنولوجيا هي ابتكار و نتاج تصميم علمي و تطبيق هندسي يقدم حل لمشكله او يوفر طريقه أسهل في الحياة

وانتبه لخلط المفاهيم بين "التكنولوجي" هو الشخص الذي يجمع بين علم التقنية والعلوم التطبيقية في المجالات التطبيقية وفي نواحي الحياة العملية لا يتبع اي من نقابات او منظمات مهندسين البرمجيات و لا يشترك في اي من مجالات التعليم وانتبه لخلط المفاهيم بين "هندسة الحاسبات" و هي إحدى فروع الهندسة الكهربائية و مهندس الحاسبات (متخصص في الإلكترونيات) يحصل على معلومات عامة إضافية في البرمجيات (غير متخصص في هندسة البرمجيات)

محتويات

مقدمة عن العمل[عدل]

The (SEI) is a federally funded research and development center headquartered on the campus of Carnegie Mellon University with major funding from the U.S. Department of Defense. SEI work in engineering practices increases the ability of software engineers to analyze, predict, and control selected functional

يعمل مهندس البرمجيات على تنفيذ و ببناء الحلول التقنية من خلال (Software Development Life Cycle) دراسه ذات اليه معينه [21] و تخطيط لمصادر المشروع (Resource Planning) من حيث الموارد البشرية و الفنية و اي متطلبات اخرى ضمن ميزانيه (Budgeting) محدده بشرط ان لا تخل بمواصفات الجودة (Quality Assurance) و الامان و الخصوصيه (Privacy) و تضمن تكلفه مثاليه و اعلى كفاءه ممكنه [22] باحدث تكنولوجيا (Latest Technology) يجب ان يجتاز مهندس البرمجيات العديد من الدورات التدريبيه (Professional Certification)  الخاصة باداره مشاريع البرمجيات و من اهمها دوره محترف اداره المشاريع (Project Management Professional) و محترف البنية التحتيه لتكنولوجيا المعلومات (Information Technology Infrastructure Library) و غير ذلك [23][24]

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

استخدمت هندسة البرمجيات كمفهوم نظري من حين لآخر في أواخر الخمسينات وبداية الستينات من القرن الماضي. أما الاستخدام الرسمي الأول لهذا المصطلح فكان في مؤتمر عقد من قبل اللجنة العلمية في منظمة حلف شمال الأطلسي1968 حول البرمجيات، وقد أخذ هذا المصطلح بالانتشار منذ ذلك الحين ولاقى اهتماماً متزايداً في نواح مختلفة. عقد المؤتمر لمعالجة مايعرف "أزمة البرمجيات" والتي ظهرت بسبب عدم استخدام منهجية في التفكير (Software Development Process)عند بناء البرمجيات، مما أدى إلى ظهور أخطاء كثيرة خلال عملية بناء وصيانة البرمجيات، وبالتالي أصبحت البرمجيات تحتاج إلى وقت كبير لتطويرها ولصيانتها، وكلفة مالية عالية أكثر مما هو مخمن لها، وبعد تحمل التأخر في الوقت وتجاوز الميزانية كانت البرمجيات ذات كفاءة ضعيفة في إنجاز الوظائف المطلوبة، وقلة في الفعالية كذلك بعدم تلبية كافة المتطلبات بالشكل الكامل. [25]

الحلول التقنية[عدل]

في هندسة البرمجيات، بناء النظام البرمجي ليس مجرد كتابة شفرة، وإنما هي عملية إنتاجية لها عدة مراحل أساسية وضرورية للحصول على المنتج، وهو البرنامج بأقل كلفة ممكنة وأفضل أداء محتمل. يطلق على هذه المراحل اسم دورة حياة النظام البرمجي(Software Lifecycle) التي قد يبدو بعضها ليس له علاقة بالبرمجة. وهناك الكثير من التصورات والنماذج في هندسة البرمجيات تصف عملية إنتاج برنامج والخطوات اللازمة لذلك. كما أن هذه الدورة خاضعة للتطوير دائما، حيث بالإضافة للدورات الكلاسيكية، ظهر مفهوم المنظومة المرنة (Agile Process) والتي تتخلي عن النموذج الثابت للمنظومة الكلاسيكية في سبيل المزيد من حرية الحركة للمشروع. [26]

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

كتابة وثيقة الشروط الخارجية والداخلية

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

التحليلٍ

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

التصميم

تصميم البرمجيات هي مرحلة من مراحل دورة حياة النظام، تساعدنا في تحديد كيفية حل المشكلة "كيف سنحل المشكلة؟"، والتخطيط للتوصل إلى حلول للمشكلة، والدخول في تفاصيل النظام. التصميم يحدد هيكلية وبنية النظام من خلال تجزأة النظام إلى مجموعة من الأنظمة الفرعية Sub-Systems مما يساهم في السيطرة على التعقيد في النظام System Complexity ، وتحديد الواجهات ونوافذ المستخدم User Interfaces ،والمكونات Components ، والوحدات Modules والبيانات للنظام كي يحقق النظام متطلبات الزبون. ونقوم بمرحلة التصميم باستخدام المتطلبات التي حددناها في مرحلة التحليل. مرحلة التصميم يتم خلالها إيجاد التصميم الأمثل لنظام المعلومات الحاسوبي الذي يلبي احتياجات المستخدمين التي تم توصيفها في مرحلة التحليل. إن عملية التصميم في جوهرها هي عملية حل مشكلات، أي يجري البحث خلالها عن أفضل الحلول التصميمية لبناء نظم ذات أهداف محددة.[29]

الترميز(كتابة الكود)

تحول الخوارزميات والمخططات Diagrams التي تم انتاجها في مرحلة التصميم إلى إحدى اللغات البرمجية، وذلك لانتاج برنامج او نظام قابل للاستخدام من قبل الزبون, يلبي احتياجتة الموضحة في وثيقة الشروط. خلال هذه المرحلة تتم بعض الاختبارات test على بعض اجزاء النظام للتاكد من عمله بطريقة صحيحة, علماً ان مرحلة الاختبار Testing هي مرحلة منفصلة يتم العمل عليها لاحقاً. [30]

الاختبار والتكاملية

تجمع الكتل مع بعضها ويختبر النظام للتأكد من موافقته لجدول الشروط والمواصفات، وخاصة إذا كانت الكتل قد كتبت من قبل عدة أعضاء في الفريق. [31]

التوثيق

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

الصيانة والتطوير

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

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

بالرغم من ان الدور الامثل لمهندس البرمجيات هو مدير المشروع (Project Manager) في المشاريع الصغيرة فانه تبعا لحجم المشروع قد يعمل ضمن فريق العمل في اي من مهام المشروع بعد اجتيازه الدورات التدريبه المناسبة [34] و من اهمها مدير تكنولوجيا المعلومات (Information Technology Manager) و مسؤول شبكات المعلومات (Network Administrator) و مسؤول امن المعلومات (System Administrator) و مسؤول قواعد البيانيات (Database Administrator) و هناك أيضا مهام اخرى مثل محلل نظم (Systems Analyst) و فريق الفحص (Software Testing Team) و فريق دعم فني (Technical Support Team) و فريق المبرمجين (Programmers Team) و فريق الإدارة و البحث و التطوير (Research and Development Team)

REEM-A humanoid robot.jpg

الاستشارات و التصميم[عدل]

يستطيع مهندس البرمجيات ان يصمم و ان يراقب (Software Audit) تنفيذ الحلول التقنية ان توفرت لديه الخبره و المؤهلات التى تمكنه من ذلك و التى عاده ماتكون الحصول على درجه علميه جامعيه من المستوى الثالث "الماجستير" (Third-tier Degree) او الرابع "الدكتوراه" (Fourth-tier Degree) في تخصص هندسه البرمجيات او علوم الحاسب الالي او تكنولوجيا المعلومات و عدد من سنوات الخبره و التدريب ليسجيل كاستشاري في أحد النقابات المهنية (IT Consultant) حيث يكون مؤهل ان يقدم تصميم هندسي للبرمجيات (Software Architecture) و لتوضيح الفرق بين التصميم الهندسي للبرمجيات و تصميم البرمجيات (Software Design) نشير إلى الالتزام بالمعايير و المواصفات الموضوعه من النقابات و المنظمات العالمية المتخصصة في هذا الشان و من أهم النقابات الهندسية و المنظمات الدولية لتسجيل مهندس البرمجيات كاستشاري او مايعرف بالمهندس المحلف في بريطانيا هي جمعية الهندسة و التقنية (IET) البريطانية [35]

مجالات و طبيعة عمل مهندس البرمجيات[عدل]

تتراوح تصاميم البرمجيات في درجه التعقيد و الكفائه فعلى سبيل المثال لا الحصر من التصاميم البسيطة ، تصميم تطبيقات الهاتف الذكي (Smart Phone Applications) و برامج اداره الحاسوب اللوحي (Operating Systems) و الالعاب (Computer Games) و من التصاميم المعقده ، تصميم برامج التحكم (Micro Programming) و تصميم الحلول المتكامله لاداره مصنع او محطه طاقه نوويه (Large scale Complex IT Systems) و هناك العديد من نواع التصاميم الاخرى كبرامج الذكاء الاصطناعي (Artificial Intelligence) برامج الاله (Robotics) و برامج المحاكاه (Simulations) و الواقع الافتراضي (Virtual Reality) و برامج العلوم العصبية (Computational Neuroscience) ، تتم تصاميم البرمجيات باستخدام اليات و ادوات علميه و مخطات تدفق البيانات (Data flow diagram) مستنده على نظريات علوم الحاسب الالي و تكنولوجيا المعلومات و الفيزياء و الرياضيات و الاتصالات (telecommunications) و الطاقة (Energy) مراعيا التكلفة والجودة و الأمان (Information Security)

الأسس الرياضية[عدل]

علم التعمية Cryptography

نظرية المخططات Graph theory

منطق رياضي Mathematical logic

نظرية الأنماط Type Theory

نظرية الأعداد

نظرية التصنيف

هندسة رياضية حاسوبية

نظرية الأتمتة Automata theory

نظرية الحسابات Computability theory

نظرية التعقيد الحسابي Computational complexity theory دراسة الحدود الأساسية للحوسبة (بالذات الزمن وسعات التخزين)

نظرية الحوسبة الكمومية

خوارزميات و بيانات[عدل]

تحليل الخوارزميات Analysis of algorithms

خوارزميات Algorithms دراسة عمليات شكلية لإنجاز التحسيب، ومدى فعالية هذه العمليات.

بنى البيانات Data Structure تنظيم ومعالجة البيانات

أنظمة موزعة، ومتوازية، ومتواقتة[عدل]

تزامن (حوسبة) Concurrency

تشبيك حاسوبي Computer networking خوارزميات وبروتوكولات لنقل مضمون للبيانات لمسافات بعيدة مع تصحيح الأخطاء error correction

حوسبة متوازية Parallel computing حوسبة تستخدم عدة حواسب وعدة معالجات معا على التوازي

حوسبة موزعة Distributed computing

معمارية أو تكوين الحاسوب Computer architecture the design, organization, optimization and verification of a computer system, mostly about CPUs and Memory subsystem

أنظمة التشغيل / تنظيم الحاسوب Computer organization

برمجة الحاسوب Computer programming كتابة برامج باستخدام لغات برمجة

طرق صورية Formal methods طرق رياضية للوصف والاستنتاج حول تصميم البرمجيات software designs.

هندسة برمجيات Software engineering مباديء وممارسة تصميم، تطوير، وفحص البرامج.

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

هندسة عكسية Reverse Engineering

لغات البرمجة والمترجمات البرمجية[عدل]

لغات البرمجة للحاسوب متدنية المستوى :

أمثلة لبعض لغات البرمجة للحاسوب عالية المستوى:

ذكاء الاصطناعي[عدل]

ذكاء اصطناعي Artificial intelligence

استنتاج مؤتمت Automated reasoning

روبوتية أو صتاعة الرجل الآلي Robotics

رؤية حاسوبية Computer vision

تعلم آلي Machine Learning

حياة اصطناعية Artificial Life

معالجة اللغات الطبيعية / لسانيات حاسوبية

الاتصالات[عدل]

صوت الحاسوب Computer audio

التشبيك الحاسوبي

علم التعمية

رسوميات حاسوبية[عدل]

رسوميات حاسوبية Computer graphics

معالجة الصور Image processing

التفاعل الإنساني الحاسوبي[عدل]

تفاعل إنساني-حاسوب

حوسبة علمية[عدل]

معلوماتية حيوية

حوسبة علمية

علوم استعرافية

كيمياء حاسوبية

فيزياء حاسوبية

علوم عصبية حاسوبية

خزارزميات عددية

رياضيات رمزية Symbolic mathematics

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

يشترط في مهندس البرمجيات ايا كان دوره في المشوع الالتزام بمعايير هندسه البرمجيات (Software Engineering Principles) خلال المشروع (التصميم او التنفيذ) حيث يمثل هذا الفرق الاساسي بينه و بين  المبرمج (Computer Programmer) او مطور البرمجيات (Software Developer) الذي يقوم بتنفيذ البرنامج دون الحاجة للالتزام باي معايير و تجدد الكثير من الاطفال او خرجين التخصاصات الاخرى يمارس عمل البرمجه بحريه و قد يصل العديد منهم إلى مراحل متقدمه و مهاره مبهرة

النقابات المهنية و المنظمات الدولية[عدل]

يعمل مهندسين البرمجيات حفاظا على أفضل كفاءه و مهنيه من خلال نقبات و منظمات عالميه تعمل على توفير و تنظيم بيئه مهنيه مناسبه و معايير عالميه لمهندسين البرمجيات و من أهم هذه المنظمات منظمه (IEEE) الإمريكية و منظمه (BCS) البريطانية حيث تقوم النقابات المهنية بتنظيم بيئه العمل لمهندسين البرمجيات باحد الاشكات التالية الاول من خلال نقابه عامه لكل المهن الهندسية تتولى مسؤوله تسجيل مهندسين البرمجيات و مراقبه التخصصات الدراسية الاكاديميه و المهنية التى تدرس في الجامعات و المعاهد لتؤهل خرجين هندسه البرمجيات و تعمل على حمايه اللقب المهني و ترخيص مزاوله المهنة الخاص بهم و غير ذلك كما هو الحال في مجلس المهندسين في بريطانيا (UK Engineering Council) و الدول العاملة بسياسات مشابهه و في بعض الدول الاخرالثاني من خلال نقابه مستقله لخرجين و خبراء البرمجيات و تكنولوجيا المعلومات غالبا ما تكون تحت اسم مجتمع الحاسوب مضاف اليها اسم البلد و تعمل على تحقيق أفضل معايير المهنة اضافه إلى جميع ما سبق ذكره من مهام النقابات المهنية كحمايه اللقب المهني لمهندس البرمجيات و خلافه كما هو الحال في مجتمع الحاسوب في أستراليا (Australian Computer Society) و الدول العاملة بسياسات مشابهه

التعليم الاكاديمي[عدل]

تختلف انظمة التعليم من بلد إلى اخر و تعرف باسم سلم التعليم او هيكل التعليم مثل هيكل التعليم (AQF) في أستراليا [36] و احيانا من ولايه إلى ولايه في مده الدراسة و أسماء الشهادات و طرق التعليم و الامتحانات لكنها جميعا تشترك في منح الخريجين شهادات جامعيه ، في نظام التعليم البريطاني التعليم الجامعي ينقسم إلى اربع مستويات حيث يفضل و لا يشترط وجود شهادة المستوى السابق لدخول المستوى التالي بحسب سلم التعليم / هيكل المؤهلات في بريطانيا (FHEQ UK) ، تنوية نظام التعليم البريطاني هو نفس النظام الدولي المستخدم في الهندسة البحرية في جميع دول العالم و المستخدم أيضا في الدراسة في الأكاديمية البحرية في مصر ، و وفقا للسنة ومجلس التصنيف شهادات المستوى الاول أو شهادات مرتبطة بالدورة الأولى (Higher Diploma) (Foundation Degree) مده الدراسة من سنه إلى سنتين و شهادات المستوى الثاني أو شهادات الدورة الأولى (Bachelor Degree) و (Honours Degree) مده الدراسة من ثلالث سنوات إلى اربع سنوات شهادات المستوى الثالث أو شهادات الدورة الثانية (Masters Degree) مده الدراسة من سنه إلى سنتين و شهادات المستوى الرابع أو شهادات الدورة الثالثة (Doctorate Degree) مده الدراسة من سنتين إلى ثلاث سنوات [37] ، نماذج

Tracking-data flow chart.jpg

شهادات المستوى الاول (Higher Diploma)[عدل]

مدة الدراسة سنتين في جامعة ويلز ترينتي سانت دايفد ، بريطانيا[38] و قد تصل مدة الدراسة لهذه الشهادة إلى ثلاث سنوات في جامعات أخرى [39] . ملاحظة : شهادات المستوى الأول "الدبلوم العالي" مبنية على اساس شهادات المستوى الثاني (البكالوريوس او البكالوريوس مع مرتبت الشرف) و في حال اراد الطالب الانتقال إلى المستوى التالي يشترط في معظم الجامعات البريطانية اكمال سنه واحده [40] اضافة إلى ما سبق دراسته اما في حال الانتقال إلى شهادات المستوى الثالث (الماجستير) فتقبل الخبرة العملية الموثقة او / و دراسة اضافية و تقبل النقابات المهنية في بريطانيا الحاصلين على اي من شهادات المستوى الاول التسجيل تحت مسمى مهندس مسجل (جزئيا) اذا لم تتوفر اي خبرات عملية حيث انه تم تعديل شروط القبول في عام ١٩٩٩ م [41] للمهندس المسجل ان يكون حاصل على شهاده البكالوريوس او بكالوريوس مع مرتبت الشرف او ما يعادلها اضافة إلى عدد من سنين الخبرة العملية مثل " دبلوم الخريجين " الذي يعادل البكالوريوس مع مرتبت الشرف في سلم التعليم البريطاني (Professional Graduate Diploma in IT) [42] و (Graduate Diploma in Engineering) [43][44] المتعارف عليه ان الحصول على بكالوريوس مع مرتبت الشرف يكون بدراسه سنه اضافيه بعد الحصول على درجة البكالوريوس [45]

US Navy 090310-D-5972N-009 Information Systems Technician 2nd Class Ryan Allshouse uses the intrusion detection system to monitor unclassified network activity from the automated data processing workspace.jpg

Modules of Year 1

Modules of Year 2

  • Project Algorithms
  • Data Structures & Formal Methods
  • Software Engineering Principles
  • Systems Software & Multi-User Applications Engineering
  • Database Management Systems 

شهادات المستوى الثاني (Bachelor Degree)[عدل]

Datacenter-telecom edit2.jpg

BSc Hons in Software Engineering و للتوضيح ال Hons اشاره ان الشهادة بكالوريوس مع مرتبت الشرف و هي اعلى في السلم التعليمي من البكالوريوس التقليدي الذي يعادل الدبلوم العالي البريطاني [46] كما يوضح تصنيف الشهادات في بريطانيا ، مده الدراسة ثلالث سنوات في جامعة نوتنغهام (بالإنجليزية: University of Nottingham) هي جامعة بحثية إنجليزية عامة في مدينة نوتنغهام الإنجليزية. صدر الميثاق الملكي بإنشائها سنة 1948، غير أنها في الواقع خرجت من رحم مؤسسة تعليمية أقدم، هي الكلية الجامعية بنوتنغهام (بالإنجليزية: University College, Nottingham)، التي أنشئت سنة 1881. توسعت جامعة نوتنغهام مؤخرًا وافتتحت فروعًا لها في كل من نينغبو بالصين وكوالالمبور بماليزيا، وهو ما جعل جريدة التايمز تصفها بأنها "الجامعة العالمية الحقيقية الوحيدة في بريطانيا". 

Modules of Year 1

Pair Programming 3.jpg

Modules of Year 2

  • Algorithms and Data Structures
  • Software Engineering Group Project
  • raphical User Interfaces
  • Software Engineering Methodologies

Modules of Year 3

Optional

شهادات المستوى الثالث (Masters Degree)[عدل]

MSc in Software Engineering, مده الدراسة سنتين جامعة أوكسفورد (بالإنجليزية: The University of Oxford) (باللاتينية: University Oxoniensis) تعدّ أقدم جامعة في العالم الغربي المتحدث بالإنجليزية ومن خيرة ورابع أفضل جامعات العالم والجامعة الأولى في المملكة المتحدة على مؤشر تايم للجامعات لعام 2011-2012. وتقع الجامعة في مدينة أكسفورد في إنجلترا , يختار الباحث مجموعة من المواد من المجموعات التالية

Artificial.intelligence.jpg

Group 1 - Software Engineering Methods

  • Software Engineering Mathematics SEM
  • Specification and Design SDE
  • Concurrency and Distributed Systems CDS
  • Advanced Concurrency/ Model Checking MCH
  • Performance Modelling PMO
  • Software Development Management SDM
  • Agile Methods AGM
  • Requirements Engineering REN
  • Management of Risk and Quality MRQ
  • Process Quality and Improvement PRO
  • Safety Critical Systems SCS
  • Enterprise Architecture EAR

Group 2 - Software Engineering Tools

  • Database Design DAT
Aldebaran Robotics Stand at FOSDEM 2013.jpg

Group 3 - Software and Systems Security

شهادات المستوى الرابع (Doctorate Degree)[عدل]

Airbus A380 F-WWDD cockpit.jpg

PhD (Research) in Software Engineering مده الدراسة من سنتين إلى ثلاث سنوات في جامعة لستر (بالإنكليزية: University of Leicester) إحدى الجامعات البريطانية الرائدة، تقع في مدينة ليستر في وسط أنجلترا. احتلت في عام 2006 المركز 18 من بين أكثر من 100 جامعة بريطانية حسب تصنيف دليل التايمز لأحسن الجامعات البريطانية والمركز 24 حسب تصنيف جريدة الغارديان. وفي عام ٢٠١٣ احتلت الجامعة المركز ١٣ حسب تصنيف الغارديان بين اكثر من ١٠٠ جامعة بريطانية

Topics on Software Engineering

  • Abstractions for mobile distributed systems
  • Programming language semantics
  • Algorithmic Aspects of Comunication Networks
  • Modelling and analysis of social networks by graph transformation
  • Advanced Software Modularity
  • Sustainability

التدريب المهني و الشهادات الحرفية [عدل]

قائمة باهم الشهادات العالمية في مجال البرمجيات و تقنية المعلومات

Cisco academy logo.svg

ادارة المشاريع[عدل]

  • Project Management Professional PMP
  • ITIL v3 Foundation

امن المعلومات[عدل]

  • CISSP: Certified Information Systems Security Professional

الشبكات[عدل]

  • CCNA) Cisco Certified Network Associate )
  • CCNP)(Cisco Certified Network Professional)
  • CCIE ) Cisco Certified Internet-work Expert)
  • Microsoft Certified System Administrator

قواعد البيانات[عدل]

  • OCA Oracle Certified Associate
  • OCP  Oracle Certified Professional

OCP Oracle Certified Professional

  • OCM Oracle Certified Master

انظمة التشغيل[عدل]

  • Microsoft Certified Professional
  • MCDBA Microsoft Certified Database Administrator

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

مدرب تقنية معلومات[عدل]

التجارة الإلكترونية[عدل]

الاختبارات الدولية[عدل]

الاختبرات الدولية لتقييم و تسجيل مهندسين البرمجيات منشرة انتشار واسع في جميع دول العالم حيث تضع الدول المعايير لضمان الجودة المهنية و العلمية في هذا المجال و نذكر من أهم هذه الاختبرات التابعة مباشرة للقطاع الحكومي في الدولة:

Elizabeth Sparrow with British Computer Society logo.JPG

اليابان[عدل]

- اختبار مهندس تكنولوجيا المعلومات في اليابان بدأ عام ١٩٦٩ م و اصبح رسميا الاختبار الوطني لهذه المهنة عام ١٩٧٠ م[47]

ماليزيا و دول الكومنويلس[عدل]

- اختبار مهندس انظمة الحاسوب في ماليزيا التابع لمنظمه محترفي تكنولوجيا المعلومات الهيئة الحكومية المخوله لمتابعة شؤون مهن البرمجيات[48]

أستراليا[عدل]

- اختبار و تقييم مهندس برمجيات في مجتمع الحاسوب في أستراليا [49] المجلس الحكومي الرسمي لتقيم و تسجيل مهن البرمجيات و تكنولوجيا المعلومات [50]

بريطانيا و دول أوروبا[عدل]

- اختبار و تقيم منظمه تكنولوجيا المعلومات التابعة لمجتمع الحاسوب البريطاني [51] و مجلس المهندسين البريطاني المخول الرسمي لتسجيل مهندسين بريطانيا [52]

Iet.jpg

ملاحظه : المهندس المسجل في بريطانيا معترف به مهندس ممارس لعمله في كل دول الاتحاد الأوروبي [53]

الولايات المتحدة[عدل]

كندا[عدل]

قطاع الاتصالات و تكنولوجيا المعلومات[عدل]

2011 SecuTech Expo Day1 Information Security Award Winners.jpg

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

المؤتمرات الدولية[عدل]

FAUSTER ATTA MENSAH.jpg

هناك ما يزيد عن ٢٠٠٠ مؤتمر سنوي في مختلف مجالات تقنية المعلومات و هندسة البرمجيات في ما يلي تفصيل لاهم المواضيع و المؤتمرات لعام ٢٠١٤م و يمكن الاطلاع على التفاصيل في موقع قوائم المؤتمرات الدولية [54]

مؤتمرات هندسية[عدل]

  • Software for Engineering 6
  • Computational Engineering 1

مؤتمرات تقتية المعلومات[عدل]

  • Information Technology 1272
ArmSCII 07, First IT Conference in Lazer Physics Institute, Yerevan, Armenia, 1991.jpg

مؤتمرات الحاسوب[عدل]

  • Artificial Intelligence 649
  • Automation 214
  • Computer Arts 30
  • Human-Computer Interaction 15
  • Internet 846
  • Microprocessors 40
  • Mobile Computing 471
  • Multimedia 264
  • Networking 947
  • Object Oriented 66
  • Open Source 161
  • Operating Systems 95
  • Parallel Computing 150
  • Programming 17
  • Programming Languages 176
  • Robotics 173
  • Security 909
  • Software 43
  • Unix 14

مؤتمرات علوم الحاسوب[عدل]

  • Computer Science 1934

مشاريع عملاقة في قطاع تكنولوجيا المعلومات[عدل]

DARPA Big Data.jpg

يمكن تعريف المشاريع العملاقة على أنها: المشاريع التي تزيد كلفتها عن بليون دولار أمريكي، وتجذب انتباه الرأي العام نظراً لتأثيرها الهام على المجتمعات والبيئة الطبيعية والموازنات . يمكن أن تكون المشاريع أيضاً "مبادرات ذاتية، ومكلفة جداً، وعامة للجمهور" تحتاج المشاريع العملاقة إلى رعاية في العملية التنموية للحد من المخاطر التي قد تعترض تنفيذ المشروع والذي قد يؤدي إلى تغيير الاستراتيجيات. تشمل الأمثلة على المشاريع الكبرى الجسور والأنفاق والطرق السريعة والسكك الحديدية والمطارات والموانئ ومحطات توليد الكهرباء والسدود ومشاريع الصرف الصحي والمناطق الاقتصادية الخاصة ومشاريع استخراج النفط والغاز الطبيعي والمباني العامة وأنظمة تقنية المعلومات ومشاريع الفضاء ونظمالأسلحة. من أهم المشاريع العملاقة في قطاع تكنولوجيا المعلومات :
- سيبرجايا (CyberJaya) , ماليزيا
- تمكين شبكات العلوم: تعدد العلم الخاص بالبنية التحتية للحوسبة الشبكية لمنطقة البحوث الأوروبية. هي بالفعل أكبر بنية تحتية لشبكة علوم متعددة في العالم، ومن المتوقع أن توسع بشكل كبير بعد الانتهاء من مصادم الهدرونات الكبير.
- هيئة الخدمات الصحية الوطنية (المملكة المتحدة) للحفاظ على صحة المواطنين.
- الانترانت الخاص ببحرية الولايات المتحدة وقوات مشاة بحرية الولايات المتحدة ويُستخدم بمثابة أحد مصادر تكنولوجيا المعلومات الخاصة.
- أنظمة الآي بي إم /360
- الشبكة الوطنية ذات النطاق الواسع، وهي شبكة FTTP قيد الإنشاء في أستراليا، واقتراح لربط 93٪ من مباني الاتصالات بألياف بصرية مع الباقي مع اللاسلكية الثابتة او الأقمار الصناعية
- غوجارات التمويل الدولي تك-سيتي، ولاية غوجارات، الهند
- مثلث بارك البحثي، نورث كارولينا، أكبر حديقة أبحاث في العالم بالولايات المتحدة الأمريكية
- مجمع كامينغز للبحوث، ألاباما، الولايات المتحدة الأمريكية
- آدهار الهند هو 12 رقم متميز لتحديد الهوية (UID) تستخدمها السلطة الهندية لتحديد الهوية وتُصدر لجميع المقيمين الهنود. يتم تخزين رقم UID في قاعدة بيانات مركزية وربطها بالتركيبة السكانية والمعلومات الأساسية الحيوية - الصور الفوتوغرافية وبصمات الأصابع العشرة وقزحية العين - لكل فرد.
- بيدموند ترايد بارك للبحوث، نورث كارولينا، الولايات المتحدة.

انظر أيضاً[عدل]

المراجع[عدل]

  1. ^ كل ما يحتاج المهندس معرفتة عن هندسة البرمجيات
  2. ^ طبيعة عمل مهندس انظمة الحاسوب جامعة جيمس كووك في أستراليا
  3. ^ طبيعة عمل مهندس البرمجيات موقع بوابة التعليم
  4. ^ طبيعة عمل مهندس البرمجيات موقع جرب الهندسة ، IEEE و IBM
  5. ^ أفضل عشر وظائف في عام ٢٠١٣
  6. ^ كيف تختار مهندس برمجيات
  7. ^ مستويات التعليم في أستراليا
  8. ^ السلم التعليمي للمؤهلات في أوروبا
  9. ^ شهادات المستوى الأول ( الدبلوم العالي ) جامعة ستفوردشير بريطانيا
  10. ^ شهادات المستوى الأول ( الدبلوم العالي ) جامعة ويلز سانت ديفيد بريطانيا
  11. ^ شهادات المستوى الأول ( الدبلوم العالي ) جامعة ويلز الجنوبية بريفسجول بريطانيا
  12. ^ شهادات المستوى الثاني ( البكالوريوس ) جامعة تون عبد الرازق ماليزيا
  13. ^ شهادات المستوى الثاني ( البكالوريوس ) جامعة موناش أستراليا
  14. ^ لوائح و أنظمة مهنة مهندس البرمجيات
  15. ^ هل يحتاج مهندس البرمجيات لرخصة لممارسة عملة
  16. ^ تسجيل مهندس البرمجيات في كندا
  17. ^ نظام التعليم في كندا
  18. ^ نظام التعليم في الولايات المتحدة الأمريكية
  19. ^ معايير الحكومة الأسترالية و الحكومة النيوزلندية في تقييم مهندس البرمجيات
  20. ^ مقارنة انظمة التعليم بين دول العالم
  21. ^ شرح كتاب نظريات هندسة البرمجيات ، أرشيف العلوم الهندسية
  22. ^ أساسيات هندسة البرمجيات - ملخص
  23. ^ قائمة أهم دورات هندسة البرمجيات تقدم مجانا
  24. ^ دورات تدريبية لتقنية المعلومات
  25. ^ تاريخ هندسة البرمجيات
  26. ^ مراحل بناء النظام البرمجي
  27. ^ كتابة وثيقة الشروط الخارجية والداخلية
  28. ^ التحليلٍ
  29. ^ التصميم
  30. ^ الترميز(كتابة الكود)
  31. ^ الاختبار والتكاملية
  32. ^ التوثيق
  33. ^ الصيانة والتطوير
  34. ^ تفاصيل مهام و أدوار فريق عمل مشاريع البرمجيات
  35. ^ تسجيل مهندس البرمجيات الاستشاري كمهندس محلف
  36. ^ تصنيف الشهادات و مستوياتها في أستراليا
  37. ^ هيكل المؤهلات العليا بريطانيا
  38. ^ المواد الدراسية لشهادة الدبلوم العالي في هندسة البرمجيات جامعة ويلز سانت دايفد ، بريطانيا
  39. ^ قائمة الجامعات التى تدرس شهادات الدبلوم العالي المعترف بها من مجلس المهندسين البريطاني
  40. ^ شرح شهادات المستوى الاول
  41. ^ تعديلات مجلس المهندسين البريطاني عام ١٩٩٩ م
  42. ^ دبلوم الخريجين البريطاني في تقنية المعلومات
  43. ^ دبلوم الخريجين في بريطانيا ، شهادات تعادل بكالوريوس هندسة مع مرتبت الشرف
  44. ^ دبلوم الخريجين البريطاني في الهندسة
  45. ^ تصنيف الشهادات حسب الدولة و مقارنة انظمه التعليم بين دول الاتحاد الأوروبي
  46. ^ تصنيف الشهادات البريطانية
  47. ^ اختبار مهندسين البرمجيات في اليابان
  48. ^ اختبار مهندسين البرمجيات في ماليزيا
  49. ^ تسجيل مهندسين البرمجيات أستراليا
  50. ^ تقييم مهندس برمجيات في مجتمع الحاسوب في أستراليا
  51. ^ تسجيل مهندسين البرمجيات بريطانيا
  52. ^ شهادات تأهيل مهندس تكنولوجيا المعلومات في بريطانيا للتسجيل كمهندس استشاري
  53. ^ تسجيل مهندسين البرمجيات بريطانيا
  54. ^ قوائم المؤتمرات الدولية