درباره حسابداری ابری دارا


تعداد خطوط کد

117672

این نرم‌افزار شامل تعداد زیادی خطوط کد است که نشان‌دهنده پیچیدگی و قابلیت‌های آن است.

تعداد فایل‌ها

1515

تعداد فایل‌های مورد استفاده در پروژه.

ساعات کار شده

5813

تعداد ساعات تخمینی صرف شده برای توسعه این نرم‌افزار.

تعداد کاربران

17

تعداد کاربران ثبت‌شده در سیستم.

تعداد شرکت‌ها

14

تعداد شرکت‌های ثبت‌شده در سیستم.

تعداد حساب‌ها

790

مجموع تعداد سرفصل حساب‌های تعریف شده در سیستم.

تعداد حساب‌های شناور

39

تعداد حساب‌های شناور ثبت‌شده در سیستم.

تعداد ثبت‌های حسابداری

38

تعداد ثبت‌های حسابداری انجام شده در سیستم.

تعداد ردیف‌های سند

77

تعداد ردیف‌های اسناد حسابداری در سیستم.

نسخه فعلی نرم‌افزار: 1.1.3.0
تاریخ بیلد: 1403/09/02

نرم‌افزار حسابداری دارا در تاریخ ۱ فروردین ۱۴۰۳ توسط حسین صابری توسعه خود را آغاز کرد. پس از هشت ماه تلاش و کار مداوم، نسخه آزمایشی نرم‌افزار در تاریخ ۳۰ آبان ۱۴۰۳ به صورت اجرایی عرضه شد.


اندکی از دشواری راه طی شده

این نرم افزار را ابتدا با استفاده از زبان برنامه نویسی دلفی و پایگاه داده MS SQL Server ایجاد کردم اما حاصل کار نرم افزاری بود که نصب آن برای عموم دانشجویان و بلکه حتی خود نویسنده برنامه، سخت بود. زبان برنامه نویسی دلفی زبانی است که هرچند هر ساله بروز می‌شود اما دیگر کمتر کسی برای ایجاد برنامه های جدید حسابداری به سراغ آن می‌رود (البته آن موقع که من این زبان را بعنوان اولین زبان برنامه نویسی خودم شروع کردم، تقریبا همه نرم افزارهای روز حسابداری ایران را با همین زبان و همین محیط IDE ایجاد کرده بودند).

سپس در تلاشی دیگر نرم افزار را با زبان C#.Net ایجاد کردم. به همان سادگی و با ایرادات کمتر اما هنوز هم ایرادات وجود داشتند. مشکل اساسی مربوط به دشواری نصب نرم افزار هنوز هم وجود داشت و کاربری که قصد استفاده از نرم افزار را داشت باید سه مرحله بسیار سخت را انجام میداد. در مرحله اول باید MS SQL server را نصب میکرد (به همراه SSMS) در مرحله دوم باید پایگاه داده نرم افزار حسابداری را روی MS SQL Server بارگزاری میکرد و در نهایت نرم افزار حسابداری را با استفاده از فایل نصاب نصب میکرد. انجام دقیق و درست هر یک از این مراحل (مخصوصا مرحله اول و نصب درست MS SQL server) احتمالاً برای اکثر کسانی که کتاب را میخوانند بسیار مشکل است. قبل از اینکه کتاب را به مرحله چاپ برسانم این نرم افزار را برای عموم و بصورت رایگان منتشر کردم که حتی یک بازخورد هم دریافت نکردم. چرا؟ چون احتمالاً هیچ کس نتوانسته بود آن را نصب کند.

همین شکست در ارائه نرم افزار من را بر آن داشت که فکر جدی تری بکنم. چاره کار در ارائه یک نسخه تحت وب از نرم افزار حسابداری برای همگان و بصورت ابری بود.

نرم افزار تحت وب چیست؟

نرم افزارهای حسابداری معمولا برای کار تیمی تهیه میشوند. در این نرم افزارها معمولا پایگاه داده در یک سرور نصب میشود و اگر نرم افزار تحت سیستم عامل خاصی باشد باید یک نسخه از آن روی هر کامپیوتر کلاینت نصب شود. نرم افزار قبلی که بنام کوروش برای دانلود عموم قرار دادم چنین نرم افزاری بود. به چنین نرم افزارهایی (که یک پایگاه داده مشترک دارد و چند کاربر بصورت همزمان با آنها حسابداری انجام میدهند) نرم افزارهای تحت شبکه گفته میشود.

مزیت اصلی این نرم افزارها سادگی تهیه آنهاست. بیشتر ملزوماتی که این نرم افزارها نیاز دارند را از سیستم عاملی میگیرند که تحت آن کار میکنند و لذا دست برنامه نویس برای ایجاد بخشهای مختلف بسیار بازتر است و بسادگی بیشتری می‌تواند این نرم افزارها را توسعه دهد.

ایراد اساسی این نرم‌افزارها هم در این است که هر بار تغییری در نرم افزار ایجاد میشود، باید همه نرم افزارهای کلاینت را دوباره بروز کنیم. نرم افزارهای پیشرفته تر برای این منظور از امکانات آپدیت خودکار بهره میبرند اما بهر حال تغییرات گسترده در این نرم افزارها مشکل اصلی برنامه نویسان آنهاست.

به عنوان جایگزینی بهتر، نرم افزارهای تحت وب ارائه شدند. برای ایجاد و توسعه این نرم افزارها از امکانات هیچ سیستم عاملی استفاده نمیشود. تمامی ملزومات مورد نیاز این نرم افزارها در مرورگرهای اینترنتی قرار دارند. حاصل نهایی، نرم افزاری است که روی یک سرور نصب میشود و همه کاربران مجاز، میتوانند از طریق مرورگرهای اینترنتی (مانند گوگل کروم یا فایرفاکس) به آن دسترسی داشته باشند.

مزیت عمده نرم افزارهای تحت وب در این است که برای استفاده از این نرم افزارها، نوع سیستم عامل کاربر محدودیتی برای او ایجاد نمیکند. یعنی کاربران میتوانند هم با سیستم عاملی مثل ویندوز و هم با سیستم عاملی مانند اندروید و ... از نرم افزار استفاده کنند.

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

اگر سرور این نرم افزارها در اینترنت باشد، برای دسترسی به این نرم افزار کافی است که کاربران به اینترنت متصل باشند تا بتوانند به از نرم افزار استفاده کنند، اما نکته مهم این است که استفاده از اینترنت برای اتصال به یک نرم افزار شرط لازم برای تحت وب بودن یک نرم افزار نیست و نرم افزارهای تحت وب میتوانند روی سرورهای مستقل از اینترنت اجرا شوند.

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

بعنوان یک مثال ساده که شاید برای بیشتر حسابداران آشنا باشد، نرم افزار تحت وب شرکت همکاران سیستم، راهکاران نام دارد. این نرم افزار برای هر شرکتی که آن را خریداری میکند قابل نصب است. نرم افزار روی سرورهای شرکت در داخل شرکت نصب میشود و وظیفه تهیه و نگهداری سرورهای نرم افزار به عهده شرکت خریدار است. در نهایت همه حسابداران و کابران این نرم افزار میتوانند با استفاده از یک مرورگر اینترنتی به نرم افزار متصل شوند و از آن استفاده کنند.

نرم افزار ابری چیست؟

نرم افزارهای ابری در واقع نرم افزارهایی تحت وب هستند که اطلاعات همه کاربران خود را در یک سرور متصل به اینترنت ذخیره میکنند.

اگر در نرم افزارهای تحت وب (غیر ابری) برای هر شرکت، لازم بود که یک سرور برای نرم افزار خود تهیه کند، در نرم افزارهای تحت وب ابری، نیازی به تهیه سرور برای شرکتها نیست. از طرف دیگر، با توجه به اینکه سرور این دسته از نرم افزارها در اختیار برنامه نویسان آن است، برای آپدیت برنامه نیازی نیست که مهندسان شرکت برنامه نویس به شرکت مراجعه کرده و سرور نرم افزار را بروزرسانی کنند.

مزیتی که این سیستم ایجاد میکند این است که هزینه تهیه و نگهداری از سرور برنامه را، شرکتی که با آن کار می‌کند، متحمل نمی‌شود و یک سرور قوی و کارآمد، میتواند اطلاعات چندین هزار شرکت و چند ده هزار کاربر را نگهداری کند. از طرف دیگر، نرم افزارهای ابری همواره بروز هستند و برای این منظور هیچ اقدامی از طرف شرکت لازم نیست.

ایراد بزرگ نرم افزارهای تحت وب ابری در این است که شرکت کنترل زیادی روی داده‌ها و اطلاعات خود ندارد. اگر سرورهای نرم افزار در اینترنت هک شوند و اطلاعات آن به سرقت روند، یا اگر اطلاعات به هر علتی از بین بروند، شرکت چه خواهد کرد؟

