بخشی از پاورپوینت

اسلاید 1 :

بسمه تعالي
روشهاي شناسائي و يافتن كلاسها
فصل چهارم

اسلاید 2 :

اهداف جلسه
درك اهميت طبقهبندي در OOAD
آشنائي با روشهاي يافتن كلاسها
درك تفاوت بين روشهاي مبتني بر داده و مبتني بر وظيفه
آشنائي با مدلسازي بوسيله كارتهاي CRC
آشنائي با لايهبندي و نقش آن
آشنائي با مقولهبندي و نقش آن
كارتهاي CRC و مقولهبندي

اسلاید 3 :

فهرست مطالب
طبقهبندي (Classification)
روشهاي مبتني بر داده (Data-Driven)
روشهاي مبتني بر وظيفه (Responsibility-Driven)
روشهاي شناسائي كلاسهاي اوليه
روشCRC
لايهبندي (Layering)
مقولهبندي (Stereotyping)

اسلاید 4 :

طبقهبندي (Classification)
طبقهبندي ابزاري است كه بوسيله آن دانش خود را مرتب مينماييم
مسئله طبقهبندي در همه رشتههاي علوم محض، كاربردي و مهندسي مطرح است

اسلاید 5 :

طبقهبندي - ويژگيها
1) هر طبقهبندي با توجه به معياري(معيارهايي) انجام ميگيرد
معيارهاي متفاوت منجر به طبقهبنديهاي مختلف خواهد شد
2) طبقهبندي ايدهآل (يعني بهترين طبقهبندي بدون توجه به شرايط موجود) وجود ندارد!
3) فرآيند طبقهبندي يك فرآيند افزايشي و تكراري

اسلاید 6 :

ويژگيهاي طبقهبندي در OOAD
1) كلاسهايي بايد انتخاب شوند كه با توجه به معيارها و محدوديتهاي موجود (اقتصادي، تكنولوژي و .) سازگار باشند
2) نبايد دنبال راهحل طلائي بلكه بايد بدنبال راهحل مناسبتر باشيم!

اسلاید 7 :

ويژگيهاي طبقهبندي در OOAD (ادامه)
3) طبيعت افزايشي و تكراري فرآيند طبقهبندي به صورت زير خود را نشان مي دهد:

اسلاید 8 :

منابع تشخيص کلاسها
دو منبع اصلي براي تشخيص كلاسها
فضاي مسئله (Problem Space)
فضاي راهحل (Solution Space)
مدل تحليل توصيف فضاي مسئله
مدل طراحي مفصل توصيف فضاي راهحل

اسلاید 9 :

فرآيند شناسايي کلاسها
فرآيند شناسائي كلاسها شامل دو فعاليت
اكتشاف (Discovery) و ابداع (Invention) است
اكتشاف كلاسهاي موجود
ابداع كلاسهايي براي پيادهسازي كلاسهاي موجود
مثال: ساختمان دادهها (ليست، آرايه، درخت،.)، ارتباط با پايگاه دادهها، كلاسهاي كنترلي و هماهنگ كننده، .

اسلاید 10 :

يافتن كلاسها
رهيافتها
1) روشهاي مبتني بر داده (Data Driven Approach)
2) روشهاي مبتني بر رفتار (Responsibility Driven Approach)
اولويت با دادهها
اولويت با وظايف

اسلاید 11 :

روشهاي مبتني بر داده
در اين روشها مبناي شناسائي كلاسهاي مناسب سيستم، شناسائي ساختار دادههاي مورد نياز هر كلاس است
فرآيند تعيين كلاسها با پرسيدن دو سوال صورت ميگيرد
1-   ساختار هر كلاس چيست؟
2-   چه عملياتي بوسيله هر كلاس انجام مي گيرد؟
مزيت
سهولت يادگيري مخصوصاً براي كساني كه پيش زمينهاي در روشهاي ساختيافته و طراحي مبتني بر دادهها را دارند

اسلاید 12 :

