PDA

View Full Version : آموزش: ساخت و تحویل پروژه به مشتری با کمترین دردسر!!!



user6627
شنبه 04 خرداد 1392, 23:10 عصر
سلام

خیلی از دوستان بارها درمورد انتشار برنامه شون سوال کرده بودند که چطور میتونن برنامه شون را تحویل مشتری بدن تا با کمترین دردسر روی سیستم نصب بشه و کار کنه. گفتم اندک تجربه ای که دارم را در اختیارتون بگذارم.:چشمک:

ببینید دوستان اگر میخواید برنامه ای بنویسید که با کمترین خطا کار کنه، پشتیبانی راحتی داشته باشه و حتی در نصب و راه اندازی آن کمترین مشکل را داشته باشید باید 3 مورد کلی را در نظر داشته باشین:

1- مستند کردن روال کار تا حد امکان در ابتدا و قبل از کدنویسی
2- نحوه ی کدنویسی و پیکربندی پروژه تون (مثلا استفاده کردن از اصولی مثل شی گرایی، لایه بندی و ...)
3- ابزارهایی که برای ساخت برنامه تون از آن استفاده میکنید

و اما توضیح این موارد...

در مورد 1 : سعی کنید همیشه برای شروع یک نقشه از کارتون داشته باشید، نقشه ای که در اون قسمتهای مختلف برنامه مشخص شده (مثل چارچوب کلی برنامه، کلاسهای موجود و نحوه ی ارتباطشون با هم و حتی توابعی که در کلاسها نیاز دارید البته فقط ذکر کارشون و نوع ورودی و خروجی شون کفایت میکنه) این طوری هم خیلی در وقتتون صرفه جویی میشه و هم میتونید راحتتر بصورت گروهی کار کنید و حتی در مورد قیمت دهی به مشتری و تشخیص بهتر نیازهای مشتری بهتون کمک میکنه

در مورد 2 : برای دست یافتن به یک برنامه با کمترین کدنویسی، راحتی اشکال یابی و پشتیبانی و امکان کار گروهی راحتتر از لایه بندی استفاده کنید و برنامه را طوری طراحی کنید که تا آنجا که ممکنه از وراثت و شی گرایی استفاده کنه که معمولا از الگوهای MVP, MVVM, MVC استفاده میشه.

در مورد 3 که بحث اصلی من هم هست:
ابزارهایی هست که استفاده میکنیم مثلا فرض کنید یک برنامه ی تحت کلاینت (تک کاربره) را با اصول لایه بندی و خیلی عالی نوشتید اما از SQL Server بعنوان پایگاه داده اون استفاده کرده باشین که اگر از نسخه های جدیدتر و مسلما با حجم بالاترش باشه که برای نصب دچار مشکل میشین چون برای نصب باید خودتون در محل حضور داشته باشید به همراه نصب وقتگیر SQL Server و به تبع سنگین شدن سیستم مشتری !!!:لبخند:

خب چه باید کرد؟

شما بایستی براساس نرم افزارتون ابزارهاتون را انتخاب کنید مثلا وقتی حجم اطلاعاتتون خیلی سبکه از SQLite ، حجم بالاتر از SQL Compact ، بالاتر مثلا یک برنامه حسابداری SQL Express ، و برای حجم های زیاد و با تعداد کاربر بیش از یک نفر (تحت شبکه) از SQL Server استفاده کنید مثلا وقتی برنامه تحت کلاینته و SQL Express تا حجم 10GB را حمایت میکنه چرا از SQL Server استفاده بشه؟

فرض کنید قراره یک برنامه در حد حسابداری برای یک شرکت بنویسید چه ابزاری استفاده کنیم :
ابزارهای زیر میتونن گزینه های مناسبی باشن:
1- .net 3.5 client profile : چون حداقل روی ویندوز 7 نصبه ، و از طرفی نسخه کلاینتش سبکتره،مگر اینکه مجبور بشم و از نسخه 4 کلاینت استفاده کنم.

2- SQL Express 2008 / 2008 R2: که ویرایشهای متعددی داره و نصبش توسط ویژوال استودیو ممکنه، سبکتر از نسخه 2012 هست درصورتیکه هردوشون تا 10GB (هم نسخه 2012 و هم 2008R2) را پشتیبانی میکنن و از طرفی از 2005 هم قویتره!!!

3- Fast Report برای گزارشگیری چون فقط چندتا dll هست که باید همراه برنامه باشه و نیاز به نصب برنامه خاصی روی سیستم مشتری نداره و از طرفی محیط فارسی هم داره برخلاف Crystal که هم نصب مجزا داره و هم محیطش انگلیسیه!!!

نکته: اگر از ADO استفاده میکنین میتونین به دو روش بانکتون را به SQL اضافه کنین:

1- فایلهای بانک را همراه برنامه نصب کنید (در برنامه نصب بگنجانید)

2- از اسکریپت بانکتون استفاده کنید که دیگه نیاز به گنجاندن فایل بانک در فایل نصب نیست

سپس در هنگام شروع برنامه تون چک کنید و اگر به SQL وصل نبود آنرا Attach کنید

ولی اگر از ORM ها استفاده میکنید مثلا اگر از EF Code First استفاده میکنید نه نیاز به اسکریپت دارید و نه خود فایل بانک، بلکه فقط کافیه SQL روی سیستم نصب باشه تا خود EF براتون بانک را بسازه که البته باید در مورد EF Code First و امکانات و تنظیماتش مطالعه کنید!!!

امیدوارم مفید بوده باشه:لبخندساده: