سفارش تبلیغ
صبا ویژن

مهندس نرم افزار کیست ؟

معرفی رشته ی مهندسی کامپیوتر

 

اصطلاح مهندسی‌نرم‌افزار عموماً به معانی مختلفی به کار می‌رود:

•    به‌عنوان یک اصطلاح غیر رسمی امروزی برای محدوده وسیع فعالیت‌هایی که قبلا برنامه‌نویسی و تحلیل سیستم‌ها نامیده می‌شد.

•    به‌عنوان یک اصطلاح جامع برای تمامی جنبه‌های عملی برنامه‌نویسی کامپیوتر، در مقابل تئوری برنامه نویسی کامپیوتر، که علوم کامپیوتر نامیده می‌شود.

•    به‌عنوان اصطلاح مجسم کننده طرفداری از یک رویکرد خاص نسبت به برنامه‌نویسی کامپیوتر که اصرار می‌کند، مهندسی نرم‌افزار، بجای انکه هنر یا مهارت باشد، باید به‌عنوان یک رشته عملی مهندسی تلقی شود و از جمع کردن و تدوین روش‌های عملی توصیه شده به شکل متدولوژی‌های مهندسی نرم‌افزار طرفداری می‌کند.

•    مهندسی نرم‌افزار عبارتست از : الف) کاربرد یک رویکرد سیستماتیک، انتظام یافته، قابل سنجش نسبت به توسعه، عملکرد و نگهداری نرم‌افزار، که کاربرد مهندسی در نرم‌افزار است و ب) مطالعه روشهای موجود در استاندارد IEEE

 

انواع نرم افزارها:

نرم افزارهای سیستمی

 

real-time software (نرم افزارهای بلادرنگ)

business software (نرم افزارهای تجاری)

engineering/scientific software (نرم افزارهای علمی و مهندسی)

embedded software (نرم افزارهای نهفته یا تعبیه شده)

PC software (نرم افزارهای کامپیوترهای شخصی)

AI software (نرم افزارهای هوش مصنوعی)

Web applications (نرم افزارهای کاربردی تحت وب)

 

محیط کار این افراد به چه شکلی میباشد؟

مهندسان نرم افزار دردفاتر کار راحت و با نور مناسب و یا در آزمایشگاههای رایانه ای که مجهز به تجهیزات رایانه ایست به کار می پردازند .اکثر آنها  ساعت های معینی رادر هفته کار میکنند اما به علت ماهیت پروژه ای کار، ممکن است مجبور به شبکاری ویا کار در تعطیلات برای تحویل به موقع سفارش و یا حل مسائل نا خواسته فنی بشوند . آنها همانند سایر کارکنانی که ساعتها پشت رایانه می نشینند و بر روی صفحه کلید تایپ میکنند ممکن است دچار عوارضی چون خستگی چشم ، کمر درد و ناراحتی های دست و مچ مانند سندرم تونل کارپال شوند.

بسیاری از مهندسان نرم افزار در تلاش برای بهبود برنامه های نرم افزاری برای کاربران ، باید با مشتریان و همکاران ، تبادل کاری نزدیک داشته باشند.

مثلا مهندسانی که توسط فروشندگان نرم افزار وشرکتهای مشاوره ای استخدام می شوند ، اکثر اوقات خود را دور از محل کار خود میگذرانند وبرای ملاقات با مشتریان سفرهای شبانه میکنند . آنها با مشتریهایی از کارهای تولیدی گرفته تا مؤسسات مالی سرو کار دارند.

 

با گسترش شبکه های اینترنتی ، مهندسان نرم افزار قادر خواهند بود با استفاده از مودمها ، رایانه های قابل حمل ،‌ پست الکترونیکی و اینترنت از دفتر کار خود و با اتصال به رایانه مشتریان حمایتهای فنی را ارائه داده و مشکلات جزئی را شناسایی و رفع کنند.

 

محدوده مهندسی نرم‌افزار و تمرکز آن

 

مهندسی نرم‌افزار به مفهوم توسعه و بازبینی یک سیستم نرم‌افزاری مربوط می‌باشد. این رشته علمی با شناسایی، تعریف، فهمیدن و بازبینی خصوصیات مورد نیاز نرم‌افزار حاصل سر و کار دارد. این خصوصیات نرم‌افزاری ممکن است شامل: پاسخگویی به نیازها، اطمینان‌پذیری، قابلیت نگهداری، در دسترس بودن، آزمون‌پذیری، استفاده آسان، قابلیت حمل و سایر خصوصیات باشد.

 

مهندسی نرم‌افزار ضمن اشاره به خصوصیات فوق، مشخصات معین طراحی و فنی‌ای را آماده می‌کند که اگر بدرستی پیاده‌سازی شود، نرم‌افزاری را تولید خواهد کرد که می‌تواند بررسی شود که آیا این نیازمندی‌ها را تامین می‌کند یا خیر.

مهندسی نرم‌افزار همچنین با خصوصیات پروسه توسعه نرم‌افزاری در ارتباط است. در این رابطه، با خصوصیاتی مانند هزینه توسعه نرم‌افزار، طول مدت توسعه نرم‌افزار و ریسک‌های توسعه نرم‌افزار درگیر است.

 

نیاز به مهندسی نرم‌افزار

 

نرم‌افزار عموماً از محصولات و موقعیتهایی شناخته می‌شود که قابلیت اطمینان زیادی از آن انتظار می‌رود، حتی در شرایط طاقت فرسا، مانند نظارت و کنترل نیروگاه‌های انرژِی هسته‌ای، یا هدایت یک هواپیمای مسافربری در هوا، چنین برنامه‌هایی شامل هزاران خط کد هستند، که از نظر پیچیدگی با پیچیده‌ترین ماشینهای مدرن قابل مقایسه‌اند. به‌عنوان مثال یک هواپیمای مسافربری چند میلیون قطعه فیزیکی دارد (و یک شاتل فضایی خدود ده میلیون بخش دارد)، در حالی که نرم‌افزار هدایت چنین هواپیمایی می‌تواند تا 4 میلیون خط کد داشته باشد.


معرفی رشته مهندسی کامپیوتر گرایش نرم افزار | بازارکار | چارت درس

معرفی رشته مهندسی کامپیوتر گرایش نرم افزار | بازارکار | چارت درسی این رشته

 

مهندسین نرم افزار شاغل در فرایند تولید سیستمها و برنامه های کاربردی نیازها ی کاربرها را تجزیه وتحلیل کرده و سیستمها و نرم افزارهای کاربردی را برای رایانه ها طراحی و تولید کرده ویا تغییر میدهند. آنها در طراحی و توسعه انواع نرم افزارها مشارکت دارند از جمله سیستمهای عامل ، توزیع شبکه و کامپایلرها که برنامه ها را برای پردازش سریعتر تغییر می دهند . مهندسان نرم افزار با برنامه نویسی یا کد گذاری به رایانه برای انجام کاری خاص خط به خط دستورالعمل میدهند.

مهندسان نرم افزار باید در زمینه برنامه نویسی از مهارتهای بالایی برخوردار باشند اما اکثرا به  جای نوشتن کد با طراحی الگوریتم ها،تجزیه و تحلیل و حل مشکلات برنامه نویسی سر و کار دارند.همچنین آنها مشکلات فنی ایجاد شده را برطرف می نمایند.

 

مهندسان نرم افزارهای کاربردی به تجزیه و تحلیل نیازهای کاربرها پرداخته و نرم افزارهای کار بردی عمومی ویا برنامه های ابزاری تخصصی را طراحی و بوجود می آورند ویا تغییر میدهند . با توجه به هدف برنامه،از زبانها ی برنامه نویسی متفاوتی استفاده می شود.

 

زبانهای بر نامه نویسی اصلی مورد استفاده شامل سی ، سی پلاس پلاس و جاوا و برنامه هایی که کمتر کاربرد دارند شامل فرترن و کوبول می باشند .بعضی مهندسین نرم افزار هم به توسعه بسته های نرم افزاری سیستم و هم برنامه های کاربردی سفارشی میپردازند.

مهندسین نرم افزارهای سیستم وظیفه هماهنگ کردن نصب ونگهداری سیستمهای رایانه ای یک شرکت را برعهده داشته و رشد و گسترش این سیستمها را در آینده برنامه ریزی می کنند. مهندسین شاغل در یک شرکت به هماهنگ کردن نیازها ی رایانه ای هربخش ازجمله دادن سفارشات ، صورت برداری کالاها ، صورت حساب ها و ثبت صورت پرداخت ها می پردازند و از لحاظ فنی پیشنهاداتی ارائه می دهند . آنها در ضمن باید اینترانتهای شرکت ، بعنی شبکه هایی که رایانه ها را درون یک شرکت به هم متصل کرده و ارتباطات درون شرکتی را راحت میکنند راه اندازی کنند.

 

مهندسین نرم افزارهای سیستم برای شرکتهایی که سیستمهای کامل رایانه ای را طراحی ، اجرا و نصب میکنند نیز کار میکنند .احتمال دارد که انان در بخش بازاریابی و فروش کار کنند که در این بخشها به عنوان مرجع فنی اولیه برای فروشندگان و مشتریان به فعالیت می پردازنند .

 

در ضمن فعالیت هایی چون فروش تولیدات و حمایت های فنی پس از فروش برای مشتریان نیز در حیطه کار آنان می باشد .

مهندسان نرم افزاراغلب به عنوان بخشی از یک تیم که طراحی سخت افزار و نرم افزار و سیستمها را بر عهده دارد به فعالیت می پردازند . یک تیم هسته ای کارهای مهندسی ، فروش ، ساخت و فرماندهی کارکنان را تا ارائه محصول نهایی به عهده میگیرد.

مهندسی نرم‌افزار پیشه‌ای است که به یاری دانش رایانه و دیگر فناوری‌ها و روش‌ها به آفریدن و نگاهداری نرم‌افزار رایانه‌ای می‌پردازد.

 

مهندسی نرم‌افزار طراحی، برنامه نویسی، توسعه، مستندسازی و نگهداری نرم‌افزار با بکارگرفتن روشهای فنی و عملی از علوم کامپیوتر، مدیریت پروژه، مهندسی، محدوده کاربرد، طراحی رابط، مدیریت تجهیزات دیجیتال و سایر زمینه‌ها است.

کاربردهای مهندسی نرم‌افزار دارای ارزش‌های اجتماعی و اقتصادی هستند، زیرا بهره‌وری مردم را بالا برده، چند و چون زندگی آنان را بهتر می‌کنند. مردم با بهره‌گیری از نرم‌افزار، توانایی انجام کارهایی را دارند که قبل از آن برایشان شدنی نبود. نمونه‌های از این دست نرم‌افزارها عبارت‌اند از: سامانه‌های توکار، نرم‌افزار اداری، بازی‌های رایانه‌ای، و اینترنت.

فناوری‌ها و خدمات مهندسی نرم‌افزار به کاربران برای بهبود بهره‌وری و کیفیت یاری میرساند. نمونه‌هایی از زمینه‌های بهبود: پایگاه داده‌ها، زبان‌ها، کتابخانه‌ها، الگوها، فرآیندها و ابزار.