امیر یوسفی، توسعه دهنده و مشاور فناوری اطلاعات امیر یوسفی امیر یوسفی، توسعه دهنده وب و مشاور فناوری اطلاعات Amir Yousefi Web Developer I

سلام، من امیر یوسفی هستم

توسعه‌دهنده وب و مشاور فناوری اطلاعات

تلاش می‌کنم با استفاده از فناوری اطلاعات تاثیر مثبتی روی سازمان‌ها و افراد ایجاد کنم.

وبلاگ

داده‌ها و اطلاعات، Big Data و یادگیری ماشین، سیستم‌های سازمانی مثل ERP و CRM و مهندسی نرم‌افزار مباحث مورد علاقه من هستند که سعی می‌کنم در موردشون در وبلاگم بنویسم.

مقالات و ارائه‌ها

مقالات و نوشته‌های من رو که در همایش‌های مختلف ارائه یا چاپ شده یا مطالبی که حول یک موضوع مشخص به طور منسجم نوشته شده رو اینجا جمع کردم که می‌تونید مطالعه و یا دانلود کنید.

یک فنجان چای

هر آدمی به موازات تخصصی که دنبال می‌کنه فیلم می‌بینه، کتاب می‌خونه و دیدگاه‌هایی درباره اتفاقات اطرافش داره. در یک فنجان چای نوشته‌هایِ کمتر تخصصی رو منتشر می‌کنم.

یک چارچوب ماژولار برای توسعه نرم‌افزار به سبک اجایل ماژولاریتی یک چارچوب ماژولار برای توسعه نرم‌افزار به سبک اجایل jose larrazolo 526341 unsplash min 1210x423 امیر یوسفی امیر یوسفی، توسعه دهنده وب و مشاور فناوری اطلاعات jose larrazolo 526341 unsplash min 1210x423

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

کلیدواژه‌ها: ماژولاریتی، معماری نرم‌افزار، فهم مشترک، انعطاف‌پذیری، قابلیت استفاده مجدد

ادامه مطلب …

تست برنامه هایPHP، کیفیت کد منبع و روند توسعه آنها برنامه های php تست برنامه هایPHP، کیفیت کد منبع و روند توسعه آنها markus spiske 357131 unsplash min 800x423 امیر یوسفی امیر یوسفی، توسعه دهنده وب و مشاور فناوری اطلاعات markus spiske 357131 unsplash min 800x423

چکیده: تست یکی از جنبه‌های ضروری توسعه در هر زبان برنامه‌نویسی است. بدون تست کد منبع[1] امکان بررسی صحت عملکرد آن همانطوری که انتظار می‌رود عملا وجود ندارد. تست‌های دستی می‌توانند فقط به صورت نامنظم و به صورت محدود اجرا شوند. برای تست منظم و در عمق کدهای منبع، نیاز به نوشتن تست‌های خودکار هست تا به صورت متناوب اجرا شوند. آزمون‌های واحد[2] معمولا یک کار اسرارآمیز و زمان‌بر به نظر می‌رسد و ممکن است همین‌طور هم باشد. اما صرف زمان برای نوشتن تست‌ها باعث خواهد شد تا کیفیت کدهای منبع افزایش پیدا کند و در مجموع باگ‌های کمتری داشته باشد، بسیاری از خطا‌ها زودتر تشخیص داده شوند، یک فرایند تست دائمی برای جلوگیری از تغییر رفتار کدهای قبلی توسط تغییرات جدید ایجاد شود، و اعتماد کافی برای تکیه به کد به وجود بیاید.

در این مقاله تلاش می‌شود ضرورت تست و اطیمنان از کیفیت کد منبع برنامه‌های PHP بررسی شده و برخی از ابزارهای مورد نیاز برای تست و اطمینان از کیفیت برنامه‌های PHP معرفی شود. همچنین نقش آزمون‌های واحد در «توسعه مبتنی بر تست[3]» بررسی و مزایای توسعه برنامه‌های تست‌پذیر و اطمینان از کیفیت کد منبع ذکر می‌شود. ادامه مطلب …

ERP در سازمان ها برنامه ریزی منابع سازمانی برنامه ریزی منابع سازمانی(ERP) در دوران فناوری اطلاعات ERP in Organizations 825x423 امیر یوسفی امیر یوسفی، توسعه دهنده وب و مشاور فناوری اطلاعات ERP in Organizations 825x423

سازمان‌ها دوران جدیدی را تجربه می‌کنند. تجربه‌های جدید سازمان‌ها در این دوران مرهون داده‌های بیشتر، تکنولوژی‌های پیشرفته‌تر/پیچیده‌تر و البته محصول مستقیم فناوری اطلاعات است. در این دوران جدید مدیریت سازمان‌ها بدون سیستم های اطلاعاتی که به درستی پیاده‌سازی شده‌اند غیرممکن به نظر می‌رسد. مدیریت منابع* سهم عمده‌ای در مدیریت صحیح سازمان‌ها دارد و استفاده از یک سیستم برنامه ریزی منابع سازمانی ERP نقش مهمی در بهبود مدیریت سازمان خواهد داشت. ادامه مطلب …