PDA

View Full Version : UML و دلفی - معرفی Model Maker - قسمت اول



Inprise
چهارشنبه 23 مهر 1382, 09:34 صبح
امروزه استفاده از UML به عنوان ابزاری پیشرو برای بهینه سازی فرآیند تولید نرم افزار گسترش زیادی یافته است و بورلند با درک صحیح نیازهای خاص منظور برنامه نویسان محیط دلفی برای استفاده از UML اینک نرم افزار قدرتمند Model Maker را همراه نسخه سازمانی دلفی و Bold را همراه نسخه Architect دلفی برای حصول این مقصود توزیع کرده است . در این نوشتار به معرفی مقدمات Model Maker خواهیم پرداخت و نوشتهء بعدی روش کار و نحوه استفاده از آن در تولید محصولات نرم افزاری را توضیح خواهد داد که امید است مورد استفاده قرار گیرد .

UML - دیاگرامها

هرچند اغلب CASE Tool ها طراحی و مدیریت دیاگرامهای غیر UML یا اصطلاحا" non-UML را مورد حمایت قرار میدهند و Model Maker نیز از این قاعده مستثنی نیست اما فعلا فقط به دیاگرام های استاندارد UML و خدمات ارائه شده توسط Model Maker اشاره میشود .

الف) Class Diagramآنچه عموما به طراحی شی گرای یک سیستم نرم افزاری اطلاق میگردد در کلاس دیاگرام محقق میشود . نحوه تولید کلاسها و رابطه بین کلاسها ، ارث بری و تجرید و قواعد مربوط به ساخت نمونه هائی از این کلاسها همگی در کلاس دیاگرام پیاده سازی میشود .
Model Maker ( که از این به بعد به اختصار MM میگوئیم ) با ارائه یک محیط ویژوال و قابل درک آسان به شما کمک میکند کلاس دیاگرامها را با کمترین تلاش ممکن تولید و ذخیره یا استفاده کنید . نکته مهم اینجاست که MM همزمان با شروع طراحی مدل توسط شما یک ساختار متناسب ولی مبتنی بر کد ( نه مدل ) برای پروژه شما در نظر میگیرد و همزمان با اعمال تغییرات ، تولید کلاس ، تولید رابط ( Interface ) و روابط بین آنها ، جزئیات مذکور توسط MM در ساختار مذکور اعمال میگردد . نتیجتا" شما همزمان با طراحی مدل میتوانید کد معادل آن را نیز مشاهده یا استفاده نمائید . به عقیدهء شخصی من ( با تجربهء کار با رشنال رز و together ) فعلا" MM بهترین ابزار تولید کلاس دیاگرام است . هر چند اختصاصی بودن برای دلفی ، آن را مانند رز همگانی نمیکند اما برنامه نویسان دلفی ( که اگر عده آنها از برنامه نویسان سی بیشتر نباشد از برنامه نویسان جاوا حتما بیشتر است ) از داشتن چنین ابزار قدرتمندی خوشحال هستند .

ب) Sequense Diagramدیاگرامهای روند ( Sequense ) که شامل جزئیات نحوه عملکرد اشیاء سیستم در ارتباط با یکدیگر است نیز بخوبی حمایت میشود . روند اجرای نرم افزار شما توسط دیاگرامهای روند مدل سازی میشود تا هم درک آن برای دیگرانی که عضو تیم طراحی نرم افزار نبودند آسان شود هم مرحلهء بهینه سازی ارتباط بین اجزا نرم افزار سریعتر انجام شود . " کاربر فرم اول را باز میکند . کلید الف را میفشارد . فرم دوم باز میشود . نام کاربری و اسم رمز او دریافت میشود . داده ها به مرکز تصویق هویت شبکه فرستاده میشود . کاربرد تائید میشود . فرم سوم که مخصوص ویرایش داده های بانک اطلاعاتی است نمایش داده میشود . کاربر تغییراتی را اعمال میکند . تغییرات را ذخیره میکند . فرم سوم را میبندد . برنامه پایان می یابد " آنچه خواندید شرح فارسی یک نمودار روند ساده برای یک برنامه کاربردی کنترلگر بانک اطلاعاتی بود .

ج)Collaboration Diagramاین دیاگرام مانند دیاگرام روند ، نحوه اجرای نرم افزار و روابط بین اجزاء سازنده نرم افزار را نمایش میدهد با این تفاوت که مانند دیاگرام روند " مبتنی بر زمان" نیست به این مفهوم که رابطه بین اشیاء تشکیل دهندهء نرم افزار همانگونه که هست نشان داده میشود نه آنطور که برای اجرای صحیح نرم افزار مورد انتظار ماست . برای اصلاح روند برنامه دیاگرام روند و برای اصلاح ساختار شیء گرای برنامه از دیاگرامهای Collaboration استفاده میشود .

د) State Diagramدیاگرام حالت ، موقعیاها و حالات مختلفی که اشیاء یک سیستم نرم افزاری به ازای دریافت ورودی های مختلف میتوانند داشته باشند را پوشش میدهد . یک شی ساخته شده برای حمایت از رنگ پس زمینه فرم اصلی برنامه میتواند مقدار دهی شده باشد . میتواند مقدار دهی اولیه شده باشد . میتواند مقدار دهی نشده باشد . میتواند مقداری غیر صحیح و نا معتبر دریافت نماید و ... همگی نمونه هائی از "حالت" هائیست که یک شی میتواند داشته باشد ( با توجه به برخوردهائی که با آن میشود ) . بهترین کاربرد این دیاگرام در error-handling و input valiadation است . MM از تولدید اینچنین نمودارهائی برای برنامه های دلفی بخوبی حمایت میکند .

