Аналитика Telegram-канала
Подписчики
3 640
Охват за 24 ч
113
ER за 24 ч
3,10%
Публикаций
112
Динамика подписчиков
7 дней
30 дней
6 месяцев
Больше
30 окт2 ноя5 ноя
Показаны последние 7 дней
Больше истории →
Охваты публикаций
16:5316:5316:5316:5316:5316:53
94
Средний охват
162
Лучший результат
Показаны 6 публикаций за 2 ноября
Больше статистики →
Упоминания
3
Упоминаний
0
Из них репостов
3
Каналов
34
Упоминаний
33
Из них репостов
5
Каналов
Последние посты
3 из 112 2 из 112الرسالة الثالثة
هندسة البرمجيات (Software Engineering)
بعد أن تعرفنا في الرسالة السابقة على علوم الحاسوب، سننتقل الآن إلى هندسة البرمجيات، وهي التخصص الذي يركز على بناء البرمجيات الكبيرة بطريقة هندسية منظمة.
كثير من الناس يظنون أن مهندس البرمجيات هو مجرد مبرمج يكتب الكود طوال اليوم، لكن الحقيقة مختلفة تمامًا.
فكتابة الكود ليست سوى مرحلة واحدة من مراحل عديدة يمر بها المشروع البرمجي.
لذلك نقول دائمًا:
كل مهندس برمجيات يعرف البرمجة، ولكن ليس كل مبرمج مهندس برمجيات.
لأن مهندس البرمجيات لا يهتم بالكود فقط، بل يهتم بالمشروع بالكامل منذ أن تكون الفكرة مجرد طلب من العميل وحتى يصبح نظامًا يعمل ويُستخدم ويُطوَّر لسنوات.
━━━━━━━━━━━━━━━━━━━
أولًا: ما هي هندسة البرمجيات؟
هندسة البرمجيات هي:
تطبيق المبادئ والأساليب الهندسية على تطوير البرمجيات، بهدف إنتاج أنظمة عالية الجودة، تلبي احتياجات المستخدم، وتكون سهلة الصيانة والتطوير وقابلة للتوسع.
بمعنى أبسط:
هي العلم الذي يشرح كيف نبني برنامجًا كبيرًا بطريقة صحيحة ومنظمة، وليس مجرد كيفية كتابة الكود.
━━━━━━━━━━━━━━━━━━━
لماذا ظهرت هندسة البرمجيات؟
في الماضي كانت البرامج صغيرة جدًا.
كان شخص واحد يستطيع كتابة البرنامج بالكامل.
لكن مع مرور الزمن أصبحت البرامج ضخمة جدًا.
فمثلًا:
نظام بنك.
نظام مستشفى.
متجر إلكتروني عالمي.
منصة تعليم.
تطبيق خرائط.
تطبيق تواصل اجتماعي.
هذه المشاريع تحتوي على ملايين الأسطر البرمجية.
ولا يستطيع شخص واحد تنفيذها.
لهذا ظهرت هندسة البرمجيات لتنظيم عملية التطوير.
━━━━━━━━━━━━━━━━━━━
ماذا يدرس مهندس البرمجيات؟
يدرس مهندس البرمجيات كل ما يساعده على بناء البرامج بطريقة احترافية، مثل:
هندسة المتطلبات (Requirements Engineering).
تحليل الأنظمة.
تصميم الأنظمة.
تصميم قواعد البيانات.
البرمجة.
الاختبار.
ضمان الجودة.
إدارة المشاريع.
إدارة فرق العمل.
دورة حياة تطوير البرمجيات (SDLC).
تصميم واجهات المستخدم.
أنماط التصميم (Design Patterns).
الصيانة.
التوثيق.
قد يدرس أيضًا بعض مواد علوم الحاسوب مثل:
الخوارزميات.
هياكل البيانات.
قواعد البيانات.
الشبكات.
لكن هدفه من دراستها هو استخدامها في بناء أنظمة عملية.
━━━━━━━━━━━━━━━━━━━
ما الهدف من هندسة البرمجيات؟
الهدف ليس فقط إنشاء برنامج يعمل.
بل إنشاء برنامج:
✔ صحيح.
✔ منظم.
✔ سريع.
✔ آمن.
✔ قابل للتطوير.
✔ سهل الصيانة.
✔ يحقق متطلبات العميل.
✔ يمكن لفريق كامل العمل عليه.
━━━━━━━━━━━━━━━━━━━
دورة حياة تطوير البرمجيات (Software Development Life Cycle - SDLC)
تُعد دورة حياة تطوير البرمجيات (SDLC) العمود الفقري لهندسة البرمجيات، لأنها توضح جميع المراحل التي يمر بها المشروع من البداية حتى النهاية.
إذا كانت البرمجة هي مرحلة كتابة الكود، فإن SDLC هي الخطة الكاملة التي تنظّم المشروع.
تتكون غالبًا من المراحل التالية:
التخطيط (Planning).
جمع وتحليل المتطلبات (Requirements Analysis).
التصميم (Design).
التنفيذ أو البرمجة (Implementation).
الاختبار (Testing).
النشر (Deployment).
الصيانة (Maintenance).
كل مرحلة تعتمد على المرحلة التي قبلها.
━━━━━━━━━━━━━━━━━━━
أولًا: جمع وتحليل المتطلبات (Requirements Analysis)
تُعد هذه المرحلة من أهم مراحل المشروع، لأن أي خطأ فيها سينعكس على بقية المراحل.
ما المقصود بالمتطلبات؟
المتطلبات هي:
كل ما يريده العميل من النظام.
قد تكون المتطلبات:
إضافة مستخدم.
حذف مستخدم.
البحث.
إصدار تقارير.
تسجيل الدخول.
━━━━━━━━━━━━━━━━━━━
لماذا نجمع المتطلبات؟
حتى نفهم:
ماذا يريد العميل؟
ما المشكلة التي يريد حلها؟
ما الوظائف المطلوبة؟
ما القيود الموجودة؟
ما مستوى الأمان المطلوب؟
━━━━━━━━━━━━━━━━━━━
مثال
يريد مستشفى نظامًا إلكترونيًا.
قبل كتابة أي كود نسأل:
كم عدد المستخدمين؟
هل يوجد أطباء؟
هل يوجد ممرضون؟
هل توجد صلاحيات مختلفة؟
هل نحتاج تقارير؟
هل النظام يعمل عبر الإنترنت؟
كل هذه المعلومات تصبح متطلبات.
━━━━━━━━━━━━━━━━━━━
ثانيًا: التصميم (Design)
بعد معرفة المتطلبات نبدأ في تصميم النظام.
التصميم يعني:
رسم خطة بناء البرنامج قبل كتابة الكود.
كما يرسم المهندس المعماري مخطط المنزل قبل البناء، يرسم مهندس البرمجيات مخطط النظام.
━━━━━━━━━━━━━━━━━━━
ماذا يتضمن التصميم؟
تصميم قاعدة البيانات.
تصميم الواجهات.
تصميم الكلاسات.
تصميم العلاقات.
تقسيم النظام إلى وحدات.
اختيار التقنيات المناسبة.
تحديد كيفية تواصل أجزاء النظام.
━━━━━━━━━━━━━━━━━━━
لماذا التصميم مهم؟
ещё
162
3
5 2 ноя, 16:53
############. 3 ##########
ещё
104
0
2 2 ноя, 16:53
هنا يظهر أثر دراسة الخوارزميات وهياكل البيانات.
━━━━━━━━━━━━━━━━━━━
المثال الثاني: تطبيق خرائط
عندما يطلب المستخدم أقصر طريق بين مدينتين، لا يكفي رسم الخريطة.
يجب استخدام خوارزمية مثل Dijkstra أو A* لحساب المسار الأمثل، مع تمثيل الطرق باستخدام Graph. هذا مثال واضح على دمج الخوارزميات مع هياكل البيانات لحل مشكلة حقيقية.
━━━━━━━━━━━━━━━━━━━
المثال الثالث: منصة فيديو
عندما تقترح لك المنصة فيلمًا قد يعجبك، فهي لا تختار عشوائيًا، بل تعتمد على قواعد بيانات لحفظ نشاطك، وخوارزميات لتحليل سلوكك، وتقنيات ذكاء اصطناعي للتنبؤ بما قد ترغب في مشاهدته.
━━━━━━━━━━━━━━━━━━━
الخلاصة
علوم الحاسوب هو العلم الذي يدرس أسس الحوسبة وكيفية حل المشكلات باستخدام الحاسوب بأفضل طريقة ممكنة. يركز على فهم المبادئ، وتصميم الخوارزميات، وتنظيم البيانات، ودراسة الأنظمة التي تجعل البرامج تعمل بكفاءة.
يمكن تلخيصه بجملة واحدة:
طالب علوم الحاسوب لا يتعلم فقط كيف يكتب برنامجًا، بل يتعلم لماذا يعمل هذا البرنامج، وكيف يمكن جعله أسرع، وأذكى، وأكثر كفاءة، وما المبادئ العلمية التي يقوم عليها.
#برمجة_من_الصفر
ещё
103
1
3 2 ноя, 16:53
Продолжить анализ этого канала
- История роста подписчиков
- Просмотры и охваты публикаций
- Кто упоминает канал и кого упоминает он
- Похожие каналы и подбор для рекламы
Открыть аналитику
Демо до 14 дней