تشير عبارة
مكونات الحاسوب إلى أجهزة الحوسبة والمعدات الملحقة بها. وهي قد تشمل أجهزة
الحاسوب الشخصية، الخوادم متوسطة المدى، أجهزة الحاسوب المركزية القديمة (أجهزة
الحاسوب ضخمة الحجم التي كانت تُستخدم حتى التسعينيات)، أجهزة التخزين، أجهزة
العروض المرئية، معدات الإنترنت/الاتصالات، أجهزة التصوير/الطباعة، معدات إدارة
مصدر الطاقة والتعريف الشخصي.
تتطور مكونات
الحاسب بسرعة شديدة مما يمنح سعة متزايدة وتكلفة أقل عند الشراء. وكاتجاه عام،
أضحت المهام التي كانت في السابق تتم على أجهزة الحاسوب المركزية والخوادم متوسطة
المدى تُجرى حالياً على أجهزة الحاسوب الأصغر حجماً والأكثر قوة.
إن استخدام
مؤسسات الإدارة الانتخابية لمكونات الحاسوب تتبع ممارسات القطاعات العامة والخاصة
الأخرى. يعني ذلك استخدام أجهزة الحاسوب الشخصية والخوادم متوسطة المدى العامة
معتدلة التكلفة وذات الأداء القوي وذات الميزات الثابتة. تتصل أجهزة الحاسوب تلك
بشبكات مؤسسية، مما يجعلها أفضل من حيث السعر، ويقلل من تكلفة الصيانة ويمكِّن من
تطوير تطبيقات قوية تساعد مؤسسات الإدارة الانتخابية من الاضطلاع بمهامها ومسؤولياتها.
تحظى أجهزة
المساعد الرقمي الشخصي بقدرات هائلة في الحوسبة والاتصالات – والتي تشمل خدمة
الهاتف الجوال – ومن ثم فهي تمنح مؤسسات الإدارة الانتخابية العديد من الإمكانات.
إلا أن هذه الأجهزة لا تزال قيد التطوير ولا يزال استخدامها من قبل مؤسسات الإدارة
الانتخابية لا يعدو أن يكون تجريبياً في عام 2006.
تشير عبارة
برمجيات الحاسوب إلى الإرشادات والأوامر اللازمة لتشغيل مكونات الحاسوب ولأداء
المهام المتوقعة. هناك الكثير من التقسيمات لمنتجات البرمجيات إلا أنها في المعتاد
تنحصر في فئتين أساسيتين: برمجيات النظام وبرمجيات التطبيقات. برمجيات النظام هي
في المعتاد برمجيات المستوى الأدنى اللازمة لإدارة موارد الحاسوب ودعم تنفيذ
برمجيات التطبيقات. أما برمجيات التطبيقات فهي البرمجيات التي تؤدي وظائف محددة
والتي يحتاج إليها المستخدم النهائي مباشرةً.
تشمل منتجات
البرمجيات أنظمة التشغيل، وأنظمة تشغيل الشبكات، وبرمجيات إدارة قواعد البيانات،
وبرمجيات لغات البرمجة، وغير ذلك من أدوات تطوير البرمجيات. كما أن منتجات تطوير
التطبيقات تشمل تطبيقات المستخدم النهائي، وبرمجيات الأتمتة المكتبية وغيرها من
برامج الخدمات. قد تندرج بعض منتجات البرمجيات تحت أكثر من فئة واحدة ضمن هذه.
تتحكم أنظمة
التشغيل في قيام مكونات الحاسوب بمهامها وتمكن المستخدمين من القيام بالمهام
المنتظرة. من منظور تطوير البرمجيات، تتسم أنظمة التشغيل بالتعقيد الشديد. فهناك
عدد كبير جداً من الأعمال التي يجب أن تتم دون خطأ، فضلاً عن وجوب توافر عدد كبير
من الظروف التي يجب أن تتم هذه الأعمال في إطارها.
نتيجةً لذلك،
يجب أن يتوقع مصممو أنظمة التشغيل مجموعة كبيرة ومتنوعة من سيناريوهات/حالات
التشغيل أثناء تصميم البرمجيات. نظراً لهذا التعقيد، فإن برامج التشغيل بشكل عام
يتم إنشاؤها وتحسينها واستبدالها بمعدل بطيء نسبياً.أشهر أنظمة التشغيل هي ويندوز
ويونيكس ولينوكس، غير أن هناك أنظمة تشغيل أخرى شديدة التخصص تستهدف أسواقاً أصغر.
أنظمة تشغيل
الشبكات هي مجموعة فرعية من أنظمة التشغيل. تتمثل مهمتها في بدء وتشغيل ومراقبة
معدات وشبكات الاتصالات. أغلب هذه الأنظمة ذات ملكية خاصة ولكنها تؤدي خدمات
تعرِّفها معايير مثل TCP/IP (بروتوكول
التحكم بالإرسال/بروتوكول الإنترنت)، وهي عبارة عن حزمة من بروتوكولات الاتصالات
تُستخدم لربط أجهزة الحاسوب على الإنترنت.
تعرِّف
برمجيات إدارة قواعد البيانات الهياكل والأدوات التي تمكن من وتتحكم في تخزين
وتعديل والدخول إلى واسترجاع البيانات المخزنة قي قاعدة البيانات على الحاسوب.
وبعد أن كانت هذه البرمجيات في السابق ذات ملكية خاصة حصرياً، فإن برمجيات إدارة
قواعد البيانات مفتوحة المصدر مثل My SQL
صارت شائعة الاستخدام في إنشاء قواعد بيانات هائلة لمؤسسات الإدارة الانتخابية.
تسمح برمجيات
لغات البرمجة للمستخدمين بإعطاء أوامر لأجهزة الحاسوب من خلال مجموعة من البرامج
النصية سابقة الإعداد. من أمثلة لغات البرمجة COBOL،
Fortran، Pascal، C، C++،
Perl، PHP، Python، Java
من بين لغات أخرى عديدة.
تشكل أدوات تطوير البرمجيات المنتجات
التي تساعد في المراحل الرئيسية من تطوير حلول برمجية، وهي التصميم والبرمجة
والتنفيذ.
الأدوات المساعدة في البرمجة تشمل
بيئات التطوير المتكاملة التي تعمل على تنسيق الاستخدام المتزامن لبرمجيات تحرير
البرامج لأغراض كتابة واستعراض وتحرير البرامج، وبرامج تصحيح الأخطاء لتشغيل
واختبار البرامج التي تبحث عن الأخطاء، وأدوات التحكم في الإصدارات والتي تُعتبر
إلزامية في حالة اشتراك أكثر من شخص في تطوير البرمجيات. ويمكن لكل خطوة تقريباً
من خطوات تطوير البرمجيات أن تتلقى المساعدة من أدوات المساعدة في البرمجة للأغراض
المحددة – كاكتشاف الأخطاء والاختبار ومراقبة التشغيل وإحصاءات استخدام البرمجيات،
الخ.
يمكن تقسيم تطبيقات المستخدم النهائي –
بشكل عام – إلى تلك التي يتم تطويرها لأغراض تجارية أو مؤسسية أو لتلبية احتياجات
خاصة. قد تشمل بعض تطبيقات المستخدم النهائي مزيجاً من كل ما سبق. فالتطبيقات التي
تم تطويرها لأغراض تجارية تُشترى ويُتوقع أن تُستخدم بلا تخصيص أو بإدخال القدر
الأدنى من التخصيص. أما التطبيقات التي تم تطويرها بناء على طلب مؤسسة بعينها
فتستلزم في المعتاد مساعدة طرف ثالث. من أمثلة التطبيقات التجارية برمجيات سلاسل
الموردين والمحاسبة، وإدارة العاملين/كشوف الأجور وغيرهم ممن يقومون بخدمات إدارية
مشابهة. أما أمثلة التطبيقات المؤسسية فتشمل تطبيقات فريدة من نوعها بحيث لم تعرض
إحدى جهات بيع التطبيقات منتجاً جاهزاً. ونظراً لأطرها القانونية وشروطها القومية
الخاصة جداً، فإن أغلب المؤسسات الانتخابية تمتلك وتستخدم هذا النوع من البرمجيات
للنهوض بأنشطتها.