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