تجربیات برنامه نویسی

by مجتبی بنائی - یکشنبه 23 خرداد 1389 - گروه : تخصصی - مشاهده : 3
برچسب‌ها: #تخصصی‌نرم‌افزار #برنامه‌نویسی #تجربیات #تخصصی

s: برنامه نویسی | تجربیات | تخصصی هفته پیش مطلبی خواندم راجع به باورهای غلط یک برنامه نویس . از اونجایی که خودم هم چندین سال است که دارم برنامه نویسی می کنم (ازبرنامه نویسی توی گروه صدری شرکت داده پردازه ایران سال 81 تا امروز که برای خودم برنامه نویسی می کنم ) کاملاً با این مقاله هم نظرم . با تجربیاتی که توی این چندسال به دست آورده ام به این باور رسیده ام که برنامه نویسی تنها، برای موفقیت یک پروژه لازم نیست. عوامل بسیار زیادی دخیلند از جمله تحلیل درست نیازمندیهای مشتری، تحویل به موقع، راحتی کار با نرم افزار و بازاریابی از مهم ترین این عوامل هستند. یادمه روی یک کار برای شرکت مسافربری سیروسفر بیرجند حدود یکسال وقت گذاشتیم و کلی هزینه کردیم (حدود 10 میلیون تومان من ضرر کردم) تا برنامه آماده شد و قرار بود بعد از آماده شدن و تحویل به شرکت سیروسفر به بقیه شرکتها هم نرم افزار را بفروشیم . درست یکماه قبل از تحویل برنامه خبردار شدیم سازمان حمل و نقل استان با یک شرکت دیگر در این زمینه قرار داد بسته است ، شرکتی که تازه می خواست شروع کند به برنامه نویسی و تحلیل کار . پیگیریهای بعدی ما هم به جایی نرسید. اشتباه دیگری که دراین پروژه انجام دادیم این بود که فایل اجرایی برنامه را بدون هیچ موهوم سازی تحویل دادیم . یکی از مشکلات زبانهای برنامه نویسی که به زبان میانی (نه زبان اسمبلی یک پردازنده خاص) کامپایل می شوند مانند جاوا و زبانهای دات نت این است که خیلی راحت با داشتن فایل اجرایی برنامه ( .Exe ) می توانید سورس برنامه را به دست آورید (ابزارهای مختلفی برای این کار هست مانند رفلکتور ). برای رفع این مشکل هم خود مایکروسافت از ابزار درهم سازی و موهوم سازی کد استفاده می کند و هم شرکتهای دیگر اما آنزمان این را نمی دانستیم و به نظر کدی که خیلی روی آن وقت گذاشته بودیم ، به راحتی لو رفته بود (یکی از همکاران برنامه ای دقیقاً شبیه برنامه ما را یک جای دیگر با نام دیگری دیده بود با همان عکس ها و منوها و امکانات) . نکته بعدی که به آن رسیده ام این است که حتماً باید از یک چهارچوب برنامه نویسی استفاده کنیم که زحمت برنامه نویس را به حداقل برساند و از طرفی تمام نیازهای اصلی یک برنامه حرفه ای مانند امنیت ، شی گرایی کامل، اعتبارسنج ها، تولید خودکار دستورات اس کیو ال، مدل سه لایه نرم افزار(ظاهر، منطق ، داده ) و مانند آن را داشته باشد. جدیداً در کارهایمان از چهارچوب CSLA و ابزار تولید خودکار کد به نام Code Complete استفاده می کنیم که واقعاً مفید و ارزشمند است. فقط همین را فعلاً بگویم که با این ابزار اگر بانک اطلاعاتی یک پروژه را درست و با دقت طراحی و پیاده سازی کنید، در عرض چند دقیقه تمام کلاس های لازم برنامه و حتی فرم های برنامه شامل فرم اصلی به صورت خودکار ساخته می شود هر چند فرمها باید دوباره نوشته شوند اما بقیه امکانات و کلاسهای تولید شده آن واقعاً حرفه ای و کارراه انداز است. سعی می کنم در این مورد مجدداً صحبت کنم. نکته دیگری که در آخرین کار انجام شده (سیستم درآمدهای مراکز بهداشت استان) شرکت به آن رسیده ام این است که خیلی از کارهای برنامه می تواند مستقیماً درون بانک اطلاعاتی انجام شود و به کمک زبانهای شبه برنامه نویسی اس کیو ال مانند T-SQL که زبان کارباداده های مایکروسافت است ، می توان با سرعت بیشتری کار با داده ها را انجام داد. نکته مهم دیگری که به آن رسیده ام این است که خیلی سریع نباید برنامه نویسی را شروع کنیم و تا زمانی که نیازمندیهای دقیق و خواسته های مشتری را متوجه نشده ایم و یک دمو از برنامه آماده نکرده ایم، سراغ برنامه نویسی نرویم. ادامه دارد .....

Comments