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

اسلاید 1 :

بسمه تعالي
معرفي اصول شي گرائي براي مقابله با پيچيدگي نرم افزار
 

اسلاید 2 :

اهداف جلسه
آشنائي با اصول شي گرائي
درك نقش اصول شي گرائي در كنترل پيچيدگي
سيستم هاي نرم افزاري
درك مزاياي مدل شي و كاربردهاي آن

اسلاید 3 :

فهرست مطالب
مقدمه
روشهاي طراحي
تجريد (Abstraction)
محصورسازي (Encapsulation)
واحدبندي (Modularity)
سلسه مراتب (Hierarchy)
مزاياي مدل شي و كاربردهاي آن

اسلاید 4 :

نرم افزار در روزهاي اوليه
هزينه اساسي طراحي مربوط به سخت افزار بود
نقش نرم افزار، نقش ثانويه تلقي ميشد (Afterthought)
بيشتر نرم افزارها بوسيله يك نفر توليد و توسعه ميشدند
فرآيند طراحي غالباً در ذهن برنامه نويس انجام ميشد
زبان رايج: زبان ماشين سپس اسمبلي ابداع شد
قابليت سخت افزار بسيار محدود بود
برنامه ها كوچك و ساده بودند
مستندسازي چنداني مورد نياز نبود

اسلاید 5 :

نرم افزار در عصر حاضر
هزينه اساسي طراحي مربوط به نرم افزار است
نقش نرما فزار، نقشي بسيار اساسي است
بيشتر نرم افزارها بوسيله تيم هاي چند نفره توليد و توسعه ميشوند
فرآيند طراحي به صورت صريح و در خارج از ذهن برنامه نويس انجام ميشود
زبانهاي رايج: زبانهاي سطح بالا، ساخت يافته، و شي گرا

اسلاید 6 :

نرم افزار در عصر حاضر (ادامه)
سخت افزارها سريعتر، ارزانتر و قابل اطمينانتر شدند
اقتصادي شدن فرآيند خودكار سازي بسياري از كاربردهاي صنعتي و تجاري
تقاضا براي نرمافزارهاي پيچيده تر
درك اهميت مستندسازي سيستمها
احساس نياز به روشهاي تحليل و طراحي

اسلاید 7 :

روشهاي طراحي
طراحي ساخت يافته (Structured Design)
طراحي مبتني بر دادهها (Data-Driven Design)
طراحي شي گرائي(Object-Oriented Design)

اسلاید 8 :

اصول شي گرايي
شي گرائي
محصورسازي
تجريد
سلسله مراتب
واحد بندي

اسلاید 9 :

تجريد (Abstraction)
فرآيند تمركز روي ويژگيها و رفتارهاي اصلي يك پديده و ناديده گرفتن ويژگيهاي موقت و غيرمهم آن پديده، از يك زاويه ديد مشخص

اسلاید 10 :

تجريد (ادامه)
[Booch2007]
تمركز روي ويژگيها و رفتارهاي اصلي يك پديده

اسلاید 11 :

تجريد (ادامه)
مثالهايي از تجريد

اسلاید 12 :

تجريد (ادامه)
نقش تجريد در كنترل پيچيدگي
يكي از ابزارهاي اصلي كنترل و تسلط بر پيچيدگي

اسلاید 13 :

انواع تجريد
تجريد موجوديت
Real Object: Student
Abstraction: Student
تجريد رفتار

اسلاید 14 :

انواع تجريد (ادامه)
تجريد مجازي


تجريد تصادفي
پروتكل TCP/IP
Pool of Service
File Service
Web
Service
E-Mail
Service
Client 1
Client 2
Client 3
Client 4

اسلاید 15 :

ويژگي هاي تجريد
براي يك شي تجريدهاي گوناگوني وجود دارد
تجريد با نمود خارجي يك شي سر وكار دارد
تجريد سطوحي دارد (ميزان پرداختن به جزئيات)
همه تجريدها داراي ويژگيهاي ساكن و پويا هستند
در شيگرائي مفهوم تجريد خود را در قالب نوع داده مجرد (Abstract Data Type) نشان ميدهد

اسلاید 16 :

محصورسازي (Encapsulation)
عبارت از عدم پذيرش تاثيرات ناخواسته (Side Effects) و يا كنترل نشده و محدود كردن طرق دسترسي به/ استفاده از يك شي
با توجه به اين اصل، هر شي از دو مولفه زير تشكيل ميگردد
1- واسط(Interface): توصيفي از سرويسهايي كه اين شي در اختيار Clientها قرار ميدهد
2- ساختار داخلي: دادهها + اعمال روي دادهها

اسلاید 17 :

محصورسازي (ادامه)
واسط

اسلاید 18 :

نقش محصورسازي در كنترل پيچيدگي
كنترل و تسلط بر پيچيدگي بوسيله كنترل راههاي دسترسي به يك شي كه باعث جلوگيري از خرابكاري هاي احتمالي و محلي كردن گستره خطاها در خود شي
ثبات واسط، امکان اعمال تغيير در پيادهسازي شي را فراهم ميکند
مفهوم يك واسط، چند پياده سازي امكان استفاده مجدد را بالا ميبرد

اسلاید 19 :

محصورسازي – قاعده باز و بسته
قاعده باز و بسته
هر ماژولي براي تعريف كننده آن باز و براي استفاده كننده بسته است
ماژول باز: ماژولي كه براي اعمال تغييرات آماده باشد
ماژول بسته: ماژولي كه امكان تغييرات در آن وجود ندارد
ما به ماژولهايي نياز داريم كه
همزمان باز و بسته باشند

اسلاید 20 :

محصورسازي - ويژگيها
ارتباط بين اشياء تنها از راه واسطها باشد
تجريد مكانيزم تعيين جزئياتي است كه بايد پنهان شود، است، اما محصورسازي، فرآيند پنهان سازي جزئيات و كنترل دسترسي به آن خواهد بود.
محصورسازي يك مفهوم نسبي است

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