مقدمه
یک مدل یک انتزاعی از یک سیستم است که اغلب بجای
سیستم تحت مطالعه استفاده شده است . به طور کلی یک مدل یک دیدگاه جزئی و سادهشده از یک سیستم ارائه
میدهد، بنابراین، ایجاد مدلهای متعدد معمولا برای نمایش و درک سیستم تحت مطالعه
ضروری است. مدلسازی یک روش شناختهشدهی سازگار توسط رشتههای مهندسی و همچنین
زمینههای دیگر از قبیل فیزیک، ریاضی، زیستشناسی، اقتصاد، سیاست و فلسفه میباشد. با این حال، در این تحقیق ما روی مدلهایی در زمینه مهندسی نرمافزار
و رشتههای سیستمهای اطلاعاتی تمرکز مینمائیم. آن بدین معناست که مدلهای ما
بدینسان مبتنی بر زبان در ذات هستند و به توصیف یا تعیین کمی از سیستم به طور
مخالف تمایل دارند، برای مثال، برای مدلها در ریاضی که به عنوان تفسیری از یک
نظریه، قابل درک میباشند .
مدلها به اشتراک گذاری یک دید و دانش مشترک میان
ذینفعان فنی و غیرفنی، تسهیل و ترفیع ارتباط میان آنها را اجازه میدهند. علاوه
بر این، مدلها برنامهریزی پروژه را موثرتر و کارآمدتر میسازند تا زمان فراهمآوری
یک دید مناسبتر از سیستم بسوی اینکه توسعهیابد و اجازه میدهد که کنترل پروژه بر
طبق معیارهای هدف محقق شود .
در دهههای گذشته روشها و زبانهای مدلسازی
متعددی برای پشتیبانی طراحی و توسعهی سیستمهای نرمافزاری پیچیده ارائه شده است.
بسیاری از این زبانها در زمینهی رویکردهای متدلوژیک – مانند ساختاریافته، شیئ
گرایی یا متدلوژیها/فرآیندهای یکپارچه اساسا با هدف تسهیل و به اشتراکگذاری یک
دید مشترک و منسجم از سیستم تحت مطالعه و در نتیجه، سبکسازی ارتباطات میان
ذینفعان تعریف شدند . با این حال، در طول این دههی
گذشته یک تمایل جدید از نگرشها که مدلها را نه فقط به عنوان ساختههای اسنادی،
بلکه به عنوان ساختههای محوری در فرآیند مهندسی نرمافزار مورد توجه قرار میدهد،
پدید آمده است. علاوه بر مزایایی که در بالا اشاره شد، آن همچنین - از طریق روشهای
پیچیده مانند متامدلسازی، تبدیل مدل، تولید کد یا تفسیر مدل – ایجاد یا اجرای
خودکار سیستمهای نرمافزاری مبتنی بر این مدلها را اجازه میدهد. این پیشنهادات –
مانندMDA کارخانههای نرمافزار ، یا به تازگی مهندسی DSL– به صورت کلی به عنوان مهندسی مدلرانده
(MDE) دستهبندی شده است بلکه نیز بوسیلهی
نامهای مرتبط مانند مهندسی مبتنی بر مدل (MBE)، توسعهی مدلرانده (MDD)،
توسعهی نرمافزار مدلرانده (MDSD)، یا آزمون مدلرانده (MBT) دستهبندی شده است. صرف نظر از اصطلاحات اتخاذ شده و برنامههای
کاربردی خاص، همه آنها مفاهیم و اصطلاحات مشترکی که نیاز دارند تا انتزاع یابند،
بحث شوند و درک شوند را به اشتراک میگذارند.
مترجم: مجید رحیمپور
Model-drivenengineering:Asurveysupportedbytheunified
conceptual model
AlbertoRodriguesdaSilva
INESC-ID &InstitutoSuperiorTécnico-UniversidadedeLisboa,Lisbon,Portugal