توسعه برنامه های کاربردی بوسیله دلفی 7

28 07 2008

قبل نوشت : دیروز یک نفر برای یادگیری زبان C به آموزشگاه آمده بود و من به عنوان مدرس انتخاب شده بودم. اول فکر کردم برای پاس کردن واحد دانشگاهی می خواد C یاد بگیره، اما وقتی ازش پرسیدم گفت می خوام برنامه نویسی کاربردی در ویندوز رو یاد بگیرم. کلی براش توضیح دادم که زبان C دیگه استفاده نمیشه و فقط به درد یادگیری تئوری برنامه نویسی میخوره و گفتم بهتره Visual C++ را با هم کار کنیم. گفت که قبلاً هیچ وقت برنامه نویسی کار نکرده و از نظر کاربری کامپیوتر هم در سطح بالایی نیست. بعد از کلی صحبت، من برای شروع دلفی 7 رو بهش پیشنهاد کردم و از قابلیت های اون براش گفتم…

بورلند دلفی 7 محیط برنامه نویسی بصری (ویژوال) و کاملا شیء گرا برای توسعه برنامه های 32بیتی مبتنی بر سیستم عامل های ویندوز و لینوکس می باشد. با استفاده از دلفی می توانید برنامه های کاربردی بسیار قوی و انعطاف پذیر ایجاد کرده و آن ها را در ویندوز و لینوکس انتشار دهید.
محیط دلفی ابزارهای سریع و ساده بسیاری در اختیار برنامه نویسان قرار میدهد. محیط دلفی در اصطلاح RAD خوانده می شود. این کلمه مخفف Rapid Application Development و به معنی توسعه کاربردی سریع است. دلفی شامل ابزارهای سریع طراحی برنامه، ویزاردهای برنامه نویسی، قالب های از پیش ساخته شده و کتابخانه ای از اجزای نرم افزاری است.
دلفی شامل دو کتابخانه مجزا برای ویندوز و لینوکس است :

  • The Visual Component Library – VCL : این کتابخانه شامل اجزایی است که API های ویندوز را در خود کپسوله کرده اند.
  • The Borland Component Library for Cross-platform – CLX : که این کتابخانه اجزای Qt Library را خود کپسوله نموده اند. (این نوع از برنامه ها در ویندوز و لینوکس قابل اجرا هستند)

در این مقاله به شرح مختصری از قابلیت های محیط دلفی 7 می پردازم.

محیط توسعه مجتمع (IDE) :
وفتی دلفی را باز می کنید بلافاصله محیط توسعه مجتمع یا به اختصار IDE دلفی در مقابل شما نمایان می شود. این IDE شامل تمامی ابزارهای مورد نیاز برای طراحی، توسعه، تست، و انتشار برنامه می باشد.

  • Form Designer: برای طراحی رابط کاربری برنامه
  • Component palette : برای دسترسی به کامپوننت های بصری و غیر بصری قابل استفاده در برنامه
  • Object Inspector : برای مشاهده و مدیریت خصوصیات اشیاء و رویدادهای مربوط به هر یک
  • Object TreeView : برای نمایش و مدیریت روابط منطقی میان اجزای برنامه
  • Code Editor : برای نوشتن و ویرایش کد برنامه
  • Project Manager : برای مدیریت بر روی فایل های پروژه

طراحی برنامه های کاربردی
با استفاده از دلفی می توانید هر نوع برنامه 32 بیتی را طراحی و اجرا نمائید. از برنامه های سودمند کوچک گرفته تا برنامه های تجاری و نرم افزارهای توزیع شده با استفاده از بورلند دلفی نسخه هفت قابل توسعه و تعمیم هستند. در حین طراحی رابط کاربری برنامه توسط دلفی، در پشت پرده Form Designer کدهای مربوط به طراحی را به صورت خودکار تولید می کند و نیازی به نوشتن کدهای طراحی به صورت دستی نخواهید داشت. زمانی که شما مشخصات کامپوننت ها و اجزای بصری و غیر بصری برنامه را تغییر می دهید، Form Designer به صورت خودکار تمامی تغییرات شما را روی سورس کد برنامه اعمال میکند و تنها زحمت شما Re-Build کردن برنامه خواهد بود. شما به راحتی می توانید سورس برنامه خود را توسط هر ویرایشگر متنی (مثل Notepad) باز کرده و تغییر دهید اما بهترین ویرایشگر برای این کار ویرایشگر داخلی دلفی یا Code Editor دلفی است که با داشتن خصوصیات منحصر به فرد بهترین گزینه برای شما خواهد بود.