روشهاي مبتني بر داده (ادامه)
گام 1: دادههاي مورد نياز را تعيين كنيد
گام 2: عمليات مورد نياز بر اساس ساختار دادههاي پيشنهادي را معين كنيد
روشهاي مبتني بر داده
سرويسهاي كلاس به ساختار داخلي آن وابسته خواهند بود
سرويسگيرندگان به ساختار داخلي كلاس وابسته خواهند شد

اسلاید 13 :

روشهاي مبتني بر وظيفه
در اين روشها مبناي شناسائي كلاسهاي مناسب سيستم، شناسائي مسئوليتهاي (Responsibilities) مورد نياز هر كلاس است
فرآيند تعيين كلاسها با پرسيدن دو سوال صورت ميگيرد
1-  هر كلاس چه مسئوليتي دارد؟ (چه عملياتي بوسيله اين كلاس انجام ميگيرد؟)
2- اين شي، چه اطلاعاتي با بقيه اشياء به اشتراك ميگذارد؟

اسلاید 14 :

روشهاي مبتني بر وظيفه (ادامه)
سرويسهاي كلاس به ساختار داخلي آن وابسته نخواهند بود
سرويس گيرندگان، مستقل از ساختار داخلي كلاس خواهند شد

اسلاید 15 :

روشهاي مبتني بر وظيفه (ادامه)
نگاه اصلي اين روش به هر كلاس عبارت از موجوديتي است كه در هر آن ميتواند نقش سرويسدهنده يا نقش سرويس گيرنده را ايفا نمايد
هر كلاس در نقش سرويسدهنده ميتواند فراهمكننده خدمات براي 3 نوع سرويسگيرنده باشد
1-  سرويسگيرندگان خارجي (External Clients)
2- سرويسگيرندگان مشتق شده (Derived Clients)
3- خود كلاس (Self Client)

اسلاید 16 :

روشهاي مبتني بر وظيفه (ادامه)
مزيت
بزرگترين مزيت اين روش به حداكثر رساندن محصورسازي در سطح طراحي است كه باعث افزايش قابليت نگهداري و انعطافپذيري سيستم نسبت به تغييرات آتي خواهد گرديد

اسلاید 17 :

روشهاي شناسائي كلاسهاي اوليه
1) طبقهبنديهاي پيشنهاد شده بوسيله متدولوژيهايOO
2) تحليل دامنه (Domain Analysis)
3) تحليل موارد كاربري (Use Case Analysis)
4) تحليل لغوي صورت مساله (Problem Statement Analysis)
5) استفاده از الگوها (Patterns)
6) كارتهاي CRC

اسلاید 18 :

طبقهبنديهاي پيشنهاد شده.
منابع بالقوه زير براي شناسائي كلاسها پيشنهاد ميشوند
1) دستگاهها(Devices): دستگاههايي كه برنامه با آنها تعامل دارد
2) نقشها: نقشهاي گوناگون كه كاربر در تعامل با سيستم ايفا مينمايد
3) محلهاي فيزيكي (مانند دفاتر، سايتها،.) كه براي سيستم مهم هستند
4) سازمانها: مجموعههاي سازماندهي شده (مردم، منابع، ابزار، .) كه داراي ماموريتهاي مشخصند

اسلاید 19 :

طبقهبنديهاي پيشنهاد شده.
5) مفاهيم منطقي: اصول و ايدههاي منطقي كه در منطق كاري سازمان بكار گرفته ميشوند
6) ساختار: همان روابط IS-A و PART-OF
7)  ديگر سيستمها: سيستمهاي خارجي كه برنامه با آنها تعامل دارد

اسلاید 20 :

تحليل دامنه (Domain Analysis)
عبارتست از شناسائي كلاسها و اشياء مشترك در همه برنامههاي كاربردي (Applications) متعلق به يك دامنه مشخص (مانند كامپايلرها، سيستمهاي اطلاعاتي جغرافيايي، .)
در اين روش، با ديدن سيستمهاي مرتبط و اسناد آنها و با صحبت با كارشناسان خبره در زمينه سيستم مورد نظر ميتوان كلاسهاي كليدي يك سيستم را حدس زد

در متن اصلی پاورپوینت به هم ریختگی وجود ندارد. برای مطالعه بیشتر پاورپوینت آن را خریداری کنید