التحليل: تحديد المتطلبات
دراسة شاملة لطرق تحديد متطلبات النظام، بدءاً من الطرق التقليدية كالمقابلات والملاحظة، مروراً بالطرق المعاصرة مثل JAD والنماذج الأولية، وصولاً إلى الطرق الجذرية والمنهجيات الرشيقة (Agile).
Analysis: Requirements Determination
A comprehensive study of system requirements determination methods, from traditional approaches like interviews and observation, to contemporary methods like JAD and prototyping, and finally radical and Agile methodologies.
أهداف التعلم
- وصف التقنيات المختلفة لتحديد المتطلبات.
- شرح مزايا استخدام الملاحظة، وتصميم التطبيقات المشترك (JAD)، والنماذج الأولية في تحديد المتطلبات.
- توضيح كيف يمكن للحوسبة أن توفر الدعم لعملية تحديد المتطلبات.
- Describe different techniques for requirement determination.
- Explain the advantages of using observation, JAD, Prototyping for requirements determination.
- Explain how computing can provide support for requirements determination.
1 عملية تحديد المتطلبات وخصائص المحلل
1 The Process of Determining Requirements
هي مرحلة جمع المعلومات من مصادر متعددة لمعرفة ما يجب أن يفعله النظام، وتتطلب من المحلل خصائص مثل التساؤل المستمر والحياد.
The phase of gathering information from multiple sources to know what the system should do, requiring traits like impertinence and impartiality.
أثناء تحديد المتطلبات، يقوم المحللون بجمع المعلومات من مستخدمي النظام الحالي، والملاحظة، والتقارير، والنماذج.
تتطلب العملية خصائص أساسية:
- الوقاحة (Impertinence): التساؤل عن كل شيء.
- الحياد (Impartiality): إيجاد أفضل حل للمشكلة.
- تخفيف القيود (Relaxing constraints): افتراض أن كل شيء ممكن واستبعاد ما هو غير قابل للتطبيق.
- الاهتمام بالتفاصيل (Attention to details): التأكد من توافق كل حقيقة مع الحقائق الأخرى.
- إعادة التأطير (Reframing): النظر للتحليل كعملية إبداعية.
During requirements determination, analysts gather information on what the system should do from users, observation, reports, and forms.
The process requires key characteristics:
- Impertinence (question everything),
- Impartiality (find the best solution),
- Relaxing constraints (assume anything is possible),
- Attention to details (every fact must fit), and
- Reframing (analysis is a creative process).
هذه الخصائص تمنع المحلل من الوقوع في فخ 'الوضع الراهن' (Status Quo).
فبدون 'الوقاحة' وإعادة التأطير، قد يقوم المحلل ببساطة بأتمتة نظام يدوي سيء بدلاً من هندسة عملية أعمال محسنة.
These traits prevent the analyst from falling into the 'Status Quo' trap.
Without impertinence and reframing, an analyst might simply automate a flawed manual system rather than engineering an improved business process.
لماذا يُعتبر 'تخفيف القيود' خطوة مهمة قبل استبعاد الحلول غير الممكنة؟ Why is 'relaxing constraints' an important step before eliminating infeasible solutions?
لأنه يسمح بالتفكير الإبداعي وطرح حلول مبتكرة قد تبدو مستحيلة في البداية ولكن يمكن تكييفها لاحقاً لتصبح واقعية.
It allows for out-of-the-box thinking and brainstorming innovative solutions that might initially seem impossible but could be adapted into feasible options.
2 الطرق التقليدية: المقابلات
2 Traditional Methods: Interviewing
جمع المتطلبات عبر الحوار المباشر مع الأفراد أو المجموعات باستخدام أسئلة مفتوحة أو مغلقة.
Gathering requirements through direct dialogue with individuals or groups using open-ended or closed-ended questions.
تشمل المقابلات نوعين من الأسئلة:
- الأسئلة المفتوحة (Open-ended): أسئلة حوارية ليس لها إجابات محددة مسبقاً (مثل: ما هو أفضل شيء في النظام الحالي؟).
- الأسئلة المغلقة (Closed-ended): أسئلة منظمة بنطاق محدود من الإجابات (مثل: خيارات متعددة).
يتطلب إجراء المقابلات الفعالة التخطيط، إعداد دليل المقابلة (Interview Guide)، الاستماع بعناية، وتدوين الملاحظات.
يمكن أن تكون المقابلات فردية (أسهل في الجدولة ولكن قد تحتوي على تناقضات) أو جماعية (تستغل الوقت بفعالية وتبرز التوافق والاختلاف فوراً).
Interviewing involves two forms of questions:
- Open-ended (conversational, no specific answers in mind) and
- Closed-ended (structured, limited range of possible answers).
Effective interviewing requires planning, preparing an Interview Guide, listening carefully, and taking notes.
Interviews can be individual (easier to schedule but may yield contradictions) or group (more effective use of time, highlights agreements/disagreements immediately).
دليل المقابلة ليس مجرد قائمة أسئلة، بل هو وثيقة تخطيطية تحتوي على أهداف المقابلة، الأجندة، الوقت المخصص لكل موضوع، ومساحات لتدوين الملاحظات اللفظية وغير اللفظية.
المقابلات الجماعية تمهد الطريق لتقنيات أكثر تقدماً مثل NGT و JAD.
An Interview Guide is not just a list of questions; it's a planning document containing objectives, agenda, time allocations, and space for verbal and non-verbal observations.
Group interviews pave the way for more advanced techniques like NGT and JAD.
| الأسئلة المفتوحةOpen-ended | الأسئلة المغلقةClosed-ended | |
|---|---|---|
| طبيعة الإجابةNature of Answer | غير محددة مسبقاً، حواريةNo prespecified answers, conversational | نطاق محدود من الإجابات المحددةLimited range of specified responses |
| الاستخدام الأمثلBest Use Case | استكشاف الآراء والمشاكل غير المعروفةExploring opinions and unknown issues | تأكيد الحقائق وجمع بيانات محددةConfirming facts and gathering specific data |
متى يكون استخدام الأسئلة المغلقة أفضل من الأسئلة المفتوحة في المقابلات؟ When is it better to use closed-ended questions rather than open-ended questions in interviews?
عندما يكون المحلل بحاجة إلى بيانات كمية محددة، أو لتأكيد حقائق معينة بسرعة، أو عندما يكون وقت المقابلة ضيقاً جداً.
When the analyst needs specific quantitative data, wants to quickly confirm facts, or when interview time is strictly limited.
3 تقنية المجموعة الاسمية (NGT)
3 Nominal Group Technique (NGT)
عملية موجهة لتوليد الأفكار حيث يعمل الأفراد بشكل منفصل أولاً ثم يتم دمج ومناقشة أفكارهم جماعياً.
A facilitated process for idea generation where individuals work separately first, then pool and discuss their ideas collectively.
تقنية المجموعة الاسمية (NGT) هي عملية مدعومة بميسّر (Facilitator) تدعم توليد الأفكار بواسطة المجموعات.
خطوات العملية:
- يجتمع الأعضاء كمجموعة ولكن يعملون بشكل منفصل في البداية.
- يكتب كل شخص أفكاره.
- يقرأ الميسر الأفكار بصوت عالٍ وتُكتب على السبورة.
- تناقش المجموعة الأفكار.
- أخيراً، يتم تحديد الأولويات، دمج الأفكار، اختيارها، وتقليصها.
تُستخدم هذه التقنية لتكملة المقابلات الجماعية أو كجزء من جهود JAD.
Nominal Group Technique (NGT) is a facilitated process that supports idea generation by groups.
Process:
- Members come together as a group but initially work separately.
- Each person writes ideas.
- The facilitator reads ideas out loud, and they are written on a blackboard.
- The group discusses the ideas.
- Finally, ideas are prioritized, combined, selected, and reduced.
It can complement group interviews or JAD sessions.
تمنع NGT سيطرة الأفراد ذوي الأصوات العالية على النقاش، حيث تضمن مرحلة 'العمل المنفصل' أن يتم سماع أفكار الجميع (حتى الانطوائيين) قبل بدء التقييم الجماعي.
NGT prevents vocal or dominant individuals from hijacking the discussion.
The initial 'separate work' phase ensures that everyone's ideas (even introverts') are captured before collective evaluation begins.
كيف تحل تقنية NGT مشكلة 'التفكير الجماعي' (Groupthink)؟ How does NGT solve the problem of 'Groupthink'?
من خلال إجبار المشاركين على كتابة أفكارهم بشكل مستقل قبل أي نقاش، مما يمنعهم من التأثر المبكر بآراء الأغلبية أو القادة.
By forcing participants to write their ideas independently before any discussion, preventing them from being prematurely influenced by the majority or leaders.
4 الملاحظة وتحليل الوثائق (الأنظمة الرسمية وغير الرسمية)
4 Observation and Document Analysis (Formal vs Informal Systems)
مراقبة المستخدمين أثناء العمل وتحليل الوثائق لاكتشاف الفجوة بين كيفية عمل النظام رسمياً وكيفية عمله فعلياً.
Watching users work and analyzing documents to discover the gap between how the system officially works and how it actually works.
الناس ليسوا دائماً مصادر موثوقة للمعلومات.
- الملاحظة المباشرة (Direct Observation): مراقبة المستخدمين أثناء أداء وظائفهم توفر معلومات أكثر دقة من التقارير الذاتية، لكنها قد تجعل الناس يغيرون سلوكهم الطبيعي.
- تحليل الوثائق (Document Analysis): مراجعة الوثائق الحالية (إجراءات العمل، النماذج، التقارير) تعطي نظرة تاريخية ورسمية.
هذا يقودنا إلى التمييز بين:
- النظام الرسمي (Formal System): الطريقة الرسمية لعمل النظام كما هي موصوفة في الوثائق.
- النظام غير الرسمي (Informal System): الطريقة التي يعمل بها النظام فعلياً في الممارسة (تُكتشف عبر المقابلات والملاحظة).
People are not always reliable informants.
- Direct Observation: Watching users do their jobs provides more accurate info than self-reporting, though observation can cause people to change their behavior.
- Document Analysis: Reviewing existing documents (procedures, forms, reports) gives a historical and formal view.
This highlights the difference between:
- Formal System: The official way a system works as described in documentation.
- Informal System: The way a system actually works in practice (revealed through interviews and observation).
الأنظمة غير الرسمية تنشأ عادة لأن النظام الرسمي غير فعال، بطيء، أو لا يغطي حالات الحافة (Edge cases).
دور المحلل هو فهم النظام غير الرسمي لدمج كفاءته في النظام الرسمي الجديد.
Informal systems usually emerge because the formal system is inefficient, slow, or fails to handle edge cases.
The analyst's job is to understand the informal system to integrate its practical efficiencies into the new formal system.
| النظام الرسميFormal System | النظام غير الرسميInformal System | |
|---|---|---|
| التعريفDefinition | الطريقة الرسمية الموصوفة في الوثائقOfficial way described in documentation | الطريقة التي يعمل بها النظام فعلياًThe way the system actually works in practice |
| طريقة الاكتشافDiscovery Method | تحليل الوثائق والإجراءاتDocument and procedure analysis | المقابلات والملاحظة المباشرةInterviews and direct observation |
| الملاحظةObservation | تحليل الوثائقDocument Analysis | |
|---|---|---|
| ثراء المعلوماتInformation Richness | عالي (قنوات متعددة)High (many channels) | منخفض (سلبي وقديم)Low (passive) and old |
| السرية وتغيير السلوكConfidentiality / Behavior Change | المُلاحَظ قد يغير سلوكه عند مراقبتهObservee may change behavior when observed | الوثيقة لا تتغير بمجرد قراءتهاDocument does not change simply by being read |
إذا تعارضت وثيقة إجراءات العمل مع ما لاحظته أثناء مراقبة الموظف، أيهما تعتمد لتصميم النظام الجديد؟ If a written work procedure contradicts what you observed an employee doing, which do you rely on for designing the new system?
يجب التحقيق في سبب التعارض. غالباً ما يكون السلوك الملاحظ (النظام غير الرسمي) هو الاستجابة لقصور في الإجراء الرسمي، ويجب استيعاب هذا الواقع في التصميم الجديد.
You must investigate the discrepancy. The observed behavior (informal system) is often a practical workaround for a flawed formal procedure, and this reality should inform the new design.
5 تصميم التطبيقات المشترك (JAD)
5 Joint Application Design (JAD)
اجتماعات مكثفة خارج موقع العمل تجمع المستخدمين والمديرين والمحللين لتحديد متطلبات النظام في وقت واحد.
Intensive off-site meetings bringing together users, managers, and analysts to specify system requirements simultaneously.
JAD هي عملية منظمة (بدأتها IBM في السبعينيات) حيث يعمل المستخدمون والمديرون والمحللون معاً لعدة أيام في اجتماعات مكثفة لتحديد المتطلبات.
تُعقد عادة خارج موقع العمل (Off-site) لتجنب المشتتات.
المشاركون:
- قائد الجلسة (Session Leader): يسهل العملية.
- المستخدمون والمديرون: مشاركون نشطون يتحدثون.
- الراعي (Sponsor): بطل رفيع المستوى، مشاركته محدودة.
- محللو النظم وموظفو IS: يستمعون غالباً.
- الكاتب (Scribe): يسجل أنشطة الجلسة.
يمكن دعم JAD بأدوات CASE وأنظمة دعم المجموعات (GSS).
JAD is a structured process (started by IBM in the 1970s) where users, managers, and analysts work together for several days in intensive meetings to specify requirements.
It is highly focused, resource-intensive, and conducted off-site.
Participants:
- Session Leader (facilitates),
- Users & Managers (active speakers),
- Sponsor (high-level champion, limited participation),
- Systems Analysts & IS Staff (mostly listen),
- Scribe (records activities).
JAD can be supported by CASE tools and Group Support Systems (GSS).
الهدف الأساسي من JAD هو تقليل الوقت المستغرق في المقابلات الفردية المتسلسلة وحل تضارب المتطلبات فوراً في نفس الغرفة.
استخدام أدوات CASE أثناء الجلسة يسمح ببناء نماذج أولية للشاشات وعرضها فوراً على المستخدمين للموافقة عليها.
The primary goal of JAD is to slash the time spent in sequential individual interviews and resolve conflicting requirements instantly in the same room.
Using CASE tools during JAD allows analysts to build screen prototypes and get immediate user sign-off.
لماذا يُطلب من محللي النظم 'الاستماع غالباً' في جلسات JAD بدلاً من قيادة النقاش؟ Why are Systems Analysts instructed to 'mostly listen' in JAD sessions rather than lead the discussion?
لأن الهدف من JAD هو استخراج متطلبات الأعمال من المستخدمين والمديرين. تدخل المحللين بكثرة قد يوجه النقاش نحو قيود تقنية بدلاً من احتياجات العمل الحقيقية.
Because the goal of JAD is to elicit business requirements from users and managers. Too much input from analysts might steer the conversation toward technical constraints rather than true business needs.
6 النماذج الأولية (Prototyping)
6 Prototyping
عملية تكرارية لتحويل المتطلبات إلى نظام عمل مبدئي يتم تعديله باستمرار بناءً على ملاحظات المستخدمين.
An iterative process of converting requirements into a working system that is continually revised based on user feedback.
النماذج الأولية هي عملية تطوير تكرارية.
تكون مفيدة جداً عندما: تكون طلبات المستخدمين غير واضحة، عدد المستخدمين قليل، التصاميم معقدة، أو توجد مشاكل تواصل سابقة.
الأنواع:
- النموذج التطوري (Evolutionary): تبدأ بنمذجة أجزاء من النظام، وإذا نجحت، تطور بقية النظام منها (يتم الاحتفاظ بالنموذج).
- النموذج المرمي (Throwaway): يُبنى فقط لفهم المتطلبات ثم يُتخلص منه ولا يُحتفظ به.
العيوب: الميل لتجنب التوثيق الرسمي، صعوبة التكيف مع جمهور أوسع، تجاهل مشاركة البيانات مع أنظمة أخرى، وتجاوز فحوصات دورة حياة تطوير النظم (SDLC).
Prototyping is an iterative development process.
It is most useful when: user requests are not clear, few users are involved, designs are complex, or there is a history of communication problems.
Types:
- Evolutionary Prototyping: You model parts of the target system and evolve the rest from those parts (prototype is preserved).
- Throwaway Prototyping: Built only to understand requirements, then discarded.
Drawbacks: Tendency to avoid formal documentation, difficult to adapt to a general audience, sharing data with other systems is often ignored, and SDLC checks are often bypassed.
الخطر الأكبر في النماذج الأولية التطورية هو أن الكود المكتوب بسرعة (Quick and dirty) لإثبات المفهوم قد يصبح أساساً لنظام الإنتاج النهائي، مما يؤدي إلى ديون تقنية (Technical Debt) وضعف في الأداء والأمان.
The biggest risk in evolutionary prototyping is that 'quick and dirty' code written to prove a concept becomes the foundation of the final production system, leading to massive technical debt, poor performance, and security flaws.
| النمذجة التطوريةEvolutionary Prototyping | النمذجة المرميةThrowaway Prototyping | |
|---|---|---|
| مصير النموذجFate of Prototype | يتم الاحتفاظ به ويتطور للنظام النهائيPreserved and evolves into final system | يتم التخلص منه بعد فهم المتطلباتDiscarded after requirements are understood |
لماذا يؤدي استخدام النماذج الأولية غالباً إلى تجاوز فحوصات SDLC؟ Why does prototyping often lead to bypassing SDLC checks?
لأن التركيز ينصب على سرعة بناء واجهة تعمل لإرضاء المستخدم، مما يجعل المطورين يتجاهلون مراحل التوثيق، التحليل الأمني، واختبارات التكامل المنهجية الموجودة في SDLC.
Because the focus is on rapidly building a working interface to satisfy the user, causing developers to skip formal documentation, security analysis, and systematic integration testing required by the SDLC.
7 إعادة هندسة العمليات (BPR) والتقنيات التخريبية
7 Business Process Reengineering (BPR) & Disruptive Technologies
البحث عن تغيير جذري في العمليات لتحقيق تحسينات هائلة، مدعوماً بتقنيات تكسر قواعد العمل القديمة.
The search for radical change in business processes to achieve breakthrough improvements, enabled by technologies that break old rules.
إعادة هندسة العمليات (BPR): هي البحث عن وتنفيذ تغيير جذري (Radical change) في عمليات الأعمال لتحقيق تحسينات هائلة في المنتجات والخدمات.
أهدافها: إعادة تنظيم تدفق البيانات، القضاء على الخطوات غير الضرورية، دمج الخطوات، وزيادة الاستجابة للتغيير.
التقنيات التخريبية (Disruptive Technologies): هي التقنيات التي تمكن من كسر قواعد العمل القديمة التي تمنع المنظمات من إجراء تغييرات جذرية. (مثال: قاعدة 'يجب أن تختار بين المركزية واللامركزية' تكسرها تقنية 'شبكات الاتصالات المتقدمة').
Business Process Reengineering (BPR): The search for, and implementation of, radical change in business processes to achieve breakthrough improvements in products and services.
Goals: Reorganize data flow, eliminate unnecessary steps, combine steps, become more responsive.
Disruptive Technologies: Technologies that enable breaking long-held business rules that inhibit organizations from making radical business changes. (e.g., Rule: 'Information can appear in only one place at a time' is broken by 'Distributed databases').
على عكس التحليل التقليدي الذي يسعى لأتمتة العمليات الحالية (تحسين تدريجي)، فإن BPR تسأل: 'هل يجب أن نقوم بهذه العملية أصلاً؟'
وإذا كان الجواب لا، يتم إلغاؤها بالكامل باستخدام التكنولوجيا التخريبية.
Unlike traditional analysis which seeks to automate existing processes (incremental improvement), BPR asks: 'Should we even be doing this process at all?'
If not, it is completely eliminated using disruptive technology.
أعط مثالاً على قاعدة عمل قديمة تم كسرها بواسطة تقنية تخريبية. Give an example of an old business rule broken by a disruptive technology.
القاعدة: 'يجب أن يتخذ المديرون جميع القرارات'. التقنية التخريبية: 'أدوات دعم القرار (Decision-support tools) يمكن أن تساعد غير المديرين في اتخاذ القرارات'.
Rule: 'Managers must make all decisions.' Disruptive Technology: 'Decision-support tools can aid nonmanagers in making decisions.'
8 تحديد المتطلبات باستخدام منهجيات أجايل
8 Requirements Determination Using Agile Methodologies
استبدال دورة حياة النظام التقليدية (الشلال) بدورة تكرارية تعتمد على المشاركة المستمرة للمستخدم وتصميم يركز على الاستخدام.
Replacing the traditional SDLC waterfall with an iterative cycle relying on continual user involvement and usage-centered design.
تعتمد منهجيات أجايل على المشاركة المستمرة للمستخدم، حيث تستبدل نموذج الشلال (Waterfall) التقليدي بدورة تكرارية: تحليل – تصميم – برمجة – اختبار (Analyze – Design – Code – Test).
التصميم المرتكز على الاستخدام (Agile usage-centered design): يركز على أهداف المستخدم، أدواره، ومهامه باستخدام بطاقات (Cards) لتحديد المهام وتجميعها.
لعبة التخطيط (The Planning Game): مبنية على البرمجة القصوى (eXtreme Programming) وتتكون من 3 مراحل:
- 1. الاستكشاف (Exploration): يكتب العمل بطاقة قصة (Story Card) ويقدم التطوير تقديراً.
- 2. الالتزام (Commitment): يرتب العمل القصص حسب الضرورة، ويرتبها التطوير حسب المخاطر.
- 3. التوجيه (Steering): يراجع العمل التقدم ويتم تعديل الخطة.
Agile methodologies rely on Continual user involvement, replacing the traditional SDLC waterfall with an iterative analyze–design–code–test cycle.
Agile usage-centered design: Focuses on user goals, roles, and tasks using cards to group and prioritize tasks.
The Planning Game: Based on eXtreme Programming, it has 3 phases:
- 1. Exploration: Business writes a Story Card, Development provides an estimate.
- 2. Commitment: Business sorts Stories by necessity, Development sorts by risk.
- 3. Steering: Business reviews progress, Business and Development adjust plan.
في لعبة التخطيط، يتم فصل المسؤوليات بوضوح: 'العمل' (Business) يقرر ماذا يجب أن يُبنى بناءً على القيمة، و'التطوير' (Development) يقرر كيف وكم من الوقت سيستغرق بناءً على المخاطر التقنية.
In the Planning Game, responsibilities are strictly separated: 'Business' decides what to build based on value, and 'Development' decides how and how long it will take based on technical risk.
في مرحلة 'الالتزام' من لعبة التخطيط، لماذا يقوم فريق التطوير بترتيب القصص حسب المخاطر؟ In the 'Commitment' phase of the Planning Game, why does the Development team sort stories by risk?
لمعالجة الميزات الأكثر تعقيداً أو غير المؤكدة تقنياً في وقت مبكر من المشروع، مما يقلل من احتمالية فشل المشروع في مراحله المتأخرة.
To tackle the most technically complex or uncertain features early in the project, reducing the chance of catastrophic failure later on.