شما به راحتی می توانید با استفاده از زبان دلفی کامپوننت های خود را ساخته و آن ها را به قسمت Component Palette اضافه کنید. در صورت نیاز می توانید Component Palette را به دلخواه خود سفارشی نمائید.
همچنین می توانید برنامه هایی تولید کنید که هم در ویندوز و هم در لینوکس قابل انتقال و اجرا باشند. این نوع از برنامه ها باید با استفاده از کتابخانه بورلند برای Cross-Platform نوشته شوند. کتابخانه CLX شامل کلاسهایی است که قادرند در دو سیستم عامل ویندوز و لینوکس بدون هیچ مشکلی کار کنند.

ایجاد پروژه های نرم افزاری
هر گاه که شما در دلفی شروع به نوشتن برنامه ای می کنید در واقع در حال ایجاد یک پروژه نرم افزاری هستید. پروژه شامل تعدادی فایل مرتبط با هم می باشد که در نهایت برنامه کاربردی را تشکیل می دهند. بعضی از این فایل هاهنگام طراحی برنامه ساخته می شوند و بعضی دیگر به صورت خودکار در هنگام کامپایل برنامه.
شما می توانید محتویات پروژه تان را در پنجره Project Manager دلفی مشاهده کنید و از همان جابه مدیریت پروژه بپردازید. امکان ترکیب پروژه های مختلف در قالب یک پروژه و انجام کارهای گروهی از دیگر مزایای مدیریت پروژه در محیط دلفی است.

خطایابی آسان
یکی از مباحث مهم در توسعه نرم افزارها، مبحث خطایابی است. دلفی شامل یک خطایاب (Debugger) داخلی است که در پیدا کردن و رفع خطاهای پروژه به شما کمک بسیاری می کند. این Debugger به شما امکانات مخلفی از جمله کنترل اجرای برنامه، مشاهده مقادیر متغیرها و داده ها و تغییر دادن آن ها را به شما می دهد. این Debugger قادر به شناسایی خطاهای هنگام اجرا Runtime Errors و برخی از خطاهای منطقی Logical Errors است.

توزیع برنامه کاربردی
دلفی برخلاف Visual Basic و زبان های تحت دات نت، برنامه هایی تولید می کند که بدون هیچ پیش نیازی در سیستم عامل ویندوز اجرا می شوند. این مزیت بسیار بزرگی است که دلفی با تکیه بر آن صدها هزار توسعه دهنده را جذب خود کرده است.
برای توزیع برنامه های دلفی روی لینوکس به Kylix نیاز خواهید داشت.

کدام نسخه دلفی؟

در این نوشته شما با خصوصیات دلفی نسخه 7 محصول شرکت بورلند آشنا شدید. این نسخه در سال 2001 به بازار آمده است و تا به حال برنامه های بسیار زیادی بوسیله این محیط برای سیستم عامل ویندوز نوشته شده است. با اینکه هفت سال از توزیع این نرم افزار می گذرد اما هنوز هم برای توسعه نرم افزارهای مختلف و محصولات قدرتمند مورد استفاده قرار می گیرد. در همین ایران خودمان بسیاری از شرکت های کوچک و بزرگ نرم افزاری از دلفی نسخه 7 برای تولید محصولات خود بهره می برند. البته استفاده از این محصول در جهان در حال کاهش است و حضور دلفی 7 در توسعه برنامه های کاربردی هر روز کمرنگ تر می شود اما در ایران هنوز برای استفاده جا دارد. چون بسیاری از شرکت های دولتی و بعضاً خصوصی در ایران امکانات سخت افزاری بسیار پائینی دارند، شرکت های نرم افزاری امکان تغییر تکنولوژی و استفاده از تکنولوژی های روز دنیا همچون Microsoft .NET و JAVA را ندارند و قدرت و شجاعت این ریسک را هم ندارند.

اما برای کسانی که همیشه دنبال جدیدترین ها هستند، نسخه 2007 آخرین نسخه دلفی است که شرکت CodeGear یکی از شرکت های زیر مجموعه Borland آن را تولید و توزیع کرده است. این نسخه به راحتی در بازارهای ایران پیدا می شود.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :





زمان بندی پروژه های نرم افزاری

20 07 2008