بعنوان یک مثال ساده همان نرم افزار حسابداری تحت وب راهکاران، یک نسخه تحت وب هم دارد که هر شرکتی میتواند اشتراک آن را تهیه کرده و در قالب پرداخت هزینه‌های اشتراک، از نرم افزار ابری استفاده کند.

حسابداری ابری دارا

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

حسابداری دارا یک سیستم حسابداری ساده و خام است که امکان صدور سند حسابداری را به کاربران می‌دهد. این نرم‌افزار فاقد ماژول‌های پیچیده مانند صدور فاکتور، مدیریت موجودی یا انبار است.

  • ایجاد چندین شرکت: مدیریت همزمان چند شرکت با قابلیت تعریف سال‌های مالی مجزا.
  • تعریف کدینگ حساب‌ها: تنظیم ساختار حسابداری با استفاده از سه سطح حساب‌های گروه، کل و معین.
  • استفاده از حساب‌های شناور: تعریف حساب‌های شناور دسته‌بندی شده که به تمامی سطوح حساب‌ها متصل هستند.
  • چاپ اسناد حسابداری: امکان چاپ اطلاعات سند حسابداری با استفاده از ابزار گزارش‌ساز Stimulsoft.

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

  • مدیریت کاربران و گروه‌های کاربری: تعریف کاربران با سطوح دسترسی متفاوت.
  • تعریف حساب‌های گروه، کل و معین: ساختاردهی به سیستم حسابداری مطابق با نیازهای شرکت.
  • مدیریت حساب‌های شناور: امکان دسته‌بندی و ارتباط حساب‌های شناور با سطوح مختلف حساب‌ها.
  • صدور و مدیریت اسناد حسابداری: ثبت، مشاهده و چاپ اسناد حسابداری.
  • تعریف و مدیریت شرکت‌ها: افزودن شرکت‌های جدید و تنظیم سال‌های مالی مرتبط.

برنامه‌های توسعه‌ای متعددی برای بهبود و گسترش نرم‌افزار در نظر گرفته شده است:

  • افزودن ماژول‌های جدید مانند انبار، صدور فاکتور، مدیریت چک، مغایرت‌گیری و دارایی‌های ثابت.
  • گسترش قابلیت‌های گزارش‌گیری و توسعه گزارش‌های مالی و مدیریتی پیشرفته.
  • بهبود عملکرد و کارایی نرم‌افزار برای پاسخگویی به نیازهای سخت‌افزاری بیشتر.

چالش‌ها و انتظارات: ممکن است نیازهای سخت‌افزاری نرم‌افزار افزایش یابد که این امر می‌تواند هزینه‌هایی را برای کاربران به همراه داشته باشد.

  • ASP.NET Core MVC: فریم‌ورک قدرتمند مایکروسافت برای ساخت برنامه‌های وب مدرن که الگوی معماری MVC را پیاده‌سازی می‌کند و امکان توسعه سریع و انعطاف‌پذیر را فراهم می‌سازد.
  • Entity Framework: یک ORM که ارتباط بین برنامه و پایگاه داده را ساده می‌کند و اجازه می‌دهد تا داده‌ها به صورت اشیاء برنامه‌نویسی مدیریت شوند.
  • MS SQL Server: سیستم مدیریت پایگاه داده‌ای مطمئن و قدرتمند برای ذخیره‌سازی داده‌های نرم‌افزار که امنیت و عملکرد بالا را تضمین می‌کند.
  • Bootstrap: فریم‌ورک طراحی وب واکنش‌گرا که به ایجاد رابط کاربری جذاب و سازگار با انواع دستگاه‌ها کمک می‌کند.
  • Stimulsoft: ابزاری حرفه‌ای برای طراحی و تولید گزارش‌های پیچیده که امکان چاپ و نمایش اسناد حسابداری را با کیفیت بالا فراهم می‌نماید.
  • Razor: زبان قالب‌سازی مورد استفاده در ASP.NET که ترکیب کدهای C# و HTML را برای تولید صفحات وب دینامیک امکان‌پذیر می‌کند.
  • C#.NET: زبان برنامه‌نویسی اصلی برای توسعه نرم‌افزار که با ارائه قابلیت‌های پیشرفته، توسعه برنامه‌های مطمئن و کارآمد را ممکن می‌سازد.

توسعه و پشتیبانی نرم‌افزار به صورت اختصاصی توسط حسین صابری انجام می‌شود.

برای کسب اطلاعات بیشتر و یا ارائه بازخورد، لطفاً با ما در ارتباط باشید.