مفاهیم شی گرایی
اسلاید 1: مفاهیم شی گرایی1نام گرد آور: مهدی نیازیرشته : مهندسی نرم افزاردانشگاه: آزاد خوراسگان
اسلاید 2: زمستان 91مهندسی نرم افزارمفاهیمشی گراییشی (Object):کلاس (Class):صفت(Attribute):2به هر مفهوم یا هر چیز قابل درکی که بشود با خصوصیات و رفتار مستقل آن را از یک محیط بازشناسی کرد.مفهومی انتزاعی برای دسته بندی اشیاءنشان دهنده خصوصیات و رفتار گروه خاصی از اشیاءخصوصیات و رفتارها مشخص هستندهر شی ء یکسری خصوصیات دارد که به آنها صفت گفته می شود که در واقع یک مقدار یا ارزش مشخصی برای آن وجود دارد.
اسلاید 3: زمستان 91مهندسی نرم افزارچرا شی گرایی شی گراییشی گرایی دارای منافع زیادی است.3زمان تحلیل و طراحی و برنامه نویسی کاهش می یابد و در نتیجه موفقیت افزایش می یابد.برنامه زمان بندی پروژه را بصورت چشمگیری کاهش می دهد.توسعه سیستم را تسریع می کند.
اسلاید 4: زمستان 91مهندسی نرم افزارمتدولوژیشی گرایییک متدولوژی مجموعه ای از روش ها و توصیه ها می باشد که به همراه راهبرد مشخص و طی مراحل مختلف از توسعه سیستم بکار گرفته می شود.یک چارچوب مشخص است که ترتیب گام به گام راهکارهایی را که به توسعه محصول نهایی کمک می کند، مشخص می نماید. یک متدولوژی دارای ابزار تعریف شده و مدل مفهومی می باشد و از یک گرامر مشخص استفاده می کند.هر متدولوژی برای انجام کارها از تعدادی ابزار و تکنیک استفاده می کند.برای مثال مدل شی گرا یکی از متدولوژیهای توسعه نرم افزار می باشد.از جمله متدولوژیهای شی گرا می توان به UML اشاره کرد. 4
اسلاید 5: زمستان 91مهندسی نرم افزارمتدلوژی UMLشی گراییUML مخفف Unified Modeling Language است.UMLیک زبان استاندارد به منظور مشخص نمودن، پیش بینی، ایجاد و مستندسازی تولیدات نرم افزاری است.مجموعه ای است از بهترین امکانات مهندسی به منظور استفاده در سیستم های بزرگ است. UML یک ابزار ویژوال بوده که از انواع متفاوتی از نمودارها استفاده می کندو هر یک از نمودارهای آن امکان مشاهده یک سیستم نرم افزاری را از دیدگاهی متفاوت و با توجه به درجات متفاوت در اختیار توسعه دهنده قرار می دهد.5
اسلاید 6: زمستان 91مهندسی نرم افزارمتدلوژی UMLشی گراییUML دارای مزیت های زیر است:UML یک زبان برنامه نویسی بصری(Visual) نمی باشد.6درستی دریافت درخواست مشتریجلوگیری از ابهام و دوباره کاری در نوشتن برنامهتفکر مبتنی بر برنامه نویسی شی گرا است
اسلاید 7: زمستان 91مهندسی نرم افزار (ادامه) UMLشی گراییUML فقط از چند تا نمودار تشکیل شده است که با کمک این نمودارها ما قادر خواهیم بود از چند جهت سیستم را بسازیم یا ببینیم.برای مثال تحلیلگران، طراحان، کد کنندگان، مشتری، پشتیبانان فنی هر کدام از این نقش ها وابسته به یک جنبه از سیستم می باشند و هر کدام سطح متفاوتی از جزئیات را نیاز دارند.برای مثال کد کنندگان باید طراحی سیستم را بفهمند تا قادر باشند آن را به کد تبدیل کنند ولی مشتری به چنین اطلاعاتی احتیاج ندارد پس باید دید دیگری از سیستم به مشتری نشان داد تا بفهمد کل سیستم چه کاری انجام می دهد.UML زبانی است که به واسطه نمودارهای مختلف خود فهم سیستم را برای تمام افراد مرتبط با پروژه فراهم می کند.7
اسلاید 8: زمستان 91مهندسی نرم افزارنمودار موارد کاربرد(Use Case) شی گرایینمودار موارد کاربرد رفتار سيستم را از ديد ناظر بيروني نشان مي دهند. منظور از ناظر بيروني هر چيزي است كه در بيرون از سيستم قرار دارد و با سيستم در تعامل است. ناظر بيروني ممكن است يك شخص، يك سيستم اطلاعاتي ديگر يا يك وسيله سخت افزاري باشد.نمودار موارد کاربرد خلاصهاي از سناريو است که يک وظيفه يا هدفي خاص را مشخص مي کند. در نمودار موترد کاربرد بجاي تاکيد بر چگونگي انجام يک وظيفه (How) بر روي خود اهداف يا وظايف (What) تاکيد ميشود. نمودار موارد کاربرد به ما کمک می کند تا نیازمندیهای سیستم را درک کنیم.این نمودار به راحتی قابل درک است به صورتی که هم توسعه دهنده گان سیستم و هم مشتری می تواند با آن کار کند.8
اسلاید 9: زمستان 91مهندسی نرم افزارکلینیک پزشکیشی گراییسناريو: بيمار به کلينيک مراجعه ميکند و يک وقت براي checkup ساليانه مي خواهد. منشي اولين زمان خالي را از ليست قرارهاي پزشکي پيدا کرده آن زمان را به بيمار اعلام ميکند. 9
اسلاید 10: زمستان 91مهندسی نرم افزاراجزای نمودار موارد کاربردشی گراییعناصر عمده نمودار موارد کاربرد عبارتند از: قالب(Use Case): قالب ها زیر سیستم های موجود در سیستم هستند که وظیفه خاصی را بر عهده دارند و از دید کاربران قابل مشاهده است. قالب با بیضی نشان داده می شود.برای هر یک از زیر سیستم ها باید اسمی انتخاب کنیم. این اسم باید نشان دهنده کاری باشد که که زیر سیستم نشان می دهد.به عنوان مثال در سیستم دانشگاه برای دانشجو زیر سیستم انتخاب واحد و حذف و اضافه را داریم. 10
اسلاید 11: زمستان 91مهندسی نرم افزاراجزای نمودار موارد کاربرد(ادامه)شی گراییبازیگران(Actor):مردمانی هستند که با سیستم در ارتباط می باشند. با سیستم تعامل دارند.دیاگرام بازیگران به شکل زیر است:برای هر بازیگر متناسب با نقش ای که در سیستم دارد، نامی را در نظر می گیریم. که به این کار یادداشت سازی بازیگر گفته می شود.به عنوان مثال برای سیستم دانشگاه بازیگران زیر را داریم: دانشجو، استاد، مسئول سایت، مسئول آزمایشگاه و ...11
اسلاید 12: زمستان 91مهندسی نرم افزاراجزای نمودار موارد کاربرد(ادامه)شی گراییقسمت سوم نمودار موارد کاربرد نشان دادن ارتباطات بین بازیگران و زیر سیستم ها است. برای مرتبط کردن بازیگران با زیر سیستم ها از خطوط جهت دار استفاده می شود که نشان دهنده جریان است.بازیگران خاصی فقط می تواند با قالب خاصی ارتباط داشته باشند.به عنوان مثال در سیستم دانشگاه بازیگر استاد با قالب انتخاب واحد ارتباطی ندارد یا بازیگر دانشجو با زیر سیستم ارائه درس رابطه ای ندارد.12
اسلاید 13: زمستان 91مهندسی نرم افزارکلینیک پزشکیشی گرایی13
اسلاید 14: زمستان 91مهندسی نرم افزارسناریوشی گراییهمانطور که يک شي يک نمونه از يک کلاس است، يک سناريو يک نمونه از يک Use Case است.سناريو تعاملات ممکن بين سيستم و مردم يا اشياي بيروني براي انجام وظيفه اي خاص را نشان مي دهد. تعاملات را مي توان با استفاده از پيغامهاي رد و بدل شده نشان داد. معمولا روند انجام يک وظيفه ممکن است به صورتهاي مختلفي باشد که هر يک از آنها را يک سناريوي آن وظيفه مي نامند. 14
اسلاید 15: زمستان 91مهندسی نرم افزارسناریوی دستگاه ATMشی گراییجريان اصلي : مشتري کارت خود را در دستگاه مي گذارد و دستگاه از مشتري مي خواهد که شماره رمزرا وارد کند، مشتري شماره رمز را با استفاده از صفحه کليد وارد مي کند و با فشردن کليد Enter پذيرش آن را اعلام مي کند حال سيستم شماره رمز مشتري را بررسي مي کند و در صورت اعتبار آن، شماره پيغام ورود به سيستم را داده و صورت حساب فرد را نشان مي دهدجريان استثنا1: مشتري هر لحظه که بخواهد مي تواند با فشردن دکمه Cancel تراکنش را لغو و تمام کند.جريان استثنا 2: مشتري مي تواند قبل از فشردن دکمه Enter شماره رمز نوشته شده را پاک و يک شماره ديگر به جاي آن بنويسد.جريان استثنا 3 : اگر مشتري شماره رمز خود را اشتباهي وارد کند اين وظيفه از نو آغاز مي شود و در صورتي که مشتري بيش از 3 بار اشتباه کند عمليات تعليق انجام مي شود.15
اسلاید 16: زمستان 91مهندسی نرم افزاردستگاه ATMشی گرایی16
اسلاید 17: زمستان 91مهندسی نرم افزارمرز سیستم (System Boundary)شی گراییبه صورت اختياري مي توان مستطيلي دور كليه Use Case سيستم كشيد تا مرز آن سيستم را مشخص شود. اين كار در سيستم هاي بزرگ كه از زير سيستمهاي زيادي تشكيل شده است، مي تواند در شناخت مرز هر يك از زير سيستمها کمک بسيار زيادي کند.بين Use Case و Actor، فقط رابطه Association مي تواند برقرار باشد. هر نوع تعامل Actor با Use Case را Association مي نامند. اين رابطه با يك خط معمولي نشان داده مي شود. 17
اسلاید 18: زمستان 91مهندسی نرم افزاررابطه بین Use Caseشی گراییتعميم (Generalization) : تعميم، نشان دهنده اين است که يک Use Case، نوع ويژهاي از يک Use Case ديگر ميباشد.شمول (Include): گاهی اوقات یک Use Case از جزئیات یک Use Case دیگر استفاده می کند. 18
اسلاید 19: زمستان 91مهندسی نرم افزاررابطه بین Use Case (ادامه)شی گراییتوسعه (Extend):می توان یک Use Case را به یک Use Case دیگر توسعه داد.19
اسلاید 20: زمستان 91مهندسی نرم افزاررابطه بین Actorشی گراییتعمیم20
اسلاید 21: زمستان 91مهندسی نرم افزارسیستم تعمیرگاهشی گراییهدف از سيستم تعميرگاه فراهم نمودن مديريتي كارا براي همه جنبه هاي چرخه سرويس دهي و تعمير از تعريف كارهاي مورد نياز مشتريان گرفته تا خاتمه يافتن اين كارها است. سيستم بايد تسهيلات زير را ارائه نمايد: رزرو كارها( شامل سرويس و تعمير) شناسائي قطعات يدكي مورد نياز و درخواست آنها زمانبندي كارهاثبت جزئيات كارهاي انجام شده مسائل مربوط به اتمام يك كار: مانند تحويل ماشين و محاسبه هزينه كار اينجا كارها بر دو نوعند: معمولي و اولويت دار 21
اسلاید 22: زمستان 91مهندسی نرم افزارشناسایی عواملشی گرایی22مورد كاربريعاملثبت كار مورد نياز مشتريمسئول پذيرش مشتريانتعيين قطعات مورد نيازكنترل كننده قطعاتدرخواست قطعاتكنترل كننده قطعاتزمانبندي كارهامكانيكمديريت كار از ابتدا تا خاتمه، اطمينان از درستي انجام آن و ثبت جزئيات كار انجام شدهمكانيكاطمينان از رضايت مشتري، دريافت مزد كار و تحويل ماشين به مشتريمسئول پذيرش مشتريان
اسلاید 23: زمستان 91مهندسی نرم افزارUse Case شی گرایی23
اسلاید 24: زمستان 91مهندسی نرم افزارنمودار کلاس(Class Diagram) شی گرایینمودار كلاس انواع اشياء درون سيستم و انواع مختلف ارتباطات ساختاري آنها را نمايش مي دهد. عناصر يك نمودار كلاس عبارتند از:-كلاس ها-روابط بين كلاس هاكلاس خود شامل بخش هاي زير است:-صفات (Attributes)-اعمال (Operations)24
اسلاید 25: زمستان 91مهندسی نرم افزارمثالشی گراییكلاس حساب(Account) شامل سه صفت است :شماره حسابشماره رمزتراز موجودیکلاس حساب شامل عملگرهای زیر است:باز كردن(Open)برداشت وجه(Withdraw Funds)كسر موجودي(Deduct Funds)تاييد موجودي(Verify Funds)25
اسلاید 26: زمستان 91مهندسی نرم افزارروابط بین کلاس هاشی گراییرابطهي انجمني (Association)-رابطهي تجمع (Aggregation)-رابطهي تركيب (Composition)رابطهي وابستگي(Dependency)رابطهي تعميم (Generalization)26
اسلاید 27: زمستان 91مهندسی نرم افزارروابط بین کلاس ها(ادامه)شی گراییرابطهي Aggregation:-يك حالت خاص از رابطهي انجمني است. -زماني كه بخواهيم نشان دهيم كه اجتماع چند شيء يك شيء كلان تر بوجود مي آورد از اين نوع رابطه استفاده مي كنيم.-در صورت از بين رفتن كلاس، كلاس هاي جزء از بين نمي روند.-ارتباط كلاس هاي ديگر با كلاس جزء مي تواند بدون ارتباط و دخالت كلاس كل برقرار شود.رابطهي Composition:-علاوه بر مفهوم كلي رابطه تجمع كه از اجتماع چند شيء يك شيء كلي تر تشكيل مي شود، بيانگر آن است كه با از بين رفتن شيء كلي تر كليه اشياء جزئي اش نيز از بين مي رود.-هر كلاس كه بخواهد با كلاس هاي جزء از يك كلاس كل ارتباط برقرار كند، بدون واسطه و دخالت كلاس كل اين امر امكان پذير نيست.27
اسلاید 28: زمستان 91مهندسی نرم افزارروابط بین کلاس ها(ادامه)شی گرایی28
اسلاید 29: زمستان 91مهندسی نرم افزارروابط بین کلاس ها(ادامه)شی گراییكلاس وابستگي(ارتباط)(Association Class)وقتي وابستگي يا ارتباط بين كلاس ها داراي مشخصه اطلاعاتي(Attribute) باشد از كلاس وابستگي استفاده مي شود كه در واقع دو نقش بازي مي كند هم به عنوان يك كلاس و هم به عنوان يك رابطه عمل مي كند.29
اسلاید 30: زمستان 91مهندسی نرم افزارنمودار ترتیب(Sequence)شی گرایینمودار ترتيب (sequence diagram)رفتار سيستم را مدل ميکند.تاکيد در اين نمودار بر زمان و ترتيب ارسال پيام ها است.مجموعه اي از اشياء با ارسال پيام با هم ارتباط برقرار ميکنند.30
اسلاید 31: زمستان 91مهندسی نرم افزارنمودار ترتیب(Sequence)شی گرایی31
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.