مدل های مفهومی به طور خلاصه
22 ژانویه 2013 اصول طراحی
مدل های مفهومی به طور خلاصه
ارسال شده توسط جف جانسون و آستین هندرسون
این مقاله توضیح میدهد که مدلهای مفهومی چیست و ارزش توسعه یک مدل مفهومی یک برنامه نرمافزاری قبل از طراحی رابط کاربری آن را توضیح میدهد.
مدل مفهومی: مدلی برای مدل ذهنی کاربران
مدل مفهومی یک برنامه، مدلی از برنامه است که طراحان می خواهند کاربران آن را درک کنند. با استفاده از اپلیکیشن، صحبت با سایر کاربران و خواندن مستندات، کاربران مدلی را در ذهن خود از نحوه استفاده از اپلیکیشن می سازند. امیدواریم مدلی که کاربران در ذهن خود می سازند به مدلی که طراحان در نظر داشتند نزدیک باشد. اگر طراحان به صراحت یک مدل مفهومی واضح را به عنوان بخش کلیدی فرآیند توسعه خود طراحی کرده باشند، این امید شانس بیشتری برای تحقق دارد.
یک مدل مفهومی به طور انتزاعی توصیف می کند – از نظر وظایف، نه ضربه زدن به کلید، اقدامات ماوس، یا گرافیک صفحه – آنچه کاربران می توانند با سیستم انجام دهند و چه مفاهیمی باید از آنها آگاه باشند. ایده این است که با ایجاد دقیق یک مدل مفهومی و سپس طراحی یک رابط کاربری از آن، برنامه به دست آمده تمیزتر، ساده تر و قابل درک تر خواهد بود. هدف این است که مدل مفهومی را حفظ کنیم: 1) تا حد امکان ساده، با حداقل مفاهیم مورد نیاز برای ارائه عملکرد مورد نیاز، و 2) تا حد امکان بر روی حوزه وظیفه متمرکز شده، با مفاهیم کم یا بدون مفاهیم برای کاربران master که در دامنه وظیفه هدف برنامه یافت نمی شوند.
تجزیه و تحلیل شی / عملیات
یکی از اجزای مهم یک مدل مفهومی، تجزیه و تحلیل شی/عملیات است: شمارش انواع شیء قابل مشاهده توسط کاربر در برنامه، ویژگیهای هر نوع شی، و عملیاتی که کاربران میتوانند روی هر نوع شی انجام دهند. نوع شیء صرفاً نمایشی و صرفاً پیاده سازی جایی در مدل مفهومی برنامه ندارند زیرا کاربران مجبور نیستند از آنها آگاه باشند.
اشیاء در مدل مفهومی یک برنامه معمولاً می توانند در یک سلسله مراتب نوع سازماندهی شوند، با انواع فرعی که عملیات را از انواع والد خود به ارث می برند. بسته به کاربرد، اشیا همچنین ممکن است در یک سلسله مراتب محتوی سازماندهی شوند، به عنوان مثال، که در آن برخی از اشیاء حاوی اشیاء دیگری هستند. قرار دادن این دو سلسله مراتب در یک مدل مفهومی، طراحی و توسعه یک رابط کاربری منسجم و واضح را تا حد زیادی تسهیل می کند.
این تجزیه و تحلیل می تواند به راهنمایی پیاده سازی کمک کند، زیرا طبیعی ترین سلسله مراتب اشیاء پیاده سازی و روش هایی را که هر کدام باید داشته باشند را نشان می دهد. همچنین ساختار فرمان برنامه را با اجازه دادن به طراحان برای مشاهده اینکه چه عملیاتی برای چندین شیء مشترک است، ساده می کند و بنابراین می تواند به عنوان عملیات عمومی طراحی شود. این به نوبه خود، تسلط بر ساختار فرمان را برای کاربران آسانتر میکند: آنها فقط باید چند دستور عمومی را یاد بگیرند که برای بسیاری از انواع شی اعمال میشود، نه تعداد بیشتری از دستورات خاص شیئی که با محدودیتهای کاربردیتر قابل اجرا هستند.
به عنوان مثال، در یک برنامه کاملاً فکر شده که به کاربران امکان ایجاد و دستکاری هر دو Thingamajigs و Doohickeys را می دهد، هنگامی که کاربران می دانند چگونه Thingamajig ایجاد کنند و می خواهند یک Dohickey ایجاد کنند، از قبل می دانند که چگونه کار می کند زیرا ایجاد برای هر دو یکسان عمل می کند. . همینطور کپی، جابجایی، حذف، ویرایش، چاپ و غیره
مثال: تجزیه و تحلیل شی/عملیات برای یک برنامه تقویم اداری ساده
به عنوان مثال، بیایید تجزیه و تحلیل اشیاء/عملیات را برای یک برنامه تقویم اداری ساده بررسی کنیم. اشیاء، صفات، عملیات و روابط ممکن است به شرح زیر باشد:
اشیاء: شامل اشیایی مانند تقویم ، رویداد ، مورد کار و شخص می شود (جدول 1 را ببینید). این اشیاء غیر مرتبط با کار مانند بافر ، کادر محاوره ای ، پایگاه داده و رشته متن را حذف می کند .
ویژگی ها: یک تقویم دارای یک مالک و یک تمرکز پیش فرض (روز، هفته، ماه) خواهد بود. یک رویداد دارای نام ، توضیحات ، تاریخ ، زمان ، مدت زمان و مکان خواهد بود. یک مورد باید دارای نام ، شرح ، مهلت و اولویت باشد. یک فرد باید نام ، شرح شغل ، محل دفتر و شماره تلفن داشته باشد. با این حال، رویدادها نباید اندازه بایت را به عنوان یک مشخصه در معرض دید داشته باشند، زیرا این ویژگی مبتنی بر پیاده سازی است، نه متمرکز بر وظیفه.
عملیات: تقویم ها دارای عملیاتی مانند بررسی ، چاپ ، ایجاد ، تغییر نمای ، افزودن رویداد ، حذف رویداد هستند. رویدادها دارای عملیاتی مانند بررسی، چاپ و ویرایش هستند. موارد انجام کار کمابیش عملیات مشابهی با رویدادها دارند. عملیات مرتبط با پیادهسازی مانند بارگیری پایگاههای داده، ویرایش ردیفهای جدول، شستشوی بافرها و حالتهای سوئیچینگ بخشی از مدل مفهومی نیستند.
اشیاء ویژگی های عملیات
تقویم
مالک، تمرکز فعلی
بررسی، چاپ، ایجاد، افزودن رویداد، حذف رویداد
رویداد
نام، شرح، تاریخ، زمان، مدت، مکان، تکرار، نوع (مثلاً جلسه)
بررسی، چاپ، ویرایش (ویژگی ها)
مورد برای انجام
نام، توضیحات، مهلت، اولویت، وضعیت
مشاهده، چاپ، ویرایش (ویژگی ها)
شخص
نام، شرح شغل، دفتر، تلفن
ارسال ایمیل، مشاهده جزئیات
جدول 1. تجزیه و تحلیل شی/عملیات برای یک برنامه تقویم اداری ساده.
جدول 1. تجزیه و تحلیل شی/عملیات برای یک برنامه تقویم اداری ساده.
آن را ساده نگه دارید
گاهی اوقات اضافه کردن مفاهیم برای ارائه عملکرد بیشتر وسوسه انگیز است. اما، مهم است که بدانیم هر مفهوم اضافی به دو دلیل هزینه بالایی دارد: 1) مفهومی را اضافه می کند که کاربرانی که دامنه کار را می شناسند نمی شناسند و بنابراین باید یاد بگیرند، و 2) پیچیدگی را افزایش می دهد. برنامه به صورت تصاعدی، زیرا هر مفهوم اضافه شده با بسیاری از مفاهیم دیگر در برنامه تعامل دارد. بنابراین، در صورت امکان باید در برابر مفاهیم اضافی مقاومت کرد. شعار طراحی عملیاتی با مدلهای مفهومی این است: «کمتر، بیشتر است».
یک مدل مفهومی پایه ای را برای برنامه و پروژه فراهم می کند
طراحی رابط کاربری مفاهیم انتزاعی مدل مفهومی را به ارائه های عینی و اقدامات کاربر ترجمه می کند. برای بهترین نتایج، رابط کاربری پس از طراحی مدل مفهومی طراحی می شود. سپس سناریوها را می توان در سطح طراحی رابط کاربری بازنویسی کرد. طراحی UI از مدل مفهومی ممکن است مشکلاتی را در مدل مفهومی آشکار کند، در این صورت ممکن است مدل مفهومی بهبود یابد.
یک مدل مفهومی نه تنها برای طراحی رابط کاربری، بلکه برای پیادهسازی و مستندسازی برنامه نیز پایهای را فراهم میکند. بنابراین نقش اصلی را در طراحی و توسعه محصول کلی ایفا می کند.
خلاصه: شش مزیت مدل های مفهومی
شروع یک طراحی با ابداع یک مدل مفهومی چندین مزیت دارد:
با چیدمان اشیاء و عملیات دامنه وظیفه، به طراحان اجازه میدهد تا عملیاتهایی را که توسط بسیاری از اشیاء به اشتراک گذاشته میشوند، متوجه شوند. عملیات متداول در بین اشیاء، یادگیری و به خاطر سپردن UI را برای کاربران ساده تر می کند.
حتی نادیده گرفتن سادهسازیهایی که میتواند ناشی از توجه به عملیات مشترک باشد، ابداع یک مدل کاربر، طراحان را مجبور میکند تا اهمیت نسبی مفاهیم، ارتباط مفاهیم با حوزه کار (بر خلاف حوزه رایانه)، سلسلهمراتب نوع اشیاء را در نظر بگیرند. و سلسله مراتب مهار اشیا. فکر کردن در مورد این موارد، طراحی یک رابط کاربری را بسیار آسان می کند.
یک مدل مفهومی نقطه شروعی را برای توسعه واژگان محصول فراهم می کند، به عنوان مثال، فرهنگ لغت هایی که برای شناسایی هر یک از اشیاء و عملیات تجسم یافته در نرم افزار استفاده می شود. این کمک می کند تا اطمینان حاصل شود که اصطلاحات به طور مداوم در برنامه و مستندات آن استفاده می شوند.
هنگامی که طراحان یک مدل مفهومی برای یک برنامه داشته باشند، می توانند سناریوهایی بنویسند که افرادی را که از برنامه برای انجام وظایف استفاده می کنند، تنها با استفاده از مفاهیم مدل مفهومی و اصطلاحات موجود در واژگان، بنویسند. به عنوان مثال، یک سناریوی در سطح مفهومی برای برنامه تقویم ممکن است این باشد: «جان قرارهای خود را برای هفته بررسی میکند. او یک جلسه تیمی را برنامه ریزی می کند، اعضای تیم را دعوت می کند و یک قرار دندانپزشکی اضافه می کند. چنین سناریوهایی (که می توانند به موارد استفاده از هم تفکیک شوند )، به اعتبار بخشیدن به طرح در بررسی های کاربردی کمک می کنند. آنها همچنین می توانند در مستندات محصول و آموزش گنجانده شوند. سناریوهای مفهومی وظایف و اهداف را بدون آشکار کردن تعاملات کاربر در سطح UI مورد نیاز برای دستیابی به آن اهداف توصیف می کنند، بنابراین می توان از آنها به عنوان شرح وظایف در تست های قابلیت استفاده استفاده کرد.
یک مدل مفهومی اولین برش را در مدل شی برنامه (حداقل برای اشیایی که کاربران از آنها آگاه خواهند بود) ارائه میکند، بنابراین توسعهدهندگان میتوانند از آن برای شروع اجرای برنامه استفاده کنند.
یک مدل مفهومی فعالانه حفظ شده از فرآیند توسعه بهتر پشتیبانی می کند. می تواند اطمینان حاصل کند که تمام جنبه های قابل مشاهده یک برنامه کاربردی (عملکرد، اصطلاحات، UI، اسناد، پشتیبانی، …) سازگار هستند . با قرار دادن مدل مفهومی به مسئولیت مشترک همه اعضای تیم، می توان برنامه را منسجم کرد. هر دوی اینها با کاهش دوباره کاری، منابع توسعه را کاهش می دهند.
