|

مهندسي نرم افزار چيست؟ وظايف و حوزه فعاليت مهندس نرم افزار چيست؟
شغل مهندسی نرم افزار دارای دامنه نسبتاً وسیعی از مسئولیتها می باشد. در واقع برخلاف تصور عدهاي مهندسي نرمافزار در توانايي كار با محدودة وسيعي از نرمافزارها، توانايي نصب و راهاندازي آنها و يا صرفاً برنامهنويسي نيست. نرمافزارها و سیستمهای کوچک تر ممکن است هم اکنون به چند مهندس نرم افزار برای فرایند مدیریت چرخه حیات خود احتیاج داشته باشند. عموماً، برای اکثر نرمافزارهای فوق گسترده، کارها به گروههای کوچکتری تقسیم میشوند که بر یک محدوده از نرمافزار یا تکنولوژی مربوطه متمرکز میگردند. بعنوان مثال یک سیستم ممکن است به یک معمار نرمافزار (Software Architect)، مهندس طراح (Design Engineer)، برنامهنویس جاوا (JAVA Developer) و مهندس کنترل کیفیت (Quality Assurance Engineer) نیاز داشته باشد. كه مدرك علمي همه آنها مهندسي نرافزار بوده و هر كدام بر يكي از جنبههاي توليد نرمافزار تمركز كردهاند.
در بازار امروز بکارگیری خدمات تحت وب بعنوان یکی از راهکارهای شغلی که دارای اهمیت خاصی در اینترنت هستند مطرح میگردند. تحلیل و طراحیهای شئگرا و یکی از عمومیترین نیازهای اکثر طراحیهای نرمافزارهای مشاغل میباشد. بسیاری از درخواستها که در ادامه لیست شدهاند بسیار مبهم و عمومی میباشند که بیشتر بر روی یکی از جنبههای مهندسی نرمافزار حرکت کردهاند. با این حال به غیر از مواردی که ذکر شده زمینههای دیگری نیز وجود دارد که مهندسین نرمافزار میتوانند بر آنها تمرکز کنند. از جمله این زمینهها میتوان به مهندسی نرمافزار ادغامی (Embedded Software Engineers) اشاره نمود. عنوانهای کاری متداول برای مهندسین نرم افزار به شرح زیر میباشد: مهندس نرمافزار ارشد (Senior Software Engineer) توسعه دهنده نرمافزار (Software Developer) برنامهنویس نرمافزار (Software Programmer) طراح نرمافزار (Software Designer) مهندس عامل (Principal Engineer) توسعه دهنده نرمافزارهای کاربردی (Application Developer) مهندس نرمافزارهای کاربردی (Application Engineer) مهندس نرمافزارهای ادغامی (Embedded Software Engineer) توسعه دهنده سرویسهای تحت وب (Web Services Developer) مهندس کنترل کیفیت نرمافزار (Quality Assurance Engineer)
سایر وظایف و موارد مرتبط با مهندسی نرمافزار: 1. چرخه کامل توسعه نرمافزار کاربردی 2. طراحی، کدنویسی و خطایابی نرمافزارها در انواع محیطهای کدنویسی و تولید نرمافزار 3. تحلیل نرمافزار، تحلیل کد، تحلیل نیازمندیها، بازبینی نرمافزار و مشخص نمودن مقیاسهای کدهای نوشته شده، تحلیل ریسک سیستم، تحلیل قابلیت اطمینان نرمافزار 4. طراحی و تحلیل شئگرا نرمافزار 5. شبیهسازی و مدلسازی از نرمافزارهای مورد نیاز 6. طراحی ابتدا تا انتهای واسط گرافیکی کاربر 7. تست و کنترل کیفی نرمافزار 8. افزایش کارایی، توسعه، ایجاد تعادل، افزایش قابلیت و خودکاری نرمافزار 9. پشتیبانی، نگهداری و مستندسازی قابلیتهای نرمافزار 10. هماهنگسازی نرمافزار با سیستمهای موجود 11. ارزیابی و شناسایی تکنولوژیهای نو برای پیادهسازی 12. برنامهریزی و مدیریت پروژه نرمافزاری 13. برآورده کردن استانداردهایی برای نگهداری 14. اجرای بومیگرایی یا جهانیسازی نرمافزار تعدادی از تکنولوژیها و دانشهای پر کاربرد و مورد استفاده در مهندسی نرمافزار در ادامه لیست شدهاند:
C, C++, Java, .NET, Python, BEA WebLogic, WebSphere, J2EE, JBoss, ADO, Perl, HTML, JSP, JavaScript, Web services, SOAP, XML, ASP, JSP, PHP, MySQL, SQL Server, Oracle, UNIX, Linux, STL, XSLT, OWL, AJAX

برگرفته از تعاريف مهندسي نرم افزار در WikiPedia توسط نويدوب
|