مردن از تب يو.ام.ال (UML)


يک بيماری کشنده که در اصطلاح کلينيکی به آن اَبَر‌‌تب يو.ام.ال (UML = Unified Modeling Language) مي‌‌گويند، مهندسين نرم افزار بسياری را دچار آفت و بيماری مسری نموده است. اين تب گونه‌‌های متفاوتی از نظر کشندگی و سرايت مرض دارد. عوارض بعضی از اين گونه‌‌ها به يکديگر مربوط است ولی تحليلهای دقيق آزمايشگاهی نشان داده که هر يک از نظر منشا و ساخت و ساز، مستقل ميباشند.
به دليل مخفی ماندن عوارض اين تب، اکثر سازمانها از تشخيص آن غافل می‌‌مانند که خود باعث پيچيده‌‌تر شده تب و درمان نشدن آن می‌‌شود.  نشريه رسمی وزارت بهداشت و درمان جهانی درباره اين مرض تا اين لحظه سکوت کرده است. تحقيقات وسيع نشان داده که اَبَر تب يو.ام.ال به چهار گروه کلی تقسيم می‌‌شود:

1- اَبَر تب خوش باوری
2- اَبَر تب احساساتی بودن‌‌
3- اَبَر تب خوش‌‌بينی مفرط
4- اَبَر تب روال گرايی
هر يک از موارد فوق به انواع کوچکتری تقسيم می‌‌گردند و کارشناسان بسياری را مبتلا می‌‌سازند.
ابر تب خوش‌باوری: محققين، اين ابر تب را وخيم‌ترين نوع خود می‌دانند که روی قضاوت و فکر مهندسين اثر می‌گذارد. اين نوع باعث می‌شود که بدن برای پذيرش انواع ديگر مستعد شود. از اين گونه تب، انواع زير مشاهده شده است:
1- تب مدينه فاضله 2- تب پذيرش کورکورانه 3- تب سورئاليستی 4- تب الف تا ی 5- تب موزه دار 6- تب جاذبه‌ايی
1- تب مدينه فاضله:
مبتلايان اين گونه می‌پندارند که يو.ام.ال يک فن‌آوری نو‌ظهور است که خداوند از بهشت برای آنها فرستاده‌ است.  الفاظی نظير "ما چگونه بدون يو.ام.ال به اينجا رسيده‌ايم" و "فکر کن اگر 20 سال پيش يو.ام.ال را داشتيم، چه انقلاب نرم‌افزاری ايجاد ميشد" بين اين مريضها شايع است. عوارض ديگر اين گونه تب اينست که مبتلايان آن فراموش ميکنند که نرم‌افزارهای بزرگی در طی سالهای گذشته بدون استفاده از يو.ام.ال توليد شده واکنون نيز می‌شود. اگر از مبتلايان به اين نوع تب سوال شود: نرم افزارهای بسيار پيچيده‌ايی که تاکنون توليد شده، با استفاده از چه متدولوژی‌هايی بوده است؟ فوری کاغذ تورنسل را آبی ميکنند.
2- تب پذيرش کورکورانه: در اين نوع تب قضاوت کور می‌شود و مهندس نرم‌افزار کارهايی که ديگران برای خود کرده‌اند را، حتی اگر نامناسب باشد می‌پذيرد.
3- تب سورئاليستی: در اين نوع تب، واقعيت بنحو بزرگ شده و سورئاليستی مشاهده مي‌گردد. پردازش‌های بزرگ، کوچک، و بزرگها خيلی کوچک به چشم می‌آيند.
4- تب الف تا ی: مبتلايان اين نوع تب می‌پندارند که يو.ام.ال دوای همه مشکلات پروژه‌های نرم‌افزاری است. تحقيقات نشان داده است که اگر يادداشتهايی بصورت محرمانه برای آنها ارسال شود وتذکر داده شود که خودِ ايجاد کنندگان يو.ام.ال هم آنرا برای همه کارها و حالات توصيه نکرده‌اند، شدت تب به مقدار زياد پايين می‌آيد.
5- تب موزه دار: در اين نوع تب احساس مهندس نرم‌افزار نسبت به دياگرام‌های يو.ام.ال مانند يک موزه‌دار است نسبت به تابلوهای نقاشی در موزه‌اش. در اين نوع تب مشاهده می‌شود که توليد دياگرام، تنها شیِ با ارزش در کل چرخه حيات نرم‌افزار  تلقی می‌شود، حتی اگر کار نکند!
6- تب جاذبه‌ايی: مهندسين مبتلا به اين نوع تب می‌پندارند که پيشرفت پروژه بطور مستقيم به مقدار محصولات و دياگرام‌های توليد شده يو.ام.ال بستگی داشته و جاذبه زمين باعث بيشتر وزن دار شدن و با ارزش شدن آنها می‌شود. مهندسين بعد از ابتلا به اين مرض معتقد می‌شوند که 20 هزار گرم دياگرام  و آرتی‌فکت، بهتر از 19 هزار گرم است.

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

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

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

1- تب تکرار دايم: قربانی می‌پندارد که کشيدن دياگرام، به تنهايی برای پيشبرد قرارداد کافی است. تحقيقات کلينيکی نشان داده، قربانی اين تب هرگز خودش از استفاده کنندگان دياگرام‌های يو.ام.ال نبوده.
2- تب حلقه واگن‌ها: مبتلا دياگرامهای کاربرد را (use-case) بسيار زياد و مشکل کرده و دور خود را آنقدر شلوق ميکند که ديگر هيچ دياگرامی بکار نمی‌آيد. اين تب سلولهای ساده سازی را که در سمت چپ مغز مبتلا وجود دارند، نابود می‌کند.
3- تب ملا نقطه‌ايی: مريض دقت دياگرام را تا ديوانه کردن مشتری و همکاران ادامه مي‌دهد. تحقيقات کلينيکی و بالينی نشان داده که اين مريض‌ها هيچ‌وقت برنامه ننوشته‌اند.
4- تب نقشه دنيا: قربانیِ اين تب، دست به نوشتن دياگرامهای غول آسايی می‌زند که شامل تمام جزئيات باشد. ابزار اين مريض‌ها بطور دايم قاطی می‌کند.
5- تب اسب عصاری: مبتلا قدرت خود را در تجريد مفاهيم انتزاعی برای رفع پيچيدگی طراحی نرم افزار از دست می‌دهد. او نمی‌تواند بين مدل طراحی با يو.ام.ال و مدل پياده سازی که از مهندسی معکوس کدها بدست آمده، تمايز قايل شود و دايم بين آنها چرخ می‌زند.

بسياری از تب‌های ذکر شده مربوط به محتوای نرم‌افزار، عدم وجود يک محتوای نرم افزاری يا عدم درک اساسی از روح و محتوای نرم‌افزاری است. متاسفانه بعضی از کاربران يو.ام.ال ابتدا مغز خود را در کشوی ميز قرار داده و سپس پشت رايانه نشسته و شروع به کشيدن دياگرامهای يو.ام.ال می‌کنند. زيرا ترسيم اين نمودارها بسيار آسان‌تر از يک مهندسی کامل نرم‌افزار و سر و کله زدن با مشتريان و شرايط مشکل است. وقتی به عمق مشکل پی می‌بريم که توجه نماييم که بسته نرم افزاری حداکثر 20 درصد از کار است و حداقل 80 درصد از کار، مديريتِ اجرا، راه‌اندازی و جااندازی است.

هيچ شوخی نيست که مقداری حقيقت در آن نباشد.