Inprise
چهارشنبه 23 مهر 1382, 10: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:
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: