برنامه نویسی سفارشی
برنامه نویسی سفارشی چیست؟
برنامهنویسی سفارشی(Custom Software Development)به توسعه نرمافزارهایی اشاره دارد که بر اساس نیازها و مشخصات خاص یک شرکت، سازمان، یا فرد بهصورت اختصاصی و به سفارش آنها توسط یک شرکت یا گروه تولید میشود.
این نرمافزارها متناسب با نیازهای مشتری ساخته و تولید میشوند و معمولاً برای رفع چالشها و فرآیندهای خاص سازمان یا صنعت مورداستفاده قرار میگیرد.


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


مراحل تولید نرم افزار سفارشی
1- مشاوره اولیه: اولین مرحله و شاید یکی از مهم ترین مراحل توسعه یک نرم افزار سفارشی این مرحله است که در این مرحله جلسه ای برای شناخت نیازها و امکانت مد نظرصاحب نظران شرکت سفارش دهنده نرم افزار سفارشی با برنامه نویسان و مدیر شرکت برگذار خواهد و اطلاعات و انتظارات آن ها از نرم افزار مدنظر خود جمع آوری و ایده ها و راه حل های آنها بیان خواهد شد، از آنجا که این مرحله بشدت مهم است و شاید برای شناسایی نیاز ها و راه حلها نیاز به تعیین جلسه دیگر هم باشد، همچنین صاحب نظران شرکت هم باید زمان و انرژی بیشتری را در این مرحله صرف کنند .
2- ارائه پروپوزال: بعد از مرحله مشاوره اولیه و توافق دو طرف به مرحله ارائه پروپوزال خواهیم رسید که در مدتزمان یک هفته البته بسته به وسعت پروژه یک پروپوزال شامل مدتزمان انجام قرارداد و هزینه نرمافزار سفارشی برای شما ارسال خواهد شد، البته شایانذکر است که ارائه پروپوزال زمان و توان زیادی از ما گرفته و این پروپوزال رایگان در اختیار شما قرار نمیگیرد ولی پس از ثبت قرارداد هزینه ارائه پروپوزال از قرارداد شما کسر خواهد شد.
3- عقد قرارداد: پس از قبول زمان و هزینه نرمافزار سفارشی ارائهشده در پروپوزال از طرف شرکت سفارشدهنده به مرحله ثبت قرارداد خواهیم رسید که طی جلسهای متن قرارداد طی شرایط و ضوابط رسمی شرکت و درج زمان، هزینه و لیست خدماتی که باید انجام شود تنظیم خواهد شد و با امضای دو طرف قرارداد رسمی خواهد شد.
4- اجرای پروژه: پس از تمام مراحل بالا به مرحله اجرای پروژه خواهیم رسید که متناسب با نیازهای نرمافزار سفارشی گروه توسعهدهنده آن تشکیل خواهد شد و طی روندی منظم نرمافزار تولید میشود و تمام قسمتهای این مرحله مربوط به شرکت توسعهدهنده و مدیر پروژه خواهد بود.
5- تست و ارزیابی: پس از توسعه، نرمافزار مورد آزمون و تست قرار میگیرد تا اطمینان حاصل شود که عملکرد آن مطابق با نیازها و خواسته شما بوده است.
6- استقرار و آموزش: پس از تست و تأیید کارکرد نرمافزار، نرمافزار به محیط مدنظر سفارشدهنده منتقل میشود.آموزش نهایی به کاربران و مدیران سیستم ارائه میشود تا بتوانند نرمافزار را بهخوبی استفاده کنند.
7– پشتیبانی پروژه:پس از عرضه نرمافزار، خدمات پشتیبانی و نگهداری مستمر ارائه میشود که به مدت یک سال پشتیبانی نرمافزار بهصورت رایگان انجام خواهد شد.مشتریان میتوانند درخواست انجام اصلاحات و تغییرات موردنیاز خود را بدهند.

برنامه سفارشی تحت وب
برنامهنویسی تحت وب یک حوزه از توسعه نرمافزار است که نرمافزارها را برای محیط وب طراحی میکند.برنامه نویسان نرمافزارهای تحت وب از زبانها و فریم ورکهای مختلف برای توسعه این نرمافزارها استفاده میکنند که در ادامه به آنها اشاره خواهیم کرد.
برنامههای تحت وب شامل دو ناحیه تحت عنوان:
فرانت اند(front end):
فرانتاند به قسمتهای قابلمشاهده نرمافزارهای تحت وب اشاره دارد که کدهای غیرقابل فهم را برای کاربران در یک قالب گرافیکی نمایش میدهد. برنامه نویسان در بخش فرانت از زبانهای برنامهنویسی متعددی استفاده میکنند مانند HTML برای ساختار صفحات وب، css برای نمایش صفحات وب و java Script برای تعامل با کاربران و همچنین از فریم ورک های معروفی مانند: React,Angular,Django,Vue.js که در شرکت ایرانمهر از فریم ورک vue.js استفاده میشود که یکی از فریم ورک های javaScript است و توسط Evan You که کارمند سابق گوگل بود ساختهشده است، این فریم ورک بسیار قدرتمند و انعطافپذیرتر از فریم ورک های دیگر است.
بک اند(back end):
بخشی از نرمافزار است که در سمت سرور(Server-Side) اجرا میشود و مسئولیت پردازش و مدیریت دادهها را دارد از دیگر وظایف آن میتوان به ارتباط با پایگاه داده ، پردازش منطق نرمافزار و ساخت API اشاره کرد این قسمت با زبانهای مختلفی نوشته میشود که در ابران مهر از زبان #C و فریم ورک ASP.NET CORE استفاده میشود که بسیار قدرتمند است
بهره مندی از بروز ترین فناوری های عرصه نرم افزار و برنامه نویسی سفارشی تحت وب:










برنامه نویسی سفارشی اندروید
ایران مهر با استفاده از زبان برنامه نویسی Java و محیط توسعه Android Studio اقدام به تولید نرم افزارهای تحت سیستم عامل اندروید می کند.
گوگل در سال 2013 اقدام به معرفی محیط توسعه رسمی خود که به طور خاص برای توسعه اندروید و بر اساسJetBrain’s IntelliJ IDEA طراحی شده بود، نمود.
استفاده محیط توسعه رسمی و اختصاصی گوگل به توسعه گران و برنامه نویسان اندروید اجازه می دهد که برنامه ای با حداکثر کارایی و تطابق با سیستم عامل اندروید تولید کنند.
ایران مهر از امکانات به روز صنعت نرم افزار و تیمی با تجربه و زبده در زمینه برنامه نویسی اندروید عامل موفقیت و حسن سابقه ما در این زمینه بوده است ، و با کسب تجربه روز افزون آماده خدمت رسانی به شما عزیزان هستیم.
بهره مندی از بروز ترین فناوری های عرصه نرم افزار و برنامه نویسی سفارشی اندروید:



نرم افزار سفارشی تحت ویندوز
ین نوع نرم افزار ها در ایران مهر با استفاده از زبان دلفی و محیط توسعه Embarcadero Rad Studio X10 توسعه داده می شوند . معماری مورد استفاده برای این نوع نرم افزارها معماری سه لایه می باشد در ادامه به توضیح این معماری می پردازیم.
معماری سه لایه، یک الگوی معماری مشتری خدمتگزار در مهندسی نرمافزار است که در آن سه واحد ‘واسطه کاربری’ (نمایش)، ‘پردازش منطقی’ (منطق) و ‘دسترسی به داده’ (داده) به صورت واحد های مستقل و حتی بر روی پلت فرم های جداگانه، توسعه و نگهداری می شوند. برای اولین بار این معماری توسط آقای John J. Donovan در Open Environment Corporation به کار گرفته شد.
جدا از فواید ناشی از ماجولار بودن این معماری، فایده اصلی معماری سه لایه این است که هر کدام از سه واحد مذکور در صورت نیاز برای پاسخگویی به نیازمندی های جدید یا تغییر در تکنولوژی، به صورت مستقل و بدون نیاز تغییر لایه دیگر، تغییر کنند.
لایه نمایش
این لایه بالایی ترین لایه یک برنامه نرمافزاری محسوب می شود که در واقع کاربر نهایی، تنها با این لایه در ارتباط می باشد. وظیفه این لایه این است که اطلاعاتی از لایه منطق دریافت کرده است را به شکل مناسبی مثلاً در قالب یک واسطه کاربری گرافیکی به کاربر نمایش دهد.
لایه منطق (لایه میانی)
این لایه وظیفه این دارد که بر روی داده هایی که از لایه داده دریافت کرده پردازش های لازم را انجام داده و در اختیار لایه نمایش قرار گذارد. در واقع عملکرد اصلی برنامه در این لایه پیاده سازی می شود. هم چنین این لایه هیچ وقت به صورت مستقیم مثلاً با پایگاه داده صحبت نمیکند و به واسطه لایه داده این کار را انجام می دهد.
لایه داده
لایه داده شامل ارتباط به پایگاه داده، فایل سرور و غیره و هم چنین لایه دسترسی به داده که عملیات های مانا بر روی داده ها انجام می شود، می باشد. این لایه وظیفه دارد یک واسطه برای لایه منطق فراهم آورد که از طریق آن لایه منطق بتواند بدون درگیر شدن در پیچیدگی های مربوط به ارتباط مسقتیم با پایگاه داده و … بتواند عملیات لازم شامل ذخیره سازی، ویرایش، حذف و بازیابی داده ها را انجام دهد. اگر چه چنین معماری ای، ممکن است تاثیر منفی بر روی کارایی و سرعت برنامه نهایی بگذارد ولی باعث می شود که تاثیر به سزایی بر روی بهبود مقیاس پذیری و نگهداری برنامه بگذارد.
بهره مندی از بروز ترین فناوری های عرصه نرم افزار و برنامه نویسی تحت ویندوز:



سوالات متداول:
برگذاری جلسه مشاوره به درخواست شما انجام میشود و الزامی نیست ولی این جلسه بسیار مهم و برای شناخت و درک بهتر پروژه است پس برگزاری آن بهتر است.
بله، هزینه این جلسه ساعتی یک میلیون تومان است ولی اگر قرداد انجام پروژه بسته شود هزینه آن از مبلغ قرارداد کسر خواهد شد.
ارائه قیمت پس از بررسی ابعاد و نیاز های شما در یک پروپزال انجام می شود و تعیین این قیمت بسادگی انجام پذیر نیست.
پشتیبانی محصولات در یک سال اول بصورت کاملا رایگان انجام خواهد شد و پس از یک سال با ثبت قرارداد پشتیبانی با هزینه 20 درصد قرارداد پروژه انجام خواهد گرفت.
پس از ثبت قرارداد 40 درصد مبلغ قرارداد به عنوان پیش پرداخت بصورت نقد پرداخت می شود و 50 درصد هم پس از اتمام پروژه و 10 درصد باقی مانده دو ماه پس از رفع باگ های احتمالی پروژه