📄 النص الكامل للصفحة
--- SECTION: Analysis ---
Analysis
تتمثل الخطوة الأولى في دورة حياة تطوير البرمجيات في تحديد المشكلة التي يجب حلها، ثم تحديد متطلبات الحل بأكبر قدر ممكن من الدقة من خلال عمليات جمع المتطلبات. تتضمن عملية جمع المتطلبات تحليل احتياجات وتوقعات أصحاب المصلحة (عملاء أو مستخدمي النظام البرمجي)، وتحديدها، والتحقق من صحتها، وإدارتها. يتضمن التحليل كذلك فهم مجال المشكلة وتحديد المتطلبات الوظيفية وغير الوظيفية للبرنامج. ويتضح الاختلاف بين المتطلبات الوظيفية وغير الوظيفية فيما يلي:
--- SECTION: المتطلبات الوظيفية (Functional Requirements) ---
المتطلبات الوظيفية (Functional Requirements): هي القدرات أو الميزات المحددة التي يجب أن يمتلكها البرنامج لتلبية احتياجات أصحاب المصلحة. على سبيل المثال، يُعد توفير وظيفة البحث عن المنتجات وإضافتها إلى عربة التسوق وإتمام عملية الدفع بأمان لمستخدمي موقع تسوق إلكتروني وتمكينهم من ذلك، من المتطلبات الوظيفية الشائعة لذلك الموقع.
--- SECTION: المتطلبات غير الوظيفية (Non-functional Requirements) ---
المتطلبات غير الوظيفية (Non-functional Requirements): تتمثل في القيود وخصائص الجودة التي يجب أن يفي بها البرنامج ليكون مقبولاً لدى أصحاب المصلحة. ومن الأمثلة المميزة على المتطلبات غير الوظيفية للبرنامج: توفير متطلبات الأداء، مثل زمن الاستجابة والإنتاجية، وتوفير متطلبات الأمان، مثل خصوصية البيانات والمصادقة، ومتطلبات قابلية الاستخدام، مثل وجود واجهة سهلة الاستخدام.
يجب أخذ جميع الموارد بالاعتبار خلال عملية التحليل، بما فيها الموارد البشرية والمادية، والتكلفة والميزانية والوقت المتاح للمشروع، وكل ما يتعلق بالمشروع، ويجب تحديد جميع وظائف النظام الجديد المطلوبة بالتفصيل مع الإشارة إلى القيود والعقبات التي تتعلق بهذا النظام.
تتضمن عملية التحليل تحديد المستخدمين واحتياجاتهم ومتطلباتهم، وتُعد الأدوات التالية الأكثر استخدامًا لجمع البيانات المطلوبة:
الاستبيانات.
المقابلات.
الملاحظة المباشرة.
--- SECTION: مثال تطبيقي ---
يسعى أحد المصارف لإنشاء نظام إلكتروني لتقديم الخدمات المصرفية عبر الإنترنت، وستشمل مرحلة التحليل في هذا المشروع جمع المعلومات الخاصة بمتطلبات الإدارة والعملاء من أجل تحديد الخدمات المصرفية التي يجب أن يتم توفيرها إلكترونياً عبر الإنترنت، وتصميم واجهات المستخدم المطلوبة، وتحديد متطلبات الأمان والأذونات الرقمية المخصصة لموظفي المصرف والعملاء في النظام.
--- SECTION: Design ---
Design
مرحلة التصميم هي المرحلة الثانية من دورة حياة تطوير البرمجيات، حيث يوفر محللو الأنظمة في هذه المرحلة الخبرات والمهارات اللازمة لتخطيط وتصميم حل المشكلة المحددة.
تحدد مرحلة التصميم أنواع البيانات المطلوبة والواجهات المختلفة للنظام، وبشكل أكثر تحديدًا، تتضمن مرحلة التصميم ما يلي:
1. تحديد تدفق البيانات والمعلومات في جميع أجزاء النظام الجديد.
2. تحديد البيانات الرئيسة المراد معالجتها، والتي يتم تحديد هياكل البيانات المستخدمة من قبل النظام بناءً عليها.
10
وزارة التعليم
Ministry of Education
2025 - 1447
--- VISUAL CONTEXT ---
**IMAGE**: Analysis Icon
Description: An icon depicting a clipboard with a checklist and three interconnected circles, symbolizing analysis, planning, or requirements gathering in a project.
Context: Visually represents the 'Analysis' phase of software development, emphasizing documentation and interconnected processes.
**IMAGE**: Design Icon
Description: An icon depicting a computer monitor screen with angle brackets '</>' inside, symbolizing coding, software development, or system design.
Context: Visually represents the 'Design' phase of software development, highlighting the technical and coding aspects.
**IMAGE**: Ministry of Education Logo
Description: The logo of the Ministry of Education, featuring a stylized green pattern resembling leaves or data points, with the text 'وزارة التعليم' in Arabic and 'Ministry of Education 2025 - 1447' in English below it.
Context: Indicates the official source or publisher of the textbook material.
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 8 بطاقة لهذه الصفحة
ما هي الخطوة الأولى في دورة حياة تطوير البرمجيات؟
الإجابة: تحديد المشكلة التي يجب حلها، ثم تحديد متطلبات الحل بأكبر قدر ممكن من الدقة من خلال عمليات جمع المتطلبات.
الشرح: تعتبر مرحلة التحليل والتفهم الدقيق للمشكلة والمتطلبات الأساس لنجاح أي مشروع برمجي، حيث تحدد الاتجاه العام للحل.
تلميح: فكر في المرحلة التمهيدية التي تسبق أي تصميم أو برمجة.
التصنيف: مفهوم جوهري | المستوى: سهل
ما تعريف عملية جمع المتطلبات (Requirements Gathering)؟
الإجابة: هي عملية تتضمن تحليل احتياجات وتوقعات أصحاب المصلحة (عملاء أو مستخدمي النظام البرمجي)، وتحديدها، والتحقق من صحتها، وإدارتها.
الشرح: جمع المتطلبات هو نشاط تحليلي منهجي يهدف إلى استخلاص وتوثيق الاحتياجات الحقيقية للنظام المطلوب بنائه.
تلميح: ركز على الأنشطة المتعلقة بفهم ما يريده المستخدمون وأصحاب المصلحة من النظام.
التصنيف: تعريف | المستوى: متوسط
ما هي المتطلبات الوظيفية (Functional Requirements) في هندسة البرمجيات؟
الإجابة: هي القدرات أو الميزات المحددة التي يجب أن يمتلكها البرنامج لتلبية احتياجات أصحاب المصلحة.
الشرح: المتطلبات الوظيفية تصف الخدمات التي يجب أن يقدمها النظام، وكيفية تفاعله مع المدخلات والمخرجات، وما هي السلوكيات المتوقعة منه.
تلميح: تتعلق بما سيفعله النظام، أي وظائفه وسلوكه.
التصنيف: تعريف | المستوى: متوسط
ما هي المتطلبات غير الوظيفية (Non-functional Requirements) في هندسة البرمجيات؟
الإجابة: هي القيود وخصائص الجودة التي يجب أن يفي بها البرنامج ليكون مقبولاً لدى أصحاب المصلحة.
الشرح: المتطلبات غير الوظيفية تحدد معايير الأداء والأمان والموثوقية والقابلية للاستخدام وغيرها من السمات النوعية للنظام.
تلميح: تتعلق بكيفية أداء النظام وليس بما يفعله. فكر في الصفات والقيود.
التصنيف: تعريف | المستوى: متوسط
ما الفرق بين المتطلبات الوظيفية والمتطلبات غير الوظيفية في تطوير البرمجيات؟
الإجابة: المتطلبات الوظيفية: هي القدرات أو الميزات المحددة التي يجب أن يمتلكها البرنامج (ماذا يفعل النظام). المتطلبات غير الوظيفية: هي القيود وخصائص الجودة التي يجب أن يفي بها البرنامج (كيف يؤدّي النظام وظائفه).
الشرح: الفرق الأساسي يكمن في طبيعة المتطلب؛ الوظيفي يحدد السلوك والخدمة، وغير الوظيفي يحدد معايير الجودة والأداء لتلك الخدمة.
تلميح: قارن بين 'ماذا يفعل' و 'كيف يؤدّي'.
التصنيف: فرق بين مفهومين | المستوى: صعب
اذكر ثلاثة أمثلة على المتطلبات غير الوظيفية للبرنامج.
الإجابة: 1. متطلبات الأداء (مثل زمن الاستجابة والإنتاجية). 2. متطلبات الأمان (مثل خصوصية البيانات والمصادقة). 3. متطلبات قابلية الاستخدام (مثل وجود واجهة سهلة الاستخدام).
الشرح: هذه الأمثلة تمثل فئات رئيسية للمتطلبات غير الوظيفية التي تؤثر بشكل كبير على رضا المستخدم وقابلية النظام للنجاح.
تلميح: فكر في الصفات التي تصف جودة النظام مثل السرعة والأمان وسهولة التعامل.
التصنيف: مفهوم جوهري | المستوى: سهل
ما هي الأدوات الثلاث الأكثر استخدامًا لجمع البيانات في مرحلة تحليل متطلبات البرمجيات؟
الإجابة: 1. الاستبيانات. 2. المقابلات. 3. الملاحظة المباشرة.
الشرح: تستخدم هذه الأدوات لفهم احتياجات المستخدمين بدقة من خلال التواصل المباشر أو غير المباشر ومراقبة سلوكهم في بيئة العمل الحقيقية أو المحاكاة.
تلميح: تتضمن طرق تفاعل مع المستخدمين لجمع المعلومات.
التصنيف: صيغة/خطوات | المستوى: سهل
ما هي المرحلة التي تلي مرحلة التحليل في دورة حياة تطوير البرمجيات؟ وما الهدف الرئيسي منها؟
الإجابة: المرحلة التالية هي مرحلة التصميم. والهدف الرئيسي منها هو تخطيط وتصميم حل المشكلة المحددة، وتحديد أنواع البيانات المطلوبة والواجهات المختلفة للنظام.
الشرح: مرحلة التصميم هي الجسر بين تحليل ما هو مطلوب (المتطلبات) وتنفيذ كيف سيتم بناؤه (التطوير).
تلميح: تأتي بعد فهم المشكلة والمتطلبات، وتهتم بكيفية بناء الحل.
التصنيف: مفهوم جوهري | المستوى: متوسط