السبت، 18 مايو 2013

تحليل نظم3


وفيما يلى شكل توضيحى للـ ERD الخاص بسير النظام :

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-el1c4yhkmzj0TZQK9OEAxxflbrFuKPAD1gvRgWZ2QRcCD8bdhpokTWp5J-Cwq6-7Gc4TjPz32ULPpLRLozePb2ZBaY_xW3liiCNrzJi8865KYQunVQHUbu0wk241tXJCRMUFZ_asOBo/s640/erd.jpg


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

1-
مخططات أو خرائط التدفق : Flow Diagrams
ويستخدم فى ذلك القليل من الرموز مثل شكل المستطيل للمعالجةأو الفعل وشكل المعين للقرار.
الشكل يوضح مثال بسيط لمخطط تدفق لمتحكم فى الثلاجة.
المستخدم لديه وسيله واحدة للتحكم مقاومة متغيرة تسمح له بتحديد أو ضبط درجة الحرارة المطلوبة.
بالثلاجة يوجد حساس لدرجة الحرارة .يتم التحكم فى درجة الحرارة بتوصيل أو فصل الضاغط .. تهبط درجة الحرارة عندما يعمل .
البرنامج يقرأ كل من درجة الحرارةالفعلية والمطلوبة ويحدد أيهما أكبر أو أعلا .
اذا كان الأكبر هو درجة الحرارة الفعلية فيتم تشغيل الضاغط. . وإذا كان الفرق بينهما كبير يعطى البرنامج انذار مسموع .   مخطط التدفق يوضح هذا الفعل أو الإجراء باستخدام الرمزين المذكورين .
لاحظ أن الشكل المعين الذى يمثل رمز القرار يحتوى على علامة إستفهام داخيله باجابة بنعم أو بلا . ونقطتى خروجه تناظران الإجابتان المحتملتان .
ويمكن ملاحظة أن هذا البرنامج على شكل حلقة غير محددة أى إلى أجل غير مسمى .
هذا البرنامج يعتبر نموذج مشترك كمثال لهيكل برامج الأنظمة الشبيهة والمسماة بالانظمة المتضمنة ويطلق عليه أحيانا الحلقة السوبر super loop
http://eeecb.com/up2/uploads/images/domain-e85314692b.jpg
من الممكن رسم مخططات التدفق بكثير من التفاصيل أو بالقليل جدا.مع العنايةوالخبرة من الممكن رسمها على مستوى بحيث يمكن تحوبل المخطط إلى برنامج باللغة المطلوبة دون صعوبات
2- مخططات الحالة : State Diagrams
مخططات التدفق تظهر الحياة على شكل سلسلة من الإجراءات أو الأحداث التي تمر بسرعة.والعديد من المنتجات تتصرف بشكل مختلف عن هذه الطريقة. حيث تميل إلى الانتقال من حالة إلى أخرى ، وربما تستغرق فترة طويلة من الوقت في هذه الحالة وتتركها فقط عند اكتمال الفترة الزمنية أو وقوع حدث معين.هذه من الأفضل تمثيلها بمخطط الحالة والذي يشكل بديلا لمخطط التدفق.
كما هو الحال مع مخططات التدفق يجب التدريب عليها للوصول إلى شكلها الكامل .
وكل ما نحتاج القيام به هو رسم كل حالة كدائرة أو حلقة لها عنوان أو وصف والتوصيل بينها بأسهم. وتظهر أو تتصرف تحت هذاالشرط (أو الشروط) كحالة واحدة وتنتقل إلى أخرى .
كل سهم يكون (يأخذ) إسما أوعنوانا لشرط يتسبب في تغيير الحالة.
الشكل يبين وظيفة آلةغسيل الملابس المنزلية ممثلة بمخطط حالة بسيط .
عند تشغيلهافإنها أولا تدخل إلى حالة التجهيز Ready .فإذا كان الباب مغلق وبدأ المستخدم الغسيل تقوم الآلة بتحميل (فتح-دخول) المياه.
يقوم حساس(جهازاستشعار) مستوى المياه بالإحساس بتمام مستوى المياه .
ومع ذلك فان الآلة تقيس الزمن الذى تستغرقه عملية الملء بالماء . فإذا لم يتم الملو فى حدود الزمن المخصص أو المسموح به نفترض حدوث خلل أو عطل .
قد يكون هذا راجعا إلى عدم كفاية ضغط المياه أو خلل الصمام.
استخدام طريقة انتهاء المهلة كطريقة منخفضةالتكلفة وبديلة عن استخدام حساسات لاستشعار ضغط أو تدفق المياه .
حالةالملء يتبعها حالة تسخين المياه .
مرة أخرى طريقة (انتهى الوقت ) إذا لم تسخن المياه فى المدة المحددة .
وتستمر العملية كما هو موضح وكل حالة لها خرج مشروط هو النجاح “successful” وخرج آخر يؤدى إلى حالة العطل .
من وجهة نظر البرمجة فان مخططات الحالة أكثر صعوبة من مخططات التدفق ولا يمكن بسهولة أن تترجم مباشرة إلى لغات البرمجة .
في الواقع ، غالبا ما يكون من المفيد تحويل كل حالة إلى مخطط تدفق خاص بها .
للحفاظ على وضوح الهيكل أو البناء وضمان ممارسة جيدة للبرمجة ينبغي أن يكون لكل حالة تعريف محدد واضح يحدد نقاط الدخل والخرج
http://eeecb.com/up2/uploads/images/domain-31f3180760.jpg
Flow charting  خرائط التدفق (الانسياب)
معني خريطة التدفق (الانسياب) Meaning of flow chart:
          هي تمثيل بالرسومات والأشكال يوضح تسلل الإجراءات والعمليات التي يمكن عملها لحل أي مسألة. عادة ترسم خرائط التدفق في المراحل الأولية لحلول المشاكل بواسطة الحاسوب. تسهل مخططات التدفق من التفاهم بين المبرمج وصاحب العمل وهي تلعب دور فهم في برمجة المسألة وتساعد جداً في فهم منطق حل المسائل المعقدة الطويلة. بمجرد رسم خريطة التدفق تصبح عملية كتابة البرنامج يسيرة باستخدام أي لغة برمجة عالية. غالباً خرائط التدفق تفيد في شرح البرنامج للآخرين وعليه نستطيع القول بأن خرائط التدفق أفضل توثيق للبرنامج المعقد.
موجهات لرسم خرائط التدفق Guidelines for Drawing A flow chart :
          ترسم خرائط التدفق (الانسياب) باستخدام رموز قياسية ولكن هذا لا يمنع من تطوير رموز خاصة بواسطة المبرمج إذا دعت الحالة. الشكل أدناه يوضح الرموز الأكثر استخدام في رسم خرائط التدفق.

         












Flow.jpg

خرائط تدفق برامج الحاسوبية:
     التالي بعض الموجهات لعمل خرائط التدفق (الانسياب):
(a)  لرسم خريطة تدفق (انسياب) سليمة، كل المتطبات يجب أن تبين في تسلسل منطقي.  
(b) يجب أن تكون خريطة الانسياب واضحة، ومرتبة وسهلة التتبع. إذ يجب أن لا يكون هنالك غموض أو إلتباس في فهم خريطة التدفق (الانسياب).
(c)  تسلسل أو اتجاه مسار العمليات أو النظام يكون من الشمال إلي اليمين أو من الأعلى إلي الأسفل.
(d) فقط خط انسياب واحد يخرج من رمز العملية.
 





(e)  فقط خط انسياب واحد يدخل رمز القرار ولكن اثنان أو ثلاثة خطوط انسياب لكل إجابة محتملة للخروج من رمز القرار.
 






(f)   خط انسياب واحد يستخدم مع رمز البداية والنهاية.
 




(g)  اكتب باختصار داخل الرمز القياسي، ولو كان ضرورياً يمكنك استخدام رمز الحاشية التفسيرية لوصف أو تفسير البيانات أو خطوات البرمجة بطريقة أوضح.
 

             This is top sacred data    - - - - -

إذا أصبحت خريطة التدفق معقدة، من الأفضل استخدامات رمز الربط لتقليل عدد خطوط الانسياب. تجنب تقاطع خطوط الانسياب إذا كنت ترغب في جعلها أكثر تأثيراً وأفضل طريقة اتصال.
(h) تأكد بأن خرائط التدفق لها بداية ونهاية منطقيتين.
(i)     من المفيد اختبار صحة خريطة التدفق (الانسياب) وذلك ببيانات اختيار بسيطة.
محاسن استخدام خرائط التدفق (الانسياب):
1.     الاتصال: خرائط التدفق أفضل وسيلة لتوضيح منطق النظام الحاسوبي للمهتمين.
2.     التحليل الفعال: بمساعدة خرائط التدفق ( الانسياب) المشكلة يتم تحليلها بطريقة أكثر فعالية.
3.     توثيق جيد: خرائط التدفق للبرنامج هي توثيق جيد للبرنامج والذي يكون مفيداً لأغراض مختلفة.
4.     تشفير فعال: خرائط التدفق تعتبر موجه أثناء تحليل النظام ومرحلة تطوير البرنامج.
5.     التصحيح: تساعد خريطة الانسياب في عملية التصحيح.
6.     كفاءة صيانة البرنامج: تصبح عملية صيانة البرنامج أسهل بمساعدة خريطة التدفق. فهي تساعد المبرمج في الاستفادة من جهده المبذول. 
محدوديات استخدام خرائط التدفق:
المنطق المعقد: في بعض الأحيان يكون منطق البرنامج عالي التعقيد في هذه الحالة تكون خريطة التدفق معقدة وغير متقنة ومركبه.
1.     التغييرات والتعديلات: إن كانت هنالك تعديلات مطلوبة هذا قد يتطلب إعادة رسم خريطة التدفق من جديد كاملة.
2.     إعادة الإنتاج: بما أن رموز خريطة التدفق لا يمكن طباعتها، إعادة الإنتاج تصبح مشكلة.
3.     أساسيات ما تم عمله يمكن أن تضيع بسهولة من خلال التفاصيل الفنية لكيفية عملها.
أمثلة علي خرائط التدفق:
مثال (1):
أرسم مخطط انسياب (خريطة تدفق) لإيجاد مجموعة الأعداد الطبيعية لخمسين الأولي.
flowchart3JPG
مثال (2):
          أرسم خريطة تدفق لإيجاد العدد الأكبر من الأعداد A وB وC.
flowchart2
مثال (3):
          أرسم مخطط انسياب (خريطة تدفق) لحساب عوامل العدد N وN! = 1 2 3 …. N
flowchart1         









مثال : على طالب فاشل عاوز ينجح فى الامتحان
خريطة تدفق.jpg
تصميم النظم1.bmp
                                                    

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

إرسال تعليق