بقلم: احمد جبر
الموسوعة العربیة للكمبیوتر/ قسم الدورات التعلیمیة
سلسلة كتب الدورات التعلیمیة الإلكترونیة
C4arab.com
ھندسة البرمجیات
Software Engineering
في ستة أيام......
تألیف
أسماء المنقوش
مشرفة ساحة لغات البرمجة
یسمح بتوزیع الكتاب على صورته الإلكترونیة لكن لا یسمح بطبع الكتاب أو تغییر هیئته
إلا بعد أخذا إذن من الكاتب
2000-2005 جمیع الحقوق محفوظة - © الموسوعة العربیة للكمبیوتر والإنترنت
1
التواصل مع القراء
إلى القارئ العزیز ،،،
حرصت الموسوعة العربیة للكمبیوتر والإنترنت _ ومن منطلق اهتمامها العام بعلوم الحاسب والتقنیة
واهتمامها الخاص بتقدیم هذه العلوم باللغة العربیة _ على تقدیم هذه السلسة من
الكتب الإلكترونیة التى نتمنى أن تحقق طموحات القارئ العربى الذى اعتاد على قراءة أجود
المطبوعات بكافة اللغات العالمیة .
إن الموسوعة العربیة _من خلال هذه السلسلة _ تطمح لتقدیم سلسلة من الكتب بمستوى عالٍ من
الجودة ، الشيء الذى لن یتحقق بدون ملاحظاتكم واقتراحاتكم حول السلسلة _ طریقة الكتابة ،
الأخطاء الإملائیة والنحویة ، التنظیم والترتیب ، طریقة نشر الكتاب وتوزیعه ، الإخراج الفنى ...
الخ
ننتظر سماع أراءكم على البرید الإلكتروني المخصصلذلك
ebooks@c4arab.com
نرجو ذكر اسم الكتاب والكاتب والطبعة مع ذكر ملاحظاتكم لنا
تهانى السبیت
مشرفة الموسوعة العربیة للكمبیوتر والإنترنت
2
.. بسم الله الرحمن الرحیم ..
الدورات التعلیمیة .. ھي مجموعة من الدورات
التي تقدمھا لكم الموسوعة العربیة؛ بدأنا بتقديمھا
في الصیف تحت مسمى " الدورات الصیفیة " وھا
ھي تعود من جديد . حرصنا على تقديم دورات في
مجالات مختلفة لنراعي أغلب الاھتمامات كما
حرصنا على انتقاء الدورات المفیدة، غیر المتكررة،
بطريقة جادة تنقلك إلى الجو الدراسي في قاعات
الجامعة و صفوف المعاھد و لكن في بیئة
إلكترونیة! كل ھذا مجانا! ...
يوجد كذلك ساحة متخصصة لھا ضمن مجموعة
ساحات الموسوعة العربیة للنقاش والأسئلة،
تجدھا ھنا! ...
استفد واستثمر وقتك معنا! إذا كنت ترغب في
تطوير ذاتك و توسیع نطاق ثقافتك في الحاسوب
فاستغل كل دقیقة واستفد معنا! و لا تنسى أننا
في عصر المعلومات والسرعة.
ابدأ الآن !انتقل لصفحة الدورات و اختر الدورة التي تناسبك، انتقل لصفحة الأساتذة للاطلاع على
قائمة الأساتذة الّذين سیلقون المحاضرات ،انتقل لصفحة التسجیل كي تسجّل نفسك في إحدى
الدورات، لن تستطیع المشاركة في أي دورة قبل أن تسجل. انتقل لصفحة المراجع كي تطلع على
المراجع المقدمة من الأساتذة بخصوص الدورات الحالیة .انتقل لصفحة الملتحقین لتطلع على بعض
المعلومات عن الملتحقین في الدورات. انتقل لصفحة اتصل بنا كي ترسل لنا اقتراحاً أو طلباً. نحن
بانتظارك! لكن الوقت محدود و عدد الملتحقین في كل دورة محدود لذا لا تتأخر في التسجیل من
فضلك.
3
هذا الكتاب ....
لیس فى الأصل ألا دورة تم تدریسها فى ساحة الدورات التعلیمیة بالموسوعة
العربیة للكمبیوتر والإنترنت ، وتم جمع تلك الدروس وسلسلة النقاش التى
دارت حولها هنا فى هذا الكتاب ، وتم وضع النقاشات على هیئة أسئلة
وأجوبة لكى یستفید الجمیع منها ،،،،،،،،،
لذلك تعتبرسلسلة كتب الدورات التعلیمیة :
أول سلسلة كتاب إلكترونیة عربیة خاصة بالمبتدأین. ·
السلسلة الوحیدة التى تتبع نظام الأسئلة والأجوبة الناتجة فعلاً من مشاكل حقیقة لأشخاصمن مختلف ·
الأماكن والدول ، مما یهیئ عندك نوع من استعداد لأى مشكلة وكیفیة التعامل معها.
تعتبر سلسلة الكتاب الوحیدة المدعومة اربع وعشرین ساعة طوال العام ، فیمكنك الاستفسار عن اى ·
مشكلة وحلها عن طریق وضعها فى ساحة النقاش والأسئلة بالموسوعة .
إن هذا الكتاب هو من اجل نشر المعرفة وتوسیع التفكیر المنطقى الأساسي ، الاحتراف هو لیس الهدف ·
فى حد ذاته، بل الاستطلاع واكتشاف الذات والإلمام الجید بالأساسیات والمبادئ الأولیة
من اجل شق طریق النجاح بكل سهولة ویسر.
4
المحتويات ..
الدرسالأول: ماذا نعني بھندسة البرمجیات؟
الدرسالثاني: دورة حیاة تطوير المشروع
الدرسالثالث: دراسة المتطلبات
الدرسالرابع: تصمیم النظام
الدرسالخامس: كتابة البرنامج واختباره
الدرسالخامس _ الحزء الثانى : كتابة البرنامج واختباره
5
بسم اللهالرحمن الرحیم
الدرسالأول: ماذا نعني بھندسة البرمجیات؟
أھداف الدرسالأول:
سوف نحاول خلال ھذا الدرسالإجابة على ھذه الأسئلة:
ما ھي ھندسة البرمجیات؟ ·
من يشارك بھا؟ ·
ما ھي مكونات النظم البرمجیة؟ ·
وكیف يتم بنائھا؟ ·
مقدمة:
في حیاتنا الیومیة سواء في البیت أو المصنع أو Software لم يعد خافیا على أي منا أھمیة البرمجیات
المستشفى أو ... الخ، فنحن نتعامل يومیا مع العديد من الأجھزة والمعدات التي تعتمد في عملھا على
البرمجیات ومن المھم لنا أن تعمل ھذه الأجھزة وبرامجھا بالشكل والكفاءة التي نتوقعھا منھا. لذا فإن
ھندسة البرمجیات أصبحت الیوم أكثر أھمیة من أي وقت مضى.
المرجع:
1- Shari Pfleeger, "Software Engineering - Theory and Practice", 2nd Edition
ما ھي ھندسة البرمجیات؟
لنفھم معا علاقة ھندسة البرمجیات بعلوم الكومبیوتر، دعونا نأخذ ھذا المثال عن علم الكیمیاء واستخدامه
في حل المشاكل التي نقابلھا في حیاتنا الیومیة.
يھتم الكیمیائي بدراسة المواد الكیمیائیة (تركیبھا، تفاعلاتھا، والنظريات التي تحكم سلوكھا.(
بینما المھندس الكیمیائي يستخدم النتائج التي توصل إلیھا الكمیائي لحل المشاكل التي يطلب منه إيجاد
حل لھا.
من وجھه نظر الكیمیائي الكمیاء ھي موضوع الدراسة بحد ذاتھا.
تستخدم لأيجاد الحلول لمشاكل عامة) وقد لا tool ومن وجھه نظر المھندسالكمیائي الكیمیاء ھي أداة
تكون ھذه المشكلة ذات طبیعة كیمیائیة بحد ذاتھا.(
حیث يكون تركیزنا على الحواسیب ولغات computer science وبنفسالفكرة يمكن النظر إلى علم الحوسبة
البرمجة لدرستھا وتطويرھا في حد ذاتھا.
أو يمكن النظر إلیھا والتعامل بھا على أنھا أدوات نستخدمھا عند تصمیم وتطوير حل لمشكلة ما تواجھنا أو
الآخرين.
problem-solving tool. يعتبر أن الكمبیوتر ھو أداة لحل المشاكل Software Engineer مھندس البرمجیات
وعلیه أن يستخدم معلوماته حول الحاسوب وعلم الحوسبة للمساعدة في حل المشكلة التي يطلب منه
إيجاد حل لھا.
6
(1- شكل ( 1
بقدر ما ھي علم، لماذا؟ Art ولكن ومن المھم أن نتذكر أن عملیة كتابة البرامج تعد فن
أن يكتب برنامج لیؤدي مھمة hacker لأنه يمكن لأي شخصلديه معرفة كافیة بأحد لغات برمجة الحاسوب
محددة، لكن الامر يتطلب مھارة ومعرفة مھندسبرمجیات محترف لكتابة برنامج أكثر تناسقا ووضوحا ،وأسھل
في الصیانة، ويقوم بالمھمة المطلوبة منه بفعالیة ودقة أكبر.
أي أن، ھندسة البرمجیات تعنى بتصمیم وتطوير برامج ذات جودة عالیة.
من يشارك فيھذه العملیة؟
المشاركون في عملیة صناعة البرنامج، عادة ما يندرجون تحت ثلاث مجموعات:
وھو الشركة (أو الشخص) الممولة لمشر وع تطوير البرنامج المطلوب Customer: الزبون ·
الشخص (أو مجموعة الاشخاص ) الذي سوف يقوم فعلا باستعمال البرنامج، User: المستخدم ·
والتعامل معه مباشرة.
وھو الشركة (أو الشخص) الذي سوف يقوم بتطوير البرنامج لصالح الزبون. Developer: المطور ·
الشكل التالي يظھر العلاقة بین الفئات الثلاثة السابقة
7
(2- شكل ( 1
مكونات النظام
مشاريعنا التي نطورھا لن تعمل في الفراغ، فعلیھا أن تتفاعل مع مستخدمین، أجھزة ومعدات متنوعة، نظم
تشغیل وبرامج وملفات وقواعد بیانات .... إلخ و ربما حتى أنظمة حواسیب آخرى. لھذا يجب تعريف حدود
النظام ومكوناته جیدا .أي يجب تعريف ما الذي يشتمل علیه النظام وما الذي لا يشتمل علیه.
بالإضافة إلى وصف للعلاقات activities والنشاطات objects أي نظام ھو عبارة عن مجموعة من الكائنات
التي تربط تلك الكائنات والنشاطات معا. مع تعريف قائمة المدخلات المطلوبة والخطوات المتبعة والمخرجات
الناتجة لكل نشاط.


ليست هناك تعليقات:
إرسال تعليق