زمان بندی پروژه یکی از مهمترین وظایف مدیران نرم افزار است. مدیران، زمان و منابع مورد نیاز برای انجام فعالیت ها را برآورد می کنند و آن ها را به ترتیب منسجمی سازمان دهی می کنند. حتی اگر پروژه جدید شبیه به پروژه های قبلی باشد، زمان بندی پروژه های قبلی نمی تواند مبنای درستی برای پروژه های جدید قرار گیرد. با توجه به این که پروژه های مختلف ممکن است از روش های طراحی و زبان های پیاده سازی مختلفی استفاده کنند، زمان بندی پیچیده تر خواهد شد.
اگر پروژه از نظر تکنیکی پیشرفته باشد، حتی اگر مدیران تمام جنبه ها را در نظر گرفته باشند، برآوردهای اولیه خوش بینانه خواهد بود. به این ترتیب، زمان بندی نرم افزار با زمان بندی هر نوع پروژه پیشرفته دیگر فرقی نمی کند. ساخت هماپیما، پل های جدید و حتی مدل های جدیدی از ماشین ها به دلیل مشکلات پیش بینی نشده، با تاخیر انجام می شوند. بنابراین به تدریج که اطلاعات بیشتری از پروژه به دست می آید، زمان بندی باید به روز شود.

farasun.wordpress.com

زمان بندی درست می تواند یک پروژه شکست خورده را به یک پروژه موفق تبدیل کند و بالعکس، یک زمان بندی نادرست می تواند یک پروژه موفق را به مرز نابودی برساند. شرکت های نرم افزاری در ایران با مبحث زمان بندی پروژه کاملاً بیگانه اند و این بی توجهی اثر نامطلوب خود را به صورت مستقیم در محصولات و مشتریان شرکت خواهد گذاشت. کیفیت نامطلوب محصولات نرم افزاری در ایران نتیجه بی توجهی به این مسائل مهم و دیگر مباحث مهندسی نرم افزار است.

زمان بندی پروژه، کل کار پروژه را به فعالیت های جداگانه ای تقسیم می کند و زمان مورد نیاز برای کامل کردن این فعالیت ها را برآورد می کند. معمولاً بعضی از این فعالیت ها به طور موازی انجام می شوند. زمان بندی های پروژه باید این فعالیت های موازی را هماهنگ کنند و کار را طوری سازمان دهی کنند که نیروی کار به طور بهینه مورد استفاده قرار گیرد. نباید وضعیتی به وجود آید که کل پروژه به خاطر عدم اتمام یک وظیفه حیاتی، به تاخیر افتد.
در برآورد زمان بندی، مدیران نباید فرض کنند که هر مرحله از پروژه فاقد هر گونه مشکلی است. افرادی که بر روی پروژه کار می کنند، ممکن است بیمار شوند یا پروژه را ترک کنند، سخت افزار ممکن است خراب شود و نرم افزار پشتیبان با تاخیر تحوبل داده شود. اگر پروژه جدید بوده و از نظر تکنیکی پیشرفته باشد، بعضی از بخش های آن ممکن است دشوار باشند و زمان بیشتری از زمان تخمین زده را به خود اختصاص دهند.

فرآیند زمان بندی پروژه های نرم افزاری

فرآیند زمان بندی پروژه های نرم افزاری

مدیران علاوه بر زمان باید منابع مورد نیاز برای تکمیل هر وظیفه را نیز برآورده کنند. منبع اصلی، منابع انسانی اند. سایر منابع عبارت اند از امکانات نرم افزاری، سخت افزاری و هزینه سفر کارکنان پروژه و …
زمان بندی پروژه معمولاً به صورت مجموعه ای از نمودارها نمایش داده می شود که نقص کار، وابستگی های فعالیت ها و انتصاب کارکنان را نشان می دهند. ابزارهای مدیریت زمان بندی پروژه، مثل Microsoft Project برای تولید خودکار نمودارها به کار می روند.
زمان بندی درست می تواند یک پروژه شکست خورده را به یک پروژه موفق تبدیل کند و بالعکس، یک زمان بندی نادرست می تواند یک پروژه موفق را به مرز نابودی برساند. همان طور که در ایران نیز شاهد بوده ایم، پروژه های بسیاری با صرف هزینه های زیاد و حتی پشتیبانی دولتی به علت عدم زمان بندی مناسب و پیش بینی های مناسب یا کاملاً نابود شده اند و یا نیمه تمام رها شده اند. مبحث زمان بندی کمتر در شرکت های کوچک و متوسط نرم افزاری مطرح می شود و این مطلب اثر نامطلوب خود را به صورت مستقیم در محصول و مشتریان آن شرکت خواهد گذاشت. این مسئله در بسیاری از شرکت های نرم افزاری ایران یا نادیده گرفته می شود و یا با روش های نادرست و ناقص اجرا می شود. شرکت های کوچک با مشتریان محدود که اصلاً با این مورد کاملاً غریبه اند و اجرای این روش ها را کاری بیهوده می پندارند. البته در مفید بودن آن شکی ندارند اما از مشکلات و هزینه های آن هراس دارند.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :





