مهندسی نرم افزار(Software Engineering):
تعاریف زیادی برای علم مهندسی نرم افزار ارائه شده است که در ادامه به چند مورد از معروف ترین های آنها می پردازیم:
مهندسی نرم افزار از دیدگاه Pressman: به مجموعه ای از فناوری ها، روش ها و ابزارهای مبتنی بر اصول مهندسی که در توسعه نرم افزار استفاده می شود، مهندسی نرم افزار گفته می شود.
مهندسی نرم افزار از دیدگاه Sommerville: مهندسی نرم افزار در ارتباط با توسعه سیستم های نرم افزاری به شکل فعالیت گروهی است و از قواعد مهندسی استفاده کرده و شامل جنبه های فنی و غیرفنی است.
مهندسی نرم افزار از دیدگاه Bauer: مهندسی نرم افزار عبارت است از توسعه و استقرار نرم افزار با استفاده از اصول دقیق مهندسی برای دستیابی به نرم افزاری با صرفه اقتصادی که دو شرط قابل اعتماد(Reliable) و کارا(Efficient) بودن را دارد.
چرا مهندسی نرم افزار؟
هر چه اندازه سخت افزار کوچکتر گردد باعث زیاد شدن و همهگیر شدن آن خواهد شد و هزینه آن پایینتر خواهد آمد. در این حال نیاز به رشد کمی و کیفی نرم افزار داریم:
رشدکمی: تولید نرم افزارهای جدید به اندازه تقاضای کاربران
رشد کیفی: تولید نرم افزارهای پیچیده تر برای استفاده از پتانسیل سخت افزار