เอกสารครบ
โปรแกรมปฏิบัติการ Win32
เป็นแอปพลิเคชันเดสก์ท็อปใน Visual Basic 6 ที่ช่วยให้คุณอธิบายโครงสร้างของวัตถุอันตรายในรูปแบบของเครือข่าย GERT และคำนวณการประมาณปัจจัยความเสี่ยงสำหรับแต่ละโหนด ระบบนี้ใช้กลไกที่ใช้ออบเจ็กต์ COM ที่ใช้งานใน Visual C++ / ATL และมีระบบปลั๊กอินสำหรับประเมินอันตราย แต่ละปลั๊กอินเป็นวัตถุ COM นอกจากนี้ยังมีส่วนหน้าระบบในรูปแบบของวัตถุ COM สำหรับการรวมเข้ากับ Mathcad
ระดับความเป็นอันตรายที่ใช้นั้นใหญ่เกินไป (11 คะแนน) สำหรับการให้คะแนนด้วยตนเองอย่างง่ายดาย ดังนั้นส่วนสำคัญของระบบคือองค์ประกอบอัตโนมัติในการคำนวณ (ดูรูปที่ 5.1) เพื่อจุดประสงค์นี้ มีการเสนอและดำเนินการเทคนิคพิเศษตามที่อธิบายไว้ในย่อหน้าถัดไป ปรากฎว่าอันตรายที่ระบุหลายรายการทับซ้อนกับอันตรายที่วิศวกรด้านความปลอดภัยใช้ นี่แสดงถึงข้อได้เปรียบที่สำคัญของแบบจำลองที่พัฒนาขึ้น ซึ่งแสดงให้เห็นความจริงที่ว่าวิธีการประเมินสภาวะ อาชีวอนามัย และความปลอดภัย สามารถนำไปปรับใช้ให้เข้ากับปัจจัยอันตรายหลายประการของเราได้อย่างง่ายดาย สิ่งสำคัญคือวิธีการที่มีอยู่บนพื้นฐานของ GOST กฎระเบียบและเอกสารประกอบสำหรับโรงงานผลิตที่เป็นอันตราย สามารถกำหนดลักษณะเชิงปริมาณต่างๆ ของวัตถุ โดยแปลงให้เป็นระดับสากล (การให้คะแนน) การมีอยู่และการทดสอบวิธีการเหล่านี้เป็นสิ่งสำคัญ ช่วยลดความซับซ้อนของกระบวนการที่ใช้แรงงานเข้มข้นมากในการพัฒนาวิธีการคำนวณการประมาณการ วิธีการที่นำเสนอสามารถใช้ได้ในหลายกรณี แต่ก็ไม่เสมอไป และไม่ใช่ผู้เชี่ยวชาญทุกคนจะพอใจกับแนวทางนี้ ดังนั้นจึงจำเป็นต้องมีความยืดหยุ่นมากขึ้น นี่คือเหตุผลว่าทำไมสถาปัตยกรรมจึงได้รับการพัฒนาโดยอาศัยการนำโมดูลการประเมินไปใช้ในฐานะองค์ประกอบภายนอกที่เกี่ยวข้องกับอันตราย เพื่อให้เกิดความยืดหยุ่นนี้ จำเป็นต้องให้ผู้ใช้ (โดยปกติจะเป็นผู้เชี่ยวชาญ) มีความสามารถในการใช้อัลกอริธึมการประมาณค่าของตนเอง และใช้โครงสร้างและฐานข้อมูลของตนเอง เนื่องจากประเภทการเชื่อมต่อระหว่างโมดูลและระบบ Hazard นั้นเป็นแบบธรรมดา จึงไม่แนะนำให้สร้างภาระให้กับผลิตภัณฑ์ด้วย Visual Basic สำหรับแอปพลิเคชัน ลักษณะเฉพาะของการพัฒนาอัลกอริธึมดังกล่าวถูกกำหนดโดยความจำเป็นในการทำงานกับโครงสร้างข้อมูลที่ซับซ้อน ดังนั้นสคริปต์การโฮสต์จึงไม่เหมาะสมและทำให้ผลิตภัณฑ์มีน้ำหนักมากขึ้นอย่างไม่สมเหตุสมผล เนื่องจากได้รับการออกแบบมาเพื่อใช้อัลกอริธึมในการจัดการออบเจ็กต์ แทนที่จะประมวลผลข้อมูลที่มีโครงสร้าง แนวคิดที่เหมาะสมที่สุดคือแนวคิดของโมดูลส่วนขยาย (ปลั๊กอิน) ซึ่งนำไปใช้งานโดยใช้เทคโนโลยี COM โมดูลดังกล่าวมักจะมีขนาดกะทัดรัดมาก (มีขนาดเล็ก มีการพึ่งพาไลบรารีและส่วนประกอบต่างๆ เพียงเล็กน้อย และใช้ทรัพยากรเพียงเล็กน้อย) สามารถนำไปใช้ในภาษาใดก็ได้ที่มีเครื่องมือที่ช่วยให้สามารถพัฒนาส่วนประกอบโดยใช้เทคโนโลยี COM สิ่งนี้ให้ความยืดหยุ่นในการนำไปใช้งานมากขึ้น แต่ในตัวมันเองแล้ว ไม่ได้นำความซับซ้อนทางเทคโนโลยีที่สำคัญมาสู่งาน ความเข้มข้นของแรงงานและความซับซ้อนเพิ่มขึ้นอย่างมากเมื่อใช้ส่วนประกอบนี้ในเครื่องมือและภาษาระดับต่ำ เช่น การใช้ Visual C++ อย่างไรก็ตาม เนื่องจากเป็นวิธีที่โปรแกรมเมอร์ที่ไม่มีทักษะสามารถเข้าถึงได้ ต้องใช้แรงงานน้อยที่สุดและมีประสิทธิภาพมาก จึงมีการเสนอการใช้งานใน Visual Basic ประเภทการสื่อสารกับ Hazard นั้นง่ายมาก และส่วนประกอบจะต้องเป็นเซิร์ฟเวอร์ COM ในกระบวนการที่ใช้อินเทอร์เฟซ IFactorAssign เท่านั้น และสามารถทำหน้าที่เป็นไคลเอนต์ COM โดยใช้อินเทอร์เฟซ IDispatch และอินเทอร์เฟซคู่ MGertNet การสร้างวัตถุ COM ดังกล่าวซึ่งใช้งานโดยเซิร์ฟเวอร์ COM ที่กำลังดำเนินการโดยใช้ Visual Basic 6 นั้นไม่สำคัญและสามารถทำได้ง่ายโดยโปรแกรมเมอร์ที่ไม่มีทักษะเนื่องจากโดยพื้นฐานแล้วจะเป็นไปโดยอัตโนมัติ สาระสำคัญของการพัฒนาส่วนขยายจะกำหนดเนื้อหาของข้อกำหนดดังกล่าว เพื่อให้ส่วนประกอบที่ Hazard รับรู้ เชื่อมต่อและสามารถโต้ตอบกับส่วนประกอบนั้นได้ จำเป็นต้องมีสิ่งต่อไปนี้:
ตัวอย่างเช่น มีการนำส่วนขยายสากลไปใช้ (ใน Visual Basic 6) ซึ่งเป็นผลิตภัณฑ์ที่ซับซ้อนมากและใช้เทคนิคค่าเฉลี่ยถ่วงน้ำหนัก โมดูลการประเมินผลที่นำไปใช้โดยใช้วิธีถัวเฉลี่ยถ่วงน้ำหนักนั้นเป็นแบบสากล ดังนั้นจึงใช้อินเทอร์เฟซกราฟิกที่ซับซ้อน โครงสร้างข้อมูลไดนามิกที่ซับซ้อน และตัวแก้ไข ซึ่งช่วยให้คุณอธิบาย OPO ที่หลากหลายได้อย่างมีประสิทธิภาพ ดังนั้นจึงไม่ใช่ตัวอย่างทั่วไป อย่างไรก็ตามตามที่ระบุไว้แล้ว ปัญหาทั้งหมดเหล่านี้ไม่ได้เกี่ยวข้องกับกลไกของการโต้ตอบกับ Hazard แต่เป็นคุณสมบัติของการดำเนินการนี้ ซึ่งเป็นข้อกำหนดบางประการ (ในฐานะผลิตภัณฑ์เชิงพาณิชย์สากล) สำหรับกรณีพิเศษ (การใช้งานอย่างเป็นทางการ) เสนอให้สร้างโมดูลอย่างง่ายที่มีโครงสร้างคงที่ซึ่งสามารถพัฒนาได้อย่างมีประสิทธิภาพโดยโปรแกรมเมอร์ที่ไม่มีทักษะโดยใช้ Visual Basic
Hazard ถูกนำมาใช้เป็นเซิร์ฟเวอร์ COM ที่ไม่อยู่ในกระบวนการ (ActiveX EXE) โดยใช้ Visual Basic 6 และแสดงโดยคลาส COM Hazard.HazardApp แกนหลัก Hazard ซึ่งประกอบด้วยรหัสสำหรับแบบจำลองการพัฒนาเหตุการณ์ที่โรงงานผลิตที่เป็นอันตราย รหัสสำหรับการรันแบบจำลองและอัลกอริธึมการปรับให้เหมาะสม ถูกนำไปใช้เป็นเซิร์ฟเวอร์ COM ในกระบวนการ (ActiveX DLL) โดยใช้ Visual C++ 6.0 (ATL ) และแสดงโดยคลาส COM GERTNETLib.MGertNet Hazard สามารถใช้งานได้โดยไคลเอนต์ OLE Automation ซึ่งให้ความสามารถในการสร้างอินสแตนซ์ของตัวเองโดยการสร้าง Hazard.HazardApp คลาส HazardApp มีคุณสมบัติสาธารณะและวิธีการมากมายที่ให้การเข้าถึงความสามารถของ Hazard อย่างจำกัด ซึ่งมีการใช้งานเลเยอร์พิเศษ (แม้ว่าจะค่อนข้าง "ดิบ") โดยคำนึงถึงลักษณะเฉพาะของการทำงานในโหมดเซิร์ฟเวอร์อัตโนมัติ OLE เลเยอร์นี้ไม่เพียงแต่รับประกันการใช้งานฟังก์ชันที่ถูกต้องเท่านั้น แต่ยังรวมถึงการเข้าถึงแกน Hazard อีกด้วย อย่างหลังสามารถใช้งานได้โดยตรง - โดยการสร้างอินสแตนซ์ของ MGertNet โดยไม่ต้องใช้ Hazard อินเทอร์เฟซและคลาสส่วนใหญ่ของไลบรารี GERTNETLib นั้นเปิดและสร้างได้ (สาธารณะ สร้างสรรค์ได้) แต่การใช้งานส่วนใหญ่กำหนดข้อจำกัดในการใช้งานอินเทอร์เฟซที่อธิบายไว้ที่นั่น เนื่องจากการขยายการแปลงพอยน์เตอร์เป็นอินเทอร์เฟซสำหรับประเภทของวัตถุ C++ ที่ใช้งาน จะดำเนินการ ดังนั้น การใช้งานแกน Hazard โดยตรงจะต้องเป็นไปตามกฎที่เข้มงวด: การสร้างอินสแตนซ์ Hazard:
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) มีคอลเลกชันของผลกระทบ (FChange) บนแบบจำลอง ในการเข้าถึงมาตรการที่ซับซ้อน มีทรัพย์สินสาธารณะอีกหนึ่งรายการ: SFnn(n) มีการจัดทำดัชนีและอ่านอย่างเดียว
ตัวแจงนับ (อ่านอย่างเดียว) – ชุดของตัวแจงนับ
ปัจจัย (อ่านอย่างเดียว) – ชุดของปัจจัยอันตราย แต่ละปัจจัยในคอลเลกชันนี้ได้รับการกำหนดตัวแจงนับจากคอลเลกชันตัวแจงนับ
OptimizResultsGetAndClear (อ่านอย่างเดียว) – SAFEARRAY (IDispatch) ใช้หลังจากดำเนินการปรับให้เหมาะสมแล้ว เมื่อมีการเรียกคุณสมบัตินี้ อาร์เรย์ของตัวชี้ไปยังอินเทอร์เฟซ IDispatch ของคอลเลกชันของมาตรการการปรับปรุงความปลอดภัยจะถูกส่งกลับ ในกรณีนี้ ไคลเอ็นต์ที่เรียกจะกลายเป็นเจ้าของคอลเลกชัน และ Hazard core จะเผยแพร่การอ้างอิงถึงคอลเลกชันเหล่านั้น จึงสามารถเรียกได้เพียงครั้งเดียวเท่านั้น แต่ละคอลเลกชันประกอบด้วยกิจกรรมต่างๆ มากมาย ซึ่งเป็นแนวทางแก้ไขปัญหาการปรับให้เหมาะสมที่เป็นไปได้
ตัวแก้ไขโมเดล | ตัวแก้ไขตารางคะแนน |
ตัวแก้ไขการเพิ่มประสิทธิภาพความปลอดภัย | วัดการตรวจสอบบรรจุภัณฑ์ |