sara
عدد المساهمات : 27 تاريخ التسجيل : 28/10/2011
| موضوع: البرمجيات Software الخميس نوفمبر 03, 2011 10:07 am | |
| البرمجيات Software البرمجيات ليست فقط برامج الكمبيوتر Computer Programs لكنها تشمل ايضا التوثيق المرتبط بها، وبيانات التكوين Configuration data اللازمة لجعل البرامج تعمل بصورة صحيحة .Documentation
- مما يتكون نظام البرمجيات Software System؟
- عدد من البرامج المنفصله Separate Programs.
- ملفات تكوين Configuration التي تستخدم لإعداد هذه البرامج.
- مستندات توثيق النظامSystem Documentation التي تصف هيكل النظام،و وثائق المستخدم ، ومواقع الويب.
هندسة البرمجيات Software Engineering هو العلم الذي يهتم بكل أشكال إنتاج البرمجيات بدءاً من المراحل المبكرة لخصائص النظام وتطوير نظم البرمجيات حتى صيانة هذا النظام بعد إستخدامه. ويعد علم هندسة البرمجيات حديثاً إلى حد ما فقد ظهر مصطلح هندسة البرمجيات في عام 1968م.
- بماذا يهتم مهندس البرمجيات؟
يهتم مهندس البرمجيات بتطوير المنتجات البرمجية التي تباع للمستهلكين ،والتي يحتاج إليها العملاء والزبائن.
- مقطع بسيط عن مهندس البرمجيات:
Software Engineer
المقطع يقول بأختصار:
- البرمجيات هي المحتوى المُشاهَد والذي تتفاعل معه بواسطة جهاز الحاسب الالي.(كتعريف اخر للبرمجيات).
- خلال
التدريب المهني في الكليات والعمل، فإن مهندسي البرمجيات يحللون ويجدون الحلول لمشاكل البرمجه ويجدون الأطر المناسبه لكُتَاب الشفره Code Writer، الذين يكتبون الخطوات البسيطه التي يتكون منها البرنامج.
- قد
يتوجب عليهم العمل في كل مساء أو في عطل نهاية الأسبوع لإكمال العمل قبل نهاية الموعد المحدد أو لحل المشكلات التقنية الغير متوقعة.
- من التحديات التي تواجه مهندسي البرمجيات هي تحديث وعيهم مهاراتهم بشكل مستمر.
- ومن الضروري ان يكون مهندس البرمجيات قوياً في الرياضيات ولديه القدره لتتبع أدق التعليمات المفصلة.
- مهندسي البرمجيات بحاجة أيضاً إلى مهارات الاتصال للتحليل وتلبية احتياجات مستخدمي الكمبيوتر الآن، وكذلك المستخدمين في المستقبل.
هندسة البرمجيات في سوق العمل
هذه إحصائيه لموقع الـ CNN المعروف، للوظائف في جميع المجالات ومدى طلب سوق العمل عليها في الولايات المتحدة على مدى السنوات القادمة. صوره من الموقع:
وكما نرى هندسة البرمجيات تتصدر القائمة. وبما أننا في منطقة نامية ومهمة إقتصادياً على مستوى العالم فمن المتوقع أن يزيد الطلب على مهندسي البرمجيات بشكل أكبر في السنوات القادمة.-لمزيد من المعلومات: CNN.COM ما هي أنواع المنتجات البرمجية؟
- برمجيات
عامة شاملة Generic: وهي نظم مستقلة تنتج بواسطة شركات وتباع في السوق لأي عميل، وأحياناً يطلق عليها أسم البرمجيات المغلفة مثل قواعد البيانات ومعالجات النصوص وحزم الرسوم.
- برمجيات جاهزة
(تفصيل أو مخصصة) Customized: وهي نظم مخصصة لعميل معين يطلب تجهيزها، ويتم تطويرها بواسطة شركة أو مطور خصيصاً لهذا العميل ومنها أنظمة التحكم في المعدات الإلكترونية والآلآت والنظم الخاصة بأعمال معينة.
ما الفرق بين هندسة البرمجيات وعلوم الحاسب الالي؟
علوم الحاسب تهتم بالنظريات والأُسس والمفاهيم والطرق التي تقع تحت نطاق الكمبيوتر ونظم البرمجيات كمعرفة كيفية عمل الكمبيوتر والشبكات مع التركيز على البرامج وكيفية عمل لغات البرمجة، بينما تهتم هندسة البرمجيات بالجوانب العملية لتطوير وإنتاج البرمجيات ككيفية قياس وتحليل منتجات البرمجيات والبرامج العملية، إضافةً إلى كيفية التعامل مع المستخدمين بشكل عام. يجب أن يلم مهندس البرمجيات ببعض المعارف عن علوم الحاسب.
مراحل أو دورة تطوير البرمجيات
تمر عملية بناء أي منتج برمجي بمراحل يطلق عليها أسم دورة الحياة او عمليات البرمجه Software Processes وتتضمن دورة حياة أو مراحل تطوير برمجيات التالي:
- مرحلة تجميع المتطلبات Requirements Engineering (تحديد وتعريف المتطلبات Requirements Specification).
- مرحلة التصميم Design.
- مرحلة التنفيذ وبناء الشفرة Implementation and Coding.
- مرحلة تجميع المكونات والاختبار Integration and Testing.
- مرحلة الصيانة Maintenance.
تتضمن كل مرحلة من هذه المراحل العديد من الخطوات أو النشاطات،ولكل منها مدخلات ومخرجات وتأثيرها على جودة المنتج النهائي (البرنامج). عمليات البرمجيات Software Processes
- ما هي عمليات البرمجيات Software processes؟
هي مجموعة من الأنشطة التي تهدف إلى تنمية وتطوير البرمجيات. الأنشطة الرئيسية هي:
-
المواصفات Specifications: ما الذي يجب على النظام أن يفعله، وما هي قيود تطويره. التجهيز والتطوير Developement : إنتاج نظام البرمجيات، أي أن نتيجة برمجيات يجب أن تحقق المواصفات. التثبيت Validation : فحص وإختبار أن البرمجيات المنتجة تحقق المواصفات التي طٌلِبَة من قبل العميل. إرتقاء البرمجيات Evolution : تغيير وتطوير البرمجيات استجابة للتغييرات الطارئة.
| |
|
sara
عدد المساهمات : 27 تاريخ التسجيل : 28/10/2011
| موضوع: رد: البرمجيات Software الخميس نوفمبر 03, 2011 10:08 am | |
| ما هي نماذج عمليات البرمجيات Software Process Models؟ نموذج عملية البرمجيات عبارة عن موجز مجرد للعمليات والمراحل الفعلية ، وقد تحتوي عل الأنشطة التي هي جزء من عمليات البرمجيات والمنتجات البرمجية، والقواعد التي يشتغل بها العاملون في هندسة البرمجيات. - من أنواع عمليات البرمجيات هناك انواع من النماذج العامة لتطوير البرمجيات وهي:
- نموذج الشلال Waterfall:
الذي يمثل الأنشطة في مراحل عمليات مستقلة مثل تحديد المواصفات Specificationsوالتصميم Design والتنفيذ Implementation والأختبار Testingوالصيانة Maintenance. حيث لا ينتقل المهندس للمرحلة التي تليها إلا بعد الإنتهاء كلياً من المرحلة الحالية مستفيداً من مُخرجاتها. 2. نموذج التحويل الأساسي (المنهجي او الشكلي) Formal : يعتمد على إنتاج مواصفات نظام رياضي أساسي Formal Mathematical System Specificationوتحويل المواصفات بأستخدام طرق رياضية إلى برامج. من اللغات المعروفة والمستخدمة في هذا المجال لغة Z.
3. نموذج التكرار والزيادة Iterative and Incremental Development : هو عملية دورية لتطوير البرمجيات المتقدمة إستجابة لمواطن الضعف للنموذج الشلال. يبدأ بخطة أولية وينتهي بدورة التفاعل بين المراحل المختلفة. | |
|
sara
عدد المساهمات : 27 تاريخ التسجيل : 28/10/2011
| موضوع: رد: البرمجيات Software الخميس نوفمبر 03, 2011 10:08 am | |
| خصائص البرمجيات الجيدة خصائص المنتج Characteristic
| الوصف Description
| قابلية الأستخدام
Usability
| يجب أن تكون البرمجيات قابلة للإستخدام بدون مجهود مستحق، وهذا يعني ضرورة وجود واجهة مستخدم مناسبة مع مستندات تشتمل على التوثيق الكافي. | الكفاءة
Efficiency
| لايجب على البرمجيات اهدار موارد النظام Resources مثل الذاكرة ودورات المعالج، وبهذا تتضمن الكفاءة: الاستجابة و وقت المعالجة...
| الموثوقية Dependability
| تتضمن قابلية إعتماد البرمجيات بنطاق خصائص تحتوي على الإعتماد عليها Reliability والتأمين Security والأمان Safety.
| فابلية الصيانة Maintainability
| يجب كتابة البرمجيات بطريقة تلبي إحتياجات التغيير التي يحتاجها المستخدم، وهي خاصية حرجة لأن تغييرات البرمجيات نتاج حتمي لتغير بيئة العمل.
| تكاليف هندسة البرمجيات Cost of Software Engineering بصفة تقديرية فإن حوالي 60% من التكاليف تعتبر تكاليف التطوير، وحوالي 40% هي تكاليف الفحص والإختبار، وبالنسبة للبرمجيات الخاصة فإن تكاليف الإرتقاء تتجاوز تكاليف التطوير. تختلف تقديرات التكلفة إعتماداً على نوع النظام الذي يجري تطويره ومتطلبات النظام والآداء فيه والإعتمادية Reliability,كما تعتمد التكاليف على النموذج المستخدم في التطوير. تحديات تواجه هندسة البرمجيات هناك تحديات تواجه هندسة البرمجيات هي: الإلتقاء مع النظم القديمة الموروثةLegacy Systems, وتزايد التنوع Increasing Diversityفي العتاد والتوزيع , والإستجابة لطلب وقت التسليم Delivery Times. يتغير مجتمع الأعمال بسرعة كما يستجيب أيضا للتغييرات التي تحدث بسرعة هائلة أيضا, ويجب أن تتغير برمجيات الدعم بسرعة أيضا، وللتغلب على هذه التحديات تحتاج هندسة البرمجيات إلى إبتداع أدوات وتقنيات ومنهجيات وطرق تصاحب ما هو موجود حاليا.
| |
|