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