19
1 3)l6dA0b( pH?fg qb. c<?d cL[b( md(Ad ﻭﻳﺸﻜﻞ ﺍﻟﱪﳎﻴﺎﺕ ﻫﻨﺪﺳﺔ ﻣﺎﻫﻴﺔ ﻋﻦ ﺷﺎﻣﻠﺔ ﺻﻮﺭﺓ ﺭﺳﻢ ﺇﱃ ﺍﻟﻔﺼﻞ ﻫﺬﺍ ﻳﺮﻣﻲ ﺍﻟﻜﺘﺎﺏ ﻓﺼﻮﻝ ﺑﻘﻴﺔ ﻟﻔﻬﻢ ﻋﺎﻣﺎ ﺇﻃﺎﺭﺍ. ﺑﺈﻣﻜﺎﻧﻚ ﺳﻴﻜﻮﻥ ﺍﻟﻔﺼﻞ ﳍﺬﺍ ﻗﺮﺍﺀﺗﻚ ﺑﻌﺪ: ﺃﳘﻴﺘﻬﺎ ﻭﻣﺪﻯ ﺍﻟﱪﳎﻴﺎﺕ ﻫﻨﺪﺳﺔ ﻣﺎﻫﻴﺔ ﻓﻬﻢ. ﺣﻮﻝ ﳏﻮﺭﻳﺔ ﺃﺳﺌﻠﺔ ﻋﻦ ﺍﻹﺟﺎﺑﺔ ﺍﻟﱪﳎﻴﺎﺕ ﻫﻨﺪﺳﺔ. ﻋﻠﻰ ﺍﻟﺘﻌﺮﻑ ﺍﻟﱪﳎﻴﺎﺕﻨﺪﺳﺔ ﺍﳌﺘﻌﻠﻘﺔ ﻭﺍﳌﻬﻨﻴﺔ ﺍﻷﺧﻼﻗﻴﺔ ﺍﻟﻘﻀﺎﻳﺎ ﺑﻌﺾ. plHltAb( 3(A^[b( 1.1 ﻴﺐ ﻭﺍ ﺍﻟﺴﺎﺋﻞ ﺑﲔ ﺍﻟﱪﳎﻴﺎﺕ ﻫﻨﺪﺳﺔ. 2.1 ﻭﺍﳌﺴﺆﻭﻟﻴﺎ ﺍﻟﱪﳎﻴﺎﺕ ﻫﻨﺪﺳﺔ ﻭﺍﳌﻬﻨﻴﺔ ﺍﻷﺧﻼﻗﻴﺔ.

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

  • Upload
    dima

  • View
    61

  • Download
    15

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: مدخل الى هندسة البرمجيات

1

يرمي هذا الفصل إىل رسم صورة شاملة عن ماهية هندسة الربجميات ويشكل

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

.هندسة الربجميات بني السائل وايب 1.1

. األخالقية واملهنيةتهندسة الربجميات واملسؤوليا 2.1

Page 2: مدخل الى هندسة البرمجيات

14

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

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

أن إنتاج وصيانة الربجميات هلما عنصران جوهريان يف سري "إىل نتيجة منطقية جداً مؤداها أما هندسة الربجميات فهي الفرع اهلندسي الذي يركز ". االقتصاد الوطين واالقتصاد العاملي ككل

ولعل أهم ما تتسم ا الربجميات هي تلك . كلفٍة معقولة على إنتاج برجميات عالية اجلودة وبت يتميز بطبيعته غري امللموسة، - خالفاً للمنتجات األخرى - ي فاملنتج الربجم. الطبيعة اردة

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

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

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

(NATO) نشأت هذه األزمة أساساً بسبب الثورة " . بأزمة الربجميات" لتداول األزمة املعروفة .(ICS)اهلائلة اليت شهدا صناعة احلواسيب وقتئٍذ متمثلةً باختراع الدارات املتكاملة

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

. التعقيد يف الربجميات هو الذي خلق أزمة الربجمياتمشاريع برجمية جتاوزت مواعيدها النهائية : وموأخذت تداعيات هذه األزمة تتجلى يوماً بعد ي

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

أضف إىل ذلك وذاك . تعيش يف كابوٍس حقيقي - وقتئٍذ -نعم، لقد كانت صناعة الربجميات لقد كان . كونات الصلبة مقابل االرتفاع الطردي أسعار الربجمياتاوي أسعار احلواسيب وامل

الواقع السابق هو املناخ الذي ولدت فيه هندسة الربجميات لتقدم لنا العديد العديد من الطرائق ومع تزايد . واملنهجيات والتقنيات لتخفيف التعقيد املتأصل يف صميم األنظمة الربجمية الكبرية

فربزت إىل الوجود تقنيات جديدة وليدة . ربجميات تزايد هذا التعقيد الدائم قدرتنا على إنتاج ال التزاوج بني األنظمة احلاسوبية وأنظمة االتصاالت، ونتيجة احلاجة لتصميم واجهات استخدام

.رسومية معقدة

Page 3: مدخل الى هندسة البرمجيات

1 15

فرضت هذه التقنيات نفسها من جديد على مهندسي الربجميات، ومع ذلك بقيت العديد من لة لتطبيق تقنيات ومنهجيات هندسة الربجميات يف صناعتها الربجمية وهلذا فقد الشركات مهم

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

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

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

هذا التباين أدى إىل تنوع مماثل يف أساليب . وبني أمناط الشركات املستخدمة هلذه األنظمة . تطوير الربجميات

يفةً من تطوير الربجميات، ولكننا مس يف أذنك قد تثري الظاهرة السابقة يف نفسك توجساً وخ رغم هذا التنوع الواسع إال أنه مثة العديد من املبادئ واألفكار والنظريات اليت تشكل : "قائلني

".جوهر هذه األساليب املتنوعة، وهذا اجلوهر هو قلب هندسة الربجمياتفبدون . طوىب ملهندسي الربجميات: لنيمع اية القرن العشرين فإننا جند أنه من حقنا أن نصرخ قائ

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

نع متاماً بأن هناك الكثري لنقوم به يف لقد تركت هندسة الربجميات بصمتها على التاريخ، وأنا مقت .هذا القرن اجلديد

1-1 سنجيب يف هذه الفقرة عن كم من األسئلة اليت جتول يف أذهان العديد من املبتدئني يف هذا

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

. هذه األسئلة مع أجوبتها1-1يلخص الشكل

Page 4: مدخل الى هندسة البرمجيات

16

1-1-1

ومصطلح (Software)خيلط العديد من األشخاص، حىت من االختصاصني، بني مصطلح برجمية ، حيث أن "برنامج"أعم من مصطلح " برجمية "إن مصطلح . رغم اختالفهما(Program)برنامج

الربجمية الواحدة حتتوي عادة على عدة برامج منفصلة إضافة إىل معطيات التوثيق (Documentation data) ومعطيات التشكيل (Configuration data) . معطيات التشكيل هي مجلة

ىن بتوثيق النظام هذه الربامج، أما معطيات التوثيق فهي تع(Setup)امللفات الضرورية إلعداد ، وبتوثيق )ترابط عناصر هذا النظام مع بعضها البعض (الضروري لتوصيف هيكلية النظام

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

مهندسو "يتم تطوير الربجميات بواسطة أشخاص يدعون . آخر املعلومات حول املنتج الربجمي ".الربجميات

:تقسم املنتجات الربجمية من وجهة نظر السوق إىل نوعني أساسني هي عبارة عن برجميات مستقلة يتم إنتاجها من قبل شركة ما، لتباع يف : املنتجات العامة . 1

من أشهر األمثلة عن هذه املنتجات هي قواعد . ون قادر على شرائها األسواق ألي زب .، وبرامج الرسم، وأدوات إدارة املشاريع(Word processor)املعطيات، ومعاجلات النصوص

وهي الربجميات اليت يطلبها زبون حمدد، حيث يتم تطوير هذا املنتج بناًء :املنتجات اخلاصة . 2لفئة جند مثالً أنظمة التحكم يف األجهزة اإللكترونية، ومن هذه ا . على طلب الزبون

.اخل... واألنظمة اهلادفة ألمتتة عمليات مؤسساتية حمددة، وأنظمة التحكم حبركة الطريان إن فهم هذا االختالف يعترب أساسياً بالنسبة ملهندس الربجميات، الذي جيب أن يدرك أثر هذا

.االختالف يف أسلوب تطوير الربجمية. بالنسبة للنوع األول تضع شركة الربجميات املتطلبات بنفسها وتوصفها. ذ مثالً توصيف املتطلباتخ

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

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

مثل ERP (Enterprise Resource Planning)هذه األنظمة جند أنظمة ختطيط موارد الشركات .SAPالنظام

Page 5: مدخل الى هندسة البرمجيات

1 17

السؤال الجواب

يمكن أن يكون المنتج . المترافقة معهاهي مجموعة البرامج والوثائقالبرمجي عام، أي للسوق بشكل عام، أو أن يكون خاص، بمعنى أنه قد

.تم تطويره بناًء على متطلبات زبون معين

ما هي البرمجية؟

هو ذلك الفرع الهندسي الذي يعنى بدراسة جميع جوانب إنتاج البرمجيات

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

حاسب بدراسة النظريات، أما هندسة البرمجيات فتهتم تهتم علوم ال . بالجوانب العملية لتطوير برمجيات مفيدة

ما الفرق بين هندسة البرمجيات وعلوم الحاسب؟

تشتمل هندسة األنظمة على آل جوانب تطوير األنظمة الحاسوبية بما وبالتالي فإن . وأشخاصتفيها من عتاد حاسوبي وبرمجيات وعمليا

. البرمجيات هي جزء من هندسة األنظمةهندسة

ما الفرق بين هندسة البرمجيات وهندسة األنظمة؟

ما هي إجرائية تطوير .إنها لفيف من النشاطات التي تهدف إلى تطوير أو صيانة النظام البرمجي البرمجيات؟

تطوير ما هو نموذج إجرائية .إنه أسلوب معين في تنظيم نشاطات إجرائية تطوير البرمجيات البرمجيات؟

أن ستون بالمئة تقريبًا من التكاليف هي تكاليف تطوير النظام، في حين .هي تكاليف االختبارأربعون بالمئة

بالنسبة للبرمجيات الخاصة، نجد أن تكاليف صيانة النظام البرمجي .تتجاوز تلك التي لها عالقة بالتطوير

ما هي التكاليف في عملية إنتاج البرمجيات؟

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

.إلنتاج البرمجيات

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

هي عبارة عن أنظمة برمجية تساعد مهندس البرمجيات في عملية .تدعم مناهج هندسة البرمجياتبمعنى أنها . تطوير البرمجيات

؟CASEما هي األدوات

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

ما هو المنتج البرمجي الجيد؟

تسليم التعامل مع التنوع الكبير في عالم البرمجيات، وتخفيض مواعيد .المشاريع البرمجية، وتطوير برمجيات جديرة بالثقة

ما هي أهم التحديات التي تواجه هندسة البرمجيات اليوم؟

األسئلة األآثر تكرارًا حول هندسة البرمجيات 1.1الشكل

2-1-1

باملراحل األوىل املتمثلة هي ذلك الفرع اهلندسي الذي يعىن بكل جوانب إنتاج الربجميات ابتداًء" "بتوصيف النظام ووصوالً إىل مرحلة صيانة هذا النظام بعد أن وضع قيد العمل

Page 6: مدخل الى هندسة البرمجيات

18

:من قراءتنا للتعريف السابق جند أنفسنا مضطرين للوقوف عند نقطتني هامتني ت أي أنه يوظف كل النظريات واملنهجيا . يهتم املهندس جبعل األشياء تعمل :فرع هندسي . 1

بل يعين املهندس إىل ما هو أبعد . ات املتاحة بني يديه إلجياد حلوٍل ملشكالت معينة واألدويعمل . من ذلك إذ حياول جاهداً أن يوجد حالً للمشكلة حىت يف غياب وجود أي نظرية

املهندس ضمن مجلة من القيود التنظيمية واملالية، لذلك فإن حلوله جيب أن تكون متالئمة .يةمع هذه القيود احلتم

فقط ) اهلندسي( ال يعىن مهندس الربجميات باجلانب التقين :كل جوانب إنتاج الربجميات . 2لعملية إنتاج الربجميات، بل إنه يدرس أيضاً نشاطات أخرى مثل إدارة املشاريع الربجمية

يف بعض احلاالت تتحول عملية تطوير الربجميات إىل . وتطوير نظريات ومنهجيات جديدة لسنا مضطرين إىل - يف هذه احلالة -عية أكثر من كوا مهمة هندسية، وبالتايل مهمة إبدا

اتباع أسلوب منظم يف عملية اإلنتاج ولعل ذلك يبدو جلياً يف تطوير األنظمة القائمة على .(Web-based system)الويب

3-1-1

أساساً بدراسة واستنباط النظريات واملنهجيات اليت (Computer science)تم علوم احلاسب بينما تركز هندسة الربجميات على املشكالت العملية .تشكل أساس األنظمة الربجمية واحلاسوبية

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

ببعض جوانب الفيزياء، كذلك يتوجب على مهندس الربجميات أن ميتلك بعض املعرفة حول .علوم احلاسب

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

وهكذا فإن العديد من نظريات علوم . الربجميات أساليب غري منتظمة يف تطوير برجميام .احلاسب تقف أحياناً عاجزةً عن حل املشكالت الربجمية الواقعية املعقدة

4-1-1

- ضمن ما حتتويه -يهتم مهندس األنظمة بدراسة تطوير وتطور األنظمة املعقدة اليت حتتوي على الربجميات اليت تلعب دوراً هاماً يف هذا النظام الكلي، وبالتايل يدرس مهندس النظام مجيع

Page 7: مدخل الى هندسة البرمجيات

1 19

نظام مكونات هذا النظام من عتاد حاسويب وتصميم إلجرائيات وسياسات معينة وتوزيع ال .باإلضافة إىل هندسة الربجميات

، أي حتديد ما جيب أن "توصيف النظام "يبدأ مهندس النظام بفهم النظام حيث يقوم مبا نسميه يقوم به النظام، بعد ذلك يقوم بتعريف اهليكلة العامة هلذا النظام، مث يقوم مبكاملة مكوناته

. املختلفة وصوالً إىل النظام النهائيفقد قام اإلنسان بدراسة أنظمة . األنظمة فرعاً هندسياً أقدم من هندسة الربجميات تعترب هندسة

معقدة منذ ما يربو على املئة عام، ولعل أمهها هي األنظمة الصناعية مثل معامل الطائرات أو ولكن مع تزايد الدور الذي تلعبه الربجميات يف أنظمة اليوم ستغدو العديد من . املعامل الكيميائية

سنلقي الضوء على هندسة األنظمة . نيات هندسة الربجميات قابلة للتطبيق على هندسة األنظمةتق .يف الفصل الثاين

5-1-1

أو ما سنطلق عليها اختصاراً - (Software development process) إن إجرائية تطوير الربجميات هي جمموعة النشاطات اليت تعىن بإنتاج املنتج الربجمي، - (Software process)إجرائية الربجميات

.إضافة إىل خمرجات هذه النشاطات : النشاطات التالية(sp)تضم أي إجرائية برجميات

يف هذه املرحلة يقوم كلٌ من املهندس والزبون :(Software specification)توصيف الربجمية .1 .ددون القيود املفروضة على هذه الربجميةبتحديد املتطلبات وتوصيفها مث حي

.يف هذه املرحلة يتم تصميم وبرجمة الربجمية: (Software development)الربجمية تطوير .2

التأكد من أن الربجمية تنجز الوظائف اليت يريدها :(Software validation)إثبات صحة الربجمية .3 .الزبون

إجراء تعديالت على الربجمية لتنفيذ وظائف أو متطلبات :(Software evolution)تطور الربجمية .4 .جديدة

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

Page 8: مدخل الى هندسة البرمجيات

20

علينا أن ، عندئذ جيب(Real-time system)هب أننا نريد تطوير نظام برجمي يف الزمن احلقيقي بشكل كامل ودقيق قبل االنتقال إىل تطوير الربجمية ) النشاط األول(نوصف املتطلبات

، (E-commerce)أما إذا كان املطلوب بناء نظام برجمي للتجارة اإللكترونية ) النشاط الثاين(إذاً ال بد أن ننظم هذه . فعندئٍذ نقوم بتوصيف املتطلبات وتطوير الربجمية على التوازي

. النشاطات بطريقة معينة وبدرجات تفصيل حمددة وذلك تبعاً لنوع التطبيق ولطبيعة شركتناومهما يكن من األمر فإن إتباع إجرائية برجميات غري مناسبة من شأنه أن يضر جبودة املنتج

.الربجمي أو يرفع كلفتهثامن والعشرين سنناقش يف الفصل الرابع إجرائيات الربجميات بالتفصيل، أما يف الفصل ال

.(sp)فسنتناول موضوع حتسني إجرائية الربجميات

6-1-1

هو أسلوب لتنظيم نشاطات إجرائية (Software process model)إن منوذج إجرائية الربجميات ية الربجميات إضافةً إىل ذلك حيتوي منوذج إجرائ . وفق طريقة معينة ) الفقرة السابقة(الربجميات

.على نشاطات أخرى تتعلق باألشخاص ذوي الصلة باملشروع الربجمي

):مناذج(ميكن أن ننظر إىل مناذج إجرائية الربجميات من عدة زوايا

يوضح هذا النموذج تسلسل نشاطات إجرائية :(Workflow model)منوذج تدفق العمل . 1متثل النشاطات . قات بني هذه األنشطةالربجمية مع توضيح عمليات الدخل واخلرج والعال

.يف هذا النموذج األفعال اليت يقوم ا اإلنسان

يف هذا النموذج سننظر إىل إجرائية الربجميات على :(Dataflow model)منوذج تدفق املعطيات . 2مبعىن أنه سيأخذ معطيات الدخل . أا جمموعة نشاطات، كل نشاط يقوم بتحويل املعطيات

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

ميثل األدوار اليت يقوم ا األشخاص املشاركني يف :(Role/ action model)الفعل /منوذج الدور . 3 . النشاطات امللقاة على عاتقهمإجرائية الربجميات و

Page 9: مدخل الى هندسة البرمجيات

1 21

: فهي(Generic)أما مناذج إجرائية الربجمية العامة

هذا النموذج يتناول النشاطات السابقة وميثلها :(The waterfall development)التطوير الشاليل .1بعد . اخل... كمراحل تطوير منفصلة مثل توصيف املتطلبات وتصميم الربجمية والربجمة واالختبار

إذاً يسري هذا النموذج بشكل . أن تتم املوافقة على كل مرحلة، سننتقل إىل املرحلة التالية . تسلسلي

ال يسري هذا النموذج بشكل تسلسلي، بل : (Iterative development)التطوير التكراري .2إجناز نشاطات ) دورة (، سيتم يف كل تكرار (Iteration)حيتوي على عدة تكرارات

.وصيف والتصميم والربجمة واالختبارالت

النظام انطالقاً ) نصمم ونربمج (يف البداية سننطلق من جمموعة صغرية من املتطلبات مث نطور واعتماداً على هذه . مث يقوم الزبون بالتحقق من هذه الربجمية ويزودنا مبعلوماته . منها

) ال حيقق كل متطلبات الزبون أي أنه(املعلومات سنقرر إما أن هذا النظام مل يكتمل بعد . ، وإما أنه أصبح جاهزاً للتسليمر عملية التطويعوعندئذ سنتا ب

: CBSE (Component-Based Software Engineering)هندسة الربجميات املرتكزة على املكونات .3أي هناك العديد . نتبع هذا النموذج عندما ال نكون مضطرين إىل بناء التطبيق من الصفر

.من العناصر اليت ميكن أن تفيدنا يف بناء الربجمية العناصر مع بعضها البعض وليس تطويرها من (Integration)إذاً يركز هذا النموذج على مكاملة

.وسندرس هذا املوضوع يف الفصل التاسع عشر. الصفر .سنناقش موضوع مناذج إجرائيات التطوير يف الفصل الرابع والفصل السابع عشر

7-1-1

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

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

وحدة، عندئذ ستتوزع التكاليف على 100إذا افترضنا أن التكاليف الكلية لتطوير النظام هي .2.1 ومن الشكل النشاطات

Page 10: مدخل الى هندسة البرمجيات

22

نالحظ أن . تم حساب الكلفة لكل مرحلة من املراحل على حدةبالنسبة للنموذج الشاليل سي من إمجايل 40%مرحلة املكاملة واالختبار تستنفد معظم التكاليف، حيث تبلغ تكاليفها حوايل

بل إن هذه النسبة مرشحة للزيادة عند بناء نظام حرج لدرجة أا قد تتطلب أكثر من . الكلفة .م من إمجايل تكاليف تطوير النظا%50

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

من لن نتعامل إال مع متطلبات على مستوى عالٍ - يف بداية املشروع -فهي متدنية جداً ألننا ).غري مفصلة كثرياً(التجريد

توزع التكاليف في نشاطات هندسة البرمجيات 2.1الشكل

Page 11: مدخل الى هندسة البرمجيات

1 23

).األويل(إال أنه ال بد من إجراء عملية اختبار مستقلة بعد انتهاء بناء النظام البدائي نموذج هندسة الربجميات املرتكزة على املكونات، فهذا النموذج مل يظهر على أما بالنسبة ل

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

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

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

االستخدام؟، وتكاليفها ليست باملنخفضة (Software evolution)تطور النظام الربجمي : إن هذه العملية ندعوها

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

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

مبا . ذا أردنا التحدث عن الربجميات العامة فإن األمر سيكون خمتلف ولكننا إ ). شركة الربجميات (أن شركة الربجميات ، يف هذه احلالة، هي من تضع توصيف املتطلبات عندئٍذ ستكون كلفة

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

.شركة الربجميات املنتجة أن تقوم بعمليات اختبار مكثفة لضمان هذه التوافقية . يوجز الكالم السابق3.1الشكل

رمجي عامتكاليف تطوير منتج ب 3.1الشكل

Page 12: مدخل الى هندسة البرمجيات

24

عندما . الربجميات العامة(Evolution)مثة نقطة أخرى جيدر الوقوف عندها وهي موضوع تطور ومن مث . يتم طرح املنتج الربجمي العام يف السوق فإنه سيصبح متاحاً لشرحية واسعة من الزبائن

هذه النسخة مث طرحه يف السوق فإننا سنعترب ) تطور املنتج( عند تعديل بعض جوانب هذا املنتج منتجاً برجمياً جديداً، خالفاً للربجميات اخلاصة اليت تعترب هذه النسخة اجلديدة كنسخة معدلة من

هلذا فإن تكاليف تطور النظام الربجمي العام ال تقدر بل إا تعترب تكاليف تطوير . النظام القدمي .نسخ القدمية من هذا النظامولكن تتوافق هذه النسخة اجلديدة مع ال.نسخة جديدة من النظام

8-1-1

إن منهجية هندسة الربجميات هي عبارة عن أسلوب منظم يف تطوير الربجميات، ويهدف إىل .تسهيل إنتاج منتجات برجمية عالية اجلودة، وبتكلفة معقولة

JSD ومنهجية (DeMarco,1978)لقد كانت أوىل هذه املنهجيات هي التحليل اهليكلي (Jackson,1983) . تم بوظائف االنظام، تناولت هذه املنهجيات النظام من وجهة نظر وظيفية، أي أ

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

انتشارها بشكل واسع يف تسعينات القرن املاضي وذلك بفضل األساليب اليت ابتكرها العديد من واليوم . Booch (Rambaugh,et al.,1991) Rambaugh , (Booch,1994)مهندسي الربجميات مثل

مت توحيد هذه املنهجيات يف أسلوب موحد تدور فكرته األساسية حول لغة النمذجة املوحدة(Unified modeling language UML).

ما هي أفضل هذه املنهجيات؟: والسؤال الذي قد تطرحه هنايف وجنيب قائلني أنه ليس هنالك من منهٍج مثايل يالئم كل احلاالت، إذ أن لكل منهج فوائده

ذات - على سبيل املثال -ميكن أن تكون املنهجيات غرضية التوجه . جمال معني دون غريه فائدة مجة عند بناء التطبيقات التفاعلية، ولكنها يف املقابل، سيئة جداً عند تطبيقها على أنظمة

ولكن تشترك مجيع هذه املنهجيات بفكرة أساسية واحدة، وهي تطوير مناذج . الزمن احلقيقي(Models) للنظام الذي ندرسه وحنلله، حبيث يكون بإمكاننا متثيل هذه النماذج بشكل رسومي

)Graphically .( حتتوي كل منهجية من هذه . تصور هذه النماذج توصيف وتصميم النظام .4.1املنهجيات على عدد من العناصر املختلفة كما هو موضح بالشكل

Page 13: مدخل الى هندسة البرمجيات

1 25

مكون المنهج الشرح مثال

اض، نموذج تدفق نموذج األغر .الخ...المعطيات، نموذج الحالة

ما هي أنواع النماذج التي يجب أن نطورها من أجل تمثيل النظام؟ وما هي الرموز االصطالحية

)Notation (المستخدمة لصناعة هذه النماذج؟

نماذج النظام

لكل آيان في نموذج النظام اسم، وهذا االسم يجب أن يكون

.وحيد

القواعد المفروضة على نماذج النظامجملة القيود

يجب أال يحتوي أي غرض على . أغراض فرعية7أآثر من

) heuristics(هي مجموعة من الممارسات التجريبية . تساعدنا على تصميم النظام بشكل جيدالتي

وبالتالي فإن النماذج التي تحقق هذه التوصيات .ستكون منتظمة بشكل جيد

التوصيات

توثيق واصفات يجب أن يتم .الغرض قبل تحديد عملياته

هي مجموعة من الممارسات والنشاطات التي يجب أن تلتزم بها عند تطويرنا لنماذج النظام

دليل اإلجرائية

مكونات منهج هندسة البرمجيات 4.1الشكل

9-1-1 CASE

) Computer-Aided Software Engineering CASE(نقصد ندسة الربجميات مبعونة احلاسب مبا فيها ) SP( تلك الطائفة الواسعة من الربامج اليت تستخدم لدعم نشاطات إجرائية الربجميات

.التحليل والنمذجة والتنقيح واالختبارات مثل حمررات رسم CASE مع جمموعة من األدوات املساندة - اليوم -تترافق كل املنهجيات

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

.للربنامج انطالقاً من مناذج النظام) code(الشيفرة املصدرية

10-1-1

اصفات اليت جيب أن تتحلى ا الربجمية حىت نقول أا برجمية جيدة أو ذات هناك مجلة من الو .جودة عالية

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

Page 14: مدخل الى هندسة البرمجيات

26

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

فات اليت تتعلق مبجال تطبيق النظام، فمثالً جيب أن يتميز النظام املصريف هناك بعض الواص(Banking system) بدرجة عالية من األمن، أما األلعاب التفاعلية فيجب أن تكون سريعة

.االستجابة ألوامر املستخدم، أما نظام مقسم هاتف فيتوجب عليه أن يتمتع بدرجة وثوقية عالية ".برجمية جيدة" بأنه 1-5 حيقق الواصفات املذكورة يف الشكل نقول عن النظام الذي

الواصفة الشرح

يجب أن تتميز البرمجية الجيدة بسهولة الصيانة وهذا يعني أنه بإمكانها أن تتطور وتعتبر هذه الميزة بالغة األهمية ألن . بسهولة لتتوافق مع المتطلبات المتغيرة

. آل يومالتغير هو أمر حتمي في عالم يتغير

سهولة الصيانة

)Maintainability(

االعتمادية .يجب أال يسبب النظام أي ضرر آبير في حال إخفاقه

)Dependability(

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

.الخ... االستجابة، زمن المعالجة، استهالك الذاآرةزمن

الفاعلية

)Efficiency(

إن سهولة االستخدام . يجب أن تكون البرمجية سهلة االستخدام من قبل زبونها . توثيق جيد للبرمجية-UI .(2( تصميم مالئم لواجهات االستخدام -1: تضم جانبين

سهولة االستخدام

)Usability(

الواصفات األساسية للبرمجية الجيدة 1.5الشكل

11-1-1

:مع مطلع األلفية اجلديدة تواجه هندسة الربجميات التحديات التاليةمل تع(Distributed systems)تتحول الربجميات، يوماً بعد يوم، إىل أنظمة موزعة : التنوع .1

وكم من مرة . على أجهزة حاسوبية من أنواع خمتلفة وبأنظمة تشغيل وبرامج دعم متباينة أي أننا نريد املكاملة بني . أردنا فيها املكاملة بني نظاٍم برجمٍي جديٍد وبني نظامنا القدمي

.أنظمة برجمية مكتوبة بلغات برجمة خمتلفةوجد تقنيات جديدة لتحقيق أن ن-كمهندسي برجميات -يفرض هذا التحدي علينا

.التجانس بني توليفة من العناصر املتباينة جداً

Page 15: مدخل الى هندسة البرمجيات

1 27

تستغرق العديد من تقنيات هندسة الربجميات وقتاً طويالً إلجناز تطوير :زمن التسليم . 2

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

. إن هذا التغري املتسارع يفرض على تطوير هذه الربجميات تسارعاً مماثالًيفرض حتدي زمن التسليم علينا تطوير أو تعديل الربجميات بسرعة هائلة دون أن يؤثر ذلك

.يف جودات العديد من جماالت حياتنا وهذا يفرض عليها أن تكون جديرة دخلت الربجميا: الثقة .3

اليت تصل إليها عرب صفحات (Remote)إننا حنتاج إىل تعزيز ثقتنا باألنظمة البعيدة . بثقتنا إذاً ال بد أن نبحث عن تقنياٍت جتعل من هذه . ويبأو عرب واجهات خدمات ويب

.الربجميات موثوقة حقاً

2-1 . ال ميلك مهندس الربجميات مطلق احلرية يف أداء عمله، مثله مثل زمالئه يف اهلندسات األخرى

ال يكفي أن يتقن مهندس . بل إنه خيضع لسياٍق قانوين واجتماعي يفرض عليه العديد من القيوديضطلع بتلك املسؤوليات األخالقية الربجميات املهارات التقنية يف مهنته بل يتوجب عليه أن

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

جميات؟ولكن ما هي اجلوانب األخالقية اليت جيب أن يلتزم ا املهندس بر عليك أن حتترم سرية زبائنك ورؤسائك، سواء كان هناك ميثاق :(Confidentiality)السرية . 1

. أخالقي يفرض ذلك أم مل يكن عليك أن نقر ونعترف بإمكانياتك ومعارفك وأال تدعي علماً ال :(Competence)الكفاءة . 2

.تعلمه أو معرفة تقع خارج جمال اختصاصك عليك أن تكون واعياً لكل القوانني :(Intellectual property rights)ة الفكرية حقوق امللكي . 3

. املتعلقة حبقوق امللكية الفكرية مثل براءات االختراع وحقوق النسخ عليك أال تستخدم ما وهبك اهللا من معارف :(Computer misuse)سوء استخدام احلواسيب . 4

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

Page 16: مدخل الى هندسة البرمجيات

28

تقوم اليوم، العديد من اجلمعيات واملؤسسات املهنية بأخذ دورها اهلام يف اإلعداد للمعايري ACMسات مثل منظمة فقد قامت العديد من هذه املؤس. األخالقية ذات الصلة ذه املهنة

يتوجب . واجلمعية الربيطانية للمعلوماتية بصياغة ميثاق أخالقي هلندسة الربجميات IEEEومعهد أما بالنسبة للجهود النهائية . على مجيع أعضاء هذه اجلمعيات االلتزام ذا امليثاق وبشكل صارم

صياغة ميثاق أخالق بIEEE ومعهد ACMاملبذولة يف هذا الصدد، فقد قامت كل من منظمة ، أما )6.1الشكل (الصيغة األوىل مت نشرها بشكل خمتصر . وقد مت نشره وفق صيغتني . املهنة

الصيغة الثانية فهي تفصيل للصيغة األوىل وقد أضافت العديد من التفاصيل و احلواشي (Gotterbarn,etal.,1999).

:لبرمجياتالميثاق األخالقي والممارسات المهنية الخاصة لهندسة ا

المسؤولة عن صياغة الميثاق األخالقي المهني لهندسة IEEE ومعهد ACMاللجنة المشترآة لمنظمة . البرمجيات

:تمهيد

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

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

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

:التالية" بالمبادئ الثمانية"لذا فإن على مهندس البرمجيات أن يلتزم . ورفاه المجتمع

.تسق مع المصلحة العامةيلتزم مهندس البرمجيات بالعمل وفق أسلوب ي: المجتمع . 1

على مهندس البرمجيات أن يحترم الزبون والرئيس وبشكل يتفق مع المصلحة : الزبائن والرؤساء . 2 .العامة

.يتوجب على مهندس البرمجيات أن يضمن بأن منتجه يحترم المعايير المهنية قدر اإلمكان: المنتج . 3

يات على قدٍر واسٍع من االستقاللية في اتخاذه يجب أن يحافظ مهندس البرمج: اتخاذ القرارات . 4 .لقراراته

يتوجب على مهندس البرمجيات عند توليه منصبًا قياديًا أو إداريًا بأن يرفع من شأن القيم : اإلدارة . 5 .األخالقية ضمن المؤسسة في تطوير وصيانة البرمجيات

.ة إطالقًايجب أال يسيء مهندس البرمجيات لسمعة هذه المهن: المهنة . 6

.اتخاذ موقف عادل اتجاه الزمالء دون إفراط أو تفريط: الزمالء . 7

.تنمية الحس األخالقي ومتابعة آخر التطورات في حقل هندسة البرمجيات: الذات . 8

)ACM/IEEE) IEEE/ACM 1999الميثاق األخالقي الصادر عن 6.1الشكل

Page 17: مدخل الى هندسة البرمجيات

1 29

إال أننا سنضع أول فقرتني من هذا األخري واليت لسنا هنا بصدد شرح امليثاق األخالقي املفصل :توجز دواعي سن هذا امليثاق

التجارة، الصناعة، : تلعب احلواسيب اليوم دوراً حيوياً وجوهرياً يف شىت جماالت احلياة .احلكومات، الطب، التعليم، الترفيه ويف اتمع ككل

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

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

وبناًء عليه فإن على مهندس الربجميات االلتزام ذا امليثاق الذي يشتمل على . نفع .األخالقيات واملمارسات املهنية ملهندس الربجميات

ة بسلوك وقرارات مهندسي الربجميات حيتوي هذا امليثاق على املبادئ الثمانية املتعلق

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

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

.عند دخول يف عالقة معينة

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

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

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

ماذا . الربامج احلرجة، ونتيجة ضغط الوقت قامت الشركة بتزوير سجالت األمان هلذه الربجمية ستفعل يف هذه احلالة؟

Page 18: مدخل الى هندسة البرمجيات

30

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

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

ففي . هذه القضايا األخالقية احلساسة يف مثل... .لذا عليك أن حتكّم عقلك مرة ومرتني وثالثة احتمال حدوث الضرر، : مثل هذه احلالة عليك أن تأخذ العديد من احليثيات بعني االعتبار

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

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

.لذا عليك أن تتفق مع رئيسك منذ البداية على هذه املواضيع والنقاط. أخالقي آخرمن أهم القضايا اليت ال تتوقف املناقشات واجلاالت ) ويف غريها(قضية األخالق يف هذه املهنة تبقى

الفلسفية اليت كانت ىاملهم أن يتم تناوهلا بشكل علمي وواقعي وبعيداً عن تلك الرؤ. حوهلا أبداً ) Huff and Martin,1995( ، وبدرجة أقل نظرية Laudon) Laudon,1995( من قبل مثل سائدة

Huff and Martin .

.هندسة الربجميات هو احلقل اهلندسي الذي يعىن جبميع جوانب إنتاج الربجميات وأهم صفات املنتج الربجمي . يتألف املنتج الربجمي من جمموعة برامج والتوثيق اخلاص ا

.سهولة الصيانة، الوثوقية، الفاعلية، سهولة االستخدام: هي

إن أي إجرائية . عن تطوير الربجمياتةهي مجلة النشاطات املسؤول ) SP(ربجميات إجرائية ال التوصيف، التطوير، إثبات الصحة، : برجميات جيب أن تشتمل على النشاطات التالية

.التطور

فهي تقدم لنا العديد من االقتراحات . املنهجيات هي أساليب منظمة يف إنتاج املنهجيات ب أن نتبعه يف تطوير برجمية ما، وتقدم لنا العديد من الرموز حول األسلوب الذي جي

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

Page 19: مدخل الى هندسة البرمجيات

1 31

هي جمموعة من األنظمة الربجمية اليت تساعدنا على إجراء النشاطات املتعلقة CASEأدوات .اخل....وير الربجميات مثل رسم املخططات وتوليد التقارير ومتابعة تقدم املشروعبتط

ال جيب على مهندس الربجميات أن يهتم باجلوانب العلمية املهنية، بل عليه أن يضطلع .باملسؤولية األخالقية اليت متليها عليه هذه املهنة

القية تكون مبثابة املعايري األخالقية اليت تقوم العديد من اجلمعيات املهنية بإصدار مواثيق أخ .جيب أن يلتزم ا أعضاؤها

اليت تتناول توزع تكاليف إنتاج الربجميات وضح ملاذا ال ميكن أن 1-1-6بالعودة إىل الفقرة 1-1

نساوي بني لفظيت برجمية وبرنامج؟ يات اخلاصة؟ما هو الفرق بني تطوير الربجميات العامة وتطوير الربجم 2-1

ما هي اخلصائص األربع اليت جيب أن تتصف ا كل الربجميات؟ أضف إليها أربعة واصفات 3-1 .أخرى

ما الفرق بني إجرائية الربجميات ومنوذج إجرائية الربجميات؟ 4-1

.علل ارتفاع كلفة اختبار الربجميات العامة 5-1

، أذكر مشكالت وحتديات أخرى 1-1-11 باإلضافة إىل التحديات اليت ذكرناها يف الفقرة 6-1 . ميكن أن تواجه هندسة الربجميات يف هذا القرن