أدوات التصميم وتحليل البرمجيات في هندسة البرمجيات Software Analysis & Design Tools Software Engineering #
أدوات التصميم وتحليل البرمجيات في هندسة البرمجيات Software Analysis & Design Tools Software Engineering #
أدوات التصميم وتحليل البرمجيات في هندسة البرمجيات Software Analysis & Design Tools Software Engineering #
ويشمل تحليل البرمجيات وتصميمها جميع الانشطه التي تساعد علي تحويل مواصفات المتطلبات إلى تنفيذ. مواصفات المتطلبات تحدد جميع التوقعات الوظيفية وغير الوظيفية من البرنامج. هذه المواصفات متطلبات تاتي في شكل وثائق مقروءه الإنسان ومفهومه ، والتي لا يوجد لديه جهاز كمبيوتر للقيام به.
ويعد تحليل البرامج وتصميمها المرحلة المتوسطة التي تساعد علي تحويل المتطلبات المقروءة للإنسان إلى رمز فعلي.
دعوانا نري القليل من أدوات التحليل والتصميم المستخدمة من قبل مصممي البرامج:
مخطط تدفق البيانات Data Flow Diagram DFD
رسم بياني لتدفق البيانات هو تمثيل رسومي لتدفق البيانات في نظام المعلومات. وهي قادره علي تصور تدفق البيانات الواردة ، وتدفق البيانات الصادرة والبيانات المخزنة. لا يذكر DFD اي شيء حول كيفيه تدفق البيانات عبر النظام.
هناك فرق بارز بين DFD ومخطط انسيابي. يصور المخطط الانسيابي تدفق التحكم في الوحدات النمطية للبرنامج. وتصور DFDs تدفق البيانات في النظام علي مختلف المستويات. لا يحتوي DFD علي إيه عناصر عنصر تحكم أو فرع.
أنواع DFD
مخططات تدفق البيانات اما منطقيه أو الفعلية.
DFD المنطقية-هذا النوع من DFD يركز علي عمليه النظام ، وتدفق البيانات في النظام. علي سبيل المثال في نظام البرامج المصرفية ، كيفيه نقل البيانات بين الكيانات المختلفة.
DFD الفعلي-يظهر هذا النوع من DFD كيفيه تنفيذ تدفق البيانات بالفعل في النظام. وهو أكثر تحديدا وأقرب إلى التنفيذ.
مكونات DFD
يمكن ان تمثل DFD المصدر والوجهة والتخزين وتدفق البيانات باستخدام المجموعة التالية من المكونات-
الكيانات-الكيانات هي مصدر ووجهه بيانات المعلومات. يتم تمثيل الكيانات بواسطة مستطيلات بأسماءها الخاصة.
يتم تمثيل العملية-الانشطه والإجراءات المتخذة علي البيانات بواسطة مستطيلات دائريه أو مستديرة الحواف.
تخزين البيانات-هناك نوعان من المتغيرات من تخزين البيانات-يمكن اما ان تكون ممثله كمستطيل مع غياب كل من الجانبين الأصغر أو كمستطيل مفتوح الجانب مع جانب واحد فقط في عداد المفقودين.
تدفق البيانات-يتم عرض حركه البيانات بواسطة الأسهم المدببة. يتم عرض حركه البيانات من قاعده السهم كمصدر لها نحو راس السهم كوجهه.
مستويات DFD
المستوي 0-اعلي مستوي تجريد DFD يعرف باسم DFD المستوي 0 ، الذي يصور نظام المعلومات بأكمله كرسم تخطيطي واحد إخفاء كافة التفاصيل الاساسيه. المستوي 0 DFDs تعرف أيضا باسم مستوي السياق DFDs.
يتم تمثيل العملية-الانشطه والإجراءات المتخذة علي البيانات بواسطة مستطيلات دائريه أو مستديرة الحواف.
تخزين البيانات-هناك نوعان من المتغيرات من تخزين البيانات-يمكن اما ان تكون ممثله كمستطيل مع غياب كل من الجانبين الأصغر أو كمستطيل مفتوح الجانب مع جانب واحد فقط في عداد المفقودين.
تدفق البيانات-يتم عرض حركه البيانات بواسطة الأسهم المدببة. يتم عرض حركه البيانات من قاعده السهم كمصدر لها نحو راس السهم كوجهه.
مستويات DFD
المستوي 0-اعلي مستوي تجريد DFD يعرف باسم DFD المستوي 0 ، الذي يصور نظام المعلومات بأكمله كرسم تخطيطي واحد إخفاء كافة التفاصيل الاساسيه. المستوي 0 DFDs تعرف أيضا باسم مستوي السياق DFDs.
ملاحظة يستخدم هذا النوع عند تصميم قواعد البيانات وتطبيقة المعيارية راجع SQL عن طريق قائمة المقالات في الجانب الأيمن من المدونة
المستوي 1-يتم تقسيم DFD المستوي 0 إلى أكثر تحديدا ، المستوي 1 DFD. ويصور المستوي الأول من البيانات النموذجية وحدات أساسيه في النظام وتدفقا للبيانات فيما بين مختلف الوحدات. ويشير المستوي 1 من البيانات أيضا إلى العمليات الاساسيه ومصادر المعلومات.
المستوي 2-في هذا المستوي ، يظهر DFD كيفيه تدفق البيانات داخل الوحدات المذكورة في المستوي 1.
يمكن تحويل DFDs مستوي اعلي إلى DFDs مستوي اقل أكثر تحديدا مع مستوي أعمق من الفهم ما لم يتم تحقيق المستوي المطلوب من المواصفات.
يمثل المخطط الهيكلي البنية الهرمية للوحدات النمطية. في كل طبقه يتم تنفيذ مهمة معينه.
هنا هي الرموز المستخدمة في بناء المخططات الهيكلية-
المستوي 2-في هذا المستوي ، يظهر DFD كيفيه تدفق البيانات داخل الوحدات المذكورة في المستوي 1.
يمكن تحويل DFDs مستوي اعلي إلى DFDs مستوي اقل أكثر تحديدا مع مستوي أعمق من الفهم ما لم يتم تحقيق المستوي المطلوب من المواصفات.
مخططات الهيكل Structure charts
المخطط الهيكلي هو مخطط مشتق من "مخطط تدفق البيانات". وهو يمثل النظام بمزيد من التفصيل من DFD. فانه ينهار النظام بأكمله إلى وحدات وظيفية ادني ، ويصف وظائف والوظائف الفرعية لكل وحده من النظام إلى تفاصيل أكبر من DFD.يمثل المخطط الهيكلي البنية الهرمية للوحدات النمطية. في كل طبقه يتم تنفيذ مهمة معينه.
هنا هي الرموز المستخدمة في بناء المخططات الهيكلية-
الوحدة النمطية Module
-انه يمثل عمليه أو روتين فرعي أو مهمة. فرع وحده تحكم إلى أكثر من وحده فرعيه واحده. وحدات مكتبه هي أعاده استخدامها وinvokable من اي وحده نمطيه.الشرطcondition Module
-ويمثله شكل الماس الصغيرة شكل المعين في قاعده وحده نمطيه. وهو يصور ان وحده التحكم يمكن ان تختار اي من الروتين الفرعي استنادا إلى بعض الشرط.القفز Jump Module
-يظهر سهم الاشاره داخل الوحدة النمطية لتصوير ان عنصر التحكم سوف تقفز في منتصف الوحدة الفرعية.حلقه الدوارة loop
-سهم منحني يمثل حلقه في الوحدة النمطية. جميع الوحدات الفرعية التي تغطيها تكرار حلقه تنفيذ الوحدة النمطية.تدفق البيانات Data flow
-سهم موجه مع دائره فارغه في نهاية يمثل تدفق البياناتتدفق التحكم control flow
-يمثل السهم الموجه مع الدائرة المملوءة في النهاية تدفق التحكم.
مخطط HIPO
الرسم التخطيطي HIPO (إخراج عمليه الإدخال الهرمي) هو مزيج من أسلوبين منظم لتحليل النظام وتوفير وسائل التوثيق. تم تطوير نموذج HIPO من قبل شركه اي بي ام في العام 1970.
يمثل الرسم التخطيطي HIPO التسلسل الهرمي للوحدات النمطية في نظام البرامج. يستخدم المحلل الرسم التخطيطي HIPO من أجل الحصول علي عرض عالي المستوي لوظائف النظام. وتحلل الوظائف في وظائف فرعيه بطريقه هرمية. وهو يصور الوظائف التي يؤديها النظام.
الرسوم التخطيطية HIPO جيده لغرض التوثيق. تمثيلها الرسوميه يجعل من الأسهل للمصممين والمديرين للحصول علي فكره التصويرية للهيكل النظام.
وعلي النقيض من مخطط الاكتتاب العام (مخرجات عمليه الإدخال) ، الذي يصور تدفق التحكم والبيانات في الوحدة النمطية ، لا يوفر HIPO اي معلومات حول تدفق البيانات أو تدفق التحكم.
المثال
وتستخدم كلا جزاين من الرسم التخطيطي HIPO ، العرض الهرمي والمخطط الاكتتاب المبدئي لتصميم هيكل البرنامج وكذلك وثائق من نفسه.
الانجليزيه المهيكلة Structured English
معظم المبرمجين يجهلون الصورة الكبيرة للبرمجيات بحيث يعتمدون فقط علي ما يقوله مديروهم للقيام بها. ومن مسؤوليه أداره البرمجيات العليا لتوفير معلومات دقيقه للمبرمجين لتطوير رمز دقيقه ولكن سريعة.
اشكال أخرى من الأساليب ، والتي تستخدم الرسوم البيانية أو الرسوم البيانية ، قد تفسر في بعض الأحيان بشكل مختلف من قبل أشخاص مختلفين.
التالي ، المحللين والمصممين من البرنامج ياتي مع أدوات مثل الانجليزيه المهيكلة. انه ليس سوي وصف ما هو مطلوب للتعليمات البرمجية وكيفيه رمز عليه. تساعد اللغة الانجليزيه المهيكلة المبرمج علي كتابه شفره خاليه من الأخطاء.
اشكال أخرى من الأساليب ، والتي تستخدم الرسوم البيانية أو الرسوم البيانية ، قد تفسر في بعض الأحيان بشكل مختلف من قبل أشخاص مختلفين. هنا ، كل من اللغة الانجليزيه المهيكلة والزائفة رمز يحاول التخفيف من هذه الفجوة فهم.
الانجليزيه المهيكلة هي تستخدم الكلمات الانجليزيه العادية في نموذج البرمجة المهيكلة. انها ليست رمز في نهاية المطاف ولكن نوعا من وصف ما هو مطلوب للتعليمات البرمجية وكيفيه رمز عليه. فيما يلي بعض الرموز المميزة للبرمجة المهيكلة.
IF-THEN-ELSE, DO-WHILE-UNTIL
محلل يستخدم نفس المتغير واسم البيانات ، التي يتم تخزينها في "قاموس البيانات" ، مما يجعل من ابسط بكثير لكتابه وفهم التعليمات البرمجية.
المثال
ونحن ناخذ نفس المثال من مصادقه العملاء في بيئة التسوق عبر الإنترنت. يمكن كتابه هذا الاجراء لمصادقه العميل في اللغة الانجليزيه المهيكلة علي النحو التالي:
Enter Customer_Name SEEK Customer_Name in Customer_Name_DB file IF Customer_Name found THEN Call procedure USER_PASSWORD_AUTHENTICATE() ELSE PRINT error message Call procedure NEW_CUSTOMER_REQUEST() ENDIF
الشفرة المكتوبة في اللغة الانجليزيه المهيكلة هي أشبه باللغة الانجليزيه المنطوقة يوميا. لا يمكن تطبيقه مباشره كرمز للبرمجيات. الانجليزيه المهيكلة مستقله عن لغة البرمجة.
الكود الوهمي pseudo code
يتم كتابه التعليمات البرمجية الزائفة أكثر قربا من لغة البرمجة. ويمكن اعتبارها لغة برمجه معززه ، مليئه بالتعليقات والأوصاف.
الرمز الزائف يتجنب تعريف المتغير ولكن يتم كتابتها باستخدام بعض ثوابت لغة البرمجة الفعلية ، مثل C ، Fortran ، باسكال الخ.
تحتوي التعليمات البرمجية الزائفة علي تفاصيل برمجه أكثر من الانجليزيه المهيكلة. وهو يوفر أسلوبا لتنفيذ المهمة ، كما لو كان الكمبيوتر يقوم بتنفيذ التعليمات البرمجية.
المثال
برنامج لطباعه فيبوناتشي تصل إلى أرقام ن.
void function Fibonacci Get value of n; Set value of a to 1; Set value of b to 1; Initialize I to 0 for (i=0; i< n; i++) { if a greater than b { Increase b by a; Print b; } else if b greater than a { increase a by b; print a; } }
جداول القرارات decision table
ويمثل جدول القرار الشروط والإجراءات ذات الصلة التي يتعين اتخاذها لمعالجتها ، في شكل جدولي منظم.
وهو أداه قويه لتصحيح ومنع الأخطاء. فانه يساعد علي تجميع معلومات مماثله في جدول واحد ثم عن طريق الجمع بين الجداول انه يوفر سهله ومريحه صنع القرار.
إنشاء جدول القرار
لإنشاء جدول القرار ، يجب ان يتبع المطور الخطوات الأربع الاساسيه:
تحديد جميع الشروط الممكنة لمعالجهها
تحديد الإجراءات لكافة الشروط المحددة
إنشاء الحد الأقصى للقواعد الممكنة
تعريف الاجراء لكل قاعده
وينبغي التحقق من جداول المقررات من قبل المستعملين النهائيين ويمكن تبسيطها في الاونه الاخيره بإلغاء القواعد والإجراءات المكررة.
المثال
دعوانا ناخذ مثال بسيط من المشكلة اليومية مع الاتصال بالإنترنت لدينا. ونبدا بتحديد جميع المشاكل التي يمكن ان تنشا اثناء بدء الإنترنت والحلول الممكنة لكل منها.
نقوم بسرد كافة المشاكل المحتملة ضمن شروط العمود والإجراءات المحتملة ضمن إجراءات العمود.
دعوانا ناخذ مثال بسيط من المشكلة اليومية مع الاتصال بالإنترنت لدينا. ونبدا بتحديد جميع المشاكل التي يمكن ان تنشا اثناء بدء الإنترنت والحلول الممكنة لكل منها.
نقوم بسرد كافة المشاكل المحتملة ضمن شروط العمود والإجراءات المحتملة ضمن إجراءات العمود.
الشروط/الافعال | القواعد | ||||||||
---|---|---|---|---|---|---|---|---|---|
الشروط | عرض الاتصالات | N | N | N | N | Y | Y | Y | Y |
فحص الاتصال | N | N | Y | Y | N | N | Y | Y | |
فتح موقع الويب | Y | N | Y | N | Y | N | Y | N | |
الافعال | فحص كابل الشبكة | X | |||||||
فحص الراوتر | X | X | X | X | |||||
إعادة تشغيل متصفح الويب | X | ||||||||
الاتصال بك زود الخدمة | X | X | X | X | X | X | |||
عدم اتخاذ شي |
نموذج علاقة الكيان entity Relationships model
نموذج علاقة الكيان هو نوع من نموذج قاعده البيانات استنادا إلى مفهوم كيانات العالم الحقيقي والعلاقة بينها. يمكننا تعيين سيناريو العالم الحقيقي علي نموذج قاعده بيانات ER. ينشئ طراز ER مجموعه من الكيانات ذات السمات الخاصة بها ، ومجموعه من القيود والعلاقات فيما بينها.يتم استخدام نموذج ER أفضل للتصميم المفاهيمي لقاعده البيانات. يمكن تمثيل نموذج ER علي النحو التالي:
الكيان-كيان في طراز ER هو عالم حقيقي ، والذي يحتوي علي بعض خصائص تسمي سمات. يتم تعريف كل سمه بواسطة مجموعه القيم المطابقة الخاصة به ، تسمي المجال.
علي سبيل المثال ، خذ بالاعتبار قاعده بيانات مدرسه. هنا ، الطالب هو كيان. الطالب لديه سمات مختلفه مثل الاسم والهوية والعمر والطبقة الخ.
العلاقة-الارتباط المنطقي بين الكيانات يسمي العلاقة. يتم تعيين العلاقات مع الكيانات بطرق مختلفه. يحدد تعيين العلاقات التفصيلية عدد الاقترانات بين كيانين.
تعيين الجوانب التفصيلية العلاقات بين الكيانات:
واحد إلى واحد one to one
واحد إلى العديد من one to many
العديد من واحد many to one
العديد من العديد من many to many
قاموس البيانات data dictionary
قاموس البيانات هو مجموعه مركزيه من المعلومات حول البيانات. فانه يخزن معني ومنشا البيانات ، وعلاقتها مع البيانات الأخرى ، وتنسيق البيانات للاستخدام الخ. قاموس البيانات لديه تعريفات صارمة لجميع الأسماء من أجل تسهيل مصممي البرامج والمستخدمين.وغالبا ما يشار إلى قاموس البيانات علي انه مستودع للبيانات الفوقية (بيانات عن البيانات). يتم إنشاؤه مع نموذج DFD (مخطط تدفق البيانات) من برنامج البرامج ومن المتوقع ان يتم تحديثها كلما تم تغيير DFD أو تحديثها.
متطلبات قاموس البيانات
تتم الاشاره إلى البيانات عبر قاموس البيانات اثناء تصميم البرامج وتنفيذها. قاموس البيانات يزيل اي فرص للالتباس. فانه يساعد علي الحفاظ علي عمل المبرمجين والمصممين متزامنة اثناء استخدام نفس مرجع الكائن في كل مكان في البرنامج.يوفر قاموس البيانات طريقه لتوثيق نظام قاعده البيانات الكامل في مكان واحد. يتم التحقق من صحة DFD باستخدام قاموس البيانات.
محتويات
يجب ان يحتوي قاموس البيانات علي معلومات حول ما يلي
تدفق البيانات
بنيه البيانات
عناصر البيانات
مخازن البيانات
معالجه البيانات
يتم وصف تدفق البيانات عن طريق DFDs كما درست في وقت سابق وتمثيلها في شكل جبري كما هو موضح.
= | Composed of |
---|---|
{} | Repetition |
() | Optional |
+ | And |
[ / ] | Or |
المثال
العنوان = البيت رقم + (شارع/منطقه) + مدينه + دوله
معرف المقرر الدراسي = رقم المقرر الدراسي + اسم المقرر الدراسي + مستوي المقرر الدراسي + تقديرات المقرر الدراسي
عناصر البيانات
تتالف عناصر البيانات من اسم وأوصاف البيانات وعناصر التحكم ، مخازن البيانات الداخلية أو الخارجية وما إلى ذلك مع التفاصيل التالية:
الاسم الأساسي
الاسم الثانوي (مستعار)
استخدام حاله (كيف وأين لاستخدام)
وصف المحتوي (التدوين وما إلى ذلك)
معلومات تكميليه (قيم محدده مسبقا وقيود وما إلى ذلك)
مخزن البيانات
فانه يخزن المعلومات من حيث تدخل البيانات في النظام وموجود خارج النظام. قد يتضمن مخزن البيانات-
الملفات
الداخلية إلى البرمجيات.
الخارجية إلى البرمجيات ولكن علي نفس الجهاز.
الخارجية إلى البرمجيات والنظام ، وتقع علي اله مختلفه.
الجداول
اصطلاح التسمية
خاصيه الفهرسة
معالجه البيانات
هناك نوعان من معالجه البيانات:
منطقي: كما يراه المستخدم
المادية: كما يري البرنامج
التسميات: Software Engineering هندسة البرمجيات#
<< الصفحة الرئيسية