مقدمه ای بر متد Obiect-Oriented (شیءگرایی)
شیءگرایی (Object-Oriented) لغتی است که امروزه در صنعت نرم افزار، باب شده است. شرکتها به سرعت حرکت می کنند تا خود را با این تکنولوژی سازگار کنند و آن را در برنامه های خود وارد نمایند.
متد شیءگرایی (O.O) یک راه متفاوت مشاهده برنامه هاست. با متد شیءگرایی، شما یک برنامه را به قطعات بسیار کوچک یا آبجکت هایی تقسیم می کنید، که تا اندازه ای مستقل از یکدیگر می باشند. مانند ساختمانی از بلوک ها نگاه کنید.
اولین قدم این است که آبجکت های اساسی (انواع مختلف بلوک ها) را بسازید یا بدست آورید. اولین باری که شما این بلوک های ساختمانی را دارید، می توانید آنها را کنار هم گذاشته و قصرتان را بسازید. به محض اینکه تعدادی آبجکت های اساسی را در دنیای کامپیوتر ساختید یا بدست آوردید، می توانید به سادگی آنها را کنار هم بگذارید تا برنامههای جدید ایجاد را کنید. یکی از امتیازات اساسی متد شیءگرایی این است که می توانید یک بار Component (اجزاء) را ساخته و بارها و بارها از آنها استفاده کنید. درست مانند زمانی که می توانید یک بلاک ساختمانی را در یک قصر، یک خانه یا یک سفینه فضایی دوباره استفاده کنید، می توانید از یک قطعه طرح یا کد شیءگرایی در یک سیستم حسابداری، یک سیستم بازرگانی یا یک سیستم پردازش سفارش استفاده مجدد نمایید.
تفاوت متد شیءگرایی با روش سنتی توسعه، چیست؟ در روش سنتی، روش توسعه به همراه اطلاعاتی که سیستم نگهداری خواهد کرد به خودمان وابسته است.
در این روش، ما از کاربران می پرسیم که چه اطلاعاتی را نیاز دارند، پایگاه داده ای را طراحی می کنیم که اطلاعات را نگه دارد، صفحاتی را تهیه می کنیم تا اطلاعات را بگیرد، و گزارشاتی را چاپ می کنیم تا اطلاعاتی را برای کاربر نمایش دهد. به عبارت دیگر، ما بر روی اطلاعات متمرکز می شویم و کمتر توجه می کنیم که چه کاری با این اطلاعات انجام شده یا رفتار سیستم چگونه است. این روش data-centric (مبتنی بر داده) نامیده شده است و برای ایجاد هزاران سیستم در سال، ایجاد شده است. مدلسازی data-centric مخصوص طراحی پایگاه داده و گرفتن اطلاعات خیلی مهم می باشد، اما انتخاب این روش در زمان طراحی برنامه های تجاری با مشکلاتی همراه است. یک چالش بزرگ این است که درخواستهای سیستم چندین بار تغییر خواهند کرد. سیستمی که از روش data-centric استفاده می نماید، می تواند به آسانی تغییر در پایگاه داده را مدیریت کند. اما اجرای تغییرات در قوانین تجاری یا رفتار(behavior) سیستم آن قدر آسان نمی باشد. متد شیءگرایی در پاسخ به این مشکل، ایجاد شده است. با متد شیءگرایی هم بر اطلاعات وهم بر رفتار متمرکز می شویم. در نتیجه اکنون می توانیم سیستم هایی را ایجاد کنیم که انعطاف پذیر شده اند تا اطلاعات و یا رفتار را تغییر دهند.
مزیت این انعطاف پذیری با طراحی یک سیستم شیءگرایی به خوبی شناخته شده است. این مطلب، به شناخت تعدادی اصول شیء گرایی نیاز دارد. نهان سازی (Encapsulation) وراثت(Inheritance) و چند ریختی (Polymorphism).
Encapsulation (نهان سازی)
در سیستمهای شیءگرا، اینها (اطلاعات و رفتارها) را در یک آبجکت بسته بندی می کنیم. این مطلب در قالب اطلاعات Encapsulation (پنهان سازی) ارجاع داده شده است. راه دیگر برای نگاه کردن به توابع وابسته، این است که برنامه را به بخشهای کوچکی از توابع وابسته، تقسیم کنیم. مثلاً یک حساب بانکی شامل: شماره حساب، تراز جاری نام مشتری آدرس نوع حساب، نرخ بهره و تاریخ باز کردن حساب می باشد. همچنین رفتارهایی را برای یک حساب بانک داریم مانند: باز کردن یک حساب ، بستن حساب، به حساب گذاشتن، برداست از حساب، تغییر نوع حساب، تغییر مشتری و تغییر آدرس. ما این اطلاعات و رفتارها را با هم در یک آبجکت account پنهان می کنیم. در نتیجه همة تغییرات سیستم بانکی مربوط به حسابها، می توانند به آسانی در آبجکت حساب انجام شوند.
مـزیت دیگر پنهان سازی این است که تأثیرات اعمال شده به سیستم را محدود می کند. به یک سیستم به عنوان بستری از آب و به تغییر درخواستها مانند یک صخره بزرگ نگاه کنیم. شما صخره را در آب می اندازید و امواج بزرگی در همه جهتها ایجاد می شوند. آنها در سرتاسر دریاچه حرکت می کنند، به کرانه ضربه می زنند، طنین افکن می شوند و با امواج دیگر برخورد می کنند در حقیقت، حتی ممکن است مقدای آب بر روی ساحل و خارج از دریاچه بریزد. بعبارت دیگر، برخورد صخره با آب باعث ایجاد میزان زیادی موج های کوچک شده است. حال دریاچه خود را پنهان می کنیم. تدین ترتیب که آن را به تکه های کوچکتری از آب با موانعی میان آنها تقسیم می کنیم. سپس، ضربات سیستم را تغییر می دهد. قبل از این، امواج در همه جهتها ایجاد می شدند. اما اکنون، امواج فقط می توانند از یکی از موانع عبور نماید. و سپس متوقف می گردند. بنابرین، با نهان سازی دریاچه، ما تاثیر موج کوچک حاصل از انداختن صخره در آب را محدود کرده ایم.
فهرست مطالب
مقدمه ای بر متد Obiect-Oriented (شیءگرایی) 1
Encapsulation (نهان سازی) 3
Inheritance (وراثت) 6
Polymorphism(چند ریختی) 9
مدلسازی بصری (Visual Modeling) چیست؟ 12
Booch, OMT, and UML 14
نمودارهای UML 15
نمودارهای Use Case 16
نمودارهای CLASS (کلاس) 17
نمودارهای حالت (State Transition Diagrams) 20
مدلسازی بصری و پردازش تولید و توسعه نرمافزار 23
شناخت Inception 27
Iteration One Use Cases 1.5.6 28
مهارت Elaboration 29
ساختار Construction 30
انتقال Transition 32
Rational Rose چیست؟ 33
پرداختن به Rational Rose 39
بخشهای صفحه نمایش 40
چهار نمای موجود در یک مدل Rose 40
نمای منطقی 41
نمای Component 42
نمای Deployment 42
کار با برنامه Rational Rose 43
ایجاد مدلها 43
واردکردن و ارسال مدلها 44
انتشار مدلها بر روی وب 45
کار با واحدهای کنترل شده 46
نمای Use case 47
نمودارهای Rational rose 48
کار با Use case 51
مستند سازی جریان رخدادها (Flow of Event) 55
تعریف (descripition) 56
پیش شرایط (Precondition) 57
Post Conditions (شرایط پسین) 62
کار کردن با عامل ها (Actor) 62
ساخت یک عامل Abstract 64
چگونگی کار با رابطه ها 65
نمودارهای Interaction 67
یک Object چیست؟ 68
یک کلاس چیست؟ 70
یافتن آبجکت ها 71
استفاده از نمودارهای Interaction 73
نمودارهای Sequence 75
نمودارهای Collaboration 77
نمای Logical(منطقی) یک مدلRose 78
نمودارهای class 79
استفاده از صفات 81
یافتن صفات 81
تنظیم Visibility صفت 85
یافتن عملیتها 89
نمودارهای تغییر حالت(State Transition) 91
فعالیت(Activity) 93
Action ورودی (Entry Action) 93
Action خروج (Exit Action) 94
رخداد(Event) 95
Action 96
حالت آغازین(Start State) 97
حالت پایانی 97
استفاده از حالات تو در تو (Nested State) 98
شامل 102 صفحه word
دانلود تحقیق آموزش UML