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

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

خصوصیات یک مهندس نرم افزار

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

بازار کار و درآمد مهندسی نرم افزار

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

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

مقایسه مهارت بر نامه نویسی با مهندسی نرم افزار

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

وظایف یک مهندس نرم افزار

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

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

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

 

دیدگاهتان را بنویسید