الثلاثاء، 17 أغسطس 2010
مخططات مادية Physical Diagrams
مخططات النشاط Activity Diagrams
الثلاثاء، 3 أغسطس 2010
مخططات الحالة State Diagrams
الأربعاء، 28 يوليو 2010
مخططات التفاعل Interaction Diagrams
السبت، 17 يوليو 2010
مخطط الفئة Class Diagram
الخميس، 15 يوليو 2010
مخططات حالة الاستخدام Use Case Diagram
- تصفح الكتالوج "catalog" واختيار العناصر.
- استدعاء مندوب المبيعات.
- عرض معلومات الشحن.
- عرض معلومات الدفع.
- تلقي رقم الموافقة "conformation number" من مندوب المبيعات.
السبت، 10 يوليو 2010
أنواع مخططات لغة النمذجة الموحدة Unified Modeling Language Diagrams — UML
كل مخطط للغة النمذجة الموحد تم تصميمه بطريقة تسمح للمطورين والعملاء عرض أنظمة البرامج من وجهات نظر مختلفة وبدرجات متفاوتة من التجريد. مخططات لغة النمذجة الموحدة "UML diagrams" عادة ما تخلق بأدوات النمذجة البصرية منها ما يلي :
مخطط حالة الاستخدام "Use Case Diagram" يعرض العلاقة بين الجهات الفاعلة "actors" وحالات الاستخدام"use cases".
مخطط الفئة "Class Diagram" : نماذج هيكل الفئة "class structure" ومحتوياتها تستخدم عناصر التصميم مثل الفئات "classes"، والحزم والكائنات "objects". ويعرض أيضا علاقات مثل الاحتواء "containment" ، التوريث "inheritance" ، و التجميع "associations" وغيرها.
مخطط التفاعل "Interaction Diagrams"
- مخطط التسلسل "Sequence Diagram" يعرض التسلسل الزمني للكائنات "objects" المشاركة في التفاعل "interaction". و هذا يتألف من البعد العمودي "الوقت" والبعد الأفقي "الكائنات المختلفة -- different objects".
- مخطط التعاون "Collaboration Diagram" يعرض التفاعل المنظم حول الكائنات "objects" وعلاقاتها مع بعضها البعض. تستخدم الأرقام لإظهار تسلسل الرسائل.
مخطط الحالة "State Diagram" يعرض تسلسل الحالات التي يمر من خلالها كائن التفاعل "object of an interaction" في حياته في عملية الاستجابة لمحفزات وردت سابقا ، جنبا إلى جنب مع ردودها والإجراءات.
مخطط النشاطات "Activity Diagram" يعرض المخططات المميزة لمخطط الحالة "state diagram" ، بحيث ان معظم الحالات هي حالات العمل "action states" ومعظم الانتقالات يتم تشغيلها بواسطة انهاء الإجراءات في مصدر الحالات. هذا المخطط يركز على التدفقات المدفوعة من المعالجات الداخلية "internal processing".
المخططات المادية "Physical Diagrams"
- مخطط المركب "Component Diagram" يعرض المستوى المرتفع لهيكل حزمة الشفرة نفسها " packaged structure of the code". بالاعتماد على المركبات "components" التي ظهرت ، بما في ذلك مركبات شفرة المصدر "source code components" والمكونات البرمجية الثنائية "binary code components" ، والمكونات القابلة للتنفيذ "executable components".
- تخطيط النشر "Deployment Diagram" يعرض التكوين "configuration" لعناصر التجهيز وقت التشغيل "run-time processing" ومكونات البرامج "software components" ، والعمليات "processes"، والكائنات "objects" التي تعمل فيها. حالات مكونات البرامج "Software component instances" تقدم مظاهر وقت التشغيل لوحدات التعليمات البرمجية "code units".
الاثنين، 5 يوليو 2010
ما هي لغة النمذجة الموحدة Unified Modeling Language؟
لغة النمذجة الموحدة "Unified Modeling Language -- UML" هي لغة قياسية لتحديد ، تصور ، بناء ، وتوثيق الأعمال لبرمجيات الأنظمة ، فضلا عن نماذج الأعمال التجارية وغيرها من النظم المختلفة عن البرمجيات. لغة النمذجة الموحدة تمثل مجموعة من أفضل التطبيقات الهندسية التي ثبت نجاحها في نمذجة النظم الضخمة والمعقدة. و لغة النمذجة الموحدة "UML" هي جزء هام لتطوير البرمجة الكائنية التوجه "object oriented software" و عملية تطوير البرمجيات "software development". لغة النمذجة الموحدة تستخدم الرموز الرسومية في الغالب للتعبير عن طريقة تصميم مشاريع البرامج. يساعد فريق العمل في المشروع الذي يستخدم لغة النمذجة الموحدة في التواصل ، استكشاف إمكانات التصاميم ، والتحقق من صحة التصميم الهندسي للبرنامج.
أهداف لغة النمذجة الموحدة UML
الأهداف الرئيسية للغة النمذجة الموحدة هي :
- تزويد المستخدمين بلغة نمذجة بصرية تعبيرية جاهزة للاستعمال بحيث يتمكنون من تطوير وتبادل النماذج التعبيرية.
- توفر قابلية التمدد وآليات التخصيص ، لتوسيع المفاهيم الأساسية للمشروع.
- تكون مستقل عن لغات البرمجة الخاصة وعمليات التطوير.
- توفير مناهج أو القواعد أساسية لفهم لغة النمذجة "modeling language".
- تشجيع نمو كائنية توجه أدوات السوق "object-oriented tools market".
- دعم أعلى مستوى تطوير المفاهيم "development concepts" مثل التعاون "collaborations"، و منصات العمل "frameworks"، و القوالب "patterns" و المركبات "components".
- دمج أفضل الممارسات.
لماذا تستخدم لغة النمذجة الموحدة UML
و بناءا على استراتيجية زيادة اهمية البرامج للعديد من الشركات ، فمجال الصناعة سعى بالبحث عن تقنيات لجعل إنتاج البرمجيات أوتوماتيكي، مع تحسين النوعية والضغط على التكلفة والوقت لزيدة القدرة التنافسية في السوق. وتشمل هذه التقنيات تقنية المركبات "component technology"، والبرمجة المرئية "visual programming"، و القوالب "patterns" ومنصات العمل "frameworks". الشركات تسعى أيضا إلى تقنيات لإدارة تعقيدات الأنظمة لأنها في زيادة من حيث الحجم و المدى. وعلى وجه الخصوص ، فهي تعترف بالحاجة إلى حل المشاكل الهندسية المتكررة ، مثل التوزيع المادي "physical distribution"، التزامن "concurrency"، التكرار "replication"، الأمن ، الموازنة "load balancing" و الاحتمال الخطأ "fault tolerance". بالإضافة إلى ذلك ، قد أدى تطور شبكة الويب العالمية ، مما جعل بعض الأمور أكثر بساطة ، في زيادت المشاكل الهندسية. وقد تم تصميم لغة النمذجة الموحدة "UML" للاستجابة لهذه الاحتياجات.
الأحد، 4 يوليو 2010
ما هي هندسة البرمجيات software engineering؟
في الواقع انه من الصعب جدا تحديد معنى هندسة البرمجيات "software engineering". فهي تستخدم كل من الهندسة والعلوم في محاولة لإدخال تحسينات في مجال تكنولوجيا البرمجيات "software technology". مختلف الناس لديهم تعريفات مختلفة لمصطلح هندسة البرمجيات اعتمادا على الميادين التي يعملون فيها.
والمهمة الرئيسية لمهندس البرمجيات هو تغيير وتصميم البرمجيات المعقدة. و يسعى ايضا الى إدخال تحسينات على البرامج في محاولة لجعلها أسهل في الاستخدام.
هندسة البرمجيات هي مجال جديد نسبيا ، و ظهرت بسبب التطور السريع في أجهزة الكمبيوتر. ونتيجة لهذا ، لا يوجد كثير من مقررات هندسة البرمجيات المتاحة فهي محدودة وغالبا ما يختار الناس دراسة تكنولوجيا المعلومات "information technology" أولا. ومع ذلك ، هناك أدلة على أن هذا المجال ينمو وببطء ولكن بثبات ، فقد ظهر المزيد من الدورات المفيدة للغاية ذات الصلة بهندسة البرمجيات. كل ما تحتاجه هو التأكد من أن تجد تكوين جيد ويكون مقبول من طرف أرباب العمل الذين ترغب في العمل لديهم.
يمكن لمهندسي البرامج العمل مع نطاق واسع من الناس والمنظمات المختلفة. بعض الأمثلة على مجموعة من المنظمات التي يمكن ان تعمل على ذلك: الشركات ، الإدارات ، الوكالات الحكومية ، الجمعيات الخيرية والشركات الصحية. فهي مطلوبة من قبل أي منشأة تستخدم أجهزة الكمبيوتر وأنظمته. و مطلوبة في بعض الأحيان لإصلاح المشاكل القائمة أو لوضع تدابير لمنع مزيد من مشاكل البرمجيات في المستقبل.
واحدة من أهم الأشياء التي يجب أن تعرفها في حالة ما إذا كنت تريد أن تصبح مهندس البرمجيات والبرمجة. فحصولك على شهادة في علوم الكمبيوتر يمكن ان يساعد بالتأكيد للحصول على فهم قوي لهذا الموضوع ، و يوفر لك المهارات العملية. ومع ذلك ، فإن أفضل مكان لتعلم البرمجة هو العمل و في الحالات العملية للغاية. وبذلك عليك أن تبدأ كمبتدئ او مساعد فذلك يمكنك من ممارسة مهارات البرمجة و تعمل على هذا المنوال حتى تصل الى مستوى محترف في هندسية البرامج.