ساختن سیستمهای نرمافزاری منعطف و سازگار روز به روز اهمیت بیشتری پیدا میکند، زیرا کسبوکارها باید بتوانند به سرعت تغییر کنند. رویکردها و فرآیندهای به خصوص چابک بسیار محبوب میشوند، زیرا به طور طبیعی با کاهش طول چرخههای عمر، تکرار و دریافت پاسخهای سریعتر از کاربران نهایی، در مواجهه با تغییرات کسب و کاری سروکار دارند. علاوه بر این، مفاهیمی مانند یکپارچه سازی و تحویل مداوم از عرضه پویای نرم افزار به مشتریان پشتیبانی می کند و حلقه های بازخورد سریع کاربر را فعال می کند.
با استفاده از این رویکردهای چابک (Agile)، کاربر نهایی بخشی از چرخه عمر توسعه نرم افزار می شود. تجربه و روش کار او با نرم افزار برای تکرارهای بعدی توسعه نرم افزار در دسترس و ضروری می شود. این نقطه ای است که فرآیند کاوی وارد عمل می شود.
ما فرآیند کاوی را که معمولاً بیشتر برای تجزیه و تحلیل فرآیندهای تجاری سنتی استفاده میشود، در حوزه توسعه نرمافزار با موفقیت اعمال کردهایم. هم تعامل کاربر و هم رفتار داخلی سیستم را می توان با کمک فرآیند کاوی تجزیه و تحلیل کرد. نتایج این تحلیل می تواند به طور قابل توجهی بر معماری، طراحی، آزمایش و توسعه سیستم نرم افزاری تأثیر بگذارد.
در این مقاله وبلاگ، دو مورد استفاده اصلی را مورد بحث قرار می دهیم:
1-تعامل کاربر نهایی (یا یک آزمایش کننده بتا) با سیستم نرم افزاری را می توان ثبت کرد و بنابراین با کمک ابزارهای تحلیل تجزیه و تحلیل کرد. سپس نتایج تجزیه و تحلیل به تحلیلگران تجاری، آزمایش کنندگان، معماران و توسعه دهندگان داده می شود تا قابلیت استفاده، قابلیت اطمینان، کارایی و سایر ویژگی های سیستم نرم افزار را بهبود بخشند.
2-توالی فراخوانی سرویس ها (تماس های واسط بین اجزا) معمولاً به منظور ارائه اطلاعات توسعه دهندگان در مورد رفتار سیستم و خرابی ها ردیابی می شود. این اطلاعات را می توان در ابزار فرآیند کاوی وارد کرد که با تجزیه و تحلیل عملکرد و فراوانی تماس ها به استخراج دیدگاه فرآیندهای نرم افزار از منظر فنی کمک می کند.
هر دو مورد استفاده از الزامات ملموس ناشی از یک پروژه توریستی سازمانی اروپایی بزرگ الهام گرفته شده اند: این تیم میخواست رفتار تولیدی کاربران را برای مشاهده خرابیها، گلوگاه ها و جمعآوری آمار تجزیه و تحلیل کند. چندین چالش عملکرد اساسی با افزایش تعداد کاربران ظاهر شد، این چالشها باید شناسایی و حل می شدند. برای رفع این مشکلات، لاگ کاربر و ردپای سیستم را ایجاد کردیم. سپس آنها را در ابزار Disco برای فرآیند کاوی وارد کرده ایم. در اینجا مروری کوتاه بر نتایج خواهیم داشت. داده ها برای محافظت از محرمانه بودن مشتری ناشناس شده است.
مطالعه 1: تجزیه و تحلیل فعالیت کاربر
در شکل زیر رفتار مثبت کاربر مواردی را که با موفقیت در سیستم تولید به پایان رسیده اند نشان می دهیم. این یک امکان راحت برای ردیابی وضعیت تولید و شناسایی فراوانی مسیرهای طی شده توسط کاربر از طریق سیستم است
در شکل زیر نمای عملکرد رفتار منفی را نشان میدهیم، یعنی مواردی که شامل خرابیها و زمان تلف شده است.
در شکل نمونه اجراهای فرآیند بر اساس واریانتهای مختلف خوشهبندی شده اند . برای تجزیه و تحلیل الگوهای رفتار کاربران و تغییرات نحوه اجرای فرآیندهای کسب و کار این شکل مفید است.
نحوه اجرای فرآیندهای کسب و کار این شکل مفید است.
مطالعه 2: تجزیه و تحلیل عملکرد سیستم
برای مورد دوم، ما اطلاعاتی از فراخوانی سیستم را برای تجزیه و تحلیل رفتار سیستم گرفته ایم. همانطور که در شکل زیر مشاهده می کنید، می توانیم بیشترین تماس های سرویس، گسترش تماس ها و همچنین حلقه ها را شناسایی کنیم.
علاوه بر این، همانطور که در شکل زیر نشان داده شده است، میتوانیم آمار دقیق تماسها و در نتیجه حیاتیترین خدمات را از نقطه نظر عملکرد مشاهده کنیم.
پس از تغییر به نمای عملکرد دیسکو و مشاهده آمار کل زمان، میتوانیم به طور موثر زمانبرترین تماسها را در سیستم شناسایی کنیم. شناسایی این تاخیرها و افزایش عملکرد اولویت بالایی برای تیم توسعهدهنده داشت، زیرا یک سرویس کند باعث میشود کاربران وبسایت را رها کرده و به طور بالقوه به رقیب واگذار کنند.
خلاصه
در این مقاله دو کاربرد موفق فرآیند کاوی را در یک پروژه نرم افزاری سازمانی را نشان داده ایم.
از دیدگاه ما، این یک دامنه کاربردی بسیار پربار است، زیرا سیستمهای نرمافزاری تولیدی حجم زیادی از دادهها را در قالب گزارشها و ردیابیها ارائه میکنند. این داده ها می توانند به منظور بهبود کیفیت نرم افزار تجزیه و تحلیل شوند
بدون دیدگاه