Text
front-end, back-end or full stack 🤔
أي مشروع رح نشتغل عليه رح يكون مكون من 3 طبقات
– Presentation Layer
– Business Logic Layer
– Database Layer
✅Presentation Layer هو الجزء الظاهر من المشروع والخاص بال Front-End development وبنقصد فيه برمجة الواجهة الأمامية للمشروع يلي بشوفها المستخدم بشكلٍ مباشر، بمعنى آخر هو الجانب المخصص عرضه للمستخدم، وبيتضمن تصميم كل شي رح يشوفو من صور، وأزرار، وكتابة، وألوان، وغيره.
⬅ بنحتاج بعض التقنيات للعمل فيه مثل HTML \ JavaScript \ JSON\ CSS
✅ أما Business Layer + Database Layer فهو الجزء المخفي يلي ما بشوفوه المستخدمين والخاص بال back-End development ، المهمة الرئيسية هون هي البناء المنطقي للمشروع وبناء الإعدادات الخاصة بال Server وحفظ البيانات في قواعد البيانات وانشاء الجداول وتنظيمها وضمان عمل كل شيء مع المستخدمين بشكل طبيعي ، بيجدر التنبيه انو فيه اتصال دائم بين طرف الواجهة الأمامية والخلفية لتبادل المعلومات والحصول على تطبيق كامل .
⬅ العملية بتم من خلال لغات برمجة معروفة مثل PHP \ Java \ Python
✅ أما الشخص يلي بيتقن العمل على كلا الجانبين فيسمى [ full stack developer] ، مفهوم كلمة (stack) يعني طبقة فوق الأخرى ومعنى (full stack) هو معرفة جميع الطبقات والعمل عليها
0 notes
Text
اختبار البرمجيات - Software Testing
بعملية البرمجة ابدًا ما بنكتفي بتصميم البرنامج وتسلميه للعميل ✋ فقبل ما يتم تسليمه في عنا خطوة مهمة جدًا وهي عملية اختبار البرنامج بهدف التأكد هل يلبي المتطلبات يلي تحددت أو لا 🤔 اليوم رح نحكي عن اختبار البرمجيات - Software Testing والاختبار ما بيقتصر على طريقة أو تنتين ، في عنا أكتر من نوع لتطبيق هي العملية
رح اعرضلكم بعض أنواع الاختبارات الأكثر شيوعًا في عالم البرمجيات
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🔍 اختبارات الأداء الوظيفي - Functionality Tests
بتم اجراء هي الاختبارات لنتأكد انو التطبيق بقوم بالوظائف المطلوبة بشكل صحيح وخالي من الأخطاء، مثال لو المستخدم لازم يكون قادر على تحميل صورة للملف الشخصي فحيكون الاختبار هل هو قادر فعلًا يحملها بنجاح او في اخ��اء بالعملية؟
🔍 اختبارات واجهة المستخدم - User Interface Tests
بتم بهاد الاختبار التحقق من أنو أجزاء واجهة المستخدم الرسومية (GUI) بتظهر وبتشتغل بشكل صحيح متل هو مخطط الها بدون أخطاء او عيوب من العيوب مثلًا اختلاف في شكل العَرض مع اختلاف المتصفحات وبكون الاختبار مثلًا : كيف بينعرض موقع ويب على شاشة صغيرة متل شاشة الموبايل.
🔍 اختبارات قابلية الاستخدام - Usability Tests كتير تطبيقات فشلت بمجرد اطلاقها بسبب عدم الاهتمام بهاد النوع من الاختبارات هاد النوع بيكشف عيوب الاستخدام ، وبركز على اختبار سهولة التعامل مع التطبيق ... هل هو سهل للاستخدام أم لا؟ في مسمى تاني بيشتهر فيو وهو اختبارات تجربة المستخدم (UX) مثال عليه هل يمكن للمستخدم انو يضيف أكتر من عنصر بسهولة لسلة التسوق الخاصة فيه أو رح يواجه صعوبة بهالعملية؟
🔍 اختبارات الأمن والحماية - Security Tests وهي اختبارات كتير مهمة لكشف الثغرات الأمنية وللحماية من الاختراق والقرصنة ✅ غالبًا بتكون المصادقة والتشفير محور التركيز الرئيسي في حالات اختبارات الأمان. مثال عليها لو أجرى المستخدم عدد معين من محاولات تسجيل الدخول الفاشلة، بصير الحساب مغلق.
🔍 اختبارات الأداء - Performance Tests
وهو نوع ممتع من الاختبارات 😌 بنتأكد فيو من أداء التطبيق ، بمعنى أبسط 🤔 بنفحص ردات الفعل تبع التطبيق لحالات معينة مثلًا كم بياخد وقت في عملية معينة؟ أو لو كان عنا عدد مستخدمين كبير ، هل رح يبقى التطبيق مستقر او رح يصير في خلل؟
🔍 اختبارات قبول المستخدم - User Acceptance Tests هاد النوع من الاختبارات بيشمل حالات اختبار موسعة بتغطي جميع مجالات التطبيق، بس الغرض هون مو نلاقي الاخطاء ❌ ✅ الغرض هو نتحقق انو التطبيق مقبول لدى المستخدم وبلبي كافته طلباتو . غالبًا بتم هاد الاختبار من قِبل المستخدمين المقصودين فيه ، بنعطيهم التطبيق وبنتركهم يجربوه ويعطونا ملاحظات عليه قبل ما ننشره
مين المسؤول عن عملية الاختبار 🤔 بتتعدد عنا الأدوار هون بحسب طبيعة التطبيق وبحسب الاختبار يلي رح نطبقه فإما يكون الاختبار عن طريق : - متخصصين في اختبار البرمجيات. - خبراء جودة البرمجيات. - مطوري البرمجيات. ولتتعلم اختبار البرمجيات ، لازم يكون عندك أساسيات تحليل وتصميم النظم ومعرفة بدورة حياة وتطوير النظم " SDLC "
✅ شرحت سابقًا عن " SDLC " في المنشور التالي https://bit.ly/31SRwiW
#software#software_testing#software_development#ux#performance#bug#test#security#usability#code#devlopers
0 notes
Text
Software Development Life Cycle [SDLC]
عملية البرمجة عملية متكاملة بتتكون من مجموعة محطات بستاعدنا على التنظيم والخروج ببرمجية عالية الجودة ، ولكل برمجية دورة حياة بتتكون من مجموعة من المحطات ضمن وقت محدد وميزانية محددة لحتى نضمن الجودة العالية والمرضية للعميل. كل محطة من هي المحطات الها عملياتها الخاصة وتأثيرها الخاص على المحطة يلي بعدها
✅ خلال هاد المنشور رح نستعرض دورة حياة تطوير البرمجيات ( Software Development Life Cycle [SDLC]) ونتعرف على أهم المحطات يلي بمر فيها المشروع
المحطة الأولى : جمع المتطلبات وتحليلها
خلال هالمرحلة بتم التحاور مع العميل وخبراء بالمجال المطلوب لحتى يحصلو على معلومات بتساعد في بناء المشروع ، شو مطلوب ينجزو؟ وشو مطلوب يسلمو . وبتم فيها التخطيط ، حساب الجودة وتكوين صورة عن الأخطاء يلي ممكن تصير وكيف ممكن يكون التعامل معها
❗ لازم تكون المعلومات دقيقة ومفصلة حتى تساعدنا انو نبني المشروع بطريقة صحيحة وهالشي بخلي المحطة هي من أهم المحطات لأنو بناء المشروع بيعتمد على المخرجات منها
المحطة الثانية: تحديد المتطلبات بعد ما تمت عملية التحليل للمتطلبات ، صار الوقت لحتى يتم توثقيها والحصول على موافقة العميل عليها الناتج من هي المرحلة هو مستند يسمى (Software Requirement Specification => SRS) بكون مكتوب فيه جميع المتطلبات يلي رح يتم تصميمها وتطويرها خلال دورة حياة المشروع
المحطة الثالثة : التصميم والمرجع الرئيسي هون هو " SRS" وبناءً على المعلومات يلي بيحتويها رح يتم اختيار منهجية للتصميم حسب معاير مختلفة متل الميزانية والوقت والمخاطر ...الخ
✅ التصميم بيعطي صورة أوضح للمشروع ، وببين العلاقات داخله او خارجه
المحطة الرابعة: مرحلة البناء والتطوير [ مرحلة كتابة الكود ] بهي المرحلة رح يبدأ التطوير الفعلي للمشروع ، وكل ما كانت المعلومات المخرجة من المراحل السابقة واضحة وصحيحة، عملية الكود رح تكون بسيطة بدون مشاكل
المحطة الخامسة : مرحلة اختبار المشروع والتأكد من مطابقته للمعاير المطلوبة
✅ شرحت سابقًا عن " اختبار البرمجيات " في المنشور التالي : https://bit.ly/30ZxxOi
المحطة السادسة: مرحلة النشر والصيانة بعد اختبار المنتج والتأكد انو جاهز للنشر ، بتم اصداره رسميًا ، وبناءً على رأي الفئة المستهدفة فيه تتم عملية الصيانة حسب الحاجة
ختامًا ، في عنا أكتر من نموذج لعملية التطوير، كل نموذج بيتبع سلسلة من الخطوات السابقة (بنمط بخصه) ليضمن نجاح المشروع. اختيار النموذج بتم بناءً على طبيعة المشروع ، مدى معرفتنا بالمشروع وطبيعة الأخطاء يلي ممكن تحصل خلال تطويره ✅ من النماذج الشهيرة Waterfall Model Iterative Model Spiral Model V-Model Big Bang Model ⬅ ممكن تختلف مسميات المحطات السابقة حسب نوع النموذج المستخدم
1 note
·
View note