سلام دوستان عزیز!
امروز میخواهیم در مورد یه موضوع خیلی مهم توی دنیای کامپیوتر حرف بزنیم: مهندسی الزامات. شاید اسمش یکم پیچیده به نظر برسه، ولی اصلا نگران نباشید. قراره با زبون ساده و با مثالهای کاربردی، این مفهوم رو با هم یاد بگیریم.
تصور کنید میخواهید یه خونه بسازید. قبل از اینکه حتی یه آجر هم بذارید روی آجر دیگه، باید بدونید دقیقا چه خونهای میخواهید. چند تا اتاق داره؟ آشپزخونهش چه شکلیه؟ حموم و دستشویی کجا قرار میگیرن؟ نوع مصالح چیه؟ و خیلی سوالات دیگه. اگه این سوالات رو جواب ندید و یهو شروع کنید به ساختن، احتمال خیلی زیاد خونهای میسازید که اصلا به دردتون نمیخوره!
توی دنیای نرمافزار هم دقیقا همینه. قبل از اینکه برنامهنویسها شروع کنن به نوشتن کد، باید بدونن دقیقا دارن چه نرمافزاری میسازن. مهندسی الزامات دقیقا به همین کمک میکنه. یعنی جمعآوری، مستندسازی و مدیریت تمام نیازها و خواستههایی که از یه نرمافزار داریم.
به عبارت دیگه، مهندسی الزامات یه جور نقشه راه برای ساختن نرمافزارِ. این نقشه راه به همه کمک میکنه: از کارفرما و مشتری گرفته تا برنامهنویسها و تستکنندهها. همه میدونن قراره دقیقا چه کاری انجام بشه و نتیجهی کار چی باید باشه.
شاید بپرسید خب این همه دردسر برای چیه؟ چرا باید وقت بذاریم و این همه نیاز رو جمعآوری و مستند کنیم؟ جوابش خیلی سادهست: اگه الزامات رو درست نفهمیم، نرمافزاری میسازیم که:
با انجام درست مهندسی الزامات، میتونیم از این مشکلات جلوگیری کنیم و نرمافزاری بسازیم که:
مهندسی الزامات یه فرایند چند مرحلهایه که معمولا شامل مراحل زیر میشه:
الزامات میتونن انواع مختلفی داشته باشن. به طور کلی، میتونیم اونها رو به دو دستهی اصلی تقسیم کنیم:
برای اینکه بهتر متوجه بشید، به جدول زیر توجه کنید:
نوع الزامات | مثال |
---|---|
الزامات عملکردی | سیستم باید امکان جستجوی محصول بر اساس نام، قیمت و دسته بندی را داشته باشد. |
الزامات غیرعملکردی | صفحه اصلی سیستم باید در کمتر از 3 ثانیه بارگذاری شود. |
الزامات عملکردی | سیستم باید امکان صدور فاکتور با جزئیات کامل را داشته باشد. |
الزامات غیرعملکردی | سیستم باید در برابر حملات سایبری مقاوم باشد. |
فرض کنید میخواهیم یه نرمافزار برای مدیریت کتابخونه بسازیم. بعضی از الزامات این نرمافزار میتونه اینها باشه:
همونطور که میبینید، الزامات همهی جنبههای نرمافزار رو پوشش میدن و به برنامهنویسها کمک میکنن تا یه نرمافزار کامل و کاربردی بسازن. گاهی الزامات رو باید به صورت مصور به نمایش درآورد. تصور کنید که یک نمودار از فعالیت کاربر از ورود به سایت تا خرید یه محصول داریم. به این نوع ارائه الزامات، نمایش تصویری میگن.
به این نکته هم توی دنیای کامپیوتر توجه کنین که مهندسی الزامات فقط برای نرمافزار نیست و برای سختافزار هم وجود داره. حتی اگر یک ماشین لباس شویی بخواید طراحی کنین به مهندسی الزامات نیاز دارید!
مهندسی الزامات فرایندیه برای جمعآوری، مستندسازی و مدیریت نیازها و خواستههایی که از یه نرمافزار داریم. انجام درست مهندسی الزامات باعث میشه نرمافزاری بسازیم که کاربردی، مطمئن، به موقع و با هزینهی مناسب باشه. این فرایند شامل مراحلی مثل شناسایی، مستندسازی، تحلیل، اعتبارسنجی و مدیریت الزامات میشه. الزامات میتونن عملکردی (چه کاری باید انجام بشه) یا غیرعملکردی (چطور باید کار کنه) باشن.
امیدوارم این مقاله تونسته باشه بهتون کمک کنه تا مفهوم مهندسی الزامات رو بهتر درک کنید. اگه سوالی دارید، حتما بپرسید!
دقت کنید که اگر الزامات رو به درستی انتخاب کنیم، طراحی ما از کیفیت بالایی برخوردار خواهد شد و یه نرم افزار خوب خاهیم داشت.
مهندسی الزامات, نرمافزار, الزامات عملکردی, الزامات غیرعملکردی, جمعآوری الزامات, مستندسازی الزامات, تحلیل الزامات, مدیریت الزامات
امتیاز شما به این مطلب
امتیاز: 5 از 5 (مجموع 1 رای)
اولین نفری باشید که در مورد این مقاله نظر می دهید!
techfeed.ir© 2024 All rights reserved