ه) Activity Diagramنمودار نحوه عملکرد اجزاء مختلف سیستم از شروع تا خاتمه نرم افزار است . بهترین ابزار برای مدل سازی فرآیندهای موازی در حال انجام در یک نرم افزار این دیاگرام است که مهمترین کاربرد آن Thread Syncronization است .

دیاگرامهائی چون Mind-Map Diagram ، Unit Dependency و Robustness Diagram که جزء استاندارد UML نیستند نیز بخوبی توسط MM حمایت میشوند .

-------

مطلب بعدی به معرفی محیط داخلی MM و کارکردهای اجزاء اصلی آن میپردازد و نوشتهء آخر نحوه تولید محصول نرم افزاری با استفاده از UML در محیط دلفی را توضیح میدهد .

تا آماده شدن بقیه اش ( آماده شدن بقیه اش : وجود حس و حال و کاهش کالیبر جهت تایپ ! :twisted: ) میتونید در مورد مقدمات UML سوال بپرسید و هر کسی بلد بود جواب خواهد داد . :roll:


موفق باشید
اینپرایز سابق :twisted:

Mohammad_Mnt
چهارشنبه 23 مهر 1382, 17:04 عصر
اینپرایز جان ، من شنیدم که UML فقط به درد پروژه های خیلی بزرگ می خوره و توی ایران کاربرد چندانی نداره . چند بار هم می خواستم برم یاد بگیرم ، ولی از طرف دوستان منصرف شدم . نظر شما چیه ؟

Inprise
چهارشنبه 23 مهر 1382, 17:41 عصر
شنیدم که UML فقط به درد پروژه های خیلی بزرگ می خوره و توی ایران کاربرد چندانی نداره

الف ) یک سری به مرکز معرفی پروژه های تکفا بزن و ببین در حال حاضر چند پروژه فوق العاده بزرگ در ایران در حال اجراست . فقط پروژه CRM شرکت نفت ( که این حقیر معمار فاز شبکش هستم ) کمی کمتر از 200 برنامه نویس داره !! برو تا آخرش ...


چند بار هم می خواستم برم یاد بگیرم ، ولی از طرف دوستان منصرف شدم

ب) یادمه تو یکی از کتابهای فارسی دوران ابتدائی بود یحتمل .... " دانسته بمیرم بهتر است یا نا دانسته ؟" :!: اگر برات هزینه اقتصادی زیادی نداره حتما یاد بگیر .

موفق باشی

Inprise
چهارشنبه 23 مهر 1382, 18:03 عصر
ضمنا یه نگاهی هم به www.mporesearch.com بنداز . 8)

JavanSoft
پنج شنبه 24 مهر 1382, 01:57 صبح
اینپرایز جان CPMیا CRM?

Inprise
پنج شنبه 24 مهر 1382, 08:28 صبح
CRM = Customer Relationship Manager

مطلب دوم احتمالا امروز عصر

Mohammad_Mnt
پنج شنبه 24 مهر 1382, 10:17 صبح
چرا من هر کاری می کنم این صفحه Save نمی شه :cry: کسی می تونه این کار رو بکنه ؟

JavanSoft
پنج شنبه 24 مهر 1382, 14:01 عصر
آقای اینپرایز
مقاله خوبی رو شروع کردید .. منتظر ادامه اش هستیم
محمد جان
پرینتش کن :!:

JavanSoft
چهارشنبه 02 اردیبهشت 1383, 15:22 عصر
ادامه این بحث رو کسی نمی دونه کجاست؟

khafanovich
یک شنبه 06 اردیبهشت 1383, 05:45 صبح
با عرض سلام و خسته نباشید.
در مورد مطالب مرتبط با UML من یک کتاب دانلود کردم که خیلی جالبه.
Mastering UML with rational rose 2002 (25 MB)
من واقعا خواندن این کتاب رو به دوستان پیشنهاد میکنم.

JavanSoft
یک شنبه 06 اردیبهشت 1383, 13:57 عصر
ممنون از لطف شما ولی من درمورد ModalMakerمی خواهم

nima_north
سه شنبه 28 مهر 1383, 10:45 صبح
من میخواهم پروژههای خودم رو با تجزیه و تحلیل و پیاده سازی با UML اغاز کنم لطفا مرا راهنمایی کنید
:roll: :roll: :roll: :roll:

موسوی
پنج شنبه 30 مهر 1383, 05:03 صبح
من هم نمیتونم صفحات رو ذخیره کنم
هردفعه بصورت متنی اونرو ذخیره میکنم وبعدا به سختی از اطلاعاتش استفاده میکنم
اگه راهی پیدا کردید لطفا به من هم بگید

Developer Programmer
دوشنبه 25 آبان 1383, 13:14 عصر
من هم نمیتونم صفحات رو ذخیره کنم
file type رو web archive-single file انتخاب کنید