در سال 2014، به عنوان پیمانکار یک راهحل نرمافزاری مکانمحور (GIS)، با یک شرکت نرمافزاری وارد قرارداد شدم. این پروژه شامل توسعه تعدادی Add-in برای نرمافزار دسکتاپ ArcGIS، نرمافزار تحت وب و نرمافزار اندرویدی بود. کاربران نهایی این نرمافزار مهندسین شرکتهای توزیع برق، وزارت جهاد کشاورزی، سازمان بنادر و دریانوردی و زیرمجموعههای وزارت نفت بودند. در این پروژه از تکنولوژیها و زبانهای برنامهنویسی Java، CSharp، WPF، WCF، ArcGIS Desktop و ArcGIS Server استفاده شد. تیم توسعهدهنده شامل 5 نفر بود که پس از پایان قرارداد، به عنوان اعضای ثابت در شرکت استخدام و مستقر شدند.
در ابتدای پروژه، جلسات متعددی با مشتریان و کاربران نهایی برگزار شد تا نیازمندیهای دقیق آنها شناسایی شود. این نیازمندیها شامل انواع مختلف دادههای مکانی که باید مدیریت شوند، نوع و فرمت گزارشها، نیازهای تحلیل شبکه و موارد دیگر بود. مستندسازی دقیق نیازمندیها به تیم توسعه کمک کرد تا در طول پروژه همیشه به اهداف مشتریان توجه داشته باشند.
طراحی سیستم با توجه به نیازمندیها و محدودیتهای فنی انجام شد. در این مرحله، معماری کلی سیستم شامل بخشهای مختلف نرمافزاری و ارتباطات بین آنها مشخص شد.
این معماری شامل لایههای داده، سرویس، منطق تجاری، رابط کاربری و یکپارچهسازی بود.
استفاده از MSSQL برای ذخیره و مدیریت دادههای مکانی و متا دیتا.
پیادهسازی وب سرویسهای WCF برای ارتباط بین نرمافزارهای مختلف.
شامل الگوریتمهای تحلیل شبکه و پردازش دادههای مکانی ، منطق ارتباطی اسناد و متا دیتا با اطلاعات مکانی و...
طراحی UI با استفاده از WPF برای نرمافزار دسکتاپ، ArcGIS Silverlight SDK برای نرمافزار وب و Android SDK برای نرمافزار موبایل.
شامل ارتباط با ArcGIS Server و سرویسهای مکانمحور.
این مرحله شامل پیادهسازی کد و توسعه نرمافزار بود. مراحل مختلف کدنویسی شامل موارد زیر بود:
برای تولید نرم افزار اندروید از زبان برنامه نویسی Java در محیط Eclipse و با استفاده از ArcGIS Android SDK بود.وظیفه این نرم افزار نمایش و ویرایش لایه های نقشه بصورت آفلاین و همگام سازی اطلاعات پس از اتصال به شبکه داخلی با سرور بود که در آن زمان برای اولین بار در کشور پیاده سازی شد.
نرم افزار ویندوز بر پایه ArcGIS Desktop Add-in و با زبان برنامه نویسی سی شارپ تولید شد که فرایند های تخصصی GIS روی این نرم افزار صورت می گرفت.گزارشات پیشرفته ایمپورت و اکپورت اطلاعات بصورت بالک و تلحیل های شبکه و ویرایش اطلاعات از امکانات این نرم افزار بود.
این نرم افزار بر پایه ArcGIS Silverlight SDK و زبان برنامه نویسی C# تولید شد و عمدتا بابت گزارش گیری مکان محور، جستجو در متادیتا، کارتابلهای سازمانی، ثبت اطلاعات مکانی و.... استفاده می شد.
بک اند این نرم افزار ها وب سرویس مایکروسافتی بر پایه WCF بود که با زبان برنامه نویسی CSharp و دیتابیس MSSQL بود همچنین ارتباط با دیتابیس از طریق ADO.NET بود، معماری این قسمت 5 لایه با ARCGIS Server نیز در ارتباط بود.این سرویس علاوه بر سرویس دهی به نرم افزار های اندروید، ویندوز و وب به نرم افزار های داخلی سازمانها نیز سرویس دهی می کرد.
این سرویس دهنده شرکت ESRI با بانک اطلاعاتی MSSQL و نقشه های پایه کشور و همچنین اطلاعات مکانی مشتری نصب و را اندازی شد و وظیفه سرویس دهی نقشه های Tile و وکتور را داشت.
پس از تکمیل کدنویسی، مرحله تست و کنترل کیفیت آغاز شد. این مرحله شامل سناریو نویسی تست و انجام تستها قبل از ارائه هر نسخه بود
پس از تایید نهایی نرمافزار، مرحله استقرار و پیادهسازی نهایی آغاز شد:
این سرویسدهنده با بانک اطلاعاتی MSSQL و نقشههای پایه کشور و همچنین اطلاعات مکانی مشتری نصب و راهاندازی شد.
نصب نرمافزارهای دسکتاپ، وب و موبایل در محیطهای کاربران نهایی.
برگزاری جلسات آموزشی برای کاربران نهایی جهت آشنایی با نرمافزار و قابلیتهای آن. و تهیه کتابچه راهنما
پس از استقرار، تیم توسعه به ارائه پشتیبانی و نگهداری از نرمافزار پرداخت. این شامل موارد زیر بود:
پیگیری و رفع مشکلات گزارش شده توسط کاربران از طریق سیستم تیکتینگ.
ارائه بهروزرسانیها و ارتقاءهای نرمافزار براساس بازخورد کاربران و نیازهای جدید.
ارائه پشتیبانی فنی به کاربران برای استفاده بهینه از نرمافزار.
اگر به دنبال توسعه نرمافزارهای مکانمحور مشابه هستید، با من تماس بگیرید تا از تجربیاتم بهرهمند شوید و به شما در ایجاد نرمافزارهای کارآمد و دقیق کمک کنم.
افتخار می کنم که چندین سال با آقای اشرفی کار کردم. ایشان علاوه بر حرفه ای بودن و مسئولیت پذیری، ایده های خوبی در حل مشکلات دارند. اشتیاق او برای یادگیری محتوای جدید و استفاده از آن در پروژه های محول شده الهام بخش است. با توجه به اخلاق و نحوه تعامل با هم تیمی هایش، ایشان توانایی خوبی در هدایت تیم دارند. برایشان آرزوی موفقیت در ادامه زندگی دارم.
بهتر از حسین را نمی توان توصیه کرد - او یک توسعهدهنده Fullstack فوقالعاده توانا و با استعداد است، همچنین اینکه دارم به یک انسان A+ اشاره می کنم. از لحظه ای که بیش از 13 سال پیش به AISoft پیوست، حسین به دلیل اخلاق کاری، نگرش و هوش خود برجسته بود. او یک توسعه دهنده برجسته و سپس یک رهبر با استعداد و مورد احترام بود و هر شرکتی خوش شانس خواهد بود که او را داشته باشد. من دوباره با تمام وجود دوست دارم با او کار کنم.
حسین یک مدیر پروژه فوق العاده توانا است. من از همکاری با او در تعدادی از پروژه ها لذت بردم. مهمترین نکته ای که در مورد حسین می توانم به آن اشاره کنم راحت بودن و ارتباط خوب است. من همیشه حسین را مانند یک معلم صبور میبینم.
با داشتن امتیاز مربیگری توسط حسین، با اطمینان میتوانم بگویم که تخصص و تعهد او در صنعت فناوری اطلاعات بینظیر است. در طول مدتی که با حسین کار میکردم، او مجموعه گستردهای از فنآوریهای فرانت اند، از جمله React و JavaScript را به من آموخت.به طور خلاصه، حسین فقط یک مهندس نرم افزار خبره و یک رهبر فناوری نیست. او همچنین یک مربی بی نظیر است که به طور قابل توجهی به رشد حرفه ای من کمک کرده است. من حسین را برای هر نقشی که نیاز به درک عمیق فناوری، مهارتهای مهندسی استثنایی و ویژگیهای رهبری برجسته دارد، به شدت توصیه میکنم.
حسین فردی با مهارت بالا و تجربه عمیق در پیاده سازی راه حل های تجاری مدرن است. او همیشه به راهکارهای جدید در برنامه نویسی و توسعه نرم افزار فکر می کند. من قطعا او را به عنوان یک مهندس نرم افزار ارشد توصیه می کنم.
حسین یک فرد حرفه ای فوق العاده است که تمام مهارت ها و تخصص در برنامه نویسی و رهبری تیم فنی را به همراه دارد. کار کردن با چنین شریک ارشد در دفتر واقعاً لذت بخش بود. تحت هدایت او، کادر فنی ما مهارت های مختلفی را به دست آوردند. ما 2 سال با هم کار کردیم.
یکی از مهربان ترین، با استعدادترین و عاقل ترین توسعه دهندگانی که تا به حال در حرفه ام دیده ام. کار کردن با او و داشتن او در تیم خود یک امتیاز عالی است.
من این افتخار را داشتم که در کنار حسین هم شاگرد و هم همکار باشم. به عنوان یک معلم، او با مهارت راهنمایی می کند و راه حل های واقعی را بدون امید کاذب ارائه می دهد. او با شناخت نقاط ضعف فردی، تلاشش برای برطرف کردن آن می کند را در صورت نیاز تشویق می کند. در همکاری ما، حسین به طرز چشمگیری نیازمندی ها را به اجرای وظایف بهینه تبدیل می کند. فراتر از استعداد مربیگری و توسعه، مهربانی واقعی او، داشتن او را به عنوان یک دوست به گنجینه ای کمیاب تبدیل می کند.
حسین در حرفه خود کاملاً مهارت دارد و دانش خود را سخاوتمندانه با دیگران به اشتراک می گذارد. یکی از نکات درخشان او این است که نه تنها در مهارت های سخت خود حرفه ای است بلکه مهارت های نرم را نیز به خوبی می داند.