يشمل تحليل وتصميم البرمجيات جميع الأنشطة التي تساعد في تحويل مواصفات المتطلبات إلى التنفيذ، تحدد مواصفات المتطلبات جميع التوقعات الوظيفية وغير الوظيفية من البرنامج، تأتي مواصفات المتطلبات هذه على شكل مستندات، التي تسهل على الإنسان قراءتها وفهمها، ولا علاقة لجهاز الكمبيوتر بأي شيء، وتحليل البرمجيات وتصميمها هي المرحلة المتوسطة، التي تساعد على تحويل المتطلبات التي يمكن للإنسان قراءتها إلى كود فعلي.
بعض أدوات التحليل والتصميم التي يستخدمها مصممو البرامج:
1- مخطط تدفق البيانات:
مخطط تدفق البيانات والمعروف أيضاً بـ (DFD) وهو اختصار لـ (Data Flow Diagram)، هو تمثيل رسومي لتدفق البيانات في نظام المعلومات، إنه قادر على تصوير تدفق البيانات الواردة وتدفق البيانات الصادرة والبيانات المخزنة، حيث لا يذكر مخطط تدفق البيانات أي شيء عن كيفية تدفق البيانات عبر النظام.
هناك فرق واضح بين مخطط تدفق البيانات و مخطط التدفق (flowchart)، يصور مخطط التدفق تدفق التحكم في وحدات البرنامج، ويصور مخطط تدفق البيانات تدفق البيانات في النظام على مستويات مختلفة، ولا يحتوي مخطط تدفق البيانات على أي عنصر تحكم أو أفرع.
أنواع مخطط تدفق البيانات:
- مخطط تدفق البيانات المنطقي: يركز هذا النوع على عملية النظام وتدفق البيانات في النظام، على سبيل المثال، في نظام البرامج المصرفية كيفية نقل البيانات بين الكيانات المختلفة.
- مخطط تدفق البيانات المادي: يوضح هذا النوع كيف يتم تنفيذ تدفق البيانات فعليًا في النظام، وهو أكثر تحديدًا وقرباً من التنفيذ.
مكونات مخطط تدفق البيانات:
يمكن أن يمثل مخطط تدفق البيانات المصدر والوجهة والتخزين وتدفق البيانات باستخدام مجموعة المكونات التالية:
الكيانات (Entities): الكيانات هي مصدر ووجهة بيانات المعلومات، يتم تمثيل الكيانات بمستطيل بأسمائها الخاصة.
العملية(Process): يتم تمثيل الأنشطة والإجراءات المتخذة على البيانات بواسطة دائرة.
تخزين البيانات(Data Storage): يتم تمثيل تخزين البيانات على شكل مستطيل مفتوح الجانب مع فقدان جانب واحد فقط.
تدفق البيانات(Data Flow): يتم عرض حركة البيانات بأسهم مدببة، وتظهر حركة البيانات من قاعدة السهم كمصدر لها باتجاه رأس السهم كوجهة.
2- مخططات الهيكل:
مخطط الهيكل هو مخطط مشتق من مخطط تدفق البيانات، حيث يشرح النظام بمزيد من التفصيل عن مخطط تدفق البيانات، يقسم النظام بأكمله إلى وحدات وظيفية أدنى، ويصف الوظائف الرئيسية والفرعية لكل وحدة من وحدات النظام بتفاصيل أكبر، ويقوم مخطط الهيكل بتمثيل الهيكل الهرمي للوحدات النمطية، وفي كل طبقة يتم تنفيذ مهمة محددة.
3- مخطط HIPO:
مخطط (HIPO) اختصار لـ (Hierarchical Input Process Output) أي إخراج عملية الإدخال الهرمي، وهو مزيج من طريقتين منظمتين لتحليل النظام وتوفير وسائل التوثيق، يمثل مخطط (HIPO) التسلسل الهرمي للوحدات في نظام البرنامج، يستخدم المحلل مخطط (HIPO) للحصول على عرض عالي المستوى لوظائف النظام، يحلل الوظائف إلى وظائف فرعية بطريقة هرمية، يصور الوظائف التي يؤديها النظام.
مخططات (HIPO) جيدة لأغراض التوثيق، يُسهل تمثيلهم الرسومي على المصممين والمديرين للحصول على الفكرة التصويرية لهيكل النظام.
4- اللغة الإنجليزية المنظمة:
لا يدرك معظم المبرمجين الصورة الكبيرة للبرمجية، لذا فهم يعتمدون فقط على ما يطلبه مديروهم من القيام به، تقع على عاتق إدارة البرمجيات العليا مسؤولية توفير معلومات دقيقة للمبرمجين لتطوير كود دقيق وسريع،
أشكال أخرى من الطرق التي تستخدم المخططات أو الرسوم البيانية، قد يتم أحيانًا تفسيرها بشكل مختلف من قبل أشخاص مختلفين، ومن ثم، يأتي محللو ومصممي البرمجيات بأدوات مثل اللغة الإنجليزية المهيكلة والسودوكود، في محاولة لتخفيف من فجوة الفهم هذه، اللغة الإنجليزية المهيكلة ليست ليس سوى وصف لما هو مطلوب لكتابة الكود وكيفية كتابته، وتساعد اللغة الإنجليزية المنظمة المبرمج على كتابة كود خالي من الأخطاء، تستخدم اللغة الإنجليزية المُنظَّمة كلمات إنجليزية بسيطة في نموذج برمجة منظم، وهي ليست الكود النهائي فيما يلي بعض الرموز المميزة للبرمجة المنظمة:
IF-THEN-ELSE, DO-WHILE-UNTIL
5- السودوكود:
تتم كتابة السودوكود بشكل أقرب إلى لغة البرمجة، يمكن اعتبارها لغة برمجة معززة مليئة بالتعليقات والأوصاف، يتجنب السودوكود التصريح عن المتغير ولكن تتم كتابته باستخدام بعض تركيبات لغة البرمجة الفعلية، مثل ( C و Fortran و Pascal) إلخ، يحتوي السودوكود على تفاصيل برمجة أكثر من اللغة الإنجليزية المهيكلة، يوفر طريقة لأداء المهمة كما لو أن الكمبيوتر يقوم بتنفيذ الكود.
6- جداول القرار:
يمثل جدول القرار الشروط والإجراءات ذات الصلة التي يتعين اتخاذها لمعالجتها، في شكل جدول منظم، وهي أداة قوية لتصحيح الأخطاء ومنعها، يساعد في تجميع المعلومات المتشابهة في جدول واحد ثم من خلال الجمع بين الجداول، فإنه يوفر عملية صنع قرار سهلة ومريحة، ولإنشاء جدول القرار، يجب على المطور اتباع أربع خطوات أساسية:
- تحديد جميع الشروط الممكنة لمعالجتها.
- تحديد الإجراءات لجميع الشروط المحددة.
- إنشاء الحد الأقصى من القواعد الممكنة.
- حدد الإجراء لكل قاعدة.
- يجب التحقق من جداول القرار من قبل المستخدمين النهائيين ويمكن تبسيطها عن طريق التخلص من القواعد والإجراءات المكررة.
7- نموذج علاقة الكيان:
نموذج علاقة الكيان هو نوع من نموذج قاعدة البيانات يعتمد على فكرة الكيانات الواقعية والعلاقات فيما بينها، يمكننا تعيين سيناريوهات العالم الحقيقي على نموذج علاقة الكيان، ينشئ نموذج علاقة الكيان مجموعة من الكيانات بسماتها ومجموعة من القيود والعلاقات فيما بينها.
8- قاموس البيانات:
قاموس البيانات هو مجموعة مركزية للمعلومات حول البيانات، يقوم بتخزين معنى البيانات وأصلها، وعلاقتها بالبيانات الأخرى، وتنسيق البيانات للاستخدام، وما إلى ذلك، يحتوي قاموس البيانات على تعريفات صارمة لجميع الأسماء من أجل تسهيل على المستخدم ومصممي البرامج، غالبًا ما يُشار إلى قاموس البيانات على أنه مستودع بيانات الوصفية (بيانات حول البيانات)، يتم إنشاؤه جنبًا إلى جنب مع نموذج مخطط تدفق البيانات ومن المتوقع أن يتم تحديثه كلما تم تغيير مخطط تدفق البيانات أو تحديثه.