صفحه 1:
سای املاعات
w/b
http://www.Beiki.info
صفحه 2:
LLU. ARS HR
مر«
fume Object Oriented
متد شيء گرايي
مزاياي شيء كرابي
تفاوت متد شيء كرا با روش ساختيافته جيست؟
تعريف موجوديت (شيي) +ع » زط 0
مشخصه هاي اطلاعاتي و رفتار (عمليات . روش )
طبقه بندي موجوديت ها
ارتباط موجودیت ها
اصول شي كرابي
۰ نهان سازي ) (Encapsulation
(Inheritance ) ci\,5 0
(Polymorphism) چندریختی 0
چرخه زندگي توسعه شيي گرا (0۳۱6۳۲6۵ 1ععزما0
(Development Life Cycle
)سس
صفحه 3:
لل دم
Somme UML ¥
۲ نمودارهای ۱۱1
9 نمودارهاي درخواست سیستم (۳0189۲3۲5 6256 عولا)
(Class Diagrams) (6 6 Jogi
نمودارهاي 1,5,. (Sequence Diagrams)
نمودارهای همکاری (01۵9۲۵۲05 ۵0ناه۲هطوااهع)
نمودارهای انتقال حالت ) (State Transition Diagrams
نمودارهاي فعالیت (مدل سازي 9 (Activity Diagrams ) (.225)o
نمودار اجزاء (Component Diagram)
(Deployment Diagram ) 5! ,i4) logos ©
6۵ 6 6 © © ©
7 مقایسه نمودارهاي متدولوژي هاي شيي گرا و ساخت یافته
7 توانائي هاي UML
۶ مثال وان سا
صفحه 4:
دوم
Oriented e 1 پچیست
شيي گرايي لغتي است که امروزه در صنعت نرم افزار باب شده
است . شركتهاي نرم افزاري با درك کامل از مزاياي فراوان
Object Oriented سعي مي کنند آن را در برنامه هاي
خود وارد نموده و نرم افزارهاي خود را با اين روش تولید نمایند. در
واقع امروزه بیشتر برنامه ها با شی گرایی توسعه می یابند. اما شي
كرابى به جه معناست ؟ 0 ١ ١
0 مثلم كاج 0ا). سسدمس]/ :ما
صفحه 5:
دوم
۲ متد شیء گرایی
0 متد شی گرایی يك راه متفاوت مشاهده برنامه هاست.
© با متد شی گرایی شما يك برنامه را به قطعات بسیار کوچك که
دراصطلاح آبجکت ( 0۵1۵|66 ) نامیده مي شوند تقسیم مي
۰ آبجکت ها در يك برنامه كامپيوتري شبیه بلوكها در يك
ساختمان مي باشند. همانطور که از کنار هم قرار گرفتن بلوکها
و ارتباط آنها با یکدیگر . ساختمان شکل مي گیرد . يك برنامه
كامپيوتري که با روش شي گرا ایجاد شده است نیز از آبجکت
هابي كه كنار هم قرار گرفته و با يكديكر ارتباط دارند تشکیل
مي شود.
nw. Deiki.icPo
صفحه 6:
دوم
” مزاياي شيء كرابي
© براي ساخت يك برنامه كامبيوتري مي بايست ابتدا آبجكت ها را
بسازيم و سيس آنها را در كنار هم قرار دهيم. به محض اينكه
تعدادی آبجكت اساسى را در دنياي كامييوتر ساختيد مى توانيد به
آسانی آنها را کنار هم بگذارید تا برنامه هاي جدید را ایجاد نمایید.
٩ يكي از ت اساسي متد شي كراب است که مي توانید يك
بار أجزا را ساخته و بارها و بارها از آنها استفاده كنيد. . مي توانيد از
يك قطعه طرح يا كد شي كرابي كه در يك سيستم حسابداري
ساخته ايد در سیستم هاي حسابداري که در آینده خواهید ساخ
و حتي در ساير سيستم ها استفاده كنيد.
مثلم كاج 0ا). سسدمس]/ :ما
صفحه 7:
دوم
” نفاوت متد شيء كرا با روش ساختيافته جيست؟
9 در روش سنتي ۰
*ما از کاربران مي پرسیم که چه اطلاعاتي را نیاز دارند؟
* پایگاه داده اي را طراحي مي کنیم که اطلاعات را نگهداري کند.
؟صفحاتی را طراحي مي کنیم که اطلاعات را بگیرد.
* گزارشاتي را چاپ مي کنیم تا اطلاعات را براي کاربر نمایش دهد.
٩ بعبارت دیگر ما بر روي اطلاعات متمرکز مي شویم و کمتر
توجه مي كنيم كه جه كاري با اين اطلاعات انجام مي شود با
رفتار سیستم چگونه است.
© اين روش 6۳۲16 grime) Data بر داده ) نامیده مي
شود.
3 مكو هاه 3ا). سس |
صفحه 8:
دوم
” نفاوت متد شيء كرا با روش ساختيافته جيست؟
٩ مدلسازي داده اي مخصوص طراحي پایگاه داده و گرفتن
اطلاعات خيلي مهم مي باشد اما انتخاب این روش در زمان
طراحي برنامه هاي تجاري با مشكلاتي همراه است.
0 يك چالش بزرك اين است که درخواستهاي سیستم چندین
بار تغيير خواهند كرد. با متد شي كرابي هم بر اطلاعات و هم
بر رفتار متمرکز مي شویم . در نتيجه با این روش مي توانیم
سیستم هایی را ایجاد نمايیم که انعطاف پذیر شده اند تا
اطلاعات و با رفتار را تغییر دهند.
۱ 0
صفحه 9:
دوم
” تعريف موجوديت )48( Object
© بطور خلاصه مي توان كفت كه يك برنامه نرم افزاري تشكيل
شده از مجموعه اي از اطلاعات و رفتارها.
© بك برنامه نرم افزارى كه با روش شى كرا ايجاد شده است
مجموعه اى است از آبجكت ها. "
© از دو جمله بالا مى توان نتيجه كرفت كه :
* مجموعه آبجكت ها - مجموعه اطلاعات و رفتارها (عمليات يا
پردازش)
© بنابراین يك آبجکت را مي توان به صورت زیر تعریف کرد :
#*هر آبجکت قطعه اي از برنامه است که مقداري اطلاعات و مقداري
رفتار را در خود ذخیره کرده است. ۱ ۲
nw. Deiki.icPo
صفحه 10:
لل دم
” تعريف موجودیت )44( Object
٩ موجودیت چیزی است که دارای :
*رفتار (عملیات با پردازش)
*؟حالت
*و مشخ
مي باشد
[Grady Booch, 1991)
.هه مثلم كاج 0ا). سسدمس]/ :ما
صفحه 11:
دوم
¥ مشخصه هاي اطلاعاتي و رفتار (عمليات . روش )
۰ رفتار يك كلاس موجودیت : شامل عملیات و روشهائي است که
موجودیت ها با همدیگر ارتباط متقابل برقرار مي کنند.
۰ مشخصه هاي اطلالاعاتي: بیانگر داده ها و اطلالاعاتی است که هر يك از
موجودیت هاي کلاس موجودپت دارند ۱
نام کلاس موجودیت
add order
modify order
فتا. اديت delete order
share J) display status
سنا Beli. ete. ‘a
صفحه 12:
۲ طبقه بندي موجودیت ها
© يستكي به سطح بررسي و جنبه ديد كاهي تحليلكر دارد
i 2
3 وكام كاك ).سمب |/ :جا
صفحه 13:
دوم
” طبقه بندي موجوديت ها
© موجوديت هاي با ساختار داده اي مشابه ( Attribute (9 )265 9
عملیات مشابه ) Operation )در بك كلاس كروهبندي مي شوند.
Bobs eho « تا
صفحه 14:
۲ ارتباط موجودیت ها
٩ موجودیت ها بوسیله ارسال پیام با همدیگر ار تباط برقرار مي کنند و هر
پيامي که از سوي موجودیت مشتري ( 61619 ) به موجودیت سرویس
دهنده ( 6۲ 56۲۷) ارسال مي شود يكي از متدها (رفتارها) فعال مي
شود.
0
Order ۵906
coe oP request behavior واكاك ادوص ) .
urd uircbue terkd by ORDER) ‘eo
سس هت ما
Bir.
order wicker add order وليك
0 modify order
delete order
display status
etc. 9 مثلم كاج 0ا). سسدمس]/ :ما
صفحه 15:
دوم
” اصول شي كرابي
0 متد شي كرابي داراي 3اصل است وهر محيط با زبان برنامه
نويسي که قادر به تامين هر 3 اصل باشد بعنوان د يك زبان كاملا
شي گرا شناخته مي شود.
*نهان سازى ) (Encapsulation
*ورائت ) (Inheritance
* جندريختي ) (Polymorphism
6 )سس
صفحه 16:
دوم
” اصول شي كرابي
© نهان سازی ( ۷۱۵11010 ۴۳۱6۵۳05)
"در سيستم هاي شي كرا اطلاعات و رفتارها را در يك آبجكت بسته
بندي مي كنيم. ابن امر بعنوان نهان سازي شناخته مي شود. اينكه
جه اطلاعات و رفتارهابي را در يك آبجكت قرار دهيم بسيار حائز
اهميت است. در اين مورد تحليلكران سيستم بايستي با تيزبيني
آبجکت ها را شناسايي و اطلاعات و رفتارهاي هرکدام را مشخص
نمایند.
*يك اصل كلي را در تقسیم بندي آبجکت ها باید در نظر گرفت :
بايستي تغییرات آتي نيازهاي سیستم را پیش بيني نمود و مشخص
بر روي کدام رفتارهاي سیستم تأثیر خواهد
اه آن رفتارها را در يك آبجکت قرار دهیم.
6ه ۱
صفحه 17:
دوم
” اصول شي كرابي
۰ نهان (Encapsulation ) sj
۴در هر صورت در يك برنامه شي گرا که بصورت جداگانه توسط دو
گروه ساخته مي شود ممکن است آبجکت هاي متفا تي چه از Bi
تعداد و چه از نظر اطلاعات و رفتا ارهاي کپسوله شده در آنها ساخته
شود.
*اگرچه آبجکت ها بصورت مستقل از هم ساخته مي شوند اما آنها
مجبور به برقراري رابطه با هم خواهند بود. هر آبجکت براي بروز
رفتارهاي خود ممکن است به اطلاعات آبجکت هاي دیگر نیازداشته
باشد. این اطلاعات معمولا توسط آبجكتي که رفتار این آبجکت را
فراخواني مي کند به آن ارسال مي شود.
و ۱
صفحه 18:
دوم
” اصول شي كرابي
۰ نهان سازي ) (Encapsulation
نت يك حساب بانكي را بعنوان آبجكتي از يك سیستم بانكي در نظر ب
8 يك حساب بانكي شامل اطلاعاتي همجون شماره حساب . تراز جاري .نام صاحب
حساب و مشخصات او . نوع حساب . نرخ بهره و غیره مي باشد.
؟ همچنین رفتارهايي چون باز کردن حساب . بستن حساب . واریز پول به حساب ۰
برداشت از حساب . تغییر نوع حساب وغیره را خواهد داشت.
* در نتیجه همه تغبیرات سیستم بانكي که مربوط به حسابها مي باشد مي
آساني در آبجکت حساب انجام شوند و زماني که در آینده لازم باشد
اطلاعات با رفتارهاي حسابها انجام شود این تغییرات فقط آبجکت حساب را تحت
تاثیر قرار خواهندداد و نيازي نیست تا همه جاي سیستم را زیرو رو کنیم و هركجا
نشانه اي از حساب دیدیم تغییرات را اعمال نماییم.
* بنابراین مهمترین مزیت نهان سازي این است که تاثیرات اعمال شده به سیستم
محدود مي کند.
۱ 6
صفحه 19:
pt
7 اصول شي كرابي
© نهان سازي ) Card Reader (Encapsulation
Card Number ATM Screen
Accept Card) ‘Prompt()
Eject Card), Accept Input
Read Card)
Account
Account Number
PIN
Balance
‘Cash Dispenser ل ى
Open)
Withdraw Funds() Cash Balance
Deduct Funds) PERE CAINO
Provide Receipt() مس اما
5 )سب
ها
صفحه 20:
4
” اصول شي كرابي
© وراثت ( ©3136 عطص1 )
*دومين اصل اساسى شی گرایی, ورائت است.
*در سیستم هاي شي كرا وراثت به شما اجازه مي دهد تا بجكت هاي
جديد را بر يايه ابجكت هاي قديمي ايجاد كنيد.
*آبجكت فرزند ( 6۷10 ) ويژگيهاي يك آبجکت والد (۳۵۲۵۳۸)
را به ارث مي برد. این ویژگیها شامل اطلاعات و رفتارهاي آبجکت
والد مي باشد. نمونه هاي ورائت در دنياي طبيعي نیز وجود دارند.
مه ۱
صفحه 21:
مر«
v 4 ل
اصول شي گرايي
(Inheritance ) cs1,,°
از مزاياي اصلي ورائت . سهولت در نگهداري سیستم است. os
: *سيستمي بزرگ با صدها پنجره محاوره اي را در نظر بگیرید
*روزي کاربر درخواست يك پیغام انصراف بر روي تمامي پنجره ها با
قرار دادن آرم جدید شرکت در گوشه همه پنجره ها را مي دهد .در
يك سیستم بدون ورائت . ما کار خسته کننده ای داریم که باید به
تك تك پنجره ها رفته و تغییر را در اطلاعات یا رفتارهاي هر پنجره
بصورت جداگانه اعمال کنیم. اما اگر سیستم ما شي گرا باشد ما همه
پنجره ها را از يك والد مشترك به ارث مي بریم بنابراین فقط نیاز
داریم تا به آبجکت والد رفته و تخ را فقط در همان آبجکت اعمال
کنیم همه پنجره ها بطور خودکار تغییرات را به ارث مي برند
۱ a
صفحه 22:
بل وم
7 اصول شي كرابي
© وراثت ( ©3272 عطص!ا )
Root Window
oe ۸ tS
1 1 1١ ۱
Window 1 Window2 Window3
ee “مواد سس الها
صفحه 23:
” اصول شي كرابي
© جندريختى ( ۳۵۱۷۳۸۵۲۵۳۱5۲ )
27 بدين معني است كه يك آبجكت مي تواند در ازاي
زماني كه يك بيام به آبج ارسال مي شود بسته يه"
ن بيام از طرف كدام آبجكت فرستاده شده است. آبجكت
كيرنده بيام مي تواند رفتارهاي متفاوتي را از خود بروز دهد. با
وجودي که متن پیام يکي است بنابراين براي اينكه آبجكت كيرنده
بداند بايستي کدام رفتار را از خود بروز دهد مي بایست آبجكت
فرستنده را تشخیص دهد و این از طریق ارتباطات میان آبجکت ها
میسر مي شود.
۱ ee
صفحه 24:
” چرخه زندگی توسعه شيي 1,5 Object Oriented)
(Development Life Cycle
٩ چرخه زندگي توسعه شيي گرا (متدولوژي شيي گرا) با نمايش و مدل
سازي موجودیت هاي سیستم شروع شده و با فازهاي تحلیل . طراحي و
پیاده سازي همراه است.
پیاده سازی
foe le معماری سیستم
تحلیل : * زیر سیستم ها * برنامه نویسی
نرمافزار کاربردی * پیاده سازی پایگاه
یج نی *ساختار داده داده
— * رفتار (پردازش ها)
طراحی موجودیت oe
* کتترل ها
۱
صفحه 25:
چرخه زندگي توسعه شيي گرا 0۲۱6۳60 ۲ععزا0
(Development Life Cycle
۰ تحلیل سیستم : خلاصه اي از سیستم که با توجه به محیط پيراموني
سیستم باید چه باشد؟ در واقع رفتار وظیفه ا سیستم را نشان مي
دهد. تحلیل باید نيازمندي هاي سیستم را با دقت شناسايي و در مدل
وارد نماید.
٩ طراحي سیستم : طراحي سیستم به دو فعالیت طراحي سیستم و
طراحي موجودب یم مي شود :
* تمرکز بر اينکه سیستم باید چگونه ایجاد شود و چگونه کار کند
؟ معماري سیستم
* ساختار داده و پردازش ها (طراحي موجودیت)
© پیاده سازي سیستم :
* كد كردن برنامه
بم ؟ دستورالعمل هاي دسترسي به یکی ووزی() ,ردررر|/:
صفحه 26:
” چرخه زندگی توسعه شيي 15 Object)
(Oriented Development Life Cycle
© تكنيك و مدل هاي متدولوژي شيي گرا :
* تكنيك ها و مدل هاي شيي گرا براي تحلیل و طراحي به صورت
استانداردي توسعه یافته اند که به زبان مدل سازي یکپارچه
wc! Sg px0 (UML)
3 مثلم كاج 0ا). سسدمس]/ :ما
صفحه 27:
نمودار
Use-Case
Diagram
Class
Diagram
Sequenc
e
Diagram
State
Diagram
Activity
Diagram
لل دم
شرح
بيانكر نيازمندي هاي وظيفه اي يا جه بودن سيستم
است
ساختار ثابت داده هاي سیستم و پردازش هاي مربوط
به آنها را نشان مي دهد
مدل پوياي ارتباطات بین موجودیت ها را نشان مي
دهد
مدل پوباي اینکه چگونه موجودیت حالت خود را در
برابر پاسخ به رخدادها تغییر مي دهد را نشان می دهد.
توالي پردازش روي داده ها را نشان مي دهد که با
فعالیت های شرطی و موازی همراه است.
“مواد سس الها