Software Engineering Requirements PDF

Document Details

ThumbUpMelodica

Uploaded by ThumbUpMelodica

Middle East University

Tags

software engineering requirements engineering system development software

Summary

This document provides an introduction to software engineering requirements. It discusses the importance of requirements engineering for successful software development and common issues in requirements engineering, such as missing and unclear requirements.

Full Transcript

Software Engineering Requirements Introduction: Why perform requirements engineering? ‫لماذا إجراء هندسة المتطلبات؟‬ The impact of requirements engineering (RE) on successful and customer-orient...

Software Engineering Requirements Introduction: Why perform requirements engineering? ‫لماذا إجراء هندسة المتطلبات؟‬ The impact of requirements engineering (RE) on successful and customer-oriented systems development can no longer be ignored. According to the figures much has improved in the execution of software projects in the twelve years between 1994 and 2006 While about 30 percent of the software projects investigated in 1994 failed, it was a mere 20 percent in 2006. The number of projects that exceeded time or budget constraints significantly and/or did not meet customer satisfaction dropped from 53 percent to 46 percent [Chaos 2006].‫(على تطوير األنظمة الناجحة والموجهة نحو العمالء‬RE) ‫لم يعد من الممكن تجاهل تأثير هندسة المتطلبات‬ 2006 ‫و‬1994 ‫ تحسن الكثير في تنفيذ مشاريع البرمجيات في االثني عشر عاما بين عامي‬، ‫وفقا لألرقام‬ 2006 ‫ في المائة فقط في عام‬20 ‫ إال أنها كانت‬، ‫فشلت‬1994 ‫ في المائة من مشاريع البرمجيات التي تم التحقيق فيها في عام‬30 ‫في حين أن حوالي‬ ‫ في المائة‬46 ‫ في المائة إلى‬53 ‫أو لم تلبي رضا العمالء من‬/ ‫انخفض عدد المشاريع التي تجاوزت قيود الوقت أو الميزانية بشكل كبير و‬ How has the communication of requirements evolved over the past decade, and what impact has this had on project success? ‫ وما هو تأثير ذلك على نجاح المشروع؟‬، ‫كيف تطور توصيل المتطلبات على مدى العقد الماضي‬ One reason is that the communication of ‫أحد األسباب هو أن اإلبالغ عن المتطلبات قد تحسن‬ requirements has much improved since ten years.‫كثيرا منذ عشر سنوات‬ ago. ‫تعد كيفية التعامل مع متطلبات النظام سببا مهما لفشل‬ How the requirements of a system are handled is a.‫المشروع أو تجاوز الوقت والميزانية‬ significant cause for project failures and/or time and budget overruns. 1.1.1 Figures and Facts from Ordinary Projects According to past studies, approximately 60 percent of all errors in system development projects originate during the phase of requirements engineering [Boehm 1981]. because incorrect or incomplete requirements can be interpreted by developers in such a fashion that they are complete. Missing requirements often remain undetected during design and realization because developers trust the requirements engineers to deliver high-quality work. Developers implement whatever the requirements document says or what they believe it to be saying. [Boehm ‫ بالمائة من جميع األخطاء في مشاريع تطوير النظام تنشأ خالل مرحلة هندسة المتطلبات‬60 ‫ فإن ما يقرب من‬، ‫وفقا للدراسات السابقة‬ ‫غالبا ما تظل المتطلبات المفقودة غير‬. ‫ألن المتطلبات غير الصحيحة أو غير المكتملة يمكن تفسيرها من قبل المطورين بطريقة تجعلها كاملة‬1981]. ‫يقوم المطورون بتنفيذ كل ما تقوله وثيقة المتطلبات‬. ‫مكتشفة أثناء التصميم والتنفيذ ألن المطورين يثقون في مهندسي المتطلبات لتقديم عمل عالي الجودة‬.‫أو ما يعتقدون أنه يقوله‬ Unclear, incomplete, or wrong requirements inevitably lead to the development of a system that does not Costs of errors during possess critical properties or possesses requirements engineering properties that were not requested. ‫تؤدي المتطلبات غير الواضحة أو غير المكتملة أو الخاطئة حتما إلى‬.‫تطوير نظام ال يمتلك خصائص حرجة أو يمتلك خصائص لم يتم طلبها‬ The later in the development project a defect in the requirements is corrected, the higher are the costs ‫في وقت الحق من مشروع التطوير يتم تصحيح عيب في‬ associated with fixing it.. ‫ وارتفاع التكاليف المرتبطة بإصالحه‬، ‫المتطلبات‬ The effort to fix a requirements defect is up to 20 times higher if the correction is done during programming as ‫مرة‬20 ‫يصل الجهد المبذول إلصالح عيب المتطلبات إلى‬ ‫إذا تم التصحيح أثناء البرمجة بدال من إصالح نفس العيب‬ opposed to fixing the same defect during requirements.‫أثناء هندسة المتطلبات‬ engineering. If the defect is fixed during acceptance testing, the ‫ فقد يصل الجهد‬، ‫إذا تم إصالح العيب أثناء اختبار القبول‬ effort involved may be up to a 100 times higher [Boehm.‫مرة‬100 ‫المبذول إلى‬ 1981]. Symptoms and causes of deficient requirements engineering ‫أعراض عدم كفاية هندسة المتطلبات عديدة مثل‬ Symptoms for inadequate requirements engineering are as. ‫أسبابها‬ numerous as their causes. ‫ تكون المتطلبات مفقودة أو غير‬، ‫في كثير من األحيان‬.‫مصاغة بوضوح‬ Frequently, requirements are missing or not clearly formulated. For instance, if the requirements do not reflect customer wishes precisely or if the requirements are described in an ‫ إذا كانت المتطلبات ال تعكس‬، ‫على سبيل المثال‬ imprecise way and thus allow for several interpretations, the ‫رغبات العمالء بدقة أو إذا تم وصف المتطلبات بطريقة‬ ‫ فغالبا ما‬، ‫غير دقيقة وبالتالي تسمح بعدة تفسيرات‬ result is often a system that does not meet the expectations ‫تكون النتيجة نظاما ال يلبي توقعات العميل أو‬ of the client or the users. ‫السبب األكثر شيوعا لنقص المتطلبات هو‬. ‫المستخدمين‬ The most common reason for deficient requirements is the ‫وهذا يؤدي إلى مشاكل في‬. ‫سوء فهم أصحاب المصلحة‬ misconception of the stakeholders. ‫التواصل بين األطراف المعنية تنشأ عن االختالفات في‬ This results in problems in communication among the.‫الخبرة والمعرفة‬ involved parties that arise from differences in experience and knowledge. The significance of good requirements engineering The increasing importance of software-intensive systems in ‫إن األهمية المتزايدة لألنظمة كثيفة البرمجيات في‬ industrial projects as well as the need to bring more ‫المشاريع الصناعية وكذلك الحاجة إلى جلب أنظمة‬ innovative, and more comprehensive systems to market ‫أكثر ابتكارا وشمولية إلى السوق والحاجة إلى القيام‬ and the need to do so quicker, better, and with a higher ‫بذلك بشكل أسرع وأفضل وبمستوى أعلى من الجودة‬ level of quality calls for efficient requirements engineering. ‫المتطلبات الكاملة الخالية‬. ‫تتطلب هندسة متطلبات فعالة‬ ‫يجب‬. ‫من العيوب هي أساس تطوير النظام الناجح‬ Complete requirements free from defects are the basis for ‫تحديد المخاطر المحتملة أثناء هندسة المتطلبات ويجب‬ successful system development. ‫تقليلها في أقرب وقت ممكن للسماح بتقدم المشروع‬ Potential risks have to be identified during requirements ‫يجب اكتشاف األخطاء والثغرات في مستندات‬. ‫بنجاح‬ engineering and must be reduced as early as possible to.‫المتطلبات في وقت مبكر لتجنب عمليات التغيير المملة‬ allow for successful project progress. Faults and gaps in requirement documents must be discovered early on to avoid tedious change processes. 1. Question: Why is requirements engineering (RE) considered crucial in software development? 2. Question: What statistical improvements were observed in software project outcomes from 1994 ‫( حاسمة في تطوير البرمجيات؟‬RE) ‫لماذا تعتبر هندسة المتطلبات‬ to 2006? Answer: Requirements engineering is crucial ‫ما هي التحسينات اإلحصائية التي لوحظت في نتائج مشاريع البرمجيات من‬ because it significantly impacts the success of ‫؟‬2006 ‫إلى عام‬1994 ‫عام‬ software projects by ensuring that systems are customer-oriented. Improved requirements Answer: From 1994 to 2006, the percentage of engineering has led to a reduction in project software projects that failed dropped from about failures and better adherence to time and 30% to 20%. Additionally, projects exceeding time budget constraints. or budget constraints decreased from 53% to 46%. ‫تعد هندسة المتطلبات أمرا بالغ األهمية ألنها تؤثر بشكل كبير على نجاح‬ ‫أدى‬. ‫مشاريع البرمجيات من خالل ضمان أن األنظمة موجهة نحو العمالء‬ ‫ انخفضت النسبة المئوية لمشاريع‬،2006 ‫إلى عام‬1994 ‫من عام‬ ‫تحسين هندسة المتطلبات إلى تقليل فشل المشروع وااللتزام بشكل أفضل‬ ، ‫باإلضافة إلى ذلك‬. ٪20 ‫ إلى‬٪30 ‫البرمجيات التي فشلت من حوالي‬.‫بقيود الوقت والميزانية‬.٪46 ‫ إلى‬٪53 ‫انخفضت المشاريع التي تتجاوز قيود الوقت أو الميزانية من‬ 3. Question: How has the communication of 4. Question: According to past studies, what requirements evolved over the past decade? percentage of errors in system development originates during the requirements engineering ‫كيف تطور توصيل المتطلبات خالل العقد الماضي؟‬ phase? Answer: The communication of requirements ‫ ما هي النسبة المئوية لألخطاء في تطوير النظام‬، ‫وفقا للدراسات السابقة‬ has improved significantly over the past ‫التي تنشأ خالل مرحلة هندسة المتطلبات؟‬ decade, which has positively affected Answer: Approximately 60% of all errors in system project success. Better communication helps development projects originate during the ensure that the requirements are correctly requirements engineering phase. understood and implemented by developers. ‫ من جميع األخطاء في مشاريع تطوير النظام تنشأ خالل‬٪60 ‫ما يقرب من‬ ،‫وقد تحسن اإلبالغ عن االحتياجات تحسنا كبيرا خالل العقد الماضي‬.‫مرحلة هندسة المتطلبات‬ ‫يساعد التواصل األفضل على‬. ‫مما أثر إيجابا على نجاح المشروع‬.‫ضمان فهم المتطلبات وتنفيذها بشكل صحيح من قبل المطورين‬ 5. Question: What are the potential costs associated with correcting defects found at 6. Question: What are some common symptoms different stages of development? of inadequate requirements engineering? ‫ما هي التكاليف المحتملة المرتبطة بتصحيح العيوب الموجودة في مراحل‬ ‫ما هي التكاليف المحتملة المرتبطة بتصحيح العيوب الموجودة في مراحل‬ ‫مختلفة من التطوير؟‬ ‫مختلفة من التطوير؟‬ Answer: The cost to fix a defect is much higher Answer: Common symptoms include missing the later it is discovered. If a defect is corrected requirements, poorly formulated requirements, during programming, it can be up to 20 times and requirements that do not accurately reflect more expensive than if fixed during requirements customer wishes or allow for multiple engineering. If found during acceptance interpretations, leading to systems that fail to testing, the effort involved may be up to 100 meet user expectations. times higher. ، ‫ والمتطلبات سيئة الصياغة‬، ‫تشمل األعراض الشائعة المتطلبات المفقودة‬ ، ‫والمتطلبات التي ال تعكس بدقة رغبات العمالء أو تسمح بتفسيرات متعددة‬ ‫إذا تم تصحيح العيب‬. ‫تكلفة إصالح العيب أعلى بكثير كلما تم اكتشافه الحقا‬.‫مما يؤدي إلى أنظمة تفشل في تلبية توقعات المستخدم‬ ‫مرة مما لو تم‬20 ‫ فقد يكون أكثر تكلفة بما يصل إلى‬، ‫أثناء البرمجة‬ ، ‫إذا تم العثور عليها أثناء اختبار القبول‬. ‫إصالحه أثناء هندسة المتطلبات‬.‫مرة‬100 ‫فقد يصل الجهد المبذول إلى‬ 8. Question: Why is it important to identify potential risks during the requirements 7. Question: What role do stakeholder engineering process? misconceptions play in requirements ‫لماذا من المهم تحديد المخاطر المحتملة أثناء عملية هندسة المتطلبات؟‬ engineering? Answer: Identifying potential risks during ‫ما الدور الذي تلعبه المفاهيم الخاطئة ألصحاب المصلحة في هندسة‬ requirements engineering is essential because it ‫المتطلبات؟‬ allows teams to address and mitigate these risks Answer: Misconceptions among stakeholders early in the project, facilitating smoother can lead to communication problems, as progress and reducing the likelihood of costly differences in experience and knowledge may changes later. result in unclear or conflicting requirements, ‫يعد تحديد المخاطر المحتملة أثناء هندسة المتطلبات أمرا ضروريا ألنه‬ ultimately impacting the project's success. ، ‫يسمح للفرق بمعالجة هذه المخاطر وتخفيفها في وقت مبكر من المشروع‬ ‫يمكن أن تؤدي المفاهيم الخاطئة بين أصحاب المصلحة إلى مشاكل في‬.‫مما يسهل التقدم السلس ويقلل من احتمالية حدوث تغييرات مكلفة الحقا‬ ‫ حيث قد تؤدي االختالفات في الخبرة والمعرفة إلى متطلبات غير‬، ‫التواصل‬.‫ مما يؤثر في النهاية على نجاح المشروع‬، ‫واضحة أو متضاربة‬ 9. Question: What is the significance of having complete and defect-free requirements? 10. Question: How can faults and gaps in ‫ما هي أهمية وجود متطلبات كاملة وخالية من العيوب؟‬ requirement documents impact a project? Answer: Complete and defect-free ‫ما هي أهمية وجود متطلبات كاملة وخالية من العيوب؟‬ requirements are fundamental for successful Answer: Faults and gaps in requirement system development. They serve as a clear documents can lead to significant delays, foundation for the project, minimizing misunderstandings, and costly changes during misunderstandings and reducing the chances of later phases of development, which can costly revisions. jeopardize the overall success of the project.. ‫تعد المتطلبات الكاملة والخالية من العيوب أساسية لتطوير النظام بنجاح‬. ‫تعد المتطلبات الكاملة والخالية من العيوب أساسية لتطوير النظام بنجاح‬ ‫ مما يقلل من سوء الفهم ويقلل من‬، ‫إنها بمثابة أساس واضح للمشروع‬ ‫ مما يقلل من سوء الفهم ويقلل من‬، ‫إنها بمثابة أساس واضح للمشروع‬.‫فرص المراجعات المكلفة‬.‫فرص المراجعات المكلفة‬ 11. Question: What is the relationship between 12. Question: What are some common causes of the clarity of requirements and project deficient requirements engineering? outcomes? ‫ما هي بعض األسباب الشائعة لنقص هندسة المتطلبات؟‬ ‫ما هي العالقة بين وضوح المتطلبات ونتائج المشروع؟‬ Answer: Common causes include unclear Answer: Clear and well-formulated requirements communication among stakeholders, lack of are essential for successful project outcomes. stakeholder involvement, and When requirements are ambiguous or poorly misunderstandings stemming from varying levels defined, they can lead to misinterpretations by of experience and knowledge among team developers, resulting in systems that do not meet members. client expectations. ، ‫تشمل األسباب الشائعة التواصل غير الواضح بين أصحاب المصلحة‬. ‫المتطلبات الواضحة والمصاغة جيدا ضرورية لنتائج المشروع الناجحة‬ ‫ وسوء الفهم الناجم عن مستويات متفاوتة‬، ‫وعدم مشاركة أصحاب المصلحة‬ ‫ يمكن أن تؤدي‬، ‫عندما تكون المتطلبات غامضة أو غير محددة بشكل جيد‬.‫من الخبرة والمعرفة بين أعضاء الفريق‬ ‫ مما يؤدي إلى أنظمة ال تلبي توقعات‬، ‫إلى سوء تفسير من قبل المطورين‬.‫العمالء‬ 13. Question: How can incomplete requirements affect the software development process? 14. Question: What strategies can be employed ‫كيف يمكن أن تؤثر المتطلبات غير المكتملة على عملية تطوير البرمجيات؟‬ to improve requirements engineering processes? Answer: Incomplete requirements can lead to ‫ما هي االستراتيجيات التي يمكن استخدامها لتحسين عمليات هندسة‬ the implementation of features that do not align ‫المتطلبات؟‬ with customer needs, resulting in project delays, Answer: Strategies include involving stakeholders increased costs, and ultimately, customer throughout the development process, using dissatisfaction. clear and precise language in requirements ‫يمكن أن تؤدي المتطلبات غير المكتملة إلى تنفيذ ميزات ال تتوافق مع‬ documents, conducting regular reviews and ‫ مما يؤدي إلى تأخير المشروع وزيادة التكاليف وفي‬، ‫احتياجات العمالء‬ updates, and employing various requirement.‫النهاية عدم رضا العمالء‬ elicitation techniques. ‫تشمل االستراتيجيات إشراك أصحاب المصلحة في جميع مراحل عملية‬ ‫ وإجراء‬، ‫ واستخدام لغة واضحة ودقيقة في وثائق المتطلبات‬، ‫التطوير‬ 15. Question: Why is it important to have.‫ واستخدام تقنيات استنباط المتطلبات المختلفة‬، ‫مراجعات وتحديثات منتظمة‬ efficient requirements engineering in today's software projects? 16. Question: What is the significance of early ‫لماذا من المهم أن يكون لديك هندسة متطلبات فعالة في مشاريع البرمجيات‬ detection of faults in requirements documents? ‫اليوم؟‬ ‫ما أهمية الكشف المبكر عن األعطال في مستندات المتطلبات؟‬ Answer: The increasing complexity of software- Answer: Early detection of faults in requirements intensive systems and the demand for faster, documents allows teams to address issues higher-quality delivery necessitate efficient before they escalate into larger problems during requirements engineering to ensure that projects later phases of development, thus saving time meet evolving customer needs and mitigate and reducing costs associated with changes. potential risks. ‫يسمح االكتشاف المبكر لألخطاء في مستندات المتطلبات للفرق بمعالجة‬ ‫إن التعقيد المتزايد لألنظمة كثيفة البرمجيات والطلب على التسليم األسرع‬ ‫المشكالت قبل أن تتصاعد إلى مشاكل أكبر خالل المراحل الالحقة من‬ ‫واألعلى جودة يستلزمان هندسة متطلبات فعالة لضمان تلبية المشاريع‬.‫ وبالتالي توفير الوقت وتقليل التكاليف المرتبطة بالتغييرات‬، ‫التطوير‬.‫الحتياجات العمالء المتطورة والتخفيف من المخاطر المحتملة‬ 17. Question: Discuss the impact of trust in the requirements engineering process. 18. Question: In what ways can the.‫مناقشة تأثير الثقة في عملية هندسة المتطلبات‬ misconception of stakeholders lead to project Answer: Developers may rely on requirements failures? engineers to provide high-quality requirements, ‫ما هي الطرق التي يمكن أن يؤدي بها سوء فهم أصحاب المصلحة إلى فشل‬ which can lead to problems if those ‫المشروع؟‬ requirements are incorrect or incomplete. This Answer: Stakeholder misconceptions can create trust can result in undetected issues during later gaps in understanding the project goals, phases of development if the requirements are resulting in misaligned expectations and unclear not thoroughly vetted. requirements. This misalignment can ultimately ، ‫قد يعتمد المطورون على مهندسي المتطلبات لتوفير متطلبات عالية الجودة‬ lead to the development of systems that do not ‫مما قد يؤدي إلى مشاكل إذا كانت هذه المتطلبات غير صحيحة أو غير‬ satisfy user needs. ‫يمكن أن تؤدي هذه الثقة إلى مشكالت غير مكتشفة خالل المراحل‬. ‫كاملة‬ ‫يمكن أن تخلق المفاهيم الخاطئة ألصحاب المصلحة فجوات في فهم أهداف‬.‫الالحقة من التطوير إذا لم يتم فحص المتطلبات بدقة‬. ‫ مما يؤدي إلى توقعات غير متسقة ومتطلبات غير واضحة‬، ‫المشروع‬ ‫يمكن أن يؤدي هذا االختالل في النهاية إلى تطوير أنظمة ال تلبي احتياجات‬.‫المستخدم‬ 19. Question: What are the implications of project budget and time constraints on 20. Question: How do changing market demands requirements engineering? influence requirements engineering practices? ‫ما هي اآلثار المترتبة على ميزانية المشروع والقيود الزمنية على هندسة‬ ‫كيف تؤثر متطلبات السوق المتغيرة على الممارسات الهندسية للمتطلبات؟‬ ‫المتطلبات؟‬ Answer: Changing market demands necessitate Answer: Pressure to meet budget and time agile and adaptive requirements engineering constraints can lead to rushed or incomplete practices that can accommodate new features requirements engineering, increasing the and adjustments quickly, ensuring that software likelihood of errors and omissions that can products remain relevant and competitive. adversely affect project success. ‫تتطلب متطلبات السوق المتغيرة ممارسات هندسية مرنة وقابلة للتكيف يمكن‬ ‫يمكن أن يؤدي الضغط لتلبية قيود الميزانية والوقت إلى هندسة متطلبات‬ ‫ مما يضمن بقاء منتجات‬، ‫أن تستوعب الميزات والتعديالت الجديدة بسرعة‬ ‫ مما يزيد من احتمالية حدوث أخطاء وسهو يمكن‬، ‫متسرعة أو غير مكتملة‬.‫البرامج ذات صلة وتنافسية‬.‫أن يؤثر سلبا على نجاح المشروع‬ What is Requirements Engineering? ‫ما هي هندسة المتطلبات؟‬ In order to make a development project succeed, it is necessary to know the requirements for the system and to document them in a suitable manner..‫من أجل إنجاح مشروع تنموي ال بد من معرفة متطلبات النظام وتوثيقها بطريقة مناسبة‬ Definition 1-1: Requirement (1) A condition or capability needed by a user to solve a problem or achieve an objective. (2) A condition or capability that must be met or possessed by a system or system component to satisfy a contract.. ‫) شرط أو قدرة يحتاجها المستخدم لحل مشكلة أو تحقيق هدف‬1(.‫) شرط أو قدرة يجب أن يستوفيها أو يمتلكها نظام أو مكون من مكونات النظام للوفاء بالعقد‬2( Stakeholders The term stakeholder is essential in requirements engineering. Among other things, stakeholders are the most important sources of requirements. Not considering a stakeholder often results in fragmentally elicited requirements, i.e., incomplete requirements A stakeholder of a system is a person or an organization that has an (direct or indirect) influence on the requirements of the system. ‫ أصحاب المصلحة هم أهم مصادر االحتياجات عدم النظر في أحد أصحاب‬، ‫ من بين أمور أخرى‬. ‫مصطلح صاحب المصلحة ضروري في هندسة المتطلبات‬ ‫ أي متطلبات غير مكتملة صاحب المصلحة في النظام هو شخص أو منظمة لها تأثير )مباشر أو غير‬، ‫المصلحة غالبا ما يؤدي إلى متطلبات مستنبطة بشكل مجزأ‬.‫مباشر(على متطلبات النظام‬ Goal of requirements Engineering During the development process, requirements engineering must elicit the stakeholders’ requirements, document the requirements in a suitable manner, validate and verify the requirements, and manage the requirements over the course of the entire life cycle of the system. ‫ والتحقق من صحة‬، ‫ وتوثيق المتطلبات بطريقة مناسبة‬، ‫ يجب أن تستنبط هندسة المتطلبات متطلبات أصحاب المصلحة‬، ‫أثناء عملية التطوير‬.‫ وإدارة المتطلبات على مدار دورة حياة النظام بأكملها‬، ‫المتطلبات والتحقق منها‬ Requirements Engineering Requirements engineering is a systematic and disciplined approach to the specification and management of requirements with the following goals: (1.1) Knowing the relevant requirements, achieving a consensus among the stakeholders about these requirements, documenting them according to given standards, and managing them systematically. (1.2) Understanding and documenting the stakeholders’ desires and needs, specifying and managing requirements to minimize the risk of delivering a system that does not meet the stakeholders’ desires and needs. : ‫هندسة المتطلبات هي نهج منظم ومنضبط لمواصفات وإدارة المتطلبات مع األهداف التالية‬ ‫ وإدارتها‬، ‫ وتوثيقها وفقا لمعايير معينة‬، ‫ وتحقيق توافق في اآلراء بين أصحاب المصلحة حول هذه المتطلبات‬، ‫( معرفة المتطلبات ذات الصلة‬1.1) ‫بشكل منهجي‬ ‫ وتحديد وإدارة المتطلبات لتقليل مخاطر تقديم نظام ال يلبي رغبات واحتياجات أصحاب‬، ‫( فهم وتوثيق رغبات واحتياجات أصحاب المصلحة‬1.2) ‫المصلحة‬ bb Four core activities of Requirements Engineering Elicitation: During requirements elicitation, different techniques are used to obtain requirements from stakeholders and other sources and to refine the requirements in greater detail. ‫ يتم استخدام تقنيات مختلفة للحصول على المتطلبات من أصحاب المصلحة والمصادر األخرى ولتحسين‬، ‫أثناء استخالص المتطلبات‬: ‫االستخالص‬.‫المتطلبات بمزيد من التفصيل‬ Documentation: During documentation, the elicited requirements are described adequately. Different techniques are used to document the requirements by using natural language or conceptual models. ‫يتم استخدام تقنيات مختلفة لتوثيق المتطلبات باستخدام اللغة الطبيعية أو النماذج‬. ‫ يتم وصف المتطلبات المستنبطة بشكل كاف‬، ‫أثناء التوثيق‬: ‫التوثيق‬.‫المفاهيمية‬ Validation and negotiation: In order to guarantee that the predefined quality criteria are met, documented requirements must be validated and negotiated early on..‫ يجب التحقق من صحة المتطلبات الموثقة والتفاوض بشأنها في وقت مبكر‬، ‫من أجل ضمان استيفاء معايير الجودة المحددة مسبقا‬: ‫التحقق والتفاوض‬ Management: Requirements management is orthogonal to all other activities and comprises any measures that are necessary to structure requirements, to prepare them so that they can be used by different roles, to maintain consistency after changes, and to ensure their implementation. ‫إدارة المتطلبات متعامدة مع جميع األنشطة األخرى وتشمل أي تدابير ضرورية لهيكلة المتطلبات وإعدادها بحيث يمكن استخدامها من قبل‬: ‫اإلدارة‬.‫أدوار مختلفة والحفاظ على االتساق بعد التغييرات وضمان تنفيذها‬ h 1.1.3 Embedding Requirements Engineering into Process Models Ponderous process models (e.g., the ‫ نموذج الشالل‬، ‫تهدف نماذج العمليات الهائلة (على سبيل المثال‬ Waterfall model [Royce 1987] or the V- ‫إلى‬V-Model [V-Modell 2004]) ‫[أو‬Royce 1987] Model [V-Modell 2004]) aim at completely ‫استنباط وتوثيق جميع المتطلبات بالكامل في مرحلة مبكرة من المشروع قبل‬ eliciting and documenting all requirements ‫اتخاذ أي قرارات تصميم أو تحقيق الهدف من هذه النماذج هو استنباط جميع‬ in an early project phase before any design ‫ يفهم‬، ‫ في نماذج العمليات هذه‬، ‫نتيجة لذلك‬. ‫المتطلبات قبل التطوير الفعلي‬ or realization decisions are made.‫أن هندسة المتطلبات هي مرحلة أولية محدودة ومقيدة زمنيا لتطوير النظام‬ The goal of such models is to elicit all requirements prior to the actual development. As a result, in these process models, requirements engineering is understood to be a finite, time-restricted initial phase of system development. Lightweight process models (e.g., eXtreme eXtreme ‫ برمجة‬، ‫نماذج العمليات خفيفة الوزن (على سبيل المثال‬ Programming [Beck 1999]), on the other hand, ‫ ال تستخلص المتطلبات الضرورية‬، ‫ من ناحية أخرى‬،[Beck 1999]) only elicit necessary requirements once they ‫إال بمجرد افتراض تنفيذها ألن "التنبؤ بوظائف "مستقبلية أمر صعب وتتغير‬ are supposed to be implemented as. ‫المتطلبات على مدار المشروع‬ “foretelling” future functionalities is difficult and ‫ يتم التعامل مع هندسة المتطلبات على أنها عملية‬، ‫في نماذج العمليات هذه‬ requirements change over the course of the.‫مستمرة وشاملة تضم وتدمج جميع مراحل تطوير النظام‬ project. In these process models, requirements engineering is treated as a continuous, comprehensive process that comprises and integrates all phases of system development. 1.3 Characteristics of a Requirements Engineer The requirements engineer as a project role is often at the center of attention.. ‫غالبا ما يكون مهندس المتطلبات كدور للمشروع في مركز االهتمام‬ She is usually the only one who has direct ‫عادة ما تكون هي الوحيدة التي لديها اتصال مباشر مع أصحاب‬ contact with the stakeholders and has both ‫المصلحة ولديها القدرة والمسؤولية على حد سواء لتصبح على دراية‬ the ability and the responsibility to become. ‫قدر اإلمكان بالمجال وفهمه قدر اإلمكان‬ as familiar as possible with the domain and to understand it as well as possible. The requirements engineer is, in a manner of ‫ مترجم يفهم المجال وكذلك‬، ‫ بطريقة التحدث‬، ‫مهندس المتطلبات هو‬ speaking, a translator that understands the ‫لغته الخاصة جيدا بما فيه الكفاية ويمتلك أيضا ما يكفي من المعرفة في‬ domain as well as its particular language ‫مجال تكنولوجيا المعلومات ليكون على دراية بالمشاكل التي يواجهها‬ well enough and also possesses enough IT.‫المطورون وليكون قادرا على التواصل معهم على نفس المستوى‬ know-how to be aware of the problems the developers face and to be able to communicate with them on the same level. Seven necessary capabilities of a requirements engineer Analytic thinking: The requirements engineer ‫يجب أن يكون مهندس المتطلبات قادرا‬: ‫التفكير التحليلي‬ must be able to become familiar with domains ‫على التعرف على المجاالت غير المعروفة له ويجب أن‬ that are unknown to her and must understand.‫يفهم ويحلل المشكالت المعقدة‬ and analyze complicated problems. ‫يواجه مهندس المتطلبات مهمة صعبة تتمثل في‬: ‫التعاطف‬ ‫الشرط‬. ‫تحديد االحتياجات الفعلية ألصحاب المصلحة‬ Empathy: The requirements engineer has the ‫األساسي لتكون قادرا على تحقيق ذلك هو أن يكون لديك‬ challenging task of identifying the actual needs.‫حدس جيد وتعاطف مع الناس‬ of a stakeholder. A core requirement to be able to achieve this is to have good intuition and empathy for people. Communication skills: To elicit the requirements ‫الستنباط المتطلبات من أصحاب المصلحة وتفسيرها‬: ‫مهارات االتصال‬ from stakeholders and to interpret them correctly ‫ يجب أن يتمتع مهندس‬، ‫بشكل صحيح وتوصيلها بطريقة مناسبة‬ and communicate them in a suitable manner, a ، ‫يجب أن تكون قادرة على االستماع‬. ‫المتطلبات بمهارات اتصال جيدة‬ requirements engineer must have good ‫ ومالحظة عندما ال‬، ‫وطرح األسئلة الصحيحة في الوقت المناسب‬ communication skills. ‫ وإجراء مزيد من االستفسارات‬، ‫يحتوي البيان على المعلومات المطلوبة‬.‫عند الضرورة‬ o She must be able to listen, ask the right questions at the right time, notice when a statement does not contain the desired information, and make further inquiries when necessary. Conflict resolution skills: Different opinions of ‫يمكن أن تكون اآلراء المختلفة ألصحاب‬: ‫مهارات حل النزاعات‬ different stakeholders can be the cause of ‫يجب على‬. ‫المصلحة المختلفين سببا للنزاعات أثناء هندسة المتطلبات‬ conflicts during requirements engineering. ‫مهندس المتطلبات تحديد النزاعات والتوسط بين األطراف المعنية‬.‫وتطبيق التقنيات المناسبة لحل النزاع‬ o The requirements engineer must identify conflicts, mediate between the parties involved, and apply techniques suitable to resolving the conflict. Moderation skills: The requirements engineer must be able to mediate between different ‫يجب أن يكون مهندس المتطلبات قادرا على التوسط‬: ‫مهارات اإلشراف‬ opinions and lead discussions. ‫ينطبق هذا على المحادثات الفردية‬. ‫بين اآلراء المختلفة وقيادة المناقشات‬.‫وكذلك المحادثات الجماعية وورش العمل‬ o This holds true for individual conversations as well as group conversations and workshops. Self-confidence: Since the requirements engineer is frequently at the center of ‫نظرا ألن مهندس المتطلبات غالبا ما يكون في مركز االهتمام‬: ‫الثقة بالنفس‬ attention, she occasionally is exposed to ‫ تحتاج إلى مستوى عال من‬، ‫نتيجة لذلك‬. ‫ فإنه يتعرض أحيانا للنقد أيضا‬، criticism as well. As a result, she needs a high ‫الثقة بالنفس والقدرة على الدفاع عن نفسها في حالة ظهور اعتراضات قوية‬. ‫يجب أال تأخذ النقد على محمل شخصي‬. ‫على آرائها‬ level of self-confidence and the ability to defend herself should strong objections to her opinions arise. She should never take criticism personally. ، ‫ في مسألة التحدث‬، ‫ مهندس المتطلبات هو‬، ‫من بين أمور أخرى‬: ‫اإلقناع‬ Persuasiveness: Among other things, the ‫يجب أن تكون قادرة على‬. ‫نوع من المحامي لمتطلبات أصحاب المصلحة‬ requirements engineer is, in a matter of ‫باإلضافة إلى‬. ‫تمثيل المتطلبات في اجتماعات الفريق والعروض التقديمية‬ ‫ وتسهيل اتخاذ قرار في حالة‬، ‫ يجب عليها توحيد اآلراء المختلفة‬، ‫ذلك‬ speaking, a kind of attorney for the.‫ وخلق توافق في اآلراء بين أصحاب المصلحة‬، ‫وجود خالف‬ requirements of the stakeholders. o She must be able to represent the requirements in team meetings and presentations. o In addition, she must consolidate differing opinions, facilitate a decision in case of a disagreement, and create consensus among the stakeholders. 1. Question: What is Requirements Engineering? ‫ما هي هندسة المتطلبات؟‬ 2. Question: Why is documenting requirements Answer: Requirements Engineering is the essential in a development project? process of identifying, documenting, and ‫لماذا يعتبر توثيق المتطلبات ضروريا ً في المشروع التنموي؟‬ managing the requirements of a system in order to ensure the project's success. Answer: Documenting requirements is essential to ensure that the needs of the system are clearly ‫هندسة المتطلبات هي عملية تحديد وتوثيق وإدارة متطلبات النظام لضمان‬ understood and can be met effectively..‫نجاح المشروع‬ ‫يعتبر توثيق المتطلبات ضروريا ً لضمان فهم احتياجات النظام بوضوح‬.‫وتمكين تحقيقها بشكل فعال‬ 3. Question: Define a "requirement" in the context of Requirements Engineering. 4. Question: Who are stakeholders in Requirements ‫ما هو تعريف "المتطلب" في سياق هندسة المتطلبات؟‬ Engineering? Answer: A requirement is a condition or capability needed by a user to solve a ‫من هم أصحاب المصلحة في هندسة المتطلبات؟‬ problem or meet an objective. Answer: Stakeholders are individuals or organizations ‫المتطلب هو شرط أو قدرة يحتاجها المستخدم لحل مشكلة أو تحقيق‬ that influence the requirements of a system..‫هدف‬.‫أصحاب المصلحة هم األفراد أو المنظمات الذين يؤثرون على متطلبات النظام‬ 5. Question: What is the risk of not considering stakeholders in requirements engineering? 6. Question: What is the goal of Requirements Engineering? ‫ما هو الخطر من عدم مراعاة أصحاب المصلحة في هندسة المتطلبات؟‬ ‫ما هو هدف هندسة المتطلبات؟‬ Answer: Ignoring stakeholders may lead to Answer: The goal is to elicit, document, validate, incomplete or fragmentally elicited and manage requirements throughout the requirements. system’s lifecycle. ‫تجاهل أصحاب المصلحة قد يؤدي إلى متطلبات غير مكتملة أو مستنبطة‬ ‫الهدف هو استنباط وتوثيق والتحقق من وإدارة المتطلبات طوال دورة حياة‬.‫بشكل مجزأ‬.‫النظام‬ 7. Question: What does requirements elicitation 8. Question: Why is validation important in involve? Requirements Engineering? ‫ماذا يتضمن استخالص المتطلبات؟‬ ‫لماذا يعتبر التحقق مهما ً في هندسة المتطلبات؟‬ Answer: It involves gathering requirements from Answer: Validation ensures that requirements stakeholders and refining them in detail. meet the predefined quality criteria early in the ‫يتضمن جمع المتطلبات من أصحاب المصلحة وتحسينها بمزيد من‬ process..‫التفاصيل‬ ‫التحقق يضمن أن المتطلبات تلبي معايير الجودة المحددة مسبقا ً في وقت‬.‫مبكر‬ 9. Question: What does requirements management encompass? 10. Question: How do heavyweight process ‫ماذا تشمل إدارة المتطلبات؟‬ models approach Requirements Engineering? Answer: Requirements management includes ‫كيف تتعامل نماذج العمليات الثقيلة مع هندسة المتطلبات؟‬ structuring, preparing, and maintaining Answer: They attempt to document all consistency in requirements. requirements early, before design decisions are.‫تشمل إدارة المتطلبات هيكلة وإعداد والحفاظ على االتساق في المتطلبات‬ made..‫تحاول توثيق جميع المتطلبات مبكرا ً قبل اتخاذ قرارات التصميم‬ 11. Question: What is the focus of lightweight 12. Question: What are the main activities of process models in Requirements Engineering? Requirements Engineering? ‫ما هو تركيز نماذج العمليات الخفيفة في هندسة المتطلبات؟‬ ‫ما هي األنشطة الرئيسية في هندسة المتطلبات؟‬ Answer: Lightweight models focus on eliciting Answer: The main activities are elicitation, only the necessary requirements as the project documentation, validation, and management. progresses..‫ واإلدارة‬،‫ التحقق‬،‫ التوثيق‬،‫األنشطة الرئيسية هي االستخالص‬ ‫تركز النماذج الخفيفة على استخالص المتطلبات الضرورية فقط مع تقدم‬.‫المشروع‬ 13. Question: What is the role of a requirements engineer? 14. Question: Why is analytic thinking important ‫ما هو دور مهندس المتطلبات؟‬ for a requirements engineer? Answer: The requirements engineer identifies ‫لماذا يعتبر التفكير التحليلي مهما ً لمهندس المتطلبات؟‬ and documents stakeholders’ requirements, Answer: Analytic thinking helps the engineer ensuring understanding and agreement. understand and analyze complex problems. ‫ لضمان‬،‫مهندس المتطلبات يقوم بتحديد وتوثيق متطلبات أصحاب المصلحة‬.‫التفكير التحليلي يساعد المهندس على فهم وتحليل المشاكل المعقدة‬.‫الفهم واالتفاق‬ 16. Question: What are effective 15. Question: What is the importance of communication skills necessary for in empathy in Requirements Engineering? Requirements Engineering? ‫ما هي أهمية التعاطف في هندسة المتطلبات؟‬ ‫ما هي ضرورة مهارات التواصل الفعالة في هندسة المتطلبات؟‬ Answer: Empathy helps the engineer understand Answer: Communication skills are necessary for the true needs of stakeholders. eliciting and interpreting requirements.‫التعاطف يساعد المهندس على فهم احتياجات أصحاب المصلحة الحقيقية‬ accurately..‫مهارات التواصل ضرورية الستخالص وتفسير المتطلبات بدقة‬ 17. Question: How does a requirements engineer handle conflict resolution? 18. Question: Why does a requirements engineer ‫كيف يتعامل مهندس المتطلبات مع حل النزاعات؟‬ need self-confidence? Answer: The engineer identifies conflicts and ‫لماذا يحتاج مهندس المتطلبات إلى الثقة بالنفس؟‬ mediates between stakeholders to resolve Answer: Self-confidence helps them handle disagreements. criticism and defend their opinions when ‫يقوم المهندس بتحديد النزاعات والتوسط بين أصحاب المصلحة لحل‬ necessary..‫الخالفات‬.‫تساعد الثقة بالنفس على التعامل مع النقد والدفاع عن آرائهم عند الضرورة‬ 19. Question: What makes a requirements engineer persuasive? 20. Question: What is the role of a requirements ‫ما الذي يجعل مهندس المتطلبات مقنعاً؟‬ engineer as a “translator”? Answer: Persuasiveness helps them represent ‫ما هو دور مهندس المتطلبات كـ "مترجم"؟‬ and consolidate stakeholders’ requirements. Answer: They translate the technical and domain.‫تساعد القدرة على اإلقناع في تمثيل وتوحيد متطلبات أصحاب المصلحة‬ knowledge for stakeholders and developers alike. ‫يترجم المعرفة التقنية والمعرفة المتعلقة بالمجال ألصحاب المصلحة‬.‫والمطورين على حد سواء‬ Techniques to elicit Requirements Bridging the gap between end user and : ‫سد الفجوة بين المستخدم النهائي والمطور‬ developer: o Interviews / JAD ‫جاد‬/ ‫مقابالت‬ ‫طرح قائمة باألسئلة المحددة مسبقا على المستخدم النهائي‬: ‫االستبيانات‬ o Questionnaires: Asking the end user a list of pre- ‫مراقبة المستخدمين النهائيين في بيئتهم التشغيلية‬: ‫تحليل المهام‬ selected questions ‫وصف استخدام النظام كسلسلة من التفاعالت بين المستخدم‬: ‫السيناريوهات‬ ‫النهائي الملموس والنظام‬ o Task Analysis: Observing end users in their. ‫التجريدات التي تصف فئة من السيناريوهات‬: ‫حاالت االستخدام‬ operational environment o Scenarios: Describe the use of the system as a series of interactions between a concrete end user and the system o Use cases: Abstractions that describe a class of scenarios. Ask stakeholders the following questions: :‫اسأل أصحاب المصلحة األسئلة التالية‬ o What are the primary tasks that the system needs to perform? ‫ما هي المهام األساسية التي يحتاج النظام إلى القيام بها؟‬ ‫ما هي البيانات التي سيقوم الممثل بإنشائها أو تخزينها أو تغييرها أو إزالتها‬ o What data will the actor create, store, change, ‫أو إضافتها في النظام؟‬ remove or add in the system? ‫ما هي التغييرات الخارجية التي يحتاج النظام إلى معرفتها؟‬ ‫ما هي التغييرات أو األحداث التي سيحتاج ممثل النظام إلى إبالغه بها؟‬ o What external changes does the system need to know about? o What changes or events will the actor of the system need to be informed about? Requirements Elicitation: Difficulties and Challenges Communicate accurately about the domain and the system ‫التواصل بدقة حول المجال والنظام‬ o People with different backgrounds must ‫يجب على األشخاص ذوي الخلفيات المختلفة التعاون لسد الفجوة بين‬ collaborate to bridge the gap between ‫المستخدمين النهائيين والمطورين‬ end users and developers ▪ Client and end users have application ‫العميل والمستخدمون النهائيون لديهم معرفة بمجال التطبيق‬ domain knowledge ▪ Developers have solution domain ‫المطورين لديهم معرفة مجال الحل‬ knowledge ▪ “Most of the Bugs in software are due to ‫"معظم األخطاء في البرامج ناتجة عن متطلبات وظيفية غير مكتملة‬ incomplete or inaccurate functional "‫أو غير دقيقة؟‬ requirements?” Requirement Engineering activities Requirement Analysis ‫تحليل المتطلبات‬ Prioritizing requirements ‫تحديد أولويات‬ ‫المتطلبات التحقق من صحة المتطلبات‬ Requirements Validation ‫إدارة المتطلبات‬ Requirements Management Prioritizing requirements High priority ‫أولوية عالية‬ o A high-priority feature must be demonstrated ‫يجب إظهار ميزة ذات أولوية عالية‬ Medium priority ‫أولوية متوسطة‬ ‫عادة ما يظهر في التكرار الثاني‬ o Usually demonstrated in the second iteration ‫أولوية منخفضة‬ Low priority Requirements Validation Requirements validation is a quality assurance step, usually performed after requirements elicitation or after analysis ‫ وعادة ما يتم إجراؤها بعد استنباط المتطلبات أو بعد التحليل‬، ‫التحقق من صحة المتطلبات هو خطوة لضمان الجودة‬ Involves the stakeholders ‫يتضمن المعنيين‬ o The process of checking that the :‫عملية التحقق من أن المتطلبات التي تم جمعها تمتلك الصفات التالية‬ collected requirements poses the following qualities: :‫الصحة‬ ‫تمثل المتطلبات وجهة نظر العميل‬ Correctness: o The requirements represent the client’s view :‫الشمولية‬ ‫تم وصف جميع السيناريوهات الممكنة التي يمكن استخدام النظام فيها‬ Completeness: o All possible scenarios, in which the system can be used, are described :‫االتساق‬.‫ال توجد متطلبات تتعارض مع بعضها البعض‬ Consistency: o There are no requirements that contradict each other. Clarity: o Requirements can only be interpreted in one way :‫الوضوح‬ ‫يمكن تفسير المتطلبات بطريقة واحدة فقط‬ Realism: :‫الواقعية‬ o Requirements can be implemented ‫يمكن تنفيذ المتطلبات وتسليمها‬ and delivered :‫القابلية للتتبع‬ ‫يمكن تتبع كل سلوك للنظام إلى مجموعة من المتطلبات الوظيفية‬ Traceability: :‫المشكالت المتعلقة بالتحقق من المتطلبات‬ ‫تتغير المتطلبات بسرعة أثناء جمع المتطلبات‬ o Each system behavior can be traced ‫تضاف التناقضات بسهولة مع كل تغيير‬ to a set of functional requirements !‫نحتاج إلى دعم من األدوات‬ o Problems with requirements validation: o Requirements change quickly during requirements elicitation o Inconsistencies are easily added with each change o Tool support is needed! Requirements Management The process of managing change in the ‫عملية إدارة التغيير في المتطلبات‬ requirements ‫تحدث خالل دورة حياة تطوير البرمجيات بأكملها‬ Happens during the whole SDLC : ‫إجراءات لضمان إدارة المتطلبات الجيدة‬ Actions to ensure good requirements. ‫تخزين المتطلبات في مستودع مشترك‬- management:. ‫توفير وصول متعدد المستخدمين إلى المتطلبات‬- 1.Store the requirements in a shared repository.. ‫إنشاء وثيقة مواصفات تلقائيًا من المتطلبات‬- 2. Provide multi-user access to the requirements.. ‫السماح بإدارة التغيير للمتطلبات‬- 3. Automatically create a specification document from.‫توفير قابلية تتبع المتطلبات عبر جميع مكونات النظام‬- the requirements. 4. Allow change management of the requirements. 5. Provide traceability of the requirements throughout the artifacts of the system. Types of Requirements Functional requirements ‫المتطلبات الوظيفية‬ o Describe user tasks that the system needs ‫تصف مهام المستخدم التي يحتاج النظام لدعمها‬ to support ‫تصف التفاعالت بين النظام وبيئته بشكل مستقل عن التنفيذ‬ o Describe the interactions between the."‫قادرا على تعريف لعبة جديدة‬ ً ‫" يجب أن يكون المشغل‬ system and its environment independent from implementation ‫المتطلبات غير الوظيفية‬ ‫تصف خصائص النظام (الجودة) أو المجال‬ “An operator should be able to define a ‫الجوانب المرئية للمستخدم في النظام التي ال ترتبط مباشرة بالسلوك‬ ‫الوظيفي‬ new game. “."‫ ثانية‬1 ‫" يجب أن يكون وقت االستجابة أقل من‬ Nonfunctional requirements."‫ ساعة في اليوم‬24 ‫" يجب أن يكون الخادم متا ًحا‬ o Describe properties of the system (Quality) :)"‫القيود ("المتطلبات الزائفة‬ or the domain ‫مفروضة من العميل أو البيئة التي يعمل فيها النظام‬ o User visible aspects of the system not."‫" يجب أن تكون لغة التنفيذ جافا‬ directly related to functional behavior. ‫ التفاعل ديناميكيًا مع األلعاب‬ARENA ‫" يجب أن يكون بإمكان‬."‫الموجودة التي يقدمها مطورون آخرون‬ “The response time must be less than 1 second” “The server must be available 24 hours a day” Constraints (“Pseudo requirements”): o Imposed by the client or the environment in which the system operates “The implementation language must be Java” “ARENA must be able to dynamically interface to existing games provided by other game developers” Types of Nonfunctional Requirements Quality requirements Constraints or Pseudo requirements Usability Robustness Implementation Reliability Safety Interface Response time Scalability Operation Performance Throughput Licensing (GPL, Packaging LGPL) Availability Legal Certification Adaptability Supportability Maintainability Regulation ‫متطلبات الجودة‬ ‫القيود أو المتطلبات الزائفة‬ ‫ القابلية لالستخدام‬ ‫ التنفيذ‬ ‫ االعتمادية‬ ‫ الواجهة‬ ‫ األداء‬ ‫ التشغيل‬ ‫ وقت االستجابة‬o ‫ التعبئة‬ ‫ القابلية للتوسع‬o ‫ القانونية‬ ‫ القدرة على المعالجة‬o LGPL) ، (GPL‫ الترخيص‬o ‫ التوفر‬o ‫ الشهادة‬o ‫ القابلية للتكيف‬ ‫ التنظيم‬o ‫ قابلية الصيانة‬ ‫ الدعم‬ o A lot of details o Un organized information ‫الكثير من التفاصيل‬ o Relations between information and ‫معلومات غير منظمة‬ requirements are not clear ‫العالقات بين المعلومات والمتطلبات غير واضحة‬ ‫الحاجة إلى تنظيم وتصنيف المعلومات‬ Need to organize and classify information Requirement Analysis ‫تقنية للتعامل مع التعقيد‬ Technique to deal with Complexity ‫التحلل‬ Decomposition ‫التسلسل الهرمي‬ Hierarchy ‫التجريد‬- ‫النمذجة‬ Modelling - Abstraction Decomposition & Methodology Functional ‫تفكيك و المنهجية‬ The system is decomposed into modules ‫وظيفي‬ Each module is a major function in the application domain ‫يتم تفكيك النظام إلى وحدات‬ ‫كل وحدة هي وظيفة رئيسية في مجال التطبيق‬ o Example Data Flow Diagram ‫ مخطط تدفق البيانات‬:‫مثال‬ ‫التحليل والتصميم الهيكلي‬ Structured Analysis & Design Object-oriented The system is decomposed into ‫موضوعي‬ classes (“objects”) )"‫يتم تفكيك النظام إلى فئات ("كائنات‬ ‫تحليل وتصميم موجه للكائنات‬ Object-oriented Analysis & Design Methodologies: :‫المنهجيات‬ Collection of techniques applied ‫مجموعة من التقنيات المطبقة عبر تطوير البرمجيات وموحدة من‬ ‫خالل نهج فلسفي‬ across software development and unified by a philosophical approach Hierarchy ‫التسلسل الهرمي‬ provide relationships between parts/ objects ‫الكائنات‬/ ‫توفير العالقات بين األجزاء‬ Modelling Constructing an abstraction of a system that focuses on interesting ‫النمذجه‬ aspects and ignores irrelevant ‫بناء تجريد لنظام يركز على الجوانب المثيرة لالهتمام ويتجاهل التفاصيل‬ ‫غير ذات الصلة‬ details Notation ‫تدوين‬ A notation is a set of graphical or textual ‫التدوين هو مجموعة من القواعد الرسومية أو النصية لتصوير‬ ‫النماذج وطرق العرض‬ rules for depicting models and views UML (Unified Modeling Language) UML (‫)لغة النمذجة الموحدة‬ o Nonproprietary standard for modeling ‫معيار غير مملوك لنمذجة أنظمة البرمجيات‬ software systems (OMG)‫مجموعة إدارة الكائنات‬ o Object Management Group (OMG) Types of Models Functional model: What are the ‫ما هي وظائف النظام؟‬: ‫النموذج الوظيفي‬ functions of the system? ‫ما هي هيكلية النظام؟‬: ‫نموذج الكائنات‬ ‫كيف يتفاعل النظام مع األحداث الخارجية؟‬: ‫النموذج الديناميكي‬ Object model: What is the structure ‫ النموذج‬+ ‫ النموذج الوظيفي‬+ ‫نموذج الكائنات‬: ‫نموذج النظام‬ of the system?.‫الديناميكي‬.‫نماذج أخرى تستخدم لوصف تطوير نظام البرمجيات‬ Dynamic model: How does the :‫نموذج المهام‬ system react to external events? ‫ ما هي التبعيات بين المهام؟‬PERT: ‫مخطط‬ ‫كيف يمكن تحقيق ذلك ضمن الحدود الزمنية؟‬: ‫الجدول الزمني‬ System Model: Object model + ‫ما هي األدوار في المنظمة؟‬: ‫مخطط التنظيم‬ functional model + dynamic model Other models used to describe Software System Development Task Model: PERT Chart: What are the dependencies between tasks? Schedule: How can this be done within the time limit? Organization Chart: What are the roles in the organization? Requirements identification Requirements elicitation: :‫استنباط المتطلبات‬.)"‫تعريف النظام بمصطلحات يفهمها العميل ("مواصفات المتطلبات‬ o Definition of the system in terms understood by the :‫التحليل‬ customer (“Requirements ‫ "نموذج‬،‫تعريف النظام بمصطلحات يفهمها المطور (المواصفات الفنية‬ specification”).)"‫التحليل‬ Analysis: o Definition of the system in :‫تحديد المتطلبات يتكون من نشاطين‬ terms understood by the.‫استنباط المتطلبات والتحليل‬ ‫يتميز تحديد الكائنات وتعريف حدود النظام بارتباط وثيق مع بعضهما‬ developer (Technical.‫البعض‬ specification, “Analysis model”) Requirements identification consists of two activities: o Requirements elicitation and Analysis o The identification of objects and the definition of the system boundary are heavily intertwined with each other. 1. Question: What is the main goal of requirement elicitation? 2. Question: What is the purpose of using ‫ما هو الهدف الرئيسي من استنباط المتطلبات؟‬ interviews in requirement elicitation? Answer: The main goal is to bridge the gap ‫ما هو الغرض من استخدام المقابالت في استنباط المتطلبات؟‬ between the end user and the developer. Answer: Interviews are used to gather detailed ‫الهدف الرئيسي هو سد الفجوة بين المستخدم النهائي والمطور‬ information from end users and stakeholders. ‫تُستخدم المقابالت لجمع معلومات مفصلة من المستخدمين النهائيين وأصحاب‬ 3. Question: How does a questionnaire help in ‫المصلحة‬ requirement elicitation? ‫كيف تساعد االستبيانات في استنباط المتطلبات؟‬ 4. Question: What is task analysis? Answer: Questionnaires help by allowing the end user to answer a list of pre-selected ‫ما هو تحليل المهام؟‬ questions, which provides structured input. Answer: Task analysis involves observing end users in ‫تساعد االستبيانات من خالل تمكين المستخدم النهائي من اإلجابة عن‬ their operational environment to understand their.‫ مما يوفر مدخالت منظمة‬،‫قائمة أسئلة محددة مسبقًا‬ tasks..‫يتضمن تحليل المهام مراقبة المستخدمين النهائيين في بيئتهم التشغيلية لفهم مهامهم‬ 5. Question: Why are scenarios used in requirement elicitation? 6. Question: What are use cases? ‫ما هي حاالت االستخدام؟‬ ‫لماذا يتم استخدام السيناريوهات في استنباط المتطلبات؟‬ Answer: Use cases are abstractions that Answer: Scenarios describe how a system is describe a series of scenarios or interactions with used by showing interactions between a user the system. and the system. ‫حاالت االستخدام هي تجريدات تصف سلسلة من السيناريوهات أو‬ ‫تصف السيناريوهات كيفية استخدام النظام من خالل عرض التفاعالت‬.‫التفاعالت مع النظام‬.‫بين المستخدم والنظام‬ 7. Question: Why is it essential to validate 8. Question: What is meant by consistency in requirements? requirements? ‫لماذا من الضروري التحقق من صحة المتطلبات؟‬ ‫ماذا يعني التناسق في المتطلبات؟‬ Answer: Validation ensures that requirements Answer: Consistency means that there are no are complete, correct, consistent, and contradictory requirements. achievable..‫يعني التناسق عدم وجود متطلبات متناقضة‬ ‫يضمن التحقق من صحة المتطلبات أنها كاملة وصحيحة ومتسقة وقابلة‬.‫للتحقيق‬ 10. Question: What are functional requirements? ‫ما هي المتطلبات الوظيفية؟‬ 9. Question: How does requirement prioritization Answer: Functional requirements describe the help in development? tasks the system should perform. ‫كيف يساعد تحديد أولويات المتطلبات في التطوير؟‬ ‫تصف المتطلبات الوظيفية المهام التي يجب أن يقوم بها النظام‬ Answer: It helps by ensuring high-priority features are addressed first in development..‫يساعد في ضمان معالجة الميزات ذات األولوية العالية أوالً في التطوير‬ 12. Question: What is a constraint in requirements? 11. Question: What are nonfunctional ‫ما هو القيد في المتطلبات؟‬ requirements? Answer: A constraint is a condition imposed by ‫ما هي المتطلبات غير الوظيفية؟‬ the client or the system’s environment. Answer: Nonfunctional requirements define ‫القيد هو شرط يفرضه العميل أو بيئة النظام‬ system properties, like performance and availability. ‫تحدد المتطلبات غير الوظيفية خصائص النظام مثل األداء والتوافر‬ 13. Question: What is requirement analysis? ‫ما هو تحليل المتطلبات؟‬ 14. Question: Why is traceability important in Answer: Requirement analysis involves defining requirements? the system in technical terms for developers. ‫لماذا تعتبر إمكانية التتبع مهمة في المتطلبات؟‬.‫يتضمن تحليل المتطلبات تعريف النظام بمصطلحات تقنية للمطورين‬ Answer: Traceability ensures each system behavior can be linked back to specific 15. Question: What is the purpose of requirements. requirements management?.‫تضمن إمكانية التتبع أن كل سلوك في النظام يمكن ربطه بمتطلبات محددة‬ ‫ما هو الغرض من إدارة المتطلبات؟‬ Answer: Requirements management deals with managing changes in requirements throughout 16. Question: What does decomposition mean the SDLC. in requirement analysis? ‫تتعامل إدارة المتطلبات مع إدارة التغييرات في المتطلبات طوال دورة حياة‬ ‫ماذا يعني التفكيك في تحليل المتطلبات؟‬.‫تطوير النظام‬ Answer: Decomposition is breaking down the system into smaller modules..‫التفكيك يعني تقسيم النظام إلى وحدات أصغر‬ 17. Question: What is a UML model used for? ‫ ؟‬UML‫ما هو الغرض من استخدام نموذج‬ Answer: UML is used as a standard for modeling 18. Question: What are the main types of models software systems to show structure, behavior, in system development? and interactions. ‫ما هي األنواع الرئيسية للنماذج في تطوير األنظمة؟‬ Answer: The main types are functional, object, ‫ كمعيار لنمذجة أنظمة البرمجيات لعرض البنية والسلوك‬UML ‫يُستخدم‬.‫والتفاعالت‬ dynamic, and system models. ،‫ النماذج الديناميكية‬،‫ نماذج الكائنات‬،‫األنواع الرئيسية هي النماذج الوظيفية‬.‫ونماذج النظام‬ 19. Question: What is the function of a PERT chart? ‫ ؟‬PERT‫ما هي وظيفة مخطط‬ Answer: A PERT chart shows the dependencies 20. Question: Why is clarity important in between tasks in a project. requirements? ‫لماذا تعتبر الوضوح مه ًما في المتطلبات؟‬.‫ التبعيات بين المهام في المشروع‬PERT ‫يظهر مخطط‬ Answer: Clarity ensures that requirements are interpreted consistently and correctly. 21. Question: What are some challenges in.‫يضمن الوضوح أن المتطلبات يتم تفسيرها بشكل متسق وصحيح‬ requirements elicitation? ‫ما هي بعض التحديات في استنباط المتطلبات؟‬ 22. Question: Why is tool support necessary in Answer: Challenges include communication requirements validation? issues, different domain knowledge, and frequent ‫لماذا يُعتبر دعم األدوات ضروريًا في التحقق من المتطلبات؟‬ changes in requirements. Answer: Tool support helps manage changes and ‫ والتغيرات‬،‫ اختالف المعرفة بالمجاالت‬،‫التحديات تشمل مشاكل االتصال‬ detect inconsistencies in requirements efficiently..‫المتكررة في المتطلبات‬ ‫دعم األدوات يساعد في إدارة التغييرات واكتشاف التناقضات في المتطلبات‬.‫بكفاءة‬ 23. Question: What is the role of stakeholders in 24. Question: What does completeness mean in requirements validation? requirements validation? ‫ما هو دور أصحاب المصلحة في التحقق من المتطلبات؟‬ ‫ماذا يعني االكتمال في التحقق من المتطلبات؟‬ Answer: Stakeholders review requirements to Answer: Completeness ensures that all scenarios ensure they meet the needs and expectations of for system usage are covered in the requirements. the users..‫االكتمال يضمن أن جميع السيناريوهات الستخدام النظام مغطاة في المتطلبات‬ ‫يقوم أصحاب المصلحة بمراجعة المتطلبات لضمان تلبيتها الحتياجات وتوقعات‬.‫المستخدمين‬ 25. Question: What are pseudo requirements, and how do they differ from other 26. Question: What is a dynamic model, and why requirements? ‫ما هي المتطلبات الزائفة وكيف تختلف عن المتطلبات األخرى؟‬ is it important? ‫ما هو النموذج الديناميكي ولماذا هو مهم؟‬ Answer: Pseudo requirements are constraints Answer: A dynamic model shows how the system imposed by external factors, like the client’s reacts to external events, helping in environment, unlike functional or nonfunctional understanding its behavior over time. requirements. ‫ مما‬،‫يظهر النموذج الديناميكي كيف يتفاعل النظام مع األحداث الخارجية‬ ،‫المتطلبات الزائفة هي قيود تفرضها عوامل خارجية مثل بيئة العميل‬.‫يساعد في فهم سلوكه بمرور الوقت‬.‫وتختلف عن المتطلبات الوظيفية أو غير الوظيفية‬ 27. Question: How does an organization chart 28. Question: What is the purpose of modeling in help in requirements management? requirements analysis? ‫كيف يساعد مخطط التنظيم في إدارة المتطلبات؟‬ ‫لما هو الغرض من النمذجة في تحليل المتطلبات؟‬ Answer: It clarifies the roles and responsibilities Answer: Modeling helps create an abstraction of within the team, improving communication and the system, focusing on key elements and ignoring accountability. irrelevant details. ‫ مما يحسن االتصال‬،‫يوضح مخطط التنظيم األدوار والمسؤوليات داخل الفريق‬ ‫تساعد النمذجة في إنشاء تجريد للنظام يركز على العناصر الرئيسية ويتجاهل‬ ‫والمساءلة‬.‫التفاصيل غير المهمة‬ 30. Question: How does decomposition help in 29. Question: What is traceability in the context of dealing with system complexity? requirements? ‫كيف يساعد التفكيك في التعامل مع تعقيد النظام؟‬ ‫ما هو التتبع في سياق المتطلبات؟‬ Answer: Decomposition divides the system into Answer: Traceability means each system function manageable parts, making it easier to understand can be linked back to a specific requirement. and develop..‫التتبع يعني أن كل وظيفة في النظام يمكن ربطها بمتطلب معين‬.‫ مما يسهل فهمه وتطويره‬،‫يُقسم التفكيك النظام إلى أجزاء قابلة لإلدارة‬ 31. Question: What is an analysis model? ‫ما هو نموذج التحليل؟‬ Answer: An analysis model defines the system from 32. Question: Why is realism important in a technical perspective, understandable by requirements validation? developers. ‫لماذا تعتبر الواقعية مهمة في التحقق من المتطلبات؟‬.‫يعرف النظام من منظور تقني يمكن فهمه من قبل المطورين‬ ّ ‫نموذج التحليل‬ Answer: Realism ensures that the requirements are feasible and can be implemented within the

Use Quizgecko on...
Browser
Browser