التوثيق والمعايير

التوثيق والمعايير، تتضمن عملية التصميم عند بناء الأنظمة والمنتجات تحويل متطلبات العملاء إلى شئ واقعي حيث

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

التوثيق والمعايير في التصميم

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

مواصفات التصميم لها جوانب مختلفة بناء على نموذج التصميم نفسه، والذي يعتبر هو المخطط الرئيسي لمواصفات

التصميم الأساسية، وتكتمل هذه المواصفات عندما يقوم مصمم البرمجيات (Software Designer) بتحسين عرض البرنامج، وتوفير طريقة مناسبة لعرض التصميم النهائي متضمنا جميع المواصفات والمتطلبات.

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

أنواع وثائق التصميم Types of Design Documents

مواصفات متطلبات البرمجيات Software Requirements Specification (SRS)

Software Requirements Specification (SRS) and Its Key Components | SDH

من أنواع الوثائق والمعايير المختلفة في تصميم البرمجيات، ويحتوي على تفاصيل المتطلبات الوظيفية (Functional Requirements)، مثال: نظام لابد أن يرسل بريد إلكتروني للمستخدم للتأكيد على عملية الطلب، والمتطلبات الغير وظيفية (None Functional Requirements)، مثال: كل صفحة لابد أن يتم تحميلها في خلال ثانيتين.

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

وثائق تصميم النظام System Design Documents (SDD)

يوفر هذا النوع من التوثيق والمعايير نظرة عامة حول هيكلية النظام، حيث يتم شرح جميع تفاصيل المكونات الرئيسية في النظام، والوحدات والأجزاء الداخلية، وطرق تفاعلها مع بعضها لتكوين نظام يحل مشكلة معينة، وتتضمن أيضا مخططات مهمة، مثل: مخططات الهيكلية (Architecture Diagrams) ومخططات تدفق البيانات (Data Flow Diagrams) والتي ذكرناها من قبل.

وثائق التصميم التفصيلي Detailed Design Documents (DDD)

High Level Design and Detailed Design | Connected Corridors Program

تحتوي على تفاصيل التصميمات الداخلية للنظام أو المنتج، وتعتبر من أهم الوثائق والمعايير في صناعة البرمجيات لأنها

تحتوي على التفاصيل الصغيرة، مثل:

  • الخوارزميات المستخدمة.
  • هياكل البيانات.
  •  والتنفيذ الداخلي للوظائف.

كما تعتبر نموذج إرشادي للمطورين لفهم طريقة تنفيذ البرامج، وتسهيل العمل على المطورين الجدد في الشركة.

هيكلية التوثيق والمعايير Structure of Design Documents

How to Write a Software Design Document (SDD)

  • المراجع (Reference Documents): تتضمن بعض الوثائق الحالية والتي تحتوي على بيانات برامج تم تطويرها، ووثائق النظام، وملفات المورد سواء كان برنامج أو جهاز، والمراجع التقنية.
  • وحدات كل وحدة (Modules for each module): تروي قصة العمليات الداخلية للوحدات أو أجزاء النظام، وكذلك شرح كامل للواجهة الأمامية، ووصف لغة التصميم، والوحدات المستخدمة.
  • الإطار (Scope): تتضمن الهدف الرئيسي من النظام، وأيضا البرامج والأجهزة وواجهات المستخدم المختلفة، والعمليات الرئيسية للبرنامج، وقاعدة البيانات الخارجية والتي يتم ربطها بالبرنامج، والقيود الأساسية في التصميم.
  • وصف التصميم (Design Description): وضف البيانات، وهيكلية البرامج الفرعية داخل النظام، والهيكلية الداخلية للواجهات.
  • بنود الاختبار (Test Provisions): توفير مسارات وقواعد إرشادية لاختبار البرنامج، وإستراتيجية التكامل مع البرامج الأخرى في المستقبل، وبعض الاعتبارات الخاصة.
  • هيكلية الملف والبيانات العامة (File Structure and global data): تتضمن معلومات حول الملفات الخارجية وهيكليتها، والبيانات العامة داخل النظام، والمراجع التبادلية للملفات والبيانات.

أهمية توثيق التصميم Importance of Design Documentation

  • فهم المتطلبات بشكل جيد:

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

  • تصميم وهيكلية المنتج:

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

Software architecture - Wikipedia

  • الأشخاص الجدد يمكنهم العمل أيضا على المشروع:

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

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

مباشر أو غير مباشر، ومفيد في فهم وظيفة ومساهمة كل عضو في المشروع، وإدارة التغيير في الحالات الحرجة.

معايير البرمجيات Software Standards

ISO/IEC 9126 - Wikipedia

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

قبل بعض المنظام والجهات المتخصصة في الصناعة لتحسين أفضل الممارسات في تطوير البرمجيات وتسهيل التعاون داخل الصناعة.

معايير الكود Code Standards

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

إقتراحات تحسين بايثون الثمانية Python Enhancement Proposals (PEP 8).

معايير التوثيق Documentation Standards

تحدد هذه الوثائق والمعايير طريقة تنسيق توثيق البرمجيات، وهيكلية المحتوى، وتنظيم الوثائق المتعلقة بنتجات

البرمجيات، وتغطي جوانب، مثل: توثيق المتطلبات، ووثائق التصميم، وأدلة المستخدم، وتوثيق واجهة برمجة التطبيقات

(API)، ومن أمثلتها IEEE 830 Standards وهي معايير لكتابة مواصفات متطلبات البرمجيات.

معايير الجودة Quality Standards

تحدد هذه المعايير عوامل تمييز جودة البرامج والمنتجات، وتشمل:

  • عوامل المصداقية، والكفاءة، وقابلية التعديل،
  • قابلية الاستخدام، ومن أمثلتها: ISO 25010

لذلك، هي سلسلة من العوامل التي تحدد جودة البرنامج وقدرته على تحسين العمليات والعمل بشكل جيد، وتعتبر معايير

الجودة أساس في الاعتماد على البرامج.

معايير التوافقية Interoperability Standards

Module 3: Interoperability and standards Requirements | SOCIAL DIGITAL

هي مجموعة من القواعد والتطبيقات التي تتحقق من مختلف أنظمة البرمجيات، والتأكد أنها يمكنها التواصل والعمل

بشكل سليم، وتتضمن جوانب محددة، مثل: تبادل البيانات، وتنسيق الرسائل، وقواعد التواصل، وتعد مهمة جدا على

مستوى الشبكات، ومن أمثلتها: XML, JSON, SOAP

معايير الأمان Security Standards

الإرشادات وأفضل الممارسات لتأمين أنظمة البرمجيات، والحماية ضد الهجمات والثغرات الأمنية، وتغطي جوانب مثل: المصادقة (Authentication).

  • التشفير (Encryption)
  • وصلاحية الدخول.
  • تأمين ممارسات الكود.

ومن أمثلة المعايير الأمنية المستخدمة:

  • OWASP Top Ten
  • PCI DSS
  • ISO/IEC 27001

حيث يساعد الإلتزام بالتوثيق في تحسين جودة المنتجات، مصداقيتها، وكذلك مدى قابليتها للصيانة، حيث يمكن فهم

البرامج المعقدة من خلال عمليات التوثيق والمعايير الجيدة لذا لابد من الاهتمام بهذه العوامل والممارسات لتنفيذ أنظمة

على أعلى مستوى.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى
Translate »
error: ان المحتوى محمي