توسعه نرم‌افزار

طراحی نرم افزار تحت وب؛ از تحلیل تا تحویل مرحله‌ای

نویسنده: تیم تخصصی برساوش فناوران ۹ دقیقه مطالعه
طراحی نرم افزار تحت وب؛ از تحلیل تا تحویل مرحله‌ای — راهنمای برساوش فناوران

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

بسیاری از سازمان‌ها سال‌ها با یک برنامه‌ی ویندوزی، چند فایل اکسل و پیام‌های پراکنده کار کرده‌اند و حالا به جایی رسیده‌اند که می‌خواهند «یک سیستم یکپارچه» داشته باشند. این راهنما توضیح می‌دهد ساخت سامانه تحت وب چه زمانی منطقی است، مراحل کار چیست، پیش از شروع چه چیزهایی آماده کنید و در قرارداد به چه نکاتی (مثل مالکیت سورس‌کد) دقت کنید. مثال‌ها فرضی‌اند و برای روشن شدن مطلب آمده‌اند.

نرم‌افزار تحت وب چیست و با برنامه‌ی نصبی چه فرقی دارد؟

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

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

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

نسخه‌ی تحت وب همیشه برنده نیست؛ برای ابزاری که فقط یک نفر روی یک دستگاه استفاده می‌کند، شاید برنامه‌ی نصبی کافی باشد. اما نشانه‌های زیر معمولاً می‌گویند وقت ساخت یک سامانه‌ی تحت وب رسیده است:

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

اگر الان یک نرم‌افزار ویندوزی قدیمی دارید که کند شده یا سازنده‌اش دیگر پاسخ نمی‌دهد، مسیر شما «بازنویسی و تبدیل» است، نه ساخت از صفر؛ صفحه‌ی نوسازی برنامه‌های قدیمی ویندوزی و بردنشان به بستر وب همین موضوع را دنبال می‌کند.

مقایسه‌ی سریع: برنامه‌ی نصبی، اکسل و سامانه تحت وب

معیار اکسل و فایل مشترک برنامه‌ی نصبی سامانه‌ی تحت وب
کار هم‌زمان چند نفر محدود و پرخطا وابسته به طراحی و شبکه برای همین ساخته می‌شود
به‌روزرسانی بی‌معنا؛ هر فایل یک نسخه روی تک‌تک دستگاه‌ها یک بار روی سرور
دسترسی از شعبه یا موبایل ارسال فایل دشوار با مرورگر یا اپلیکیشن
نقش‌ها و سطح دسترسی تقریباً ندارد ممکن ولی محلی متمرکز و قابل کنترل
سابقه و ردگیری تغییرات به‌سختی بسته به برنامه قابل طراحی از ابتدا

مراحل طراحی سیستم تحت وب؛ از تحلیل تا پشتیبانی

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

  1. تحلیل و مشاوره: نیازها، فرایندها و هدف‌های کسب‌وکار بررسی و مستند می‌شود؛ اینکه چه کسی، چه داده‌ای را، در چه مرحله‌ای ثبت یا تأیید می‌کند.
  2. طراحی و نمونه‌ی اولیه: ساختار صفحه‌ها و رابط کاربری طراحی و یک نمونه‌ی اولیه برای تأیید شما ساخته می‌شود تا پیش از نوشتن کد اصلی، تصویر مشترکی از نتیجه داشته باشیم.
  3. توسعه: سامانه روی یک معماری وب امن و توسعه‌پذیر نوشته می‌شود؛ با کنترل دسترسی نقش‌محور و امکان اتصال به سیستم‌های دیگر از طریق API.
  4. تست و انتقال داده: پس از آزمون کامل، در صورت نیاز داده‌های سیستم قبلی (اکسل یا نرم‌افزار قدیمی) به پایگاه‌داده‌ی جدید منتقل می‌شود تا سابقه‌ی کاری از دست نرود.
  5. استقرار و پشتیبانی: سامانه راه‌اندازی می‌شود و رفع اشکال، پشتیبانی و توسعه‌ی نسخه‌های بعدی پس از تحویل هم ادامه پیدا می‌کند.

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

پیش از سفارش ساخت سامانه تحت وب چه چیزهایی آماده کنیم؟

لازم نیست مستند فنی بنویسید؛ همین که کار روزمره‌ی خودتان را روشن توضیح دهید، نیمی از مسیر تحلیل طی شده است. این چک‌لیست کمک می‌کند جلسه‌ی اول پربارتر باشد:

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

تحویل مرحله‌ای؛ چرا لازم نیست همه‌چیز را یک‌جا بسازید

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

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

مالکیت سورس‌کد و داده در برنامه نویسی تحت وب سفارشی

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

نکته‌ی دیگر وابستگی است. نرم‌افزارهای آماده‌ی اشتراکی هزینه‌ی تکرارشونده به ازای کاربر دارند و شما مالک چیزی نیستید؛ در مقابل، نرم‌افزار سفارشی سرمایه‌گذاری اولیه‌ی بیشتری می‌خواهد. اینکه کدام برای شما به‌صرفه‌تر است، به خاص بودن فرایندها و رشد آینده بستگی دارد؛ مقایسه‌ی کامل در مطلب «نرم‌افزار سفارشی یا آماده» در وبلاگ برساوش آمده است.

نسخه‌ی موبایل و اندروید سامانه

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

اشتباه‌های رایج در طراحی نرم افزار تحت وب

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

سوالات متداول

طراحی نرم افزار تحت وب برای چه کسب‌وکارهایی مناسب است؟

برای هر سازمانی که چند کاربر یا چند محل کار دارد و باید روی یک داده‌ی واحد کار کند؛ از یک ابزار داخلی ساده تا یک سامانه‌ی جامع چندکاربره.

سامانه تحت وب حتماً باید روی اینترنت باشد؟

خیر. می‌تواند روی سرور داخلی سازمان و فقط در شبکه‌ی محلی اجرا شود یا روی سرور میزبانی‌شده؛ این انتخاب در مرحله‌ی تحلیل انجام می‌شود.

برای شروع پروژه چه چیزی باید بفرستم؟

شرح یا فلوچارت فرایندها و در صورت امکان نرم‌افزار فعلی یا چند اسکرین‌شات از آن؛ همین برای شروع بررسی و برآورد کافی است.

داده‌های اکسل یا نرم‌افزار قبلی به سیستم جدید منتقل می‌شود؟

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

سورس‌کد سامانه به چه کسی تعلق دارد؟

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

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

خدمات مرتبط

اشتراک‌گذاری:

تیم تخصصی برساوش فناوران

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

پروژه‌ای در ذهن دارید؟

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

تماس با ما
Eitaa