نرم افزارهای سفارشی
نرم افزارهای سفارشی شرکت کارایان نیک فکر
شرکت کارایان با برخورداری از چندین دهه تجربه های موفق و تاثیر گذار، در صنایع مختلف امکان ارائه خدمات در حوزه های تهیه و پیاده سازی نرم افزار مورد نیاز مشتریان و یا ارائه نرم افزارهای تولید شده با اعمال تغییرات جزیی را دارد.
تولید محصولات سفارشی
در این بخش کارشناسان خبره – با توجه به نوع صنعت – به بررسی فرآیندها، رویه های کاری، نیازهای واقعی و کاذب مشتریان می پردازند و براساس آن گزارشات شناخت مورد تائید کارفرما را تهیه می نمایند.
در گام بعدی: کارشناسان تولید نرم افزار، تولید مستندات تحلیل، طراحی ساختار دیتا بیس، فرم ها و گزارشات مورد توافق با کارفرما را آغاز می نمایند.
در گام بعدی: کارشناسان برنامه نویس براساس مستندات طراحی تهیه و تائید شده توسط سرپرست تیم، آغاز به کد نویسی می نمایند.
برای آشنائی بیشتر برخی از متدلوژی ها به شرح زیر به استحضار می رسند:
-
روش آبشاري، روشي سنتي اســت. در اين روش مراحل بــه صورت ترتيبي انجام مي شود، ابتدا نيازها برآورد شــده، سپس طراحي نرم افزار انجام مي شود. در مرحله بعد پياده سازي به وسيله زبان هاي برنامه سازي صورت مي گيرد و نرم افزار تست مي شود و در نهايت به دست مشتري مي رسد، تجربه نشان داده است كه اين روش مي تواند براي نرم افزارهاي كوچك جوابگو باشد. با پيشرفت روش هاي توليد، اين روش منتقدان زيادي پيدا كرد و امروزه در كمتر پروژهاي با ديد مهندسي از آن استفاده مي شود.
-
در اين روش يك نمونه با استفاده از روش آبشاري تهيه و در ادامه سعي مي شود با توجه به نظرات مشتري، نرم افزار تكميل شود. در واقع تا كامل شدن محصول چند روش آبشاري كوچك اجرا مي شود.
-
همان طور كــه از نام اين روش پيداست توليد يك نمونه از محصول نرم افزاري در كمترين زمان، هدف روش سريع است. در اين روش كمتر به مباحث قبل از توليد پرداخته مي شود و اين موضوع اجازه مي دهد تا نرم افزار با سرعت بالايي توليد شود؛ ولي ممكن است همين موضوع باعث وجود نقص هاي فراوان در محصول شود؛ بنابراين آشنايي قبلي از نيازهاي كاربر يك امر مهم دراين روش است.
-
در اين روش سعي مي شود در ابتدا يك نسخه از نرم افزار تهيه شود و با توجه به نيازمندي ها نسخه اوليه اصلاح شود و نسخه هاي كامل تر تهيه شود. اين روش به تنهايي قابل استفاده نيست؛ ابتدا بايد كار را با يكي از روش هاي ديگر شروع كرد سپس وارد روش نمونه اي شد. از ويژگي هاي روش نمونه اي علاوه بر اين كه از نظرات كاربر استفاده مي كند، اين است كه سعي دارد با تقسيم پروژه به قسمت هاي كوچكتر كه راحت تر قابل تغيير است ريسك پروژه را كمتر كند.
روش هايي كه در بالا ذكر شد بيشـتر براي نرم افزارهاي كوچك مورد استفاده قرار مي گيرد و كمتر از مستند سازي در آن ها استفاده مي شود. امروزه مستند سازي يكی از بخش هاي مهم مهندسي نرم افزار به حساب مي آيد.
مستند سازي مي تواند در مواردي هم چون شناخت صحيح نيازمندي ها، پيش بيني ريسك ها، چگونگي كيفيت مورد نظر، استفاده مجدد از تجربيات يك پروژه و … مفيد واقع شود. در ادامه به معرفي دو نوع متدولوژي كه امروزه بيشتر براي توليد نرم افزار استفاده مي شود، مي پردازيم.
شناخته شده ترين متدولوژي سنگين Rational Unified Process یا RUP است. RUP توسط شركت رشنال براي مديريت پروژه هاي نرم افزاري ارائه شد و هم اكنون پر كاربردترين فرآيند توليد و توسعه سيستم هاي نرم افزاري است، اين متدولوژي براي انواع پروژه با اندازه هاي كوچك تا بسيار بزرگ قابل استفاده است، ولي به دليل وجود مستند سازي هاي فراوان بيشتر در پروژه هاي بزرگ استفاده مي شود.
از محاسن اين روش مي توان به تحليل دقيق ريسك هاي پيش روي پروژه، بررسي دقيق نيازمندي ها و فازبندي دقيق پروژه اشاره كرد. مستند سازي در RUP بــه حدي دقيق است كه در صورت انجام صحيح كمتر به ايجاد تغيير نياز خواهد بود، برخي اين مستند سازي زياد را مفيد نمي دانند ولي در پروژه اي با اندازه هاي خيلي بزرگ نبود مستندات مشكل ساز خواهد بود.
متدولوژي سبك، گروهي از متدهاي توسعه نرم افزار است كه در واقع در مقابل متدولوژي هاي سنگين به وجود آمد و بر اساس تكرار و افزايش بنا نهاده شده است. ويژگي اين متدها انعطاف پذيري آن ها در برابر تغييرات، قابليت بالاي كار گروهي و هم چنين مستند سازي كمتر نسبت به RUP است. دو نمونه از اين متدولوژي ها عبارتند از:
- eXtended Programming یا XP: در XP تأكيد بــر رضايت مشتري و كار تيمي است، برنامه نويسان، مشتري و مدير پروژه جزئي از تيم هستند. مشتري با ارائه بازخورد خود از محصول، در تكميل آن كمك مي كند.
- Scrum: ايــن روش امروزه بسيار مورد استقبال بــوده و خيلي از شركت هاي بزرگ به سمت آن رفته انــد؛ زيرا براي پروژه هاي بزرگ و كوچك قابل اجراست و مانند XP توانسته رضايت مشتري را جلب كند.
ابزارها
با استفاده از روش ها و متدولوژي ها مسير كلي پروژه معلوم و تحليل ها انجام مي شود. در اين ميــان ابزارهايي وجود دارد كه مي تواند با ارائه دياگرام هاي ديداري و مفهومي مسيرها و تحليل ها را بــه صورتي قابل فهم مدل كند.
UML يك زبان مدل سازي است كه با استفاده از آن مي توان همه سناريوهاي موجود در نرم افزار را مدل كرد و طرحي دقيــق از نحوه پياده سازي سيستم ارائه داد.
انتخاب زبان برنامه نويسي
انتخاب زبان برنامه نويسي و در صورت نياز سيستم مديريت پايگاه داده مناسب براي توليد نرم افزار يكي از تصميم هاي مهم به شمار مي رود. هر زبان ويژگي هاي خاص خود را دارد؛ مثلا اگر قرار است برنامه اي بنويسيد كه محاسبات رياضي انجام دهد، بهتر است برويد سراغ Prolog يا ++C زيرا ابزارهاي خوبي در اين زمينه دارد. اگر قصد توليد نرم افزار اداري داريد Visual Studio مايكروسافت ابزارهاي مناسبي در اختيارتان قرار مي دهد.
انتخاب زبان مناسب به متغيرهاي زيادي وابسته بوده و براي هر پروژه متفاوت است. يك انتخاب غلط مي تواند به شكست پروژه منتهي شود.
در طی این مرحله کارشناسان و مدیران پروژه فرآیند تست کارکردهای سیستم را آغاز، و موارد ناقص یا شامل خطاهای برنامه نویسی یا محاسباتی یا موارد مغایر با توافق شده با کارفرما را جهت اصلاح به تیم برنامه نویسی ابلاغ می کنند و پس از رفع مشکل مجددا اقدام با تست آن می نمایند.
نصب و راهاندازي
از جمله مراحل بسيار مهم و حساس پروژههاي نرمافزاري، مرحله نصب و راهاندازي است. پس از پيادهسازي و تست سيستمها با آمادهسازي محيط در سازمان كارفرما، فعاليت نصب نرمافزار صورت ميگيرد.
پس از آن با انجام آموزشهاي لازم تحويل موقت سيستم انجام ميگردد. سپس مرحله راهاندازي و دوران تضمين سيستمها آغاز ميگردد.
اين دوران مرحله استفاده موازي از سيستمهاي نرمافزاري با سيستمهاي جاري سازمان و انتقال به سيستمهاي جديد است. پس از دوران تضمين با تحويل دائم سيستمها، سيستمها به دوران بهرهبرداري ميرسند.
گروه کارایان بدلیل تجربیات قبلی و دانشی که در تحقیقات خود بدست آورده است به خود اجازه می دهد از مفهوم آماده سازی محیط کار فرما استفاده نماید. در حقیقت گروه به همراه خود فرهنگ جدیدی را به سازمان وارد میکند که ممکن است دوام ماهیت آن در محیط کار مشتری دائمی باشد.
بهره برداري و نگهداري
خدمات گروه مالی و نرم افزاری کارایان در مرحله بهره برداري سيستمها با تنظيم قراردادهاي ارائه خدمات پشتيباني و نگهداري، ادامه مييابد.
این گروه وظيفه خود ميداند كه سازمانها را در ارتقاء و بهرهبرداري مؤثر از سيستمها همراهي نمايد.
ضمنا در مسیر تکمیل تر شدن نرم افزار ها و حتی روش ها، کپی آخرین وضعیت در اختیار مشتری قرار خواهد گرفت.