مهندسی نیازمندی ها در مهندسی نرم افزار چیست؟
1833838#2
مستندسازی نیازمندی‌ها به تشریح و توضیح اینکه یک نرم‌افزار خاص چه می‌کند یا از چه عملکردهایی برخوردار است می‌پردازد. این تشریح در طول توسعه نرم‌افزار مورد استفاده قرار می‌گیرد تا شاخصی باشد برای آنچه نرم‌افزار انجام می‌دهد یا باید انجام بدهد. همچنین این مستندسازی به عنوان یک توافقنامه یا اساسی برای توافقنامه بر آنچه که یک نرم‌افزار انجام می‌دهد یا باید انجام دهد مورد استفاده قرار می‌گیرد. نیازمندی‌ها توسط تمام کسانی که در تولید نرم‌افزار دست‌اندرکار بوده‌اند تولید و مصرف می‌گردد، که تعدادی از آن‌ها عبارتند از: کاربران نهایی، مشتریان، مدیران محصول، مدیران پروژه، فروش، بازاریابی، معماران نرم‌افزار، مهندسین قابلیت مصرف، طراحان تعامل، توسعه‌دهندگان و سنجش‌گران؛ بنابراین، مستندسازی محصول اهداف مختلف و فراوانی را دنبال می‌کند. نیازمندی‌ها به روش‌های گوناگونی ارائه می‌گردد. [نیازمندی]ها می‌توانند به روش: شبه‌هدف (مثلا [محیط کاری توزیع‌شده])، [نزدیک به طراحی] (مثلا ، builds می‌توان با راست‌کلیک کردن بر روی یک [فایل تنظیمات|فایل کانفیگیوریشن] و انتخاب گزینه «build» شروع گردد) یا هر روش دیگری ارائه شوند. آن‌ها همچنین می‌توانند به عنوان یک بیانیه به زبان طبیعی، اَشکال ، فرمول‌های ریاضی و ترکیبی از همه آن‌ها مشخص گردد. تنوع و پیچیدگی مستندسازی نیازمندی‌ها آن را تبدیل به چالشی حتمی نموده‌است. ممکن است نیازمندی‌ها تلویحی بوده و به‌سختی پیدا شود. درک این مسئله که هنگام مستندسازی نیازمندی‌ها تا چه اندازه باید پیش برویم و چه میزان را برای تیم‌های مستندسازی دیگر مانند مستندسازان طراحی و مستندسازان معماری واگذار نماییم بسیار دشوار است و دشوار تر از آن، پیاده‌سازی این مستند است بگونه‌ای که گسترهٔ مخاطبان آن که از طراحان و معماران سیستم تا ذینفعان را در بر می‌گیرد را اقناع کند. مستندسازی نیازمندی‌ها معمولا ناتمام است (یا حتا وجود ندارد). بدون مستندسازی نیازمندی‌ها، تغییرات نرم‌افزاری دشوارتر بوده و به تبع خطای بیشتر (کیفیت نرم‌افزاری کاهش‌یافته) و زمان بیشتری (پرهزینه‌تر) را بر پیاده سازان تحمیل خواهد کرد. اهمیت مستندسازی نیازمندی‌ها رابطه مستقیم با پیچیدگی محصول، تأثیر محصول، و امید به زندگی نرم‌افزار است. اگر نرم‌افزار بسیار پیچیده باشد یا توسط تعداد زیادی از افراد ساخته شده باشد، مستندسازی نیازمندی‌ها کمک می‌کند تا با آنچه که قصد داریم به آن برسیم بهتر ارتباط برقرار کنیم. به عبارت دیگر دورنمای بهتری از محصول نهایی خود داشته باشیم. اگر نرم‌افزار برای امنی تهدید باشد یا تأثیرات منفی برای زندگی بشر داشته باشد (برای مثال، سیستم‌های انرژی هسته‌ای، تجهیزات پزشکی)، مستندسازی نیازمندی‌های رسمی‌تری مورد نیاز خواهد بود. اگر بنابراین باشد که نرم‌افزار تنها یک یا دو ماه عمر کند (برای مثال، اپلیکیشن موبایلی که تنها برای یک کمپین خاص ساخته شده‌است)، به مستندسازی بسیار کمتری نیاز خواهد بود. اگر قرار است یک نرم‌افزار نسخه اولیه باشد که بعدتر نسخه‌های دیگری بر اساس آن ساخته شوند، مستندسازی نیازمندی‌ها در زمان مدیریت تغییر نرم‌افزار و تأیید اینکه هیچ چیزی در نرم‌افزار در زمان تعدیل شکسته نشده‌است، مفید خواهد بود. به‌طور سنتی، نیازمندی‌های نرم‌افزار در اسناد نیازمندی‌ها مشخص می‌گردند (برای مثال، کاربرد اپلیکیشن‌های پردازش واژه و اپلیکیشن‌های spreadsheet). برای مدیریت پیچیدگی روزافزون و ذات متغیر مستندسازی نیازمندی‌ها (و به‌طور کلی، مستندسازی نرم‌افزار)، سیستم‌های دیتابیس‌محور و ابزار مدیریت نیازمندی‌ها مبتنی بر اهداف خاص به وجود آمده‌اند که حامیان فراوانی دارند.
مستندسازی نرم‌افزار
3826195#0
نیازمندی‌های نرم‌افزار یک رشته در مهندسی نرم‌افزار می‌باشد که به نیازهای ذینفعان که توسط نرم‌افزار باید حل شود، می‌پردازد. در واژه نامه استاندارد مهندسی نرم‌افزار IEEE استاندارد نیازمندی‌ها به صورت زیر تعریف می‌شود: فعالیت‌های مربوط به کار با نیازمندی‌های نرم‌افزار می‌تواند به طور گسترده به مراحل استخراج و تحلیل مشخصات و مدیریت شکسته شود.
نیازمندی‌های نرم‌افزار
1615#21
تست نرم‌افزار یکی از بخش‌های مهم و تأثیرگذار در مهندسی نرم‌افزار است. بالابردن کیفیت نرم‌افزارهای تولیدی بدون توجه به فرایند تست و تضمین کیفیت نرم‌افزار ممکن نخواهد بود. امروزه پیشگامان صنعت نرم‌افزار به این نتیجه رسیدند که توسعه و تست نرم‌افزار باید به صورت موازی با هم پیش روند. این امر سبب می‌شود که همراه با توسعه نرم‌افزار کیفی آن نیز تضمین شود. توجه به تست نرم‌افزار نکته متمایزکننده شرکت‌های موفق آی تی و شرکت‌های شکست خورده‌است.
مهندسی نرم‌افزار
2017520#1
مهندسی نیازمندی‌ها (به انگلیسی: Requirements engineering) اشاره به روند تدوین، مستندسازی و نگهداری نیازمندی‌های نرم‌افزار و همچنین اشاره به رشته مهندسی نرم‌افزار در رابطه با این فرایند دارد. از یک نقطه نظر دیگر مهندسی نیازمندی‌ها شاخه‌ای از مهندسی سیستم‌ها و فرایندی است که به استخراج، تحلیل، ساخت، صحت‌سنجی، اعتبارسنجی و مدیریت تغییر نیازمندی‌های یک سیستم با هدف ردیابی آن‌ها در سطوح پی در پی انتزاع، توجه دارد .
مهندسی نیازمندی‌ها
3826195#6
ابزارهای تجاری تخصی برای مهندسی نیازمندی‌ها شامل 3SL Cradle, IRise, Gatherspace, Rational RequisitePro, Doors, CaliberRM or QFDCapture می‌باشد. ابزارهای رایگانی نظیر FreeMind، Reqchecker به همراه برنامه MS Office نیز می‌تواند مورد استفاده قرار گیرد.
نیازمندی‌های نرم‌افزار
1615#3
کاربردهای مهندسی نرم‌افزار دارای ارزش‌های اجتماعی و اقتصادی هستند، زیرا بهره‌وری مردم را بالا برده، چند و چون زندگی آنان را بهتر می‌کنند. مردم با بهره‌گیری از نرم‌افزار، توانایی انجام کارهایی را دارند که قبل از آن برای‌شان شدنی نبود. نمونه‌هایی از این دست نرم‌افزارها عبارت‌اند از: سامانه‌های توکار، نرم‌افزار اداری، بازی‌های رایانه‌ای و اینترنت.
مهندسی نرم‌افزار
1540848#12
قابلیت‌ها و امکانات قابل فهم در حوزه سازه بتنی محکم ارائه می‌دهد و علاوه بر آن از ویژگی‌های تنش ستون بهره‌مند است.این نرم‌افزار تمامی نیازهای لازم برای طراح را یکجا فراهم آورده‌است و در ساخت سازه‌ها از این نرم‌افزار به‌طور عملی استفاده می‌شود. یادگیری این نرم‌افزار بسیار سریع است و به زمان طولانی برای یادگیری نیازی نیست. قالب‌های آماده‌ای که در نرم‌افزار پیش‌بینی شده‌است باعث می‌شود قادر به شبیه‌سازی طرح‌های بسیار پیچیده باشید. در این برنامه برای طراحان پل نیز امکانات ویژه‌ای در نظر گرفته شده‌است. نگارش جدید این نرم‌افزار در اواخر فروردین به بازار عرضه شد و گران‌ترین آن نسخه Advanced یا پیشرفته‌است. برنامه SAP آخرین و قوی‌ترین نسل از سری برنامه تحلیل سازه‌ها می‌باشد.
نرم‌افزارهای رشته مهندسی عمران
2017520#3
ابزارهای مهندسی نیازمندی‌ها باید قابلیت‌های زیر را فراهم نمایند .
مهندسی نیازمندی‌ها
654435#1
از مهم‌ترین کارها در تولید نرم‌افزار استخراج نیازمندی‌ها یا تحلیل نیازمندی‌های آن سامانه است. مشتریان عمومی معمولاً تصور مفهومی، انتزاعی و مبهمی از نتیجه نهایی خواسته‌هایشان دارند و نمی‌دانند به درستی نرم‌افزار مورد نظرشان چه کاری باید انجام دهد. در این مرحله نیازمندی‌های ناتمام، پیچیده و مبهم، و حتی متضاد توسط مهندسان نرم‌افزار ماهر شناسایی می‌شوند. در این برهه تکه نرم‌افزارهای آماده، تجربه‌شده و فعال ممکن است برای پایین آوردن ریسک (و مشکلات) نیازمندی‌ها کمک کنند. نخست نیازمندی‌های عمومی از کاربران جمع‌آوری شده و دامنه توسعه و تولید نرم‌افزار که باید تولید شود شناسایی و تحلیل می‌شود، سپس مستندات به صورت شفاف نوشته می‌شوند. معمولاً به این مستند، مستند دامنه یا محدوده سامانه اطلاق می‌شود.
فرایند توسعه نرم‌افزار
5825741#3
توسعه سطح اول الزامات مهندسی سخت افزار یک تمرین صرفاً تحلیلی نیست و باید معمار و مهندس سخت افزار را نیز درگیر کند. اگر قرار است مصالحه‌ای صورت گیرد، برای برآورده کردن محدودیت‌هایی مانند هزینه، برنامه، قدرت یا فضا، معمار باید اطمینان حاصل کند که محصول نهایی و ظاهر و احساس کلی از هدف کاربر دور نمی‌شود. مهندس باید روی توسعه طرحی تمرکز کند که محدودیت‌ها را بهینه کند اما محصولی قابل اجرا و قابل اعتماد را تضمین کند. معمار در درجه اول به راحتی و قابلیت استفاده محصول می‌پردازد. مهندس در درجه اول به تولید و سودمندی محصول می‌پردازد.
معمار سخت افزار