مدخل إلى مخطّط HCP وMakingHCPChartSkill

· آخر تحديث: · · HCP, Codex, SVG, Python, التصميم

سجل التعديلات (3 تحديثات، آخر تحديث 3 Sep، 2026)

سجل بالتغييرات التي أُجريت على هذا المقال. وحيثما حُفظت نسخة سابقة، تبقى متاحة للقراءة عبر رابط دائم يحمل معرّف DOI.

أُضيفت روابط الاستشارة الموجودة في الأصل الياباني (consultation_services). ولم يتغيّر نصّ المقالة نفسه. قراءة النسخة السابقة لهذا التحديث (DOI: 10.5281/zenodo.22240798)
أُعيدَت الترجمة العربية كترجمة كاملة عن النص الياباني الأصلي، وأُضيفَت خريطة المعرفة.
أعيدت الترجمة كترجمة كاملة عن النص الياباني الأصلي. كانت النسخة العربية السابقة مختصراً يسقط أبواباً وجداول ورسوم Mermaid وتعليقات الأشكال وFAQ. أُعيدت هذه العناصر وفق الأصل الياباني، والادّعاءات التقنية مطابقة للنسخة اليابانية.
النشر الأول
الاستشهاد بهذا المقال(DOI: 10.5281/zenodo.21621309)

هذا المقال محفوظ على Zenodo. يرد أدناه معرّف DOI الذي يشير دائمًا إلى أحدث نسخة، ومعرّف DOI المثبَّت على النسخة التي تقرؤها.

小村 豪 (2026). مدخل إلى مخطّط HCP وMakingHCPChartSkill. شركة كومورا سوفت ذ.م.م.. https://doi.org/10.5281/zenodo.21621309 https://comcomponent.com/ar/blog/2026/02/22/000-what-is-hcp-chart-and-making-hcp-chart-skill/

DOI (أحدث نسخة)
10.5281/zenodo.21621309
DOI (هذه النسخة)
10.5281/zenodo.22279690

المحتويات

  1. ما هو مخطّط HCP
  2. المشكلة التي يحلّها هذا المستودع
  3. أسرع طريقة لفهم بنية المستودع
  4. تمرين عملي في 10 دقائق (عيّنة GCD)
  5. كيف تقرأ العيّنتين
  6. ماذا يجري في الداخل (مخطّط HCP)
  7. خلاصة

عندما تريد لمخطّط HCP أن يصير «رسمًا يُقرأ كمواصفة»، يصعب التشغيل بالرسوم اليدوية وحدها. MakingHCPChartSkill مستودع skill يفسّر HCP-DSL (نصًا) وفق المواصفة ويعيد SVG حتميًا (أي أنّ المدخل نفسه يعطي SVG نفسه دائمًا).

يبدأ هذا المقال من أساسيات مخطّط HCP ويصل دفعة واحدة حتى التشغيل الفعلي.

في المخطّط، يشير الخطّ المتّصل إلى علاقة قائمة دائماً، ويشير الخطّ المتقطّع إلى علاقة مشروطة (شروط قيامها مذكورة في شرح كلّ علاقة في الصفحة التفصيليّة). القائمة الكاملة للعلاقات (المجموع 14، مع الأدلّة ودرجة اليقين) وتعريفات المفاهيم الرئيسة مجمّعة في صفحة تفاصيل خريطة المعرفة (باليابانية). البيانات: JSON-LD / Turtle

1. ما هو مخطّط HCP

مخطّط HCP تعبير لوصف المعالجة وصفًا هرميًا. في هذا المستودع تُعامل طريقة الكتابة التالية كقاعدة إلزامية.

  • اليسار: «ماذا يُنجَز (الغاية)»
  • اليمين (إزاحة أعمق): «كيف يُنجَز (الوسيلة والتفاصيل)»
  • المستوى الأعلى (المستوى 0) تُكتب فيه تسمية الغاية

بكتابة النص وفق هذه القواعد يصير تقابل قصد التصميم وتفاصيل التنفيذ أسهل قراءة.

القواعد الأساسية لكتابة مخطّط HCPعلى المستوى 0 الأعلى تُكتب تسمية الغاية فقط، وفي اليسار الغاية أي ماذا يُنجَز، وفي الإزاحة الأعمق يمينًا الوسيلة أي كيف يُنجَز، فيُقرأ تقابل قصد التصميم وتفاصيل التنفيذ.المستوى 0 تسمية الغاية فقطاليسار غاية (ماذا يُنجَز)اليمين وسيلة (كيف يُنجَز)يُقرأ تقابل القصد وتفاصيل التنفيذ

الشكل 1: مخطّط HCP يصف المعالجة هرميًا بتقابل «اليسار غاية، وإزاحة اليمين وسيلة».

1.1. أصل HCP والفرق عن طرائق رسم أخرى

HCP اختصار Hierarchical ComPact description chart، وهي طريقة رسم وُضعت في مختبر يوكوسوكا للاتصالات الكهربائية التابع لهيئة البرق والهاتف اليابانية (NTT حاليًا). أي أنّها ليست مصطلحًا اخترعه هذا المقال أو المستودع، بل تدوين مستخدم في اليابان من قبل. من سماتها: إمكان وصف المعالجة هرميًا، وسهولة إلحاق علاقة البيانات والمعالجة، وسهولة الرسم يدويًا، ووضع الشرح قرب الرمز لا داخل إطار فيدخل في الصفحة الواحدة محتوى أكثر.

إذا صففتها مع طرائق أخرى يتّضح موضعها.

طريقة الرسم كيف تمثّل البنية الفرق عن مخطّط HCP
مخطّط تدفّق صناديق معالجة متتابعة، والخطوط تتبع التدفّق لا تمثّل الهرمية «أيّ معالجة تفصيل لأيّ معالجة». إذا كثرت التفرّعات تتقاطع الخطوط بسهولة
مخطّط NS (مخطّط بنيوي) مستطيلات متداخلة تمثّل البنية الشرح يُكتب داخل الصندوق، فيضيق العرض عند الهرمية العميقة أو الشرح الطويل
PAD شجرة تتفصّل من اليسار إلى اليمين اتجاه «اليسار غاية واليمين وسيلة» قريب من فكرة HCP. رموز HCP محورها الدائرة، والشرح يُلحق يمين الرمز

بعد ذلك، ما يخصّ MakingHCPChartSkill الذي يعالجه هذا المقال ليس التدوين نفسه بل الاثنان التاليان.

  • HCP-DSL لكتابة مخطّط HCP كنصّ، ومواصفة تفسيره (references/hcpchartspec.md)
  • قاعدة حبيبات الوصف: «على المستوى 0 تُكتب تسمية الغاية فقط، وتُنزَّل الأوصاف شبه البرمجية مثل الإسناد والمقارنة إلى عقد ابن». هذا ما يحدّده جانب المستودع كقاعدة إلزامية، وليس قاعدة مخطّط HCP عامّة
فصل التدوين العامّ عمّا يخصّ المستودعمخطّط HCP نفسه تدوين قائم وُضع في مختبر يوكوسوكا للاتصالات الكهربائية، وما يخصّ هذا المستودع اثنان فقط: HCP-DSL ومواصفة تفسيره، وقاعدة حبيبات الوصف.مخطّط HCP (طريقة رسم قائمة)ما يخصّ MakingHCPChartSkillHCP-DSL ومواصفة التفسيرقاعدة حبيبات الوصفالمستوى 0 تسمية الغاية فقط

الشكل 2: التدوين نفسه طريقة رسم قائمة من قبل، وما يخصّ هذا المستودع اثنان فقط: HCP-DSL وقاعدة حبيبات الوصف.

1.2. كتابة HCP-DSL (جدول بناء الجملة)

الصورة الكلّية للكتابة تكفي بهذا الجدول تقريبًا. المواصفة التفصيلية في references/hcpchartspec.md، والنقاط الجوهرية في references/hcp-chart-schema.md.

أنواع الأسطر

شكل السطر المعاملة
سطر فارغ يُتجاهل
سطر أوّله (بعد حذف الفراغ) # يُتجاهل كتعليق
سطر أوّله (بعد حذف الفراغ) \ أو ¥ سطر أمر. اسم الأمر حتى أوّل فراغ نصف عرض، وما بعده وسائط
غير ما سبق يُرسم كعقدة معالجة عادية (دائرة)

الإزاحة (الهرمية)

القاعدة المحتوى
وحدة المستوى الواحد علامة جدولة واحدة، أو أربعة فراغات نصف عرض
إزاحة ناقصة خطوة مثل فراغين تصبح error
التعمّق دفعة واحدة أعمق من السطر السابق بدرجتين أو أكثر يصبح error. انزل درجة درجة

الأوامر

الأمر المعنى انتباه
\title / \author / \date / \version معلومات الترويسة إن كُتب قبل \module يكون مشتركاً لكلّ الوحدات، وإن كُتب بعده يُستبدل لتلك الوحدة فقط
\module <اسم> بدء وحدة إلزامي. يُكتب على المستوى 0 فقط. وحدة بالاسم نفسه error
\mod <تسمية> استدعاء وحدة أو دالة يُرسم بدائرة مزدوجة
\repeat <تسمية> تكرار محتوى التكرار يُكتب درجة أسفل
\fork <تسمية> أب التفرّع (التوزيع) فروع التفرّع تُوضع مباشرة أسفله
\true <تسمية> / \false <تسمية> فرعا تفرّع الصواب والخطأ لا يُوضعان إلا مباشرة تحت \fork (أعمق بدرجة واحدة فقط). إن لم يكن في الأسلاف \fork فـ error
\branch <شرط> فرع تفرّع متعدّد غير الصواب والخطأ كذلك
\return [n] خروج n عدد صحيح اختياري
\ec <تسمية> / \ex <تسمية> فحص خطأ / مخرج خطأ في الإصدار الحالي رسم فقط، بلا معنى تحكّم
\data <اسم> تعريف بيانات لا يجوز أن يتضمّن الاسم فراغًا و. (إن تضمّن فـ error)
\in <اسم> / \out <اسم> حاشية بيانات إدخال/إخراج تُعامل كحاشية للعقدة الأب درجة أعلى

أصغر مثال كالتالي. ابدأ من \module، وضع الغاية يسارًا والوسيلة يمينًا.

\module main
استلام المدخل والتحقّق من الافتراضات
    التحقّق من أنّ القيمة عدد صحيح موجب
\fork هل المدخل سليم
    \true نعم
        تنفيذ المعالجة الرئيسة
    \false لا
        الإعادة إلى المستدعي كخطأ
        \return
إعادة النتيجة
تدفّق المعالجة الذي يمثّله أصغر مثال DSLيبدأ من module ويتحقّق من افتراضات المدخل، ويتفرّع بـ fork هل المدخل سليم، فإن كان سليمًا ينفّذ المعالجة الرئيسة ويعيد النتيجة، وإلا يعيد خطأ إلى المستدعي.نعملابدء module mainاستلام المدخل والتحقّق من الافتراضاتهل المدخل سليمتنفيذ المعالجة الرئيسةالإعادة كخطأ (return)إعادة النتيجة

الشكل 3: تدفّق أصغر مثال. ابدأ من module وضع الغاية يسارًا، ورتّب فرعي true وfalse مباشرة تحت fork.

2. المشكلة التي يحلّها هذا المستودع

إذا أُدير الرسم وحده يدويًا، يشيع وقوع مشكلات كهذه.

  • انحراف الرسم عن نص المواصفة
  • غموض قيود التفرّع والهرمية
  • صعوبة مراجعة الفروقات

في MakingHCPChartSkill تمرّر HCP-DSL كطلب JSON، ويتولّى hcp_render_svg.py التحقّق والرسم. المدخل نفسه يعطي المخرج نفسه دائمًا، لذلك يسهل إدخال الرسوم في CI والمراجعة.

مشكلات الرسم اليدوي وحلّ الإدارة كنصّإذا أُدير الرسم وحده يدويًا يقع انحراف عن نص المواصفة وصعوبة مراجعة الفروقات، أمّا تمرير HCP-DSL كطلب JSON فيتولّى معه hcp_render_svg.py التحقّق والرسم، والمدخل نفسه يعطي SVG نفسه.إدارة الرسم وحده يدويًاانحراف · غموض · صعوبة مراجعة الفروقاتتمرير HCP-DSL كطلب JSONhcp_render_svg.py يتحقّق ويرسميعود SVG حتمييمكن إدخاله في CI والمراجعة

الشكل 4: بدل رسم اليد يُولَّد SVG حتميًا من نص HCP-DSL، فيمكن حمله على مراجعة الفروقات وCI.

3. أسرع طريقة لفهم بنية المستودع

المستودع المستهدف: https://github.com/gomurin0428/MakingHCPChartSkill

  • hcp-chart-svg-v2/SKILL.md طريقة استخدام الـ skill والقيود (منع تحديد renderAllModules وmodule معًا، إلخ).
  • hcp-chart-svg-v2/scripts/hcp_render_svg.py الجسم الذي يتحقّق من مدخل JSON ويفسّر HCP-DSL ويعيد استجابة SVG.
  • hcp-chart-svg-v2/references/ مرجع المواصفة، وعيّنات request/response، وعيّنات SVG.
  • hcp-chart-svg-v2/scripts/hcp_xml_to_svg.py deprecated. يُستخدم الآن hcp_render_svg.py.
الملفات الرئيسة في المستودعتحت hcp-chart-svg-v2 يوجد SKILL.md الذي يكتب طريقة الاستخدام والقيود، والسكربت الجسم hcp_render_svg.py، وreferences الذي يضمّ مرجع المواصفة والعيّنات، والسكربت القديم hcp_xml_to_svg.py غير مستحسن.hcp-chart-svg-v2SKILL.md (الاستخدام والقيود)hcp_render_svg.py تحت scriptsreferences (المواصفة والعيّنات)hcp_xml_to_svg.py غير مستحسن

الشكل 5: المدخل SKILL.md، والجسم hcp_render_svg.py، والمواصفة والعيّنات مجمّعة تحت references.

4. تمرين عملي في 10 دقائق (عيّنة GCD)

بيئة الافتراض

البند المحتوى
Python يُشغَّل hcp_render_svg.py بـ Python 3. لا يصرّح المستودع بإصدار أدنى، لكنّه يستخدم dataclasses وfrom __future__ import annotations، لذلك يعمل من 3.7 فصاعدًا
حزم إضافية غير لازمة. المستخدم هو argparse / json / logging / math / re / sys / dataclasses / pathlib / typing / xml.sax.saxutils، وكلّها مكتبة قياسية
الصدفة الأوامر التالية مكتوبة بافتراض PowerShell على Windows. إذا ظهر فساد ترميز، صرّح بـ UTF-8 قبل التشغيل بـ $env:PYTHONUTF8 = "1" وchcp 65001
Codex لازم فقط عند التثبيت كـ skill في 4.2. إن لم تستخدم Codex يمكنك تخطّي 4.2 (من 4.3 يعمل السكربت وحده)

4.1. جلب المستودع

git clone https://github.com/gomurin0428/MakingHCPChartSkill.git
cd .\MakingHCPChartSkill

4.2. وضع الـ skill في Codex المحلّي

Codex هنا هو وكيل الترميز من OpenAI. $HOME\.codex (على Windows C:\Users\<اسم المستخدم>\.codex) دليل إعداداته، وREADME المستودع يرشد إلى نسخ الدليل كاملًا تحت skills\<اسم الـ skill> أسفله. إذا فعلت ذلك، عندما تطلب من الوكيل «ارسم مخطّط HCP» يستدعي المرسام وفق خطوات SKILL.md هذه.

Copy-Item -Recurse -Force .\hcp-chart-svg-v2 "$HOME\.codex\skills\hcp-chart-svg-v2"

هذه الخطوة ليست إلزامية. المرسام سكربت مستقل يأخذ --input و--output، فمن لا يستخدم Codex فلينتقل إلى 4.3.

4.3. توليد استجابة SVG من مدخل العيّنة

python .\hcp-chart-svg-v2\scripts\hcp_render_svg.py `
  --input .\hcp-chart-svg-v2\references\example-gcd-request.json `
  --output .\hcp-chart-svg-v2\references\example-gcd-response.json `
  --pretty

4.4. استخراج SVG من JSON الاستجابة

$r = Get-Content -Raw .\hcp-chart-svg-v2\references\example-gcd-response.json | ConvertFrom-Json
$r.svg | Set-Content -NoNewline -Encoding utf8 .\hcp-chart-svg-v2\references\example-gcd.svg
التدفّق حتى الحصول على SVG في التمرين العمليسلسلة تمرير JSON الطلب العيّنة إلى hcp_render_svg.py لتوليد JSON الاستجابة، ثمّ استخراج خاصية svg وحفظها كملف SVG.JSON الطلب العيّنةتشغيل hcp_render_svg.pyيُخرج JSON الاستجابةاستخراج خاصية svgالحفظ كملف SVG

الشكل 6: تدفّق التمرين العملي. تمرّر JSON الطلب إلى السكربت، وتكتب svg من الاستجابة إلى ملف.

4.5. تذييل (قيود المدخل)

  • عندما يكون renderAllModules=true لا يمكن تحديد module.
  • إذا احتوى diagnostics على error، يكون svg أو svgs فارغًا.

5. كيف تقرأ العيّنتين

عندما تفتح الرسم، حرّك العين بهذا الترتيب فتقرأه.

  1. اقرأ العمود الأيسر فقط من الأعلى إلى الأسفل. ما يصطف هنا هو «ماذا يُنجَز (الغاية)»، وهو ملخّص المعالجة كلّها
  2. من السطر الذي يهمّك اتبع إلى اليمين. ما يصطف في إزاحة اليمين هو «كيف يُنجَز (الوسيلة والتفاصيل)» لتلك الغاية
  3. تحقّق من الأب والابن بالخطّ العمودي (الجذع). الجذع يصل معالجات العمق نفسه، ويُرسم بحيث لا يخترق سطرًا أقلّ عمقًا
حركة العين عند قراءة مخطّط HCPثلاث مراحل للقراءة: أوّلًا قراءة العمود الأيسر من الأعلى إلى الأسفل للإمساك بملخّص المعالجة كلّها، ثمّ الاتباع يمينًا من السطر الذي يهمّك لتأكيد الوسيلة والتفاصيل، ثمّ التحقّق من علاقة الأب والابن بجذع الخطّ العمودي.اقرأ العمود الأيسر من الأعلى إلى الأسفلأمسك بملخّص المعالجة كلّهامن السطر الذي يهمّك اتبع يمينًاأكّد الوسيلة والتفاصيلتحقّق من الأب والابن بالجذع العمودي

الشكل 7: الأساس أن تمسك الملخّص بعمود الغاية الأيسر أوّلًا، ثمّ تنزل إلى وسيلة اليمين في الأسطر اللازمة فقط.

معاني الرموز كالتالي.

الرمز المعنى
○ (دائرة) معالجة عادية
دائرة مزدوجة استدعاء وحدة أو دالة (\mod)
سهم دائري داخل ○ تكرار (\repeat)
مثلّث يمين داخل ○ أب التفرّع (\fork)
سهم يخرج يمينًا من الجذع فرع التفرّع (\branch / \true / \false). الشرط مكتوب يمين السهم
مثلّث إلى الأسفل خروج (\return)
× داخل ○ فحص خطأ (\ec)
دائرتان صغيرتان مخرج خطأ (\ex)

5.1. خوارزمية إقليدس (GCD)

  • مثال المدخل: example-gcd-request.json
  • مثال المخرج: example-gcd-response.json

مخطّط HCP لعيّنة GCD

«استلام المدخل» و«التكرار» و«الإعادة» مفصولة هرميًا، فيسهل تتبّع غاية المعالجة ووسيلتها.

إذا قرأت العمود الأيسر فقط تحصل على ثلاثة أسطر: «استلام قيم المدخل وتهيئة الحساب ← الاقتراب من القاسم المشترك الأكبر ما بقي باقٍ ← إعادة النتيجة إلى المستخدم»، وهذا وحده ملخّص الخوارزمية. حساب ملموس مثل r <- a mod b مُنزَّل من «تحديد القيمة التي تُمرَّر تاليًا» داخل التكرار إلى إزاحة أعمق يمينًا. هذا الموضع هو تقابل «الغاية (يسار) والوسيلة (يمين)» نفسه. إن ظهر r <- a mod b فجأة في الطرف الأيسر، فهذه إشارة إلى مخالفة قاعدة حبيبات الوصف (1.1).

الملخّص الذي يبيّنه العمود الأيسر في عيّنة GCDالعمود الأيسر في عيّنة GCD ثلاثة أسطر: استلام قيم المدخل وتهيئة الحساب، والاقتراب ما بقي باقٍ، وإعادة النتيجة إلى المستخدم، والحساب الملموس مُنزَّل إلى إزاحة أعمق يمينًا.استلام قيم المدخل والتهيئةالاقتراب ما بقي باقٍإعادة النتيجة إلى المستخدمالحساب الملموس في طبقة أعمق يمينًا

الشكل 8: العمود الأيسر في عيّنة GCD. ثلاثة أسطر وحدها تعطي ملخّص الخوارزمية، وتفاصيل الحساب تنزل يمينًا.

سطر Data: أعلى الرسم، وحاشيتا in: / out: أسفل العقد، أيضًا مفاتيح للقراءة. في هذا الرسم ملحقتان in: a, b وout: a، فيُعرف من الرسم وحده أين المدخل وأين المخرج.

5.2. تدفّق اعتماد الطلب

  • مثال المدخل: example-order-approval-request.json
  • مثال المخرج: example-order-approval-response.json

مخطّط HCP لعيّنة اعتماد الطلب

حتى في تدفّقات الأعمال يمكن وصف قصد التفرّع بوضوح باستخدام fork وtrue/false.

هنا أيضًا العمود الأيسر ثلاثة أسطر فقط: «قبول محتوى الطلب ← الحكم على جواز الشحن ← إعادة نتيجة المعالجة». العمليات الأقرب إلى التنفيذ مثل الاستعلام عن المخزون وطلب الاعتماد وتسجيل الشحن كلّها داخل إزاحة اليمين. التفرّع سهم يخرج يمينًا من الجذع، وتتدلّى تحت (نعم) / (لا) معالجة كلّ فرع. حكم العمل «إن نقص المخزون فإعادة، وإن اعتُمد فترتيب الشحن، وإلا فتعليق» يُتتبَّع بمجرّد اتباع الأسهم الخارجة من تفرّعين.

تفرّع حكم العمل في عيّنة اعتماد الطلبيُقبل محتوى الطلب ويُحكم على جواز الشحن، ويُعبَّر بحكم العمل في تفرّعين: إن نقص المخزون فإعادة، وإن اعتُمد فترتيب الشحن، وإلا فتعليق.نعملانعملاقبول محتوى الطلبالحكم على جواز الشحنهل نقص المخزونإعادةهل اعتُمدترتيب الشحنتعليق

الشكل 9: حكم العمل في عيّنة اعتماد الطلب. باتباع تفرّعين فقط تُتتبَّع الوجهات: إعادة، وترتيب شحن، وتعليق.

في مراجعة مواصفة العمل يسهل تقسيم الأدوار: قراءة العمود الأيسر مع الأطراف المعنية، وتدقيق تفاصيل اليمين مع من ينفّذ.

6. ماذا يجري في الداخل (مخطّط HCP)

تدفّق معالجة execute_request إذا كُتب بـ HCP-DSL يصير كالتالي.

\module main
استلام الطلب والتحقّق من الافتراضات
    التحقّق من الحقول الإلزامية في JSON المدخل
تحليل DSL وبناؤه بنيويًا
    تفسير الوحدات والهرمية
    جمع diagnostics
اختيار مسار الاستجابة بحسب نتيجة التشخيص
    \fork هل يوجد error
        \true نعم
            إعادة حمولة من عائلة SVG فارغة
        \false لا
            تحديد وحدة أو وحدات الرسم
            \fork هل renderAllModules يساوي true
                \true نعم
                    توليد SVG لكلّ الوحدات
                    تجميع JSON استجابة يتضمّن svgs
                \false لا
                    توليد SVG لوحدة واحدة
                    تجميع JSON استجابة يتضمّن svg
إعادة النتيجة إلى المستدعي

الرسم الناتج عن تصيير DSL أعلاه فعلاً هو هذا.

مخطّط HCP لتدفّق المعالجة الداخلية في MakingHCPChartSkill

7. خلاصة

قوّة مخطّط HCP ليست سهولة قراءته كرسم فقط، بل أنّه يمكن إدارته بشكل يُعامل كمواصفة. باستخدام MakingHCPChartSkill يمكن توليد SVG باتّساق مع التحقّق من HCP-DSL.

إن أردت التجربة تاليًا، فكتابة مواصفة معالجة يومية واحدة بـ HCP-DSL وتحسينها مع مراقبة diagnostics يجعل أثر الإدخال ملموسًا بسهولة.

مراجع

أحدث المقالات التي تشترك في نفس الوسوم. عمّق فهمك بمواضيع مرتبطة.

لكي لا يُنسى تحديد «كم ثانية يكفي ليكون التشغيل مُرضياً» ── تنظيم المتطلبات غير الوظيفية بـ«درجة المتطلبات غير الوظيفية» من IPA

كثير من الخلاف حول «النظام بطيء» أو «التعامل مع العطل لم يكن متوقعاً» سببه نسيان تحديد المتطلبات غير الوظيفية. نشرح للجهة الطالبة بلغة وا...

ترتبط هذه المقالة بشكل طبيعي بصفحات الخدمات التالية.

الأسئلة الشائعة

أسئلة شائعة حول موضوع هذه المقالة.

ما هو مخطّط HCP؟
تعبير لوصف المعالجة وصفًا هرميًا. تكتب في اليسار «ماذا يُنجَز (الغاية)»، وفي الإزاحة الأعمق يمينًا «كيف يُنجَز (الوسيلة والتفاصيل)»، وعلى المستوى الأعلى (المستوى 0) تكتب تسمية الغاية. بكتابة النص وفق هذه القواعد يصير تقابل قصد التصميم وتفاصيل التنفيذ أسهل قراءة.
ماذا يفعل MakingHCPChartSkill؟
مستودع skill يفسّر HCP-DSL (نصًا) وفق المواصفة ويعيد SVG حتميًا. إذا مرّرت HCP-DSL كطلب JSON، يتولّى hcp_render_svg.py التحقّق والرسم. المدخل نفسه يعطي المخرج نفسه دائمًا، لذلك يسهل إدخال الرسوم في CI والمراجعة.
ما الفرق عن إدارة الرسوم يدويًا؟
إذا أُدير الرسم وحده يدويًا، يشيع انحراف الرسم عن نص المواصفة، وغموض قيود التفرّع والهرمية، وصعوبة مراجعة الفروقات. إذا وُلِّد SVG حتميًا من نص HCP-DSL، يمكن إدارة الرسم بشكل يُعامل كمواصفة، وتحسينه مع مراقبة diagnostics.
هل توجد قيود عند الاستخدام؟
عندما يكون renderAllModules=true لا يمكن تحديد module في الوقت نفسه. وإذا احتوى diagnostics على error، يكون svg أو svgs فارغًا. السكربت hcp_xml_to_svg.py صار deprecated، ويُستخدم الآن hcp_render_svg.py.

الملف الشخصي للمؤلف

صفحة الملف الشخصي لمؤلف المقالة.

غو كومورا

مؤسّس شركة كومورا سوفت ذ.م.م.

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

العودة إلى المدونة