مشاهده پست های بی پاسخ | مشاهده موضوعهای فعال تاریخ امروز چهارشنبه 21 نوامبر, 2018 11:50 am



پاسخ به موضوع  [ 10 پست ]  برو به صفحه قبلی  1, 2
 طراحی برنامه و UML 
نویسنده پیام
آواتار کاربر

عضو: یکشنبه 16 دسامبر, 2007 11:14 am
پست ها: 126
پست Re: طراحی برنامه و UML
خصایص کلاس (Properties , Attributes)

در دیاگرام کلاس Vehicle و در بخش دوم از شش خصلت Integer استفاده شده است . در نمونه کلاس های دیگر ، یک کلاس ممکن است دارای دهها خصلت باشد .در برخی زبانهای برنامه نویسی نظیر ویژوال بیسیک دات نت ،از خصلت با نام Prtoperty نیز یاد می گردد. هر خصلت می تواند دارای مقادیر متفاوتی باشد . مقادیر جاری خصلت ها ، وضعیت یک کلاس را تشریح می نمایند . در مقام مقایسه می توان خصایص یک شی را نظیر نقش اسامی در یک جمله در نظر گرفت ( مقایسه فوق صرفا" جنبه آموزشی دارد ) .


چهارشنبه 09 آوریل, 2008 11:14 am
مشخصات شخصی
آواتار کاربر

عضو: یکشنبه 16 دسامبر, 2007 11:14 am
پست ها: 126
پست Re: طراحی برنامه و UML
علایم + و -

همانگونه که مشاهده می گردد ، هر entry دربخش دوم دیاگرام کلاس Vehicle ، دارای یک علامت - در جلوی نام خود است .در بخش سوم ، برخی از Entry ها ، دارای علامت + و برخی دیگر دارای علامت - می باشند . وجود علامت + در ابتدای یک آیتم ( خصلت ، متد ) ، نشاندهنده در دسترس بودن آن از طریق خارج از کلاس است . بعبارت دیگر ، علامت +، امکان استفاده از آیتم مورد نظر و تاثیرگذاری بر وضعیت یک کلاس را نشان می دهد . علامت + ، عمومی بودن ( Public ) عناصر کلاس مربوطه را نشان می دهد .
اگر یک Entry با یک علامت - شروع گردد ، بدین معنی خواهد بود که آیتم مورد نظر صرفا" برای استفاده خود کلاس در دسترس بوده و امکان استفاده از آن برای خارج از کلاس میسر نخواهد بود. بنابراین علامت - ، نشاندهنده خصوصی ( Private ) بودن عناصر مربوط به یک کلاس است .
استفاده از علائم + و - ، نشاندهنده نوع دستیابی به هر یک از عناصر مربوط به یک کلاس است . در حقیقت علامت + ، روشی بمنظور ارتباط با کلاس را مشخص نموده و علامت - نشاندهنده عناصری است که صرفا" برای خود کلاس قابل استفاده خواهند بود .
ایجاد یک آیتم بصورت خصوصی همواره مورد توجه طراحان شی گراء بوده و تامین کننده اهداف کپسوله سازی در برنامه نویسی شی گراء است . با کپسوله سازی داده ، امکان بروز تغییرغیرعمد داده در برخی بخش ها ی برنامه و از طریق خارج از کلاس به حداقل مقدار خود خواهد رسید . بدین ترتیب، تشخیص و برطرف نمودن خطاهای احتمالی ، بسرعت و بسادگی میسر خواهد شد .


چهارشنبه 09 آوریل, 2008 11:14 am
مشخصات شخصی
آواتار کاربر

عضو: یکشنبه 16 دسامبر, 2007 11:14 am
پست ها: 126
پست Re: طراحی برنامه و UML
متدهای کلاس ( عملیات )

عنصر سوم در دیاگرام کلاس ، نشاندهنده نوع عملیات مرتبط با کلاس است . در UML آیتم های موجود در این بخش را "عملیات " ( Operations ) ، ودر برخی از زبان های برنامه نویسی نظیر ویژوال بیسیک دات نت ، به آنان "متد" گفته می شود . متدها ، نحوه ارتباط برنامه نویسان با یک کلاس را مشخص می نمایند. هر متد عملیات خاصی را در ارتباط با یک کلاس انجام خواهد داد.اگر خصلت ها را بمنزله اسامی در یک جمله در نظر بگیریم ، می توان متدها را بمنزله افعال موجود در یک جمله در نظر گرفت .


چهارشنبه 09 آوریل, 2008 11:15 am
مشخصات شخصی
آواتار کاربر

عضو: یکشنبه 16 دسامبر, 2007 11:14 am
پست ها: 126
پست Re: طراحی برنامه و UML
متدهای کلاس و آرگومان ها

در برخی موارد یک متد نیازمند اطلاعات خارجی بمنظور انجام وظایف محوله است . مثلا" در دیاگرام کلاس Vehicle از متد زیر استفاده شده است :

کد:
+SetSpeed(DesiredSpeed:Integer):Integer


علامت + نشاندهنده این موضوع است که ( ) SetSpeed یک متد Public است . بنابراین امکان استفاده از آن توسط یک برنامه نویس وجود خواهد داشت .بمنظور ارسال داده به متد مورد نظر از آرگومان استفاده شده که بین علامت پرانتز قرار می گیرند.در مثال فوق ، پارامتر مورد نظر DesiredSpeed بوده و از نوع Integer است . در انتهای علامت پرانتز بسته ، ازیک کالون ":" ، که بدنبال آن کلمه Integer آمده است ، استفاده شده است . این بدان معنی است که متد ( ) SetSpeed یک مقدار صحیح را به برنامه صدازننده ، بر می گرداند.
در نمونه کلاس Vehicle از دومتد بمنظور افزایش و یا کاهش سرعت استفاده شده است :

کد:
-IncreaseSpeed(DesiredSpeed:Integer):Integer
-DecreaseSpeed(DesiredSpeed:Integer):Integer


هر یک از متدهای فوق ، عملیات مورد نظر در رابطه با افزایش و یا کاهش سرعت را انجام خواهند داد . برای نیل به خواسته فوق ( افزایش و یا کاهش سرعت ) می توان دو متد فوق را با یکدیگر تلفیق و در یک متد واحد دیگر جایگزین نمود:
کد:
-ChangeSpeed(DesiredSpeed:Integer):Integer


در صورتیکه پارامتر DesiredSpeed مثبت باشد ، سرعت افزایش و در غیر اینصورت ( پارامتر منفی باشد ) ، سرعت کاهش خواهد یافت.


کد:
Dim MyVehicle as New Vehicle
Dim ObjectSpeed as integer
' Some code that does something...
ObjectSpeed = MyVehicle.GetSpeed()
ObjectSpeed = MyVehicle.ChangeSpeed(-ObjectSpeed)


درنمونه مثال فوق ، در ابتدا یک شی Vehicle با نام MyVehicle تعریف شده است . در ادامه ، متد GetSpeed در ارتباط با شی MyVehicle فرا خوانده شده است .بمنظور جداسازی نام شی از متد مربوطه از علامت نقطه استفاده شده است .
فرض کنید که Vehicle با سرعت 55مایل در ساعت در حال حرکت است . مقدار ObjectSpeed ، پنجاه و پنج در نظر گرفته می شود .در صورتیکه در ادامه مقداری منفی را به متد فوق پاس دهیم سرعت کاهش پیدا خواهد کرد. اگر مقدار 55 - را به متد ChangeSpeed() پاس دهیم ، توقف اتومبیل را بدنبال خواهد داشت .
همانگونه که مشاهده می شود ، برخی از متدها با علامت - شروع شده اند . این بدان معنی است که آنان متدهای اختصاصی ( Private) بوده و خارج از کلاس قابل دستیابی نخواهند بود. چنین متدهائی به سایر متدها ی موجود در کلاس ، سرویس و خدمات لازم را ارائه و استفاده از آنان برای برنامه نویس مجاز نخواهد بود.بعبارت دیگر متدهای فوق بعنوان ایترفیس کلاس مطرح نبوده و از خدمات آنان در داخل کلاس استفاده خواهد شد . در چنین مواردی ممکن است یک متد که بصورت Public تعریف و امکان استفاده از آن در خارج از کلاس و توسط برنامه نویسان وجود دارد ، خود از خدمات چندین متد خصوصی استفاده نماید .
یک دیاگرام کلاس UML ، امکان مرور سریع و فشرده پتانسیل ها ی یک کلاس را فراهم و نحوه ارتباط یک برنامه نویس با کلاس مورد نظر را نیز مشخص خواهد شد. اگر یک کلاس را بعنوان یک جعبه سیاه در نظر بگیریم ، علامت "-" ، نشاندهنده آیتم هائی درون جعبه سیاه است که امکان استفاده از آنان توسط برنامه نویسان وجود نخواهد داشت . علامت "+" ، نشاندهنده امکاناتی است که می توان از آنان بمنظور ارتباط با متدها و خصایص یک کلاس استفاده کرد . آیتم های Public یک کلاس ، اینترفیس لازم برای یک کلاس را تعریف و نحوه ارتباط با آن را مشخص می نمایند. در حقیقت متدهای Public ، نحوه استفاده از یک کلاس را به برنامه نویسان دیکته خواهند کرد .


چهارشنبه 09 آوریل, 2008 11:19 am
مشخصات شخصی
آواتار کاربر

عضو: یکشنبه 16 دسامبر, 2007 11:14 am
پست ها: 126
پست Re: طراحی برنامه و UML
خلاصه

-الگوریتم ،اعلامیه ای سازماندهی شده بمنظور حل یک مسئله خاص و یا سوالاتی است که می بایست پاسخ آنان مشخص گردد . یک الگوریتم مناسب ، تمامی مراحل لازم بمنظور انجام فرآیندهای مورد نیاز و حل یک مسئله را ارائه می نماید .

-مقداردهی اولیه ، ورودی ، پردازش ، خروجی و پاکسازی ، پنج مرحله متفاوت برنامه نویسی می باشند .

-مراحل پنج گانه برنامه نویسی ، نگرشی ماکرو از یک برنامه را ارائه می نمایند . مثلا" مرحله ورودی ممکن است نیازمند اخذ داده از صفحه کلید ، خواندن یک جدول تنظیمات از یک بانک اطلاعاتی و نهایتا" خواندن اطلاعات بیشتر از بانک اطلاعاتی دیگر باشد . بهسازی ( پالایش ) یکطرفه ، فرآیندی است که بر اساس آن یکی از مراحل برنامه نویسی (نظیر مرحله ورودی ) بررسی و به آن جزئیات بیشتری اضافه اضافه خواهد شد . عملیات فوق تا استخراج و مشخص شدن تمامی جزئیات لازم در رابطه با یک مرحله خاص ادامه خواهد یافت . عملیات بهسازی ( پالایش ) یکطرفه ، زمانی متوقف می گردد که کد واقعی یک تابع نوشته گردد .محوریت فرآیند فوق ، تبدیل الگوریتم های ماکرو به میکرو است :


کد:
Input Step->ReadKeyboard( )
ReadSetupTable( ) ->ReadTable1( ) ->(Code)
ReadTable2( )
ReadTable3( )


-UML ، از کلمات Unified Modeling Language اقتباس شده است . مزیت استفاده از UML ، تفکر مبتنی بر برنامه نویسی شی گراء است .بلاک های اولیه ایجاد UML کلاس ، خصلت و متد نامیده می شوند. دیاگرام های کلاس UML تمام سه عنصر OOP را در یک دیاگرام مناسب نمایش می دهند .

- در OOP ، واژه های Private و Public به نحوه دستیابی به خصلت ها بر می گردد . اگرخصلتی از نوع Private باشد ،امکان تغییر آن صرفا" برای کسانی که به کلاس فوق تعلق دارند، وجود خواهد داشت .اگر خصلتی از نوع Public باشد ، سایر اشیاء امکان دستیابی کامل به خصلت را ( اعمال تغییرات مورد نظر ) خواهند داشت.


چهارشنبه 09 آوریل, 2008 11:22 am
مشخصات شخصی
مشاهده پست های قبلی:  نمایش بر اساس  
پاسخ به موضوع   [ 10 پست ]  برو به صفحه قبلی  1, 2

افراد آنلاین

کاربران حاضر در این تالار: - و 4 مهمان


شما نمی توانید در این تالار موضوع جدید باز کنید
شما نمی توانید در این تالار به موضوع ها پاسخ دهید
شما نمی توانید در این تالار پست های خود را ویرایش کنید
شما نمی توانید در این تالار پست های خود را حذف کنید
شما نمی توانید در این تالار ضمیمه ارسال کنید

جستجو برای:
پرش به:  
cron
استفاده و نقل از مباحث سایت، فقط با ذکر منبع و لینک سایت میکرورایانه مجاز است.
Copyright © 2006 - 2010 MicroRayaneh - Powered by phpBB © phpBB Group
Valid CSS2 Valid XHTML 1.0
طراحی سایت : میکرو رایانه