التوثيق الكامل
الملفات التنفيذية Win32
إنه تطبيق سطح مكتب في Visual Basic 6 يسمح لك بوصف بنية كائن خطير في شكل شبكة GERT وحساب تقديرات عامل الخطر لكل عقدة. يعتمد النظام على محرك يعتمد على كائنات COM المطبقة في Visual C++ / ATL، ويوجد نظام من المكونات الإضافية لتقييم المخاطر. كل مكون إضافي هو كائن COM. توجد أيضًا واجهة نظام على شكل كائن COM للتكامل في Mathcad.
مقياس تصنيف المخاطر المستخدم كبير جدًا (11 نقطة) بحيث لا يمكن إجراء التقييمات يدويًا بسهولة. ولذلك، فإن جزءًا أساسيًا من النظام هو مكون التشغيل الآلي لحساباتها (انظر الشكل 5.1). ولهذا الغرض، يتم اقتراح وتنفيذ تقنية خاصة، موضحة في الفقرة التالية. لقد تبين أن العديد من المخاطر التي تم تحديدها تتداخل مع تلك التي يستخدمها مهندسو السلامة. وهذا يعني وجود ميزة كبيرة للنموذج المطور، والتي يتم التعبير عنها في حقيقة أن طرق تقييم الظروف والصحة والسلامة المهنية، يمكن تكييفها بسهولة نسبيًا مع عوامل الخطر العديدة لدينا. من المهم أن تسمح الأساليب الحالية، على أساس GOSTs واللوائح والوثائق الخاصة بمرافق الإنتاج الخطرة، بتحديد الخصائص الكمية المختلفة للكائن، وتحويلها إلى مقاييس عالمية (تسجيل النقاط). يعد وجود هذه الأساليب واختبارها أمرًا ضروريًا، مما يبسط العملية كثيفة العمالة لتطوير منهجية لحساب التقديرات. يمكن استخدام المنهجية المقترحة في كثير من الحالات، ولكن ليس دائمًا، ولن يكون كل خبير راضيًا عن هذا النهج. ولذلك، هناك حاجة إلى قدر أكبر من المرونة. ولهذا السبب تم تطوير بنية تعتمد على تنفيذ وحدة التقييم كمكون خارجي فيما يتعلق بالمخاطر. لتوفير هذه المرونة، من الضروري تزويد المستخدم (عادةً ما يكون خبيرًا) بالقدرة على تنفيذ خوارزميات تقدير القيمة الخاصة به واستخدام الهياكل وقواعد البيانات الخاصة به. وبما أن نوع الاتصال بين هذه الوحدة ونظام المخاطر بسيط، فمن غير المستحسن تحميل المنتج ببرنامج Visual Basic for Applications. يتم تحديد تفاصيل تطوير مثل هذه الخوارزميات من خلال الحاجة إلى العمل مع هياكل البيانات المعقدة. ولذلك، فإن البرنامج النصي للاستضافة غير مناسب أيضًا ويجعل المنتج أثقل بشكل غير مبرر، لأنه مصمم لتنفيذ خوارزميات لإدارة الكائنات، بدلاً من معالجة البيانات المنظمة. المفهوم الأمثل هنا هو مفهوم وحدات التوسعة (الإضافات)، والتي تم تنفيذها باستخدام تقنية COM. عادة ما تكون هذه الوحدات مدمجة للغاية (صغيرة الحجم، ولا تعتمد إلا قليلاً على المكتبات والمكونات المختلفة، وتستهلك القليل من الموارد). يمكن تنفيذها بأي لغة توجد بها أداة تسمح بتطوير المكونات باستخدام تقنية COM. وهذا يوفر قدرًا أكبر من المرونة في التنفيذ، ولكنه في حد ذاته لا يؤدي إلى تعقيد تكنولوجي كبير للمهمة. تزداد كثافة اليد العاملة وتعقيدها بشكل كبير عند تنفيذ هذا المكون في أدوات ولغات منخفضة المستوى، على سبيل المثال، باستخدام Visual C++. ومع ذلك، كطريقة يمكن للمبرمجين غير المهرة الوصول إليها، والأقل كثافة في العمالة والفعالية للغاية، يُقترح تطبيقها في Visual Basic. يعد نوع الاتصال مع Hazard بسيطًا للغاية والمكون مطلوب فقط أن يكون خادم COM قيد التشغيل والذي ينفذ واجهة IFactorAssign ويمكنه العمل كعميل COM باستخدام واجهة IDispatch والواجهة المزدوجة MGertNet. يعد إنشاء كائنات COM هذه، التي يتم تنفيذها بواسطة خادم COM قيد التشغيل، باستخدام Visual Basic 6 أمرًا تافهًا ويمكن تنفيذه بسهولة بواسطة المبرمجين غير المهرة، نظرًا لأنه تلقائي بشكل أساسي. يحدد الجوهر المصاغ لتطوير الامتداد محتوى المواصفات الخاصة به. لكي يتعرف Hazard على المكون، ويكون متصلاً وقادرًا على التفاعل معه، يلزم ما يلي:
على سبيل المثال، تم تنفيذ ملحق عالمي (في Visual Basic 6)، وهو منتج معقد للغاية ويطبق تقنية المتوسط المرجح. تعد وحدة التقييم المنفذة باستخدام طريقة المتوسط المرجح عالمية، وبالتالي فهي تستخدم واجهة رسومية متطورة وهياكل بيانات ديناميكية معقدة ومحررات لها، مما يسمح لك بوصف مجموعة واسعة من OPO بشكل فعال. ولذلك فهو ليس مثالا نموذجيا. ومع ذلك، كما سبقت الإشارة، فإن كل هذه الصعوبات لا تتعلق بآلية التفاعل مع المخاطر، ولكنها ميزات هذا التنفيذ، ومتطلبات معينة له (كمنتج تجاري عالمي). بالنسبة للحالات الخاصة (الاستخدام الرسمي)، يُقترح إنشاء وحدات بسيطة ذات بنية ثابتة يمكن تطويرها بشكل فعال بواسطة مبرمجين غير ماهرين باستخدام Visual Basic.
يتم تطبيق Hazard كخادم COM خارج العملية (ActiveX EXE) باستخدام Visual Basic 6 ويتم تمثيله بواسطة فئة COM Hazard.HazardApp. يتم تنفيذ جوهر المخاطر، الذي يحتوي على رموز لنموذج تطوير حادث في منشأة إنتاج خطرة، وأكواد لتشغيل النموذج وخوارزميات التحسين، كخادم COM قيد التشغيل (ActiveX DLL)، باستخدام Visual C++ 6.0 (ATL) ) ويتم تمثيله بواسطة فئة COM GERTNETLib.MGertNet. يمكن استخدام Hazard بواسطة عملاء OLE Automation، حيث يوفر لهم القدرة على إنشاء المثيلات الخاصة بهم عن طريق إنشاء Hazard.HazardApp. تحتوي فئة HazardApp على عدد من الخصائص والأساليب العامة التي توفر وصولاً محدودًا إلى إمكانيات Hazard، والتي تم تنفيذ طبقة خاصة لها (وإن كانت "خامًا" تمامًا)، مع مراعاة خصوصيات العمل في وضع خادم أتمتة OLE. لا تضمن الطبقة التنفيذ الصحيح للوظائف فحسب، بل تضمن أيضًا الوصول إلى قلب المخاطر. يمكن أيضًا استخدام الأخير مباشرةً - عن طريق إنشاء مثيل لـ MGertNet دون تشغيل Hazard. معظم واجهات وفئات مكتبة GERTNETLib مفتوحة ومُنشأة (عامة وقابلة للإنشاء)، لكن تنفيذها يفرض إلى حد كبير قيودًا على تنفيذ الواجهات الموصوفة هناك، نظرًا لتوسيع تحويل المؤشرات إلى واجهات لأنواع تنفيذ كائنات C++ يتم تنفيذه. لذلك، يجب أن يتبع الاستخدام المباشر لنواة الخطر قواعد صارمة: إنشاء مثيل خطر:
Dim m_haApp As HazardApp
Set m_haApp = CreateObject( "Hazard.HazardApp" )
لإعلام العملاء بتقدم العمليات غير المتزامنة، توفر HazardApp وMGertNet نقطة اتصال للحوض مع واجهة ICallBack. دعونا نلقي نظرة على الكائنات المضمنة في مثيل HazardApp. GertNetMain (للقراءة فقط) – نموذج تطوير الحادث. إذا لم يكن هناك نموذج (لم يتم تحميله أو تم إنشاء نموذج جديد)، فافرغ (لا شيء). GertNetMainDsp (للقراءة فقط) – واجهة IDispatch لنموذج تطوير الحادث. إذا لم يكن هناك نموذج (لم يتم تحميله أو تم إنشاء نموذج جديد)، فافرغ (لا شيء).
GN_Opt (للقراءة فقط) – نسخة من النموذج المستخدم للتحسين. يتم التعيين فقط أثناء تشغيل التحسين.
GN_Rang (للقراءة فقط) – نسخة من النموذج المستخدم للتصنيف. يتم التعيين فقط أثناء تقدم الترتيب.
GN_Run (للقراءة فقط) – نسخة من النموذج المستخدم أثناء التشغيل. يتم تعيينه فقط أثناء تنفيذ التشغيل.
Rep1 (للقراءة فقط) – مجموعة من التقارير عن النموذج (التشغيل، النموذج).
Rep2 (للقراءة فقط) – مجموعة من التقارير حول مجموعات من المقاييس (التحسين، المجمعات، التطبيق التجريبي لمجموعات من المقاييس).
XCollection (للقراءة فقط) – مجموعة من إجراءات تحسين الأمان. يتم وصف كل مجمع من خلال مجموعة من الأنشطة (CollSF). يحتوي كل حدث (SafetyPrecaution) على مجموعة من التأثيرات (FCchange) على النموذج. للوصول إلى مجمعات التدابير، هناك خاصية عامة أخرى: SFnn(n). يتم فهرسته والقراءة فقط.
العدادون (للقراءة فقط) – مجموعة من العدادين.
العوامل (قراءة فقط) – مجموعة من عوامل الخطر. يتم تعيين عداد لكل عامل في هذه المجموعة من مجموعة Enumerators.
OptimizResultsGetAndClear (للقراءة فقط) – SAFEARRAY(IDispatch). يستخدم بعد إجراء التحسين. عند استدعاء هذه الخاصية، يتم إرجاع صفيف من المؤشرات إلى واجهة IDispatch الخاصة بمجموعات إجراءات تحسين الأمان. في هذه الحالة، يصبح العميل المتصل هو مالك المجموعات، ويصدر Hazard Core مراجع إليها. لذلك، لا يمكن استدعاؤه إلا مرة واحدة. تحتوي كل مجموعة على مجموعة مختارة من الأنشطة - وهي حل محتمل لمشكلة التحسين.
محرر النموذج | محرر جدول النقاط |
محرر تعزيز الأمن | مراقبة الحزمة |