توثيق البرمجيات: الفرق بين النسختين

[مراجعة غير مفحوصة][مراجعة غير مفحوصة]
تم حذف المحتوى تمت إضافة المحتوى
لا ملخص تعديل
سطر 1:
{{يحرر}}
{{ترجمة}}
{{refimprove|date=August 2010}}
 
'''توثيق البرمجيات Software Documentation''' أو توثيق الشيفرة البرمجية المصدرية هي عملية كتابة نصوص ترفق ب[[برمجيات]] [[الكمبيوتر]]. وهي إما أن تكون نصوصاً توضيحية تشرح كيفية عمل البرمجية أو كيفية استخدامها.
 
السطر 17 ⟵ 13:
توثيق المتطلبات هو عبارة عن وصف ما الذي تؤديه أو ستؤديه برمجية معينة. ويستخدم التوثيق طوال مرحلة بناء البرمجية وذلك لتوضيح ما الذي ستؤديه البرمجية. كما يستخدم التوثيق كأساس للاتفاق على الوظائف المرجو تحقيقها من هذه البرمجية. توضع المتطلبات وتستخدم من قبل جميع المشاركين في إنتاج البرمجية بما فيهم: المستخدم النهائي والمستهلك ومدراء الإنتاج والمبيعات ومعماري البرمجيات ومهندسو الاستخدامية والمبرمجون وفاحصو البرمجيات وغيرهم. وبذا فإن توثيق المتطلبات يستخدم لتحقيق أهداف عديدة. تأتي المتطلبات بأنماط متنوعة رمزية وشكلية. وقد تكون المتطلبات على هيئة "أهداف" (مثلاً، بيئة العمل الموزعة) أو "تصميم" (مثلاً، يجب أن يتم البناء بالنقر على ملف التهيئة بواسطة زر الفأرة الأيمن ومن ثم اختيار "بناء") أو أي شيئ آخر بينهما. وقد تكتب هذه الأهداف بعبارات بلغة طبيعية أو بالرسم أو بمعادلات رياضية أو بخليط من طرق التعبير هذه.
 
إن تنوع وتعقد عملية توثيق المتطلبات تجعل منه تحدياً. فقد تكون المتطلبات ضمنية بحيث يصعب توضيحها. لذا يصعب الجزم بالكمية والماهية والوسيلة اللازمة للتوثيق؛ كما يصعب تحديد ما يجب أن يترك لمرحلتي توثيق التصميم والهيكليةوالمعمارية. هذا بالإضافة إلى صعوبة معرفة كيف يتعامل الأشخاص المختلفون مع المتطلبات وكيف يقرأونها. لذا، غالباً ما يبقى توثيق المتطلبات غير مكتمل (أو قد لا يتم إنشاؤه أصلاً). بدون التوثيق الملائم للمتطلبات، يصبح التحكم بالتغيير المطلوب إجراؤه على المتطلبات أمراً أكثر صعوبة وأكثر عرضة للخطأ، ما يقلل من جودة البرمجية وزمن تجهيزها للاستخدام (فتصبح كلفتها عالية).
ترتبط الحاجة لتوثيق المتطلبات بدرجة تعقد وصعوبة المنتج وتأثيره ومتوسط العمر المتوقع للبرمجية. فإذا كانت البرمجية معقدة جداً أو يتم برمجتها من قبل العديد من الأشخاص (كبرمجيات [[الهواتف المحمولة]]) فإن المتطلبات تساعد في هذه الحالة على توضيح ما الذي يجب إنجازه. أما إذا كانت البرمجية حرجة من حيث تأثيرها السلامة وقد يكون لها تأثير سلبي على حياة الإنسان (مثلاً نظم التحكم بالطاقة النووية أو المعدات الطبية) فإن توثيق المتطلبات يصبح أكثر أهمية ويكون في هذه الحالة إلزامياً. إذا كان متوقعاً أن لا يزيد عمر تشغيل البرمجية عن شهر أو شهرين (مثلاً يُستخدم تطبيق للهواتف المحمولة يستخدم خلال حملة دعائية ولفترةلفترة محدودة) فإن توثيق المتطلبات لا يكون مهماً. إذا كانت البرمجية إصداراً أولياً بحيث يبنى عليها لاحقاً فإن التوثيق يساعد كثيراً في إدارة التغيير المطلوب تنفيذه لتطوير البرمجية.
غالباً ما يتم تحديد المتطلبات في ملفات متطلبات (مثلاً ملفات [[معالجات النصوص|معالج نصوص]] كـ Word أو [[معالجات الجداول|معالج جداول]] كـ Excel. وهذه الملفات تساعد في التحكم في درجة الصعوبة المتزايدة أو تغيير طبيعة توثيق المتطلبات.
 
=== توثيق الهيكلية المعمارية\ التصميم ===
توثيق الهيكليةالمعمارية هو تصنيف آخر لملف التصميم. تشتق ملفات الهيكليةالمعمارية بطريقة ما من ملفات تصميم [[الشيفرة البرمجية|الكود]]. تتضمن وثائق الهيكليةالمعمارية القليل عن الشيفرة البرمجية نفسها، ولا تصف كيفية برمجة أجزاء معينة من الكود أو حتى سبب وجودها، بل تصف المتطلبات العامة التي تحفّز وجود تلك الأجزاء من الكود. وثيقة الهيكليةالمعمارية الجيدة تكون ذات تفاصيل قليلة لكنها تصف المتطلبات بكثافة. وقد تقترح منهجية للتصميم الأولي، لكنها لا تتضمن تفاصيل كثيرة عنه.
 
من أصناف مستندات التصميم تلك المستخدمة لأغراض المقارنة أو الدراسات. وغالباً ما تكون بهيئة [[أوراق بيضاء|ورقة بيضاء]]. وتركز على جانب محدد من النظام وتقترح طرقاً بديلة. فقد ينصب تركيزها على [[واجهة التطبيق]] أو [[شيفرة البرمجة]] أو التصميم أو حتى على مستوى الهيكليةالمعمارية. تلخص هذه المستندات بديلاً أو أكثر وتعدد إيجابيات وسلبيات كل منها. يحبيجب أن توضح أيضاً تكلفة كل حل من الحلول المقترحة. تهدف الدراسات غالباً إلى ابتكار الحلول واستنباطها بدلاً من فرض وجهة نظر محددة. ويقبل في هذه الدراسات عدم الخروج باستنتاجات أو أن يكون الاستنتاج أن ليس ثمة بديل من البدائل أفضل من الأساس لتبرير إجراء تغيير. ينبغي التعامل مع هذه الدراسات على أنها مبتغى علمي وليس وسيلة تسويق.
 
من أهم أجزاء وثيقة التصميم في عملية تطوير البرمجيات ما يعرف بوثيقة تصميم قاعدة البيانات. وتتضمن عناصر التصميم المفاهيمي والمنطقي والفيزيائي. تتضمن هذه الوثيقة معلومات أساسية يحتاج إليها الأشخاص الذين يتعاملون مع قاعدة البيانات. إن الهدف من تحضير وثيقة تصميم قاعدة البيانات هو إنشاء مصدر مشترك لجميع المشاركين، وهم: