Shagrouni

تطبيق UML ـ التحليل و التصميم بالمنحى الكائني باستخدام UML

ترجمة:خالد الشقروني 

UML Applied

 

 

 

 

المحتويات:
 
 مقدمة إلى  UML
 UML داخل عملية التطوير
 المنحى للكائن

 نبذة عامة عن UML

 طور الاستهلال

 طور التفصيل

تطبيق UML

 التحليل و التصميم بالمنحى للكائن باستخدام UML

UML Applied
Object Oriented Analysis and Design Using the UML


مقدمة المترجم

اصبحت UML (لغة النمذجة الموحّدة) اللغة المعتمدة لترميز العمليات البرمجية لدى الوسط الصناعي. و بالرغم من انها خرجت من تحت عباءة ثلاثة يعدون من أهم أصحاب المنهجيات؛ الا انها لقت قبولا واسعا لدي المهتمين ببناء البرمجيات على اختلاف مشاربهم و منهجياتهم.

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

هنا يجب التنويه الى بعض النقاط التي تشكل سوء فهم ارتبط ب UML لدى الكثيرين:

  • UML ليست منهجية لبناء البرمجيات. بمعنى انها لن ترشدك الى افضل الطرق لتصميم البرمجيات و تطويرها.

  • UML لا ترتبط بمنهجية محددة لتنشئة البرمجيات. بالرغم من أنها تولّدت من منهجيات سابقة و بالرغم من انها متوافقة و متممة لمنهجية: العملية الموحدة RUP التي صاغها نفس الافراد الذين قاموا بوضع UML. هذه اللغة يمكن توظيفها على مختلف العمليات البرمجية بغض النظر عن المنهجية المتبعة و بل بغض النظر عن وجود منهجية اصلا.

لقد قمت بترجمة هذه النصوص ليس فقط لأنها تشرح عناصر UML ؛ و لكن ايضا لأن هذه الدروس تضع عناصر UML ضمن سياقها داخل مختلف العمليات في منهجية واحدة لتطوير البرمجيات. غير هذا فانها تتعرض بالشرح لكثير من المفاهيم السائدة في الوسط البرمجي مثل المنحى للكائن Object Orientation و التوريث و أنماط التصميم Design Patterns , و المرتكز المعماري للتنشئة Architecture-Centric Development كلها ضمن مسار واحد داخل الدورة الحياتية للمشروع البرمجي.

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

سوف اقوم بترجمة و نشر فصول هذه الدروس تباعا ان شاء الله كلما تيسّر الأمر، (لكنه ليس بوعد قاطع!) ، لذلك يسعدني استقبال أية ملاحظات تسهم في تحسين هذه المادة. أيضا قد يجد القارئ ان ترجمات المصطلحات غريبة أو شاذة و ربّما مضحكة، لذلك سيكون من المشوّق الاطلاع على أية اقتراحات جديدة.

 

 

Shagrouni 2002 Khaled Shagrouni  khaled@shagrouni.com