Implementation: Coding, Testing & Installation التنفيذ: البرمجة والاختبار والتثبيت

Turning design specifications into working code, verifying its correctness, and deploying it to the organization. تحويل مواصفات التصميم إلى كود برمجي عامل، والتحقق من صحته، ونشره داخل المؤسسة.

7 Types of Testing Static vs Dynamic Direct vs Parallel User Documentation Security

The Implementation Phase مرحلة التنفيذ (Implementation Phase)

This is the second most expensive phase (after Maintenance). It involves many people: Analysts, Designers, Programmers, Technical Writers, and Testers. تُعد هذه المرحلة ثاني أكثر المراحل تكلفة (بعد الصيانة). ويشارك فيها العديد من الأشخاص: المحللون، المصممون، المبرمجون، الكتاب التقنيون، والمختبرون.

Key Activities: الأنشطة الرئيسية:
  • Coding (Programming)Coding (البرمجة)
  • Testing (Verification)Testing (التحقق)
  • Installation (Deployment)Installation (النشر)
  • DocumentationDocumentation (التوثيق)
  • Training & Supportالتدريب والدعم
Key Deliverables: المخرجات الرئيسية:
  • Code & Test Plansخطط الكود والاختبار
  • User Manualsأدلة المستخدم
  • Training Materialsمواد التدريب
  • Installed Systemالنظام المثبت

Software Application Testing اختبار برمجيات التطبيق

Static Testing (No Execution) Static Testing (بدون تشغيل)

Code is reviewed without running it. يتم مراجعة الكود دون تشغيله فعلياً.

  • Inspection: Detecting errors (syntax).اكتشاف أخطاء بناء الجملة.
  • Walkthrough: Detecting logic errors (peer review).اكتشاف الأخطاء المنطقية.
  • Desk Checking: Manual trace by programmer.تتبع يدوي من قبل المبرمج.

Dynamic Testing (Execution) Dynamic Testing (مع التشغيل)

Code is run with test data. يتم تشغيل الكود باستخدام بيانات اختبار.

  • Unit Testing: Single module.اختبار وحدة برمجية واحدة.
  • Integration Testing: Modules working together.اختبار عمل الوحدات معاً.
  • System Testing: Whole system vs Requirements.اختبار النظام بالكامل مقابل المتطلبات.

The Seven Types of Tests الأنواع السبعة للاختبارات

Test Typeنوع الاختبار Focusالتركيز Performed Byبواسطة
1. InspectionCode structure/SyntaxProgrammer/Peer
2. WalkthroughLogic/AlgorithmProgrammer/Peer
3. Desk CheckingManual traceProgrammer
4. Unit TestingSingle Module LogicProgrammer
5. Integration TestingModule InterfacesProgrammer/Tester
6. System TestingFunctional RequirementsTester
7. Stub TestingCalling unimplemented modulesProgrammer

Installation Strategies استراتيجيات التثبيت (Installation)

Direct Installation التثبيت المباشر (Direct Installation)

Turn off old system, turn on new one immediately. "Cold Turkey". إيقاف النظام القديم وتشغيل الجديد فوراً. يُعرف بـ "Cold Turkey".
High Risk.خطر عالٍ. Low Cost.تكلفة منخفضة.

Parallel Installation التثبيت المتوازي (Parallel Installation)

Run both old and new systems simultaneously for a period. تشغيل كلا النظامين القديم والجديد في وقت واحد لفترة محددة.
Low Risk.خطر منخفض. High Cost (Double entry).تكلفة عالية (إدخال مزدوج).

Single Location (Pilot) التثبيت في موقع واحد (Pilot)

Try it in one branch first. Learn, fix, then rollout. تجربته في فرع واحد أولاً. التعلم والإصلاح، ثم التعميم.
Medium Risk.خطر متوسط. Limits damage.يحد من الأضرار المحتملة.

Phased Installation التثبيت المرحلي (Phased Installation)

Install one module at a time (e.g., Accounts Payable, then Receivable). تثبيت وحدة برمجية واحدة تلو الأخرى (مثلاً: المدفوعات ثم المقبوضات).
Complex Coordination.تنسيق معقد.

Documentation & Security التوثيق والأمان

Documentation Types أنواع التوثيق

  • System Documentation System Documentation For maintenance programmers. Details design specs, internal code logic, and data structures. لمبرمجي الصيانة. يفصل مواصفات التصميم، المنطق الداخلي للكود، وهياكل البيانات.
  • User Documentation User Documentation For end-users. Details how to use the system (Manuals, Help guides). للمستخدمين النهائيين. يفصل كيفية استخدام النظام (أدلة الاستخدام، المساعدة).

Security Issues قضايا الأمان (Security Issues)

Data is a valuable asset. Threats include: البيانات أصل ثمين. تشمل التهديدات ما يلي:

  • External: Hacking, Malware (48% of breaches).الاختراق، البرمجيات الخبيثة.
  • Internal: Privilege misuse (28% of breaches).إساءة استخدام الصلاحيات.
  • Accidental: Human error.الأخطاء البشرية العرضية.
Cost of Data Breach: ~$4.9M (Middle East) تكلفة خرق البيانات: حوالي 4.9 مليون دولار (الشرق الأوسط)

The Exam Vault خزنة الاختبارات

Professor's Secrets & Trap Avoidance أسرار البروفيسور وتجنب الفخاخ

TRAP: System vs User Documentation فخ: توثيق النظام مقابل توثيق المستخدم

System Doc: Tells you how the system is built (For Programmers).
User Doc: Tells you how to use the system (For Users).
Do not confuse the audience.
System Doc: يوضح كيف تم بناء النظام (للمبرمجين).
User Doc: يوضح كيفية استخدام النظام (للمستخدمين).
لا تخلط بين الجمهور المستهدف.

TRAP: Testing Order فخ: ترتيب الاختبار

You cannot do System Testing before Integration Testing.
You cannot do Integration Testing before Unit Testing.
It is a bottom-up verification process (Smallest pieces first).
لا يمكنك إجراء System Testing قبل Integration Testing.
ولا يمكنك إجراء Integration Testing قبل Unit Testing.
هي عملية تحقق تصاعدية (من القطع الأصغر أولاً).

SECRET: Alpha vs Beta سر: Alpha مقابل Beta

Alpha Testing: Done by users using simulated data (controlled environment).
Beta Testing: Done by users using REAL data in their REAL environment (live).
Alpha Testing: يقوم بها المستخدمون ببيانات محاكية (بيئة مراقبة).
Beta Testing: يقوم بها المستخدمون ببيانات حقيقية في بيئتهم الحقيقية (نشر حي).

KEY CONCEPT: The Cost of Errors مفهوم أساسي: تكلفة الأخطاء

Finding a bug in the Implementation phase is 100x more expensive than finding it in the Analysis phase. This is why we spend so much time on Requirements gathering! اكتشاف خطأ في مرحلة الـ Implementation أغلى بـ 100 مرة من اكتشافه في مرحلة الـ Analysis. لهذا السبب نقضي وقتاً طويلاً في جمع المتطلبات!