Warning: Declaration of tie_mega_menu_walker::start_el(&$output, $item, $depth, $args, $id = 0) should be compatible with Walker_Nav_Menu::start_el(&$output, $item, $depth = 0, $args = Array, $id = 0) in /home3/afgsaane/public_html/wp-content/themes/jarida/functions/theme-functions.php on line 1904
معرفی مهندسی کامپیوتر | سایت تخصصی کامپیوتر afgsaa
خانه » عمومی » معرفی مهندسی کامپیوتر

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

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

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

مطلب مهم دیگر آنکه چون تقریبا تمام کتب و منابع موجود در این رشته به زبان انگلیسی است و این منابع و اطلاعات به سرعت در حال تغییر هستند و امکان سریع ترجمه آنها نیز به فارسی وجود ندارد از این رو تسلط کافی به زبان انگلیسی در این رشته بسیار مهم است. دروس ریاضی و فیزیک نیز همانند دیگر رشته‌های مهندسی در این رشته کاربرد وسیعی دارد.

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

مهندسی کامپوتر یکی از نیاز امروز بشر است . نیاز هر اجتماعی به مهندسان کامپیوتر کاملا محسوس است و مهندسی کامپیوتر از عوامل توسعه یک کشور است.

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

گرایش ها

گرایش سخت افزار

هر کامپیوتر دارای دو جزء متفاوت سخت افزار و نرم افزار است که در این میان سخت افزار جزء فیزیکی کامپیوتر بوده و شامل صفحه  کلید، صفحه نمایش، چاپگر و دیسک‌ها می‌شود. اجزای فیزیکی و قابل لمس کامپیوتر مانند مدارها و بردهای الکترونیکی، سخت افزار نامیده می‌شود. مهم ترین واحد سخت افزار در مقطع لیسانس به مطالعه و بررسی طراحی سخت افزاری، کنترل سخت افزاری و شبکه های کامپیوتری می‌پردازد. برای مثال یک مهندس سخت افزار می‌تواند به طراحی بخش های سخت افزاری کامپیوتر شامل پردازش گر مرکزی (CPU) ، پورت های ورودی و خروجی و سیستم‌ها و مدارات جانبی می‌پردازد، مباحث درسی در رشته ی سخت افزار به مطالب درسی در رشته ی مهندسی برق و الکترونیک نزدیک بوده خصوصا تمام مطالب شاخه ی دیجیتال شامل مدارهای مختلف، معماری کامپیوتر و میکروپروسسورهای 1 و 2، الکترونیک دیجیتال و … را شامل می‌شود که البته به این بخش از سخت افزار بیشتر در مقطع کارشناسی ارشد و دکتری پرداخته می‌شود.

نقش و توانایی یا کارایی

فارغ التحصیلان این دوره قابلیت و مهارتهای زیر را خواهند داشت:

1-  بررسی و شناسایی سیستمهای کامپیوتری به منظور انتخاب و سفارش سخت افزار و یا نرم افزار بهینه، هدایت و نظارت در نصب و بهره برداری ازآنها.

2- ارائه روشهای عیب یابی اصلاح و تکمیل سیستمهای سخت افزاری و یا نرم افزاری موجود و نظارت بر این امور.

3- طراحی، ساخت و راه اندازی سیستمهای جدید سخت افزاری و یا نرم افزاری

4- تشخیص لزوم استفاده از کامپیوتر در کنترل عملیات در محیط های مختلف

5- شناسایی تکنیکهای جدید طراحی و ساخت کامپیوتر ، ارزیابی و بکارگیری آنها

ضرورت و توانایی

تربیت کارشناسان مهندسی کامپیوتر با توجه به موارد روشن میشود.

1- توسعه و گسترش روز افزون تکنولوژی کامپیوتر و دانش آن

2- نقش حیاتی دانش و تکنولوژی کامپیوتر در جمع زمینه های علمی ، صنعتی، اقتصادی، مدیریتی آموزش و پژوهشی

3- لزوم ارتقاء سطح دانش جامعه در زمینه دانش و تکنولوژی کامپیوتر

4- لزوم همگانی جامعه با پیشرفتهای نوین در جوامع پیشرفته

گرایش نرم افزار

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

مسائل اصلی مهندسی نرم‌افزار تولید نرم‌افزار بر اساس موارد زیر است:

  • الزام های تعیین شده
  • در زمان تعیین شده
  • در محدودهٔ بودجه پیش‌بینی شده

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

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

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

پیشینه مهندسی نرم افزار

اصطلاح مهندسی نرم‌افزار بعد از سال ۱۹۶۸ شناخته شد. این اصطلاح طی کنفرانس «مهندسی نرم‌افزار ناتو ۱۹۶۸» (که در گارمیش آلمان برگزار شد) توسط ریاست کنفرانس F.L. Bauer معرفی شد و از آن پس بطور گسترده مورد استفاده قرار گرفت.

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

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

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

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

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

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

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

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

تکنولوژی و روش های عملی

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

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

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

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

دیوان فعالیتهای آماری آمریکا مهندسان نرم‌افزار را به عنوان زیرگروهی از «متخصصین کامپیوتر»، با فرصت‌های شغلی‌ای مانند «دانشمند کامپیوتر»، «برنامه نویس» و «مدیر شبکه» دسته بندی کرده‌است. BLS  تمام مهندسین دیگر این شاخه علمی، که شامل مهندسین سخت‌افزار کامپیوتر نیز هست، را به‌عنوان «مهندسین» دسته بندی می‌کند.

محیط کار

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

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

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

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

فرصتهای شغلی

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

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

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

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

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

آموزش و ادامه تحصیل

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

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

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

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

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

با پیشرفت فنآوری رایانه ای ، کار فرمایان به مهارتهای جدید تری نیاز پیداخواهند کرد.

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

چشم انداز آینده

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

میزان در آمد

در سال ۲۰۰۰ میانگین در آمد سالانه مهندسان نرم افزار که تمام وقت فعالیت داشته اند در ایالات متحده حدود ۶۷۶۷۰ دلار بوده است .

درباره امیر حمزه

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

دیدگاهتان را ثبت کنید

آدرس ایمیل شما منتشر نخواهد شدعلامتدارها لازمند *

*

theme
رفتن به بالا

Warning: Parameter 1 to W3_Plugin_TotalCache::ob_callback() expected to be a reference, value given in /home3/afgsaane/public_html/wp-includes/functions.php on line 3510