jam3at

اهلا وسهلا بك عزيزي الزائر انت الان غير مسجل لدينا في موقع ومنتدى جامعات قم بتسجيل الدخول وإن لم يكن لديك حساب بعد, نتشرف بدعوتك لإنشائه

انضم إلى المنتدى ، فالأمر سريع وسهل

jam3at

اهلا وسهلا بك عزيزي الزائر انت الان غير مسجل لدينا في موقع ومنتدى جامعات قم بتسجيل الدخول وإن لم يكن لديك حساب بعد, نتشرف بدعوتك لإنشائه

jam3at

هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

ملتقى طلاب الجامعات العربية

اهلا وسهلا بكم في موقع ومنتدى جامعات

    هندسة البرمجيات

    kaspersky
    kaspersky
    طالب مع مرتبه الشرف
    طالب مع مرتبه الشرف


    ذكر
    عدد الرسائل : 410
    العمر : 37
    sms : <!--- MySMS By AlBa7ar Semauae.com --><form method="POST" action="--WEBBOT-SELF--"> <!--webbot bot="SaveResults" u-file="fpweb:///_private/form_results.csv" s-format="TEXT/CSV" s-label-fields="TRUE" --><fieldset style="padding: 2; width:208; height:104"> <legend><b>My SMS</b></legend> <marquee onmouseover="this.stop()" onmouseout="this.start()" direction="up" scrolldelay="2" scrollamount="1" style="text-align: center; font-family: Tahoma; " height="78">لوضع الذي تريده داخل الصندوق من عبارات وترحيب ادخل على مكتبتي وعدل sms محل الي مكتوب بلعربي</marquee></fieldset></form><!--- MySMS By AlBa7ar Semauae.com -->
    تاريخ التسجيل : 04/11/2007

    هندسة البرمجيات Empty هندسة البرمجيات

    مُساهمة من طرف kaspersky الثلاثاء أبريل 01, 2008 12:11 am

    تاريخ هندسة البرمجيات


    استخدمت هندسة البرمجيات كمفهوم نظري من حين لآخر في أواخر الخمسينات
    وبداية الستينات من القرن الماضي. أما الاستخدام الرسمي الأول لهذا
    المصطلح فكان في مؤتمر عقد من قبل اللجنة العلمية في منظمة حلف شمال الأطلسي
    1968 حول البرمجيات، وقد أخذ هذا المصطلح بالانتشار منذ ذلك الحين ولاقى
    اهتماماً متزايداً في نواح مختلفة. عقد المؤتمر لمعالجة مايعرف "أزمة البرمجيات"
    والتي ظهرت بسبب استخدام الوسائل التقليدية في بناء البرمجيات، مما أدى
    إلى ظهور برمجيات تحتاج إلى وقت كبير لتطويرها، وكلفة مالية عالية أكثر
    مما هو مخمن لها، وكفاءة ضعيفة في إنجاز الوظائف المطلوبة.

    [ مفهوم هندسة البرمجيات[/url]


    البرمجية (Software) شيء غير ملموس إلى حد ما بالمقارنة مع المنتجات الأخرى، وهي سلسلة من آلاف أو ملايين الأوامر التي تطلب من الحاسوب
    إجراء عمليات معينة مثل عرض المعلومات، أو إجراء الحسابات، أو تخزين
    البيانات. هذه البرمجيات هي بمثابة الروح من الجسد في النظام الحاسوبي وهي
    في توسع دائم وازدياد في التعقيد والمتطلبات والمهام التي تقوم بتنفيذها.
    أما هندسة البرمجيات فهي فرع من فروع الهندسة يقوم على مجموعة أسس
    وقواعد تهدف إلى تصميم وتطوير البرامج بوفرة ونوعية عالية تلبي احتياجات
    المستخدمين، هذا الفرع من الهندسة يتميز بأنه لا يحتاج إلى رأس مال كبير
    وبالتالي الخسارة فيه قليلة على عكس بقية الفروع الأخرى من الهندسة، كما
    لا يكفي لإيجاد البرمجية المتكاملة والجيدة عمل شخص واحد وإنما يتطلب ذلك
    فريقاً من المهندسين الجيدين. وقد كان ضروريا إيجاد علم يعني بهندسة
    البرمجيات لوضع الأسس والمعايير التي تصون هذه المهنة من المتطفلين بحيث
    يصبح بالإمكان تمييز البرنامج الجيد من غير الجيد.

    [ مراحل بناء النظام البرمجي[/url]


    في هندسة البرمجيات، بناء النظام البرمجي ليس مجرد كتابة شفرة، وإنما
    هي عملية إنتاجية لها عدة مراحل أساسية وضرورية للحصول على المنتج، وهو
    البرنامج بأقل كلفة ممكنة وأفضل أداء محتمل. يطلق على هذه المراحل اسم
    دورة حياة النظام البرمجي (Software Lifecycle) التي قد يبدو بعضها ليس له
    علاقة بالبرمجة.
    وهناك الكثير من التصورات والنماذج في هندسة البرمجيات تصف عملية إنتاج
    برنامج والخطوات اللازمة لذلك. كما أن هذه الدورة خاضعة للتطوير دائما،
    حيث بالإضافة للدورات الكلاسيكية، ظهر مفهوم المنظومة المرنة (Agile
    Process) والتي تتخلي عن النموذج الثابت للمنظومة الكلاسيكية في سبيل
    المزيد من حرية الحركة للمشروع.
    و فيما يلي عرض لإحدى أشهر دورات حياة النظام البرمجي الكلاسيكية وهي دورة الشلال (Waterfall Model):

    [كتابة وثيقة الشروط الخارجية والداخلية[/url]


    وثيقة الشروط الخارجية يتم أخذها من الزبون. تحتوي الوثيقة على متطلبات
    الزبون في ما يخص مواصفات البرنامج الذي يجب إنشاؤه. ثم يتم تحليل
    المتطلبات بشكل أولي ثم كتابة وثيقة شروط داخلية تحتوي على تفسير
    المواصفات التي يريدها الزبون بدقة أكبر، وبطريقة تتماشى مع مصطلحات
    المبرمجين. قد تكون طلبات الزبون متعارضة وفي هذه الحالة يتم الرجوع إليه
    لتنقيح وثيقة الشروط. ثم يتم تحديد عدد الساعات اللازمة للعمل و حساب
    التكلفة .

    [ التحليل


    في هذه العملية تجمع المعلومات بدقة ثم تحدد المتطلبات والمهام التي
    سيقوم بها البرنامج، وتوصف هذه المهام بدقة تامة، كما تدرس الجدوى المرجوة
    من البرنامج، فالمستخدم مثلاً يضع تصوراً للبرنامج ليقوم بعمليات معينة،
    ومهمة مهندس البرمجيات في هذه المرحلة هي استخلاص هذه الأفكار وتحديدها؛
    لذلك فهي تتطلب مهارة عالية في التعامل مع الزبائن، وقدرة على التحليل
    الصحيح. ينتج في نهاية هذه المرحلة وثيقة تدعى جدول الشروط والمواصفات.

    [ التصميم[/url]


    في هذه المرحلة، تقسم البرمجية إلى كتل وتعرف العلاقات بين هذه الكتل
    ثم توضع الخوارزميات الملائمة لكل كتلة. في نهاية هذه العملية تكون
    البرمجية جاهزة لعملية الترميز، كما يتم اختيار لغة أو لغات البرمجة الملائمة لهذا البرنامج.

    [] الترميز[/url]


    تحول الخوارزميات السابقة إلى إحدى اللغات البرمجية، والتأكد من صحتها لكل كتلة من الكتل. ثم تحول إلى لغة الآلة التي يتعامل بها جهاز الحاسب فقط.

    [الاختبار والتكاملية[/url]


    تجمع الكتل مع بعضها ويختبر النظام للتأكد من موافقته لجدول الشروط
    والمواصفات، وخاصة إذا كانت الكتل قد كتبت من قبل عدة أعضاء في الفريق.

    [ التوثيق


    وهي مرحلة هامة من مراحل بناء النظام البرمجي حيث يتم توثيق البناء
    الداخلي للبرنامج؛ وذلك بغرض الصيانة والتطوير. يفضل عادة أن يترافق
    التوثيق مع كل مرحلة من المراحل السابقة واللاحقة، وأن يكون هناك فريق خاص
    يهتم بعملية التوثيق لجميع المشاكل والحلول التي يمكن أن تظهر أثناء بناء
    البرمجية. وبدون التوثيق قد يصل مصنع البرمجية إلى مرحلة لا يعود بعدها
    قادراً على متابعة صيانتها وتطويرها؛ مما يزيد الكلفة المادية والزمنية
    الخاصة بهذه البرمجية إلى حدود غير متوقعة، أو بمعنى آخر الفشل في بناء
    برمجية ذات جودة عالية ودورة حياة طويلة.

    [تحرير] الصيانة والتطوير


    إن هذه المرحلة هي المرحلة الأطول في حياة النظام البرمجي لبقاء النظام
    قادراً على مواكبة التطورات والمعدات الحديثة، جزء من هذه المرحلة يكون في
    تصحيح الأخطاء، والجزء الآخر يكون في التطوير وإضافة تقنيات جديدة. إن هذه
    الخطوات كما نلاحظ مشابهة لخطوات الإنتاج في الهندسيات الأخرى.

    [ الفرق بين البرمجة و هندسة البرمجيات[/url]


    البرمجة هي كتابة الكود هي أهم عملية في بناء البرامج، بغض النظر عن
    الجدوى من البرنامج، أو إمكانية قبول المستخدم له، أو حتى قابلية تطويره،
    في حين أن هندسة البرمجيات تعمل على بناء النظام البرمجي كمشروع متكامل،
    وتدرسه من كافة الجوانب: البناء البرمجي، الدعم الفني والصيانة، التسويق
    والمبيعات، التطوير والتدريب على استخدامه، وبذلك يمكنها بناء الأنظمة
    الكبيرة لاستخدامها نظام فريق العمل في حين أن البرمجة الفردية تعجز عن
    ذلك.

    [ المجالات المختلفة التي له علاقة بهندسة البرمجيات



    • الرياضيات:
      يحتوى أغلب البرنامج على عناصر رياضيات مثل (algorithms) لذلك فإن مطوري
      هذا النوع من البرامج يكونون على اطلاع بالعديد من النواحي الرياضية.
    • العلوم:
      البرنامج له مواصفات علمية قياسية عديدة، مثل: الأداء وحجم البرنامج وتنوع
      الأحمال .network speed المعادلات الرياضية الطرق الحديثة لقواعد البيانات
    • الهندسة
    • التصنيع:
      البرامج عبارة عن مجموعة من الخطوات. كل خطوة يتم تحديدها وتنفذ بدقة. مثل
      الكثير من الصناعات، لتحسين وتطوير خطوط الآنتاج والوصول إلى مستوى الجودة
      المطلوب.
    • إدارة المشروعات:
      سواء كان تجاريا أو غير تجارى فإنة يحتاج إلى إدارة . مثل: جدول زمني
      وتكلفة تخصص له. عوامل بشرية للإدارة ومصادر مثل مكتب وأجهزة كمبيوتر.


    [تحرير] الهيأات والمنظمات ودور النشر



    [ المؤتمرات[/url]


    [/url]

    • أكبروأقدم مؤتمر لهندسة البرمجيات يعقد كل عام ICSE) International Conference on Software Engineering)
    • أول مؤتمر كلن عام 1977 COMPSAC


    The Annual International Computer Software and Applications Conference
    [/url]

    • ESEC The European Software Engineering Conference
    • FSE The Foundations of Software Engineering مؤتمر يعقد كل عام في أوربا وشمال أمريكا
    • CUSEC Canadian University Software Engineering Conference
    • SEPG The annual Software Engineering Process Group


    [/url]

    • INFORMATICS-INFORMATIQUE
    • ICALEPS International Conference on Accelerator and Large Experimental Physics Control Systems
    • APSEC Asia Pacific Software Engineering Conference
    • UYMS National Software Engineering Symposium (in Turkish: Ulusal Yazilim Muhendisligi Sempozyumu)



    [ المنظمات



    • Association for Computing Machinery (ACM)
    • Australian Computer Society (ACS)
    • British Computer Society (BCS)
    • Canadian Information Processing Society (CIPS) - Information Systems Professional certification.

    IEEE Computer Society

    • Lero, the Irish Software Engineering Research Centre
    • Russian Software Developers Association (RUSSOFT)
    • Software Engineering Institute (SEI)
    • Software Industry Professionals
    • The Safety and Reliability Society


    [ دور النشر[/url]


    [/url]

    • edit] Publications


    Important publications in software engineering
    [/url]

    • CrossTalk: The Journal of Defense Software Engineering




    _________________
    avatar
    زائر
    زائر


    هندسة البرمجيات Empty رد: هندسة البرمجيات

    مُساهمة من طرف زائر الجمعة يونيو 06, 2008 3:17 pm

    شكراااا

      الوقت/التاريخ الآن هو الخميس مايو 02, 2024 12:35 pm