برامج الحاسب أو السوفت وير مصطلح عام يُستخدم لوصف مجموعة من برامج الحاسب والإجراءات وأدلة التعليمات الفنية التي تؤدي مهمة ما في نظام تشغيل الحاسب.[1]
يتضمن مصطلح السوفت وير ما يلي:
برامج التطبيقات: مثل برامج معالجة الكلمات التي تؤدي بعض المهام المطلوبة لمستخدمي الحاسب.
برنامج ثابت: برنامج صغير يتحكم في الأجهزة الإليكترونية، وهذا البرنامج يكون مخزنًا على شرائح ذاكرة مبرمجة إليكترونيًا ومثبتة على اللوحة الرئيسية (اللوحة الأم) أو أنواع أخرى من حاملات المكونات المادية المتكاملة للأجهزة.
Middleware: عبارة عن برنامج وسيط يتحكم في النظم الموزعة ويعمل على التنسيق فيما بينها.
برامج النظم: مثل نظم التشغيل التي تشترك مع مكونات الحاسب المادية في تقديم الخدمات اللازمة لبرامج التطبيقات.
اختبار البرامج: عبارة عن مجال مستقل يهتم بالبرمجة وتطوير البرامج. وتوجد عدة طرق لاختبار المنتج والتأكد من جودته قبل طرحه للاستخدام من قبِل فرد أو مجموعة. جدير بالذكر أن العديد من الاختبارات الخاصة بكفاءة البرنامج ومستوى أدائه وشكله تُجرى من خلال مجموعة من برامج الاختبار الحديثة التي تشتمل على أدوات متنوعة، مثل برامج QTP وLoad runner وBlack box وما إلى ذلك، وذلك لتحرير قائمة المتطلبات في الكود المطور. إن شهادة ISTQB ضرورية للغاية بالنسبة للمهندسين الذين يرغبون في العمل في مجال اختبار البرامج. [2] مهندس اختبار برامج حاصل على درجة الماجستير في إدارة الأعمال.
فحص البرمجيات : مصطلح شامل يتضمن جميع البرامج المساعدة والبرامج التطبيقية التي تعمل معًا لاختبار أية حزمة برمجية، ولكن ليس ذلك بالضرورة؛ حيث إنها يمكن أن تستخدم أيضًا في أغراض تشغيلية أخرى. وبالتالي، فإن عملية الاختبار ليست عملية توصيف أو ضبط، ولكنها مجرد بيئة عمل لبرامج التطبيقات أو مجموعات فرعية منها.
يشمل مصطلح السوفت وير مواقع الويب والبرامج وألعاب الفيديو وغيرها من البرامج والتطبيقات التي يتم تكويدها (أي كتابة الكود الخاص بها) باستخدام لغات البرمجة، مثل لغة C و C ...إلخ.
هذا ويستخدم مصطلح "السوفت وير" في بعض الأحيان في سياق أوسع بحيث يعني أي شيء غير مكونات جهاز الحاسب، ولكنه يُستخدم مع مكونات جهاز الحاسب مثل الأفلام والأشرطة والسجلات.[3]
محتويات [أخف]
1 لمحة عامة
1.1 العلاقة بين البرامج والمكونات المادية لجهاز الحاسب
2 أنواع برامج الكمبيوتر
2.1 برامج النظم
2.2 لغات البرمجة
2.3 برامج التطبيقات
3 موضوعات متعلقة بالبرامج
3.1 البنية
3.2 دليل التعليمات الفنية
3.3 مجموعة الملفات (مكتبة الملفات)
3.4 استخدام معايير قياسية للبرامج
3.5 تنفيذ برامج الكمبيوتر
3.6 مستوى جودة البرامج وفاعليتها
3.7 ترخيص برنامج الكمبيوتر
3.8 براءة الاختراع
3.9 حقوق النشر والتأليف
4 تصميم البرامج وتطبيقها
5 صناعة البرمجيات
6 انظر أيضًا
7 مراجع
[عدل] لمحة عامةغالبًا ما يشمل مصطلح "السوفت وير" كل شيء في جهاز الحاسب عدا عتاد الحاسوب؛ أي المكونات المادية للحاسب، ولكن البرامج عبارة عن مواد غير ملموسة داخل جهاز الحاسب. ويشمل "السوفت وير" أو "برامج الحاسب" مجموعة كبيرة للغاية من المنتجات والوسائل التقنية المطورة باستخدام تقنيات مختلفة، مثل لغات البرمجة أو لغات النصوص البرمجية أو حتى الميكروكود أو FPGA. ومن بين أنواع "السوفت وير" تأتي المواقع الإليكترونية المطورة من خلال بعض التقنيات الحديثة، مثل لغات HTML وبي إتش بي وبيرل وJavaServer وASP.NET وXML، بالإضافة إلى تطبيقات سطح المكتب، مثل برنامج "مايكروسوفت وورد" وبرنامج التطبيق المكتبي OpenOffice الذين تم إنشاؤهما باستخدام بعض التقنيات الحديثة، مثل لغة c و c وJava و#c ...إلخ. وعادةً ما تعمل برامج الحاسب معتمدة على بعض نظم التشغيل، مثل نظام التشغيل "مايكروسوفت ويندوز" أو "لينوكس". هذا بالإضافة إلى احتواء برامج الحاسب على ألعاب الفيديو ونظم المنطق الخاصة بأجهزة العملاء الحديثة، مثل السيارات والتليفزيونات ومحمصة الخبز الكهربائية ...إلخ.
[عدل] العلاقة بين البرامج والمكونات المادية لجهاز الحاسبسميت برامج الحاسوب بهذا الاسم لتمييزها عن مكونات جهاز الحاسوب"الهارد وير" التي تشمل الوصلات والأجهزة المادية اللازمة لتخزين وتشغيل البرامج. وعلى المستوى الأدنى، يشمل مصطلح السوفت وير لغات البرمجة الخاصة بجهاز الحاسب أو ما يُعرف باسم لفة الآلة (Machine Language) والتي تتعامل مع معالج (أو بروسيسور) واحد. وتتكون اللغة البرمجية الخاصة بجهاز الحاسب من مجموعات من القيم الثنائية التي تعبر عن تعليمات المعالج والتي تغير حالة الحاسب عن حالته السابقة.
"السوفت وير" عبارة عن سلسلة مرتبة من التعليمات لتغيير حالة "الهارد وير" بتسلسل معين. وعادةً ما تكون هذه التعليمات مكتوبة بلغة برمجة عالية المستوى يمكن للإنسان التعامل معها بسهولة وكفاءة (وهي أقرب إلى لغة البشر الطبيعية) من اللغة البرمجية التي يفهمها جهاز الحاسب لغة الآلة (Machine Language).
ويتم تحويل جميع الجمل البرمجية المكتوبة بلغات برمجة عالية المستوى وتنفيذها جملة جملة باستخدام المفسر (Interpreter)أو تنفيذها دفعة واحدة باستخدام المترجم Compiler. والشفرة الناتجة من هذا التحويل يُطلق عليها لغة الآلة Machine Language أو شفرة الهذف Object Code. يمكن أيضًا كتابة البرامج باستخدام لغة الأسيمبلي( Assembly)- وهي - عبارة عن ترميز للغة البرمجية التي يفهمها الحاسب باستخدام الأحرف الهجائية الإنجليزية. هذا ويجب تحويل لغة Assembly إلى اللغة البرمجية التي يفهمها الحاسب باستخدام أداة Assembler .
أول من استخدم مصطلح "سوفت وير" بهذا المعنى "جون وايلدر توكي" في عام 1958.[4] إن النظرية التي تعتبر الأساس لمعظم برامج الحاسب الحديثة قدمها لأول مرة "آلان تورينج" في مقاله الذي تم نشره عام 1935 Computable numbers with an application to the Entscheidungsproblem . "مايك هالي" 2005.
[عدل] أنواع برامج الكمبيوتر
بنية طبقية توضح مكان وجود نظم التشغيل في نظم البرامج المستخدمة عمومًا على سطح المكتبتقسِّم نظم الكمبيوتر العملية نظم البرامج إلى ثلاث فئات رئيسية: برامج النظام وبرامج البرمجة وبرامج التطبيقات، على الرغم من أن هذا التصنيف قد يبدو اعتباطيًا وكثيرًا ما يكون غير واضح.
[عدل] برامج النظمتساعد برامج النظم في تشغيل مكونات جهاز الكمبيوتر "الهاردوير" ونظام التشغيل. تشمل برامج النظم:
برنامج تشغيل الأجهزة
نظم التشغيل
وحدات الخدمة
برامج مساعدة
نظم الإطارات التي تساعد مستخدم الكمبيوتر على فتح عدة برامج في الوقت نفسه وكل برنامج في إطار أو نافذة خاصة به.
(ليس من الضروري التعرف على هذه البرامج بالتفصيل)
إن الهدف من برامج النظم عدم إثقال مبرمج التطبيقات بالتفاصيل الخاصة بجهاز الكمبيوتر بما في ذلك الأجهزة الملحقة، مثل وسائل الاتصال والطابعات وأجهزة العرض والقراءة ولوحات المفاتيح ...إلخ. هذا بالإضافة إلى التفاصيل الخاصة بتقسيم مصادر الكمبيوتر، مثل الذاكرة وزمن المعالجة بطريقة آمنة وثابتة.