تبدیل اسناد به فرمت PDF با OpenOffice

18 07 2008

OpenOffice مجموعه ي کاملي از نرم افزارهاي اداري است که به عنوان تنها رقيب آفيس مايکروسافت خود را تا به امروز معرفي کرده است. اين نرم افزار داراري يک تبديل کننده PDF داخلي است که به شما اجازه مي دهد فرمت هاي مختلفي را به PDF تبديل کنيد. OpenOffice فرمت هاي اسناد مختلفي همچون doc نرم افزار Microsoft Word را پشتيباني مي کند و اين بدين معني است که شما به راحتي قادريد يک فايل doc را در OpenOffice Writer باز کرده و آن را به فرمت PDF تبديل کنيد.

OpenOffice Logo

مراحل کار بدين صورت خواهد بود که شما ابتدا فايل doc را با استفاده از منوي File و انتخاب گزينه Open باز مي کنيد. حالا دوباره منوي File را باز نموده و اين بار گزينه Export as PDF را بر مي گزينيد. همان طور که مي بينيد پنجره تنظيمات جلوي چشم شما ظاهر مي شود. در اين پنجره مي توانيد عکس هاي موجود در سند را فشرده کنيد تا حجم کمتري بگيرند و يا اگر مايل هستيد براي فايل PDF خروجي، رمز عبور تعيين کنيد. پس از اتمام کار روي دکمه Export کليک کرده و مسير فايل PDF را مشخص کنيد. به همين راحتي فايل PDF شما آماده است.


نتيجه گيري : حالا دو ساعت بگرد دنبال سريال نامبر يا کرک نرم افزار PDF Factory! وقتي OpenOffice اين امکان را با يک مجموعه کامل اداري در اختيار شما قرار ميده اون هم کاملاً رايگان پس چه نيازي به يک نرم افزار قفل شکسته داريد.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شوید

farasun.wordpress.com

مطالب مرتبط :





ارسال اطلاعات میان دو برنامه کاربردی

15 07 2008

موقعیت های بسیاری پیش خواهد آمد که برنامه های شما احتیاج به برقراری ارتباط و استفاده از اطلاعات یکدیگر دارند. در اینجا منظور از هر “برنامه”، برنامه ی کاربردی است که هر کدام وظیفه مشخص و مستقلی را انجام می دهند. همان طور که می دانید برنامه های Client\Server کاملاً به یکدیگر وابسته اند و به کمک هم یک وظیفه ی مشخص را انجام می دهند. این نوع برنامه ها، به ارتباط و اشتراک اطلاعات کاملاً نیازمندند; به عبارت دیگر بدون ارتباط با هم به هدف خود نخواهند رسید. این گونه برنامه ها اکثراً در شبکه های کامپیوتری به کار گرفته می شوند و طبیعتاً از ارتباطات شبکه ای برای ارسال اطلاعات به یکدیگر استفاده می کنند. حالا موقعیتی را در نظر بگیرید که دو تا از برنامه های شما که هر یک “محصول” جداگانه ای هستند، احتیاج به تبادل اطلاعات و ارتباط با یکدیگر دارند. این نکته را هم در نظر بگیرید که این برنامه های کابردی هر دو در یک کامپیوتر مستقل نصب و استفاده می شوند. در این وضعیت شما چه راهکاری برای این مسئله ارائه می دهید؟

در این نوشته راه های معقولی که به ذهنم می رسد را ذکر می کنم.

  • استفاده از فایل : یکی از معمولی ترین و بدیهی ترین روش های ارتباط میان دو برنامه کابردی استفاده از فایل هاست. در این روش شما اطلاعاتی را که می خواهید به برنامه “گیرنده” بفرستید، در یک فایل مشخص و در یک مسیر از پیش مشخص شده قرار می دهید. این کار بوسیله برنامه “فرستنده” انجام می گیرد. سپس برنامه “گیرنده” با استفاده از الگوریتم از پیش تعیین شده (و قراردادی که میان این دو است) اطلاعات را از روی فایل مورد نظر خوانده و مورد استفاده قرار می دهد. در این روش شما باید نوع فایل را مشخص کنید. ساده ترین نوع، فایل متنی است که بسیاری از برنامه های ساده از آن استفاده می کنند. همین فایل های متنی ساده نیز می توانند دارای ساختار مشخص باشند. فایل های ini که بسیاری از برنامه ها برای ذخیره تنظیمات خود از آن بهره می برند، از این نوع اند. استفاده از فایل های نوع دار روش بهتری است که الگوریتم مشخص خود را دارند. استفاده از فایل های نوع دار به خاطر امنیت بیشتر توصیه می شود.
  • استفاده از حافظه : این روش سرعت بیشتری نسبت به روش های دیگر دارد اما الگوریتم آن مشکل تر از دیگر روش هاست. از این روش هنگامی استفاده می کنند که اولاً حجم اطلاعات بسیار کم و دوماً سرعت بر هر چیز دیگری ارجحیت داشته باشد. در این روش نیز باید قراردادی میان برنامه “فرستنده” و “گیرنده” وجود داشته باشد تا هر کدام با استفاده از الگوریتم مشخصی به حافظه ی اختصاص داده شده به دیگری دسترسی پیدا کند. به علت مشکل بودن کد نویسی و الگوریتم این روش و محدودیت حجم اطلاعات ارسالی، به ندرت از آن استفاده می شود و استفاده های خاص دارد. توجه کنید که این روش را با کپی کردن اطلاعات در حافظه ی “کلیپ برد” ویندوز اشتباه نگیرید. همان طور که می دانید حافظه ی کلیپ برد، یک حافظه ی موقتی و مشترک میان تمام برنامه های در حال اجراست. ممکن است قبل از استفاده ی برنامه “گیرنده” از اطلاعات، برنامه کاربردی دیگری اطاعات موجود را تغییر داده و یا حتی پاک کند.
  • استفاده از رجیستری : این روش تقریباً همانند روش استفاده از فایل، اطلاعات را بر روی دیسک سخت ذخیره می کند. این روش فقط در سیستم عامل ویندوز کاربرد دارد و نسبت به فایل ها دردسرهای کمتری دارد. رجیستری شامل داده های مختلف با انواع داده ای گوناگون است که برای ذخیره تنظیمات و اطلاعات ویندوز و برنامه های کاربردی مورد استفاده قرار می گیرد. در این روش دیگر شما نگران دسته بندی اطلاعات نخواهید بود، ذات رجیستری منظم است و داده های آن همگی دسته بندی شده و نوع دارند. شما فقط کافیست کلیدهای مورد نظر خود را در رجیستری تنظیم کنید و بر اساس قراردادی از پیش تعیین شده، میان برنامه های کاربردی خود ارتباط برقرار کنید. در این روش برنامه “فرستنده” کلیدهای مشخصی را در مسیر از پیش تعیین شده ای می سازد و برنامه “گیرنده” به هنگام نیاز این اطلاعات را می خواند و مورد استفاده قرار می دهد. این اطلاعات می توانند موقتی باشند و برنامه “گیرنده” پس از خواندن، آن ها را حذف نماید.
  • استفاده از بانک اطلاعاتی : این روش مناسب برنامه هایی است که از بانک اطلاعاتی برای ذخیره اطلاعات استفاده می کنند. در این روش ممکن است هر دو برنامه از یک بانک اطلاعاتی استفاده کنند، که در اینجا مشکلی نیست. هر دوی برنامه ها اطلاعات خود را از یک بانک می خوانند. اما اگر از بانک های مختلف استفاده می کنند، باید دسترسی هر یک از برنامه ها بر اساس قرارداد از پیش تعیین شده ای، به بانک اطلاعاتی یکدیگر میسر شود. این روش همان روش استفاده از فایل است که به طور جداگانه مورد بررسی قرار گرفت.

در مورد روش های بالا بایستی این نکته را در نظر داشته باشید که هدف و کاربرد برنامه های شما چیست. همچنین اهمیت “امنیت” را به هیچ وجه از یاد نبرید. بهترین کار این است که شما ابتدا با استفاده از یک الگوریتم مشخص و قراردادی میان برنامه های کاربردی خود، اطلاعات را رمز گذاری کرده و سپس با استفاده از یکی از روش های فوق اطلاعات را به برنامه ی دوم ارسال کنید تا برنامه ی دوم با استفاده از همان الگوریتم مشخص اطلاعات را رمز گشایی کرده و مورد استفاده قرار دهد. همچنین اگر پس از استفاده ی برنامه “گیرنده” دیگر به اطلاعات مورد نظر نیازی ندارید، حتماً آن ها را حذف کنید.

farasun.wordpress.com

این نوشته را تقدیم می کنم به دوستی که مرا مجبور به نوشتن این پست کرد!!

farasun.wordpress.com
Farasun Feed - Subcribeمشترک فراسان شوید

farasun.wordpress.com

مطالب مرتبط :