Grow with AppMaster Grow with AppMaster.
Become our partner arrow ico

عملية تطوير البرمجيات </ h2>

عملية تطوير البرمجيات </ h2>

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

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

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

ما هي عملية تطوير البرمجيات

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

عملية تطوير البرمجيات: Agile vs Waterfall

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

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

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

خطوات عملية تطوير البرمجيات

تطوير البرامج هو عملية منظمة ومتكررة تتضمن مراحل متعددة لإنشاء تطبيق جيد الأداء وسهل الاستخدام. الخطوات التالية ضرورية لضمان نجاح مشروع تطوير البرمجيات:

تحضير مجموعة المتطلبات

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

Try AppMaster no-code today!
Platform can build any web, mobile or backend application 10x faster and 3x cheaper
Start Free

مثال: في حالة تطوير موقع ويب للتجارة الإلكترونية ، يمكن أن تشمل المتطلبات إدارة المخزون ومعالجة الدفع وتسجيل المستخدم.

تصميم UI / UX

تعد مرحلة تصميم UI / UX مرحلة حاسمة في عملية تطوير البرامج ، حيث إنها تضع الأساس للمظهر العام والشعور وتفاعل المستخدم مع التطبيق. الهدف الرئيسي من هذه المرحلة هو إنشاء واجهة مستخدم بديهية وجذابة بصريًا (UI) مع ضمان تجربة مستخدم سلسة وممتعة (UX) . تشمل هذه الخطوة عادةً العديد من العمليات الفرعية وتتضمن تعاونًا وثيقًا بين المصممين والمطورين وأصحاب المصلحة.

ux/ui design

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

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

الترميز

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

  • اختيار مجموعة التكنولوجيا : قبل البدء في مرحلة الترميز ، من المهم اختيار مجموعة التكنولوجيا المناسبة التي تتوافق مع متطلبات المشروع والموارد المتاحة والأداء المطلوب. تشمل العوامل التي يجب مراعاتها قابلية التوسع وسهولة الاستخدام ودعم المجتمع وقابلية الصيانة على المدى الطويل.
  • إعداد بيئة التطوير : يحتاج المطورون إلى تكوين بيئات التطوير المحلية الخاصة بهم ، والتي تتضمن تثبيت البرامج والمكتبات والأدوات اللازمة ، بالإضافة إلى إعداد أنظمة التحكم في الإصدار مثل Git لإدارة شفرة مصدر المشروع بكفاءة.
  • إنشاء معايير وإرشادات الترميز : لضمان الاتساق وقابلية الصيانة ، يجب على فريق التطوير اعتماد مجموعة من معايير الترميز والمبادئ التوجيهية التي تملي اصطلاحات التسمية ، والتنسيق ، والتعليق ، والجوانب الأخرى لجودة الكود.
  • تنفيذ بنية التطبيق : يبدأ المطورون بتنفيذ بنية التطبيق ، والتي تتضمن إعداد هيكل المشروع ، وتنظيم الكود في وحدات ، وإنشاء أنماط للاتصال بين المكونات المختلفة.
  • تطوير الميزات والوظائف : يعمل المطورون على الميزات والوظائف الفردية عن طريق كتابة التعليمات البرمجية وتنفيذ الخوارزميات ودمج واجهات برمجة التطبيقات والخدمات المختلفة حسب الحاجة. تتضمن هذه العملية عادةً تطوير الواجهة الأمامية والخلفية ، مع استخدام المطورين لتقنيات مثل React أو Angular أو Vue.js أو Svelte للواجهة الأمامية و Node.js أو Django أو Ruby on Rails أو ASP.NET للواجهة الخلفية.
  • مراجعة الكود وإعادة البناء : تساعد مراجعات الكود المنتظمة في ضمان التزام الكود بالمعايير والإرشادات المعمول بها مع الحفاظ على الجودة العالية. يتعاون المطورون لتحديد المشكلات المحتملة ، واقتراح التحسينات ، وكود إعادة البناء لتحسين الأداء ، وإمكانية القراءة ، وقابلية الصيانة.
  • اختبار الوحدة واختبار التكامل : إلى جانب الترميز ، يكتب المطورون اختبارات الوحدة للتحقق من صحة المكونات الفردية واختبارات التكامل للتحقق من التفاعل المناسب بين أجزاء التطبيق المختلفة. تساعد هذه العملية في تحديد الأخطاء والمشكلات مبكرًا وتضمن استقرار التطبيق وموثوقيته.
Try AppMaster no-code today!
Platform can build any web, mobile or backend application 10x faster and 3x cheaper
Start Free

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

no-code-solutions

راجع منتجك بمرحلة ضمان الجودة

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

النشر والصيانة

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

  • إعداد البيئة وتكوينها : قبل النشر ، يجب على المطورين تكوين بيئة الإنتاج ، والتي تتضمن إعداد البنية التحتية المناسبة ، مثل الخوادم وقواعد البيانات ومكونات الشبكات. قد تتضمن هذه المرحلة أيضًا تكوين إجراءات الأمان مثل جدران الحماية والتشفير والتحكم في الوصول.
  • التكامل المستمر والنشر المستمر (CI / CD) : يؤدي تنفيذ خط أنابيب CI / CD إلى أتمتة عملية بناء التطبيق واختباره ونشره ، مما يقلل من التدخل البشري ويزيد من سرعة النشر والموثوقية.
  • تحسين الأداء : قبل نشر التطبيق ، يجب على المطورين تحسين أدائه للتعامل مع حمل المستخدم المتوقع وضمان الاستخدام الفعال للموارد. قد يتضمن ذلك تقنيات مثل التخزين المؤقت وموازنة التحميل وتحسين قاعدة البيانات.
  • المراقبة والتسجيل : بعد النشر ، من الضروري مراقبة أداء التطبيق وتوافره واستخدام الموارد. يجب على المطورين تنفيذ أدوات المراقبة والتسجيل التي توفر رؤى في الوقت الفعلي ، وتمكينهم من تحديد المشكلات المحتملة وحلها بسرعة.
  • إصلاح الأخطاء والتحديثات : في مرحلة الصيانة ، يتعامل المطورون مع ملاحظات المستخدم ويصلحون الأخطاء ويقدمون تحديثات لتحسين وظائف التطبيق واستقراره وأمانه. يساعد إصدار التحديثات بانتظام أيضًا في الحفاظ على صلة التطبيق وتوافقه مع احتياجات المستخدم المتطورة واتجاهات التكنولوجيا.
  • التوسع وإدارة البنية التحتية : مع نمو قاعدة مستخدمي التطبيق ، يجب على المطورين التأكد من أن البنية التحتية يمكن أن تتوسع لاستيعاب الطلب المتزايد. قد يتضمن ذلك التحجيم الأفقي (إضافة المزيد من الخوادم) أو التحجيم الرأسي (زيادة سعة الخوادم الحالية).
  • التوثيق ونقل المعرفة : يعد الاحتفاظ بوثائق محدثة أمرًا ضروريًا لضمان نقل المعرفة بكفاءة وتسهيل استكشاف الأخطاء وإصلاحها وتطوير الميزات وإلحاق الفريق. يجب أن تغطي الوثائق بنية التطبيق وقاعدة التعليمات البرمجية وعملية النشر وتكاملات الطرف الثالث.
Try AppMaster no-code today!
Platform can build any web, mobile or backend application 10x faster and 3x cheaper
Start Free

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

السمات الرئيسية لتطوير البرامج الفعال

يشمل تطوير البرامج الفعال العديد من الميزات الرئيسية التي تساهم بشكل جماعي في تقديم تطبيقات عالية الجودة وقابلة للصيانة وقابلة للتطوير بنجاح. تعد هذه الميزات ضرورية لضمان عملية تطوير البرامج بطريقة مبسطة وفعالة.

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

جانب آخر مهم لتطوير البرمجيات الفعالة هو تطبيق مبادئ التصميم القوية ، مثل SOLID (المسؤولية الفردية ، المفتوحة / المغلقة ، استبدال Liskov ، فصل الواجهة ، عكس التبعية) و DRY (لا تكرر نفسك). تساعد هذه المبادئ في إنشاء قواعد أكواد معيارية وقابلة للصيانة والتوسعة ، وتبسيط التحسينات المستقبلية وتقليل احتمالية حدوث عيوب.

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

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

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

أخيرًا ، يتضمن تطوير البرامج الفعال استخدام الأدوات والتقنيات المناسبة لتعزيز الإنتاجية وتبسيط سير العمل. يتضمن ذلك أنظمة التحكم في الإصدار ، وبيئات التطوير المتكاملة (IDEs) ، وأدوات مراجعة التعليمات البرمجية ، وحلول إدارة المشاريع التي توفر للمطورين البنية التحتية اللازمة لتقديم برامج عالية الجودة باستمرار.

المنشورات ذات الصلة

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

أفضل طريقة لفهم قوة AppMaster هي رؤيتها بنفسك. اصنع تطبيقك الخاص في دقائق مع اشتراك مجاني

اجعل أفكارك تنبض بالحياة