1 / 19

فصل نهم: تحليل خواسته‌ها (جلسه10)

فصل نهم: تحليل خواسته‌ها (جلسه10). مهندسي خواسته‌ها: شامل تحصيل خواسته‌ها و سپس تحليل خواسته‌ها - اولين قدم در جهت ساخت نرم‌افزار ( يا ارائه‌ي راه حل براي مسئله‌ي DP ) - تعيين و مستند كردن خواسته‌هاي كاربر براي سيستم آينده - مشكل اصلي وجود فاصله‌ي فرهنگي بين استفاده‌ كننده و ايجاد كننده

abiola
Download Presentation

فصل نهم: تحليل خواسته‌ها (جلسه10)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. فصل نهم: تحليل خواسته‌ها (جلسه10) • مهندسي خواسته‌ها: شامل تحصيل خواسته‌ها و سپس تحليل خواسته‌ها - اولين قدم در جهت ساخت نرم‌افزار ( يا ارائه‌ي راه حل براي مسئله‌ي DP) - تعيين و مستند كردن خواسته‌هاي كاربر براي سيستم آينده - مشكل اصلي وجود فاصله‌ي فرهنگي بين استفاده‌ كننده و ايجاد كننده • خواسته‌هاي عملياتي: نحوه‌ي انجام فعاليت‌هاي سيستم • خواسته‌هاي غيرعملياتي: عملكرد، قابليت اعتماد، نحوه‌ي مستند‌سازي، آموزش، هزينه • تشخيص WHAT و نه HOW (نام‌گذاري specification به‌صورت ناقص) • محصول اين مرحله: مشخصه‌ي خواسته‌ها (Req Spec) يا گزارش مهندسي خواسته‌ها - تدوين در قالب formal، غير formal يا تلفيقي، لزوم قابل فهم بودن توسط كاربر - تفاهم بين كاربر و ايجاد كننده روي مسئله - مبناي قرارداد رسمي و ملاك تحويل سيستم در خاتمه‌ي پروژه - مبناي انجام مرحله‌ي بعدي يعني طراحي سيستم مهندسي نرم‌افزار محمد داورپناه جزي

  2. تحليل خواسته‌ها (دنباله) • خصوصيات مرحله‌ي طراحي (شرح كامل در فصل بعدي) در مقايسه با مرحله‌ي مهندسي خواسته‌ها - مبناي انجام طراحي مشخصه‌ي خواسته‌ها يا گزارش مهندسي خواسته‌ها - طراحي مقدماتي برمبناي RS و سپس طراحي تفصيلي برمبناي گزارش طراحي مقدماتي - امكان تغيير خواسته‌ها دراثر فعاليت‌هاي اين مرحله - عدم وجود مرز بين دو مرحله - formality بيشتر در مستندات در مقايسه با RS - استفاده از روش‌هايي چون SADT و DFD مهندسي نرم‌افزار محمد داورپناه جزي

  3. تحليل خواسته‌ها - ارائه‌ي يك مثال • مثال سيستم دستي كتابخانه‌ي دانشگاه - كشو‌هاي حاوي كارت كاتالوگ، يك كارت براي هر كتاب حاوي مشخصات آن - ترتيب معمولاً روي نام نويسنده، مشكل در صورت عدم اطلاع از نام نويسنده - امكان ساخت چند كاتالوگ، پرهزينه و خطاپرور • راه حل: ساخت نرم‌افزار كتابخانه - DB حاوي مشخصات كتاب‌ها با امكان وجود انواع ترتيب - برنامه‌ها و UIهاي كاربرپسند از طريق ترمينال‌هاي موجود در سطح دانشگاه • بعضي خواسته‌هاي سيستم فوق - ايجاد، حذف و اصلاح ركورد‌هاي كتاب‌ها و اعضا - ليست كتاب‌هاي يك نويسنده‌ي خاص - ليست كتاب‌هايي حاوي كلمه‌ي خاصي در عنوان آن‌ها - ليست كتاب‌هاي در مورد يك موضوع خاص - ليست كتاب‌هاي رسيده بعد از يك تاريخ خاص مهندسي نرم‌افزار محمد داورپناه جزي

  4. تحليل خواسته‌ها (دنباله) • ملاحظات در تعريف خواسته‌ها - مشكل كاربر در تبيين خواسته‌هايش، احتمال تاكيد روي خواسته‌هاي غيرحياتي (مورد آخر) - لزوم اولويت بندي خواسته‌ها از حياتي تا لوكس - تبيين خواسته‌هاي غير‌حياتي براي آينده ولي درنظر گرفتن آثار‌ آن در سيستم فعلي • نمونه‌ي خواسته‌هاي غير حياتي در سيستم كتابخانه - ليست كتاب‌هاي سفارش داده‌ شده و واصل نشده - اطلاعات كتاب‌هاي داراي ديركرد براي ارسال اخطار • بحث بالا خواسته‌هاي عملياتي (FR)، حالا خواسته‌هاي غيرعملياتي (NFR) 1- نوع كامپيوتر، نوع OS، نوع DBMS، تعداد و نوع ترمينال، . . . 2- طبقه‌بندي كاربران، دسته‌بندي عمليات سيبستم، محدوديت‌ها و مجوز‌هاي كاربران (مثال) 3- حجم DB و درصد رشد آن (كتابخانه‌ي دانشگاه در مقابل كتابخانه‌ي كنگره يا منچستر) 4- زمان پاسخ در مقايسه با رجوع به قفسه، تعداد سوال‌هاي قابل انتظار در واحد زمان 5- هزينه‌هاي سيستم شامل: ساخت، تبديل داده‌ها، آموزش و ساير هزينه‌هاي پنهان مهندسي نرم‌افزار محمد داورپناه جزي

  5. تحليل خواسته‌ها - ساير ملاحظات • درنظر گرفتن محيط حاوي سيستم و رابطه‌ي سيستم با آن، لزوم توجه به جنبه‌هاي غير تكنيكي علاوه بر جنبه‌هاي تكنيكي - آثار غيرمنتظره در سازمان مثل تغيير وظايف افراد و بيكار شدن بعضي كاركنان - ارتباط با ساير سيستم‌ها مثل ارتباط مكانيزم جريمه‌ي ديركرد با امور مالي - شكست خيلي از پروژه‌ها به دليل عدم توجه به اين جنبه‌ها • توجه به امكان‌پذيري راه حل ارائه ‌شده براي ساخت سيستم - امكان‌پذيري فني، قابل حصول بودن عملكرد درخواستي از سخت‌افزار و نرم‌افزار - امكان‌پذيري تامين داده‌ها، وجود زمان كافي (معمولا طولاني) براي تبديل و رساندن داده‌ها - كاربرد تحليل‌هاي آماري براي فركانس درخواست‌ها، زمان CPU لازم، تعداد I/O، . . . - مثلاً CPU مناسب براي حصول زمان پاسخ 2 ثانيه در 80% موارد - امكان نياز به دو برابر قدرت پردازشي براي حصول 85% - عدم وجود امكانات فني براي حصول 95% (مثال تاريخچه‌ي DMC) - وجود پروژه‌هاي شكست خورده‌ي زياد به دليل عدم امكان‌پذيري فني (تحريم اقتصادي) مهندسي نرم‌افزار محمد داورپناه جزي

  6. تحليل خواسته‌ها - ساير ملاحظات (دنباله) • توجه به امكان‌پذيري (دنباله) - امكان‌پذيري اقتصادي، هزينه در مقابل در‌آمد، نقطه‌ي سر به سر سرمايه - پيش‌بيني تقريبي هزينه‌ها در آغاز، دقيق‌تر شدن اعداد و ارقام با پيشرفت پروژه - مشكل بودن برآورد كمي بعضي منافع، معدل موجودي پايين‌تر و درصد موجود بودن بالاتر در سيستم انبار، ارائه‌ي سرويس بهتر به اعضاي كتابخانه (مشكل‌تر از قبلي) • روند مطالب بعدي - تحليل خواسته‌ها در يك سيستم ايزوله بدون توجه به محيط حاوي آن - ادامه‌ي كار با تحليل خواسته‌ها با توجه به سازمان حاوي سيستم - احتساب مواردي چون شرايط مرزي و ارتباط با ساير سيستم‌ها - توجه روي محصول مورد تحويل (WHAT) و نه روند ساخت آن (برنامه‌ي پروژه، ف 2) - مفهوم UoD و لزوم آشنايي كافي ايجادكننده از طريق كاربران متخصص - احتمال مواجهه با جنگ قدرت و خواسته‌هاي متضاد، نياز به شركت در ساخت UOD جديد - روند مستند‌سازي و V & V در اين مرحله مهندسي نرم‌افزار محمد داورپناه جزي

  7. 9-1 مشخصه‌ي خواسته‌ها • محصول مرحله‌ي مهندسي خواسته‌ها - مبناي ايجاد ارتباط بين طرفين پروژه و اعضاي هر طرف - استفاده از انواع رسانه‌ها (متن، صوت، تصوير، گرافيك، . . . ) براي افراد مختلف - لزوم وجود خلاصه‌سازي در سطوح مختلف براي مديريت هر طبقه • خصوصيات لازم در مشخصه‌ي خواسته‌ها - سليس و روان و دقيق بودن و قابليت فهم (مستندات فرمال در مقابل متن و گرافيك) - عدم وجود ابهام (توجه به مبهم بودن زبان‌هاي طبيعي) - كامل بودن، احتساب موضوعات عملياتي، عملكردي، محدوديتي، . . . ؛ عكس‌العمل در مقابل ورودي‌هاي غلط (علاوه بر درست)، اجتناب از “بعداً معلوم مي‌شود” يا تعيين زمان آن - سازگاري، عدم وجود خواسته‌هاي متضاد چه از نظر منطقي و چه از نظر زماني - قابليت تغيير، در اثر تغييرات جهان واقع، سهولت اصلاح مستندات، اجتناب از افزونگي - قابليت رديابي، امكان رديابي ساير مستندات به خواسته‌ي مربوطه (شماره‌گذاري درست) - قابليت استفاده، عدم حفظ ضمني داده‌ها و امكان استفاده از RS در زمان كار سيستم مهندسي نرم‌افزار محمد داورپناه جزي

  8. مشخصه‌ي خواسته‌ها (استاندارد IEEE) • استاندارد 830 ANSI/IEEE ش9-1 ص145، شرح در آپانديس E - ارائه‌ي يك ساختار و قالب كلي (عدم پيشرفت كافي در مرز‌هاي دانش) - امكان تغيير مفاهيم و ترتيب موارد ارائه شده براي پروژه‌هاي مختلف - تناسب بيشتر با روش كلاسيك تحليل خواسته‌ها (آبشاري) - افزودن عناوين مناسب براي استفاده در ساير روش‌ها - مثلاً افزودن اولويت‌ها براي نمونه‌سازي، شروع با يك هسته‌ي اوليه، افزودن موارد جديد - وابستگي مورد 3 (خواسته‌هاي خاص) به موضوع پروژه، نمونه در ش 9-2 ص 146 • ساير ملاحظات در مشخصه‌ي خواسته‌ها - ساخت سيستم درست‌تر برمبناي مشخصه‌ي دقيق‌تر - توجه به عدم پيوستگي، بازنويسي 95% كد در يك سيستم براي حصول خواسته‌هاي واقعي - سيستم كتابخانه، اسپل اسامي غير لاتين، فصل مشترك كاربران(اعضا و كاركنان)، شناسه‌ي ISBN و نسخه‌هاي متعدد، بولي نبودن حالت كتاب (درقفسه، امانت، درصحافي، . . .) - تاثير درجه‌ي آشنايي ايجادكننده با UoD مهندسي نرم‌افزار محمد داورپناه جزي

  9. تكليف دوم - مهلت يك هفته • هدف‌ها • هدف 1: آشنايي با نحوه‌ي تدوين مشخصه‌ي خواسته‌ها • هدف 2: انجام يك كارآموزي براي تدوين گزارش مرحله‌ي دوم پروژه • موارد تكليف: • بررسي متن ارائه شده در ش 9-3 ص 148 • ترجمه‌ي كامل متن به فارسي و اطمينان از فهم مطالب • پر كردن جاهاي خالي در بخش سوم گزارش به صورت منطقي بر مبناي دانش شما از سيستم كتابخانه • اهميت تميزي و خوانايي جواب مهندسي نرم‌افزار محمد داورپناه جزي

  10. 9-2 انسان‌ها به عنوان منابع اطلاعات • مفهوم تئوريك RS: ش 9-4، يك محصول قابل تعريف به‌طور صريح و مشخص • RS در واقعيت: اغلب مسئله‌اي غيرقابل تعريف به صورت واضح و روشن و حالت فازي • هدف RA: استخراج حدود و محتويات مسئله با شرايط بالا (conceptual modeling) - مدلسازي UoD به عنوان بخشي از جهان واقع (مثال . . . ) - ايجاد يك مدل مفهومي صريح (ECM) قابل فهم براي طرفين - مدل مزبور حاوي اطلاعات مرتبط و عاري از اطلاعات غيرمرتبط (abstraction يا تجريد) - ذهن افراد درگير در UoD حاوي مدل مفهومي غير صريح، نياز به انتقال آن به مدل صريح - عدم انتقال كامل، حاوي عادات، مهارت‌ها، تعصب‌ها و تناقض‌ها • مسئله‌ي تحليل: عدم انتقال و تدوين كامل، نياز به گذشت زمان، فاصله‌ي فرهنگي • مسئله‌ي سازش: مقابله‌ي كاربران با امر تحليل، تفاوت در مدل ذهني افراد، درگيري كاربران با مديران مهندسي نرم‌افزار محمد داورپناه جزي

  11. انسان‌ها به عنوان منابع اطلاعات (دنباله) • جزئيات مسئله‌هاي فوق - لزوم انتقال دانش UoD بين دو فرهنگ مختلف، لزوم آگاهي ايجاد كننده - پراكندگي دانش UoD در ذهن‌هاي مختلف، مسئله‌ي هماهنگي و يكپارچه‌سازي - بديهي فرض شدن بعضي خواسته‌ها (مثل اسپل اسامي غير لاتين در سيستم كتابخانه) - كامل فرض شدن خواسته‌ها توسط ايجاد كننده (وجود نتايج خطرناك) - سيستم دفاع موشكي آمريكا و اشتباه گرفتن ماه با موشك! - محدوديت در قابليت‌هاي انسان‌ها و تشديد آن در اثر مواردي چون - پيچيدگي و تنوع خوسته‌هاي قابل اعمال در نرم‌افزار - تفاوت پيشينه‌ي فرهنگي بين كاربر و ايجاد كننده - موضوع حافظه‌‌هاي كوتاه و بلند مدت و حافظه‌ي خارجي در انسان‌ها (موضوع 2±5) - نقص در خواسته‌هاي مستخرج از فقط حافظه‌ي كوتاه مدت - باقي ماندن خواسته‌هاي مربوط به وقايع اخير در ذهن انسان‌ها مهندسي نرم‌افزار محمد داورپناه جزي

  12. انسان‌ها به عنوان منابع اطلاعات (دنباله) • جزئيات مسئله‌هاي فوق (دنباله) - درخواست اتوماسيون به دليل نارضايتي از وضعيت فعلي، ولي ريشه‌ي مسئله سازماني - ظهور خواسته‌هاي جديد پس از اتوماسيون وضع فعلي، بار زياد در نگهداري - اميد به اخذ خواسته‌هاي كامل و نياز به پيش‌بيني همه‌ي خواسته‌هاي آينده (غير ممكن!) - نياز به روش‌ها و ابزار مناسب براي اجتناب از مسائل فوق، نياز به تجربه در هر دو طرف • چهار استراتژي ديويس در اخذ اطلاعات لازم (انتخاب درست بسيار مهم) 1- پرسش در قالب مصاحبه، پرسشنامه يا brainstorming (مشكلات هر يك) 2- مطالعه‌ي يك سيستم مشابه و تبيين اصلاحات لازم 3- تركيب مشخصات محيط، بررسي عمليات، استاندارد‌ها و تصميم‌ها در محيط 4- نمونه سازي (مشكل ولي ممكن)، شروع از يك هسته‌ي اصلي و توسعه‌ي آن (سناريو‌ها) - اهميت فوق‌العاده‌ي انتخاب استراتژي درست - اجتناب از خوش‌بيني بيش از حد مهندسي نرم‌افزار محمد داورپناه جزي

  13. انسان‌ها به عنوان منابع اطلاعات (دنباله) • ملاحظات در انتخاب استراتژي - هر استراتژي براي شرايط خاص، اطمينان پايين در 1 و اطمينان بالا در 4 - مصاحبه: مسئله تفهيم شده، ايجاد كننده مجرب، محيط تثبيت شده - نمونه‌سازي: مسئله نامفهوم، ايجاد كننده مبتدي، محيط در حال تغيير - داستان مزرعه‌‌ي مكانيزه، چيپ در گوش گاو‌ها، بعد خوك‌ها و سپس بز‌ها! - فرض تيلوري بودن روش‌هاي ساخت نرم‌افزار، تيلور و اصول مديريت علمي اوايل قرن قبل - تجزيه‌ي سلسله مرتبي هر كار، وجود يك بهترين راه حل براي هر كار نهايي (نياز به يافتن) - ديد تيلوري: تحصيل خواسته‌ها و انجام ادامه‌ي كار بدون نياز به كاربر!، ديد فقط تكنيكي - ديد جديد: مناسب و بهترين نبودن ديد فوق، احتساب روابط انساني علاوه بر جنبه‌هاي فني - ديد م د ج: آموزش روش مناسب و ساده به كاربران، بيان خوسته‌ها در قالب ساختيافته، درنظر گرفتن جنبه‌هاي انساني و سازماني، مشاركت كاربران در ساخت مشخصه‌ي خواسته‌ • سند RS: شرح دقيق قابليت‌هاي سيستم براي كاربر، مبناي طراحي براي ايجادكننده - مشكل ايجاد RS براي دو فرهنگ، متني براي كاربران، گرافيكي و فرمال براي ايجاد كنندگان - باتوجه به تحقيقات، زبان كاربر بهترين مبنا براي تدوين RS مهندسي نرم‌افزار محمد داورپناه جزي

  14. 9-3 ابزار‌هاي مستندسازي خواسته‌ها • معايب زبان طبيعي از ديد مِي‌ير 1- وجود نويز يا اجزاي خالي از اطلاعات، افزونگي يا تكرار يك مطلب به شكل‌هاي متفاوت، جملات معكوس مثل “ليست كتاب‌هاي توسط يك نويسنده” بدون توجه به خالي بودن آن 2- مسكوت گذاشتن بعضي مطالب مثل عدم توجه به “وجود دو نويسنده در مواردي” 3- مشخصه‌ي بيش از حد، توضيح راه حل به‌جاي مسئله، مثل “اعلام نوع ترتيب كتاب‌ها” 4- تضاد در زمان شرح مكرر يك موضوع در جا‌هاي مختلف متن 5- ابهام و دوپهلو بودن در بعضي عبارات، اصطلاحات زمينه‌اي (مثال فايل و كتاب) 6- ارجاع‌هاي به مطالب بعدي به دليل عدم وجود ساختار درست (ناساختيافتگي زبان طبيعي) 7- تفكرات رويايي منجر به عدم امكان يا پيچيدگي در يافت راه حل قابل اعمال • روش‌هاي قابل استفاده - راه حل مي‌ير: ايجاد يك مدل فرمال و سپس ترجمه به زبان طبيعي، زمان‌بر و مشكل اصلاح - عدم وجود روش‌هاي مناسب، تاكيد روش‌ها روي مراحل بعدي با مبناي ساخت نرم‌افزار - جوان بودن زمينه‌ي RE در دنيا، برنامه‌نويسي --› طراحي --› تحليل --› مهندسي خواسته‌ها - راه حل م د ج: ايجاد مدل ساختيافته گرافيكي و متني توسط كاربر، روش و چارچوب مناسب مهندسي نرم‌افزار محمد داورپناه جزي

  15. 9-3-1 ابزار‌ SADT • روش SADT شامل SA براي تحليل و DT براي طراحي - حاوي زبان گرافيكي به‌اضافه‌ي متن و توصيه‌هايي براي نحوه‌ي مصاحبه و بازبيني - استفاده از حدود 40 جزء گرافيكي براي بيان مفاهيم مختلف، نمونه در ش 9-5 ص 158 - ايده‌اي مشابه نقشه‌هاي ساختمان و راديو، كاربرد هر جزء در جاي خودش - ساخت شرح فعاليت‌هاي سيستم يا functional architecture در مرحله‌ي تحليل به صورت سلسله‌مراتبي و واحدمند - ساخت system architecture بر مبناي FA در مرحله‌ي طراحي • ساختار سلسله‌مراتبي بالا به پايين - قالب كلي در ش 9-6 ص 160 - مدل‌سازي از ديد‌هاي مختلف (مثل ساختمان)، ديد عمل‌ها (كاربرد بيشتر)، ديد داده‌ها، . . . - ش9-7 ص160 يك عمل، ورودي از چپ، خروجي از راست، محدوديت از بالا، وسيله از زير - دياگرام سطح بالا حاوي ارتباطات سيستم با محيط - ش 9-8 ص 161، سه طبقه از بخشي از مدل كتابخانه‌ي مكانيزه (مسئله‌ي فهم كاربران) مهندسي نرم‌افزار محمد داورپناه جزي

  16. 9-3-2 ابزار‌ PSL/PSA • دو بخش اصلي از پروژه‌ي ISDOS - Problem Statement Language براي تعريف عمليات سيستم (شرح مسئله)، what - Problem Statement Analyzer براي تحليل مسئله‌ي نوشته شده در PSL - PSL يك زبان متني با ساختار‌هاي كافي - مثال ش 9-9 ص 163 بخشي از كتابخانه، شامل شي‌ها (موجوديت‌ها، داده‌ها و عمل‌ها) و رابطه‌هاي بين آن‌ها (is-a, part-of, consist-of) - حاوي16نوع شي و66 نوع رابطه براي تبيين همه‌ي جنبه‌هاي سيستم - بروز مشكل در سيستم‌هاي بزرگ (قابليت فهم براي كاربران؟) - ذخيره‌ي PSL در يك DB و امكان پرس و جو - گزارشات مفصل مثلاً ليست اصلاحات، اشيا، صفات و روابط يك شي -گزارشات خلاصه مثل سلسله‌مراتب سيستم - گزارشات تحليلي مثل جا‌هاي خالي و شي‌هاي مازاد - قدرت اين روش در PSA، ذخيره و تحليل مشخصه‌ي خواسته‌ها، جزء AWB (ف15) مهندسي نرم‌افزار محمد داورپناه جزي

  17. 9-3-3 روش تحليل برمبناي زبان Ada • توسط DoD، جزء محيط پشتيبان براي همه‌ي مراحل ساخت (ف12) - لزوم حصول 12 خصوصيت براي استفاده از اين محيط (ص 164 و 165) - روش ARM حالت خاصي از آن با چهار مرحله: 1- DFD براي خواسته‌هاي عملياتي 2- تشريح خواسته‌هاي غير عملياتي 3- بيان خواسته‌هاي مربوط به همزماني 4- تدوين همه ي خواسته‌ها در RS مهندسي نرم‌افزار محمد داورپناه جزي

  18. 9-4 V & V در مرحله‌ي مهندسي خواسته‌ها • V & V براي اطمينان از درستي نتيجه و درستي كار - بستگي به نحوه‌ي بيان خواسته‌ها - بازرسي و بازبيني براي اطمينان از لحاظ كردن همه‌ي جنبه‌هاي مورد نطر - درنظر گرفتن كامل بودن، درستي، سازگاري، دقت، خوانايي، قابليت آزمون - در نظر گرفتن ارتباط با محيط (سخت‌افزار، نرم‌افزار و انسان) - يك روش: بازسازي سناريو‌ها با شركت كاربران واقعي - اجتناب از موارد فازي: سيتم انعطاف‌پذير، كاربرپسند، سريع، . . .، همه غير قابل آزمون - تدوين برنامه‌ي آزمون براي آزمون سيستم در پايان، شامل اجزا و خصوصيات قابل آزمون، مراحل آزمون، افراد درگير - برنامه‌ي آزمون سيستم و آزمون تحويل - سهولت كار درصورت وجود امكانات اتوماتيك مانند PSA - شرح كامل در ف 13، ترم آينده انشاله . . . مهندسي نرم‌افزار محمد داورپناه جزي

  19. روش مورد استفاده در پروژه - روندنما‌هاي رويداد مهندسي نرم‌افزار محمد داورپناه جزي

More Related