
نوشتن مقاله علمی و پژوهشی مهندسی نرمافزار
نوشتن مقاله علمی و پژوهشی مهندسی نرمافزار
مقاله علمی پژوهشی چیست؟
مقالات علمی پژوهشی در دسته طبقهبندی مقالات داخلی قرار میگیرند. در گروهبندی مقالات داخلی، علاوه بر مقالات علمی پژوهشی، دو گروه مقاله دیگر هم داریم که به این ترتیب هستند: مقالات علمی ترویجی و مقالات علمی تخصصی.
مقالات علمی پژوهشی به مقالاتی گفته میشود که موضوعی نو و تازه را مطرح میکنند یا با دیدگاهی تازه به سراغ موضوعات قدیمی میروند و پژوهشی اصیل و تازه درباره آنها ارائه میدهند. در واقع، چیزی که درباره این مقالات بسیار مهم است، تجزیه و تحلیل دادههایی است که فرضیه و ایدههای مطروحه در تحقیق را حمایت میکند.
شاید برایتان این سوال پیش آمده باشد که اگر به چنین مقالاتی، علمی پژوهشی گفته میشود پس چرا فقط آنها را در دستهبندی داخلی داریم؟ واقعیت این است که مقالات علمی پژوهشی در سطح بینالمللی هم نگارش و منتشر میشوند و مثلا شما میتوانید مقالهای به این صورت بنویسید و با ترجمه مقاله آن را به یکی از مجلات مهم دنیا ارسال کنید اما در دستهبندیهایی که در ایران در نظر میگیریم، مقالاتی با این مختصات که به زبان فارسی نوشته میشوند و در مجلات داخلی به چاپ میرسند اصطلاحا علمی پژوهشی خوانده میشوند و در دستهبندی مقالات داخلی قرار میگیرند.
حال اگر این مقالات پژوهششده را به ژورنالهای خارجی ارسال کنید، دستهبندی دیگری موسوم به isiبا ضریب تاثیر، isi بدون ضریب تاثیر و… به آن داده میشود. پس در اینجا صحبت از مقالات پژوهشی است که در ژورنالهای داخلی به چاپ میرسند و به آنها مقالات علمی پژوهشی گفته میشود. لازم بود تا اینها را بدانید و از هر گونه گیج شدن و سوتفاهم در دستهبندیها دور شوید. اگر آمادهاید بهتر است به شرح دقیقتر ویژگیهای مقالات علمی پژوهشی بپردازیم.
ویژگیهای مقالات علمی پژوهشی
همانطور که در قسمت قبل هم به طور مختصر اشاره شد، مقالات علمی پژوهشی حاوی ایدهای نو و تازه هستند. یعنی به بررسی و مرور موضوعات و مقالات قبلی در یک حیطه نمیپردازند.
اگر بنا باشد مقالهای با مختصات مقالات علمی پژوهشی نوشته شود باید نویسنده محقق به سراغ به دست آوردن دادههایی برود که تحقیقات و پژوهشهایش را روی آن اعمال میکند. یعنی دادههایی خام که مورد آزمایش قرار میگیرند و تحلیل نویسنده از آن ارائه میشود. علمی پژوهشیها از راهکار و راهحلهای تازهای میگویند که قبلا به هیچ عنوان مطرح نشده بوده است. بخشهای مختلف این دست از مقالات به شرح زیر خواهد بود:
- عنوان و طرح تیتر موضوع؛
- اسامی نویسندگان؛
- چکیده؛
- کلمات کلیدی؛
- مقدمه؛
- مرور ادبیات؛
- روش تحقیق؛
- نتیجهگیری نهایی؛
- منابع.
برای چاپ مقالات علمی پژوهشی باید هر یک از بخشهایی را که معرفی شد به دقت بشناسید و در اثر خود به نگارش درآورید.
مراحل نگارش مقاله علمی پژوهشی
اگر ساختار مقالهای علمی پژوهشی را به خوبی ندانید قطعا در نگارش صحیح آن عاجز خواهید بود. کاری که باید پیش از هر چیز صورت بدهید، این است که بدانید این مقالات شامل چه بخشهایی میشوند و چطور باید آنها را نگارش کرد.
نوشتن مقاله علمی و پژوهشی مهندسی نرمافزار
نوشتن مقاله علمی و پژوهشی مهندسی نرمافزار
مهندسی نرمافزار[۱] (به انگلیسی: Software engineering) یعنی استفاده از اصول مهندسی بجا و مناسب برای تولید و ارائه محصول نرمافزاری با کیفیت که قابل اطمینان و با صرفه بوده و بر روی ماشینهای واقعی بهطور کارآمدی عمل کند.
مهندسی نرمافزار یک روش سیستماتیک، منظم و دقیق برای ساخت و ارائه محصولی نرمافزاری با کیفیت است.
مهندسی نرمافزار اغلب شامل فرایند خطی تحلیل، طراحی، پیادهسازی و آزمون است؛ که با بهکارگیری روشهای فنی و علمی از علوم مهندسی موجب تولید نرمافزاری با کیفیت مطلوب در طول یک فرایند انتخابی مناسب پروژه میشود.
کاربردهای مهندسی نرمافزار دارای ارزشهای اجتماعی و اقتصادی هستند، زیرا بهرهوری مردم را بالا برده، چند و چون زندگی آنان را بهتر میکنند. مردم با بهرهگیری از نرمافزار، توانایی انجام کارهایی را دارند که قبل از آن برایشان شدنی نبود. نمونههایی از این دست نرمافزارها عبارتاند از: سامانههای توکار، نرمافزار اداری، بازیهای رایانهای و اینترنت.
فناوریها و خدمات مهندسی نرمافزار به کاربران برای بهبود بهرهوری و کیفیت یاری میرساند. نمونههایی از زمینههای بهبود: پایگاه دادهها، زبانها، کتابخانهها، الگوها، فرایندها و ابزار.
مهندسی نرمافزار عبارت است از کاربرد مهندسی برای طراحی نرمافزار، توسعه، پیادهسازی و نگهداری از نرمافزار در یک روش سیستماتیک.[۲][۳][۴]
تعاریف رسمی مهندسی نرمافزار عبارتند از:
- «تحقیقات، طراحی، توسعه و تست سیستمهای عامل در سطح نرمافزار، کامپایلر، نرمافزار شبکه توزیع برای پزشکی، صنعتی، نظامی، ارتباطات، هوا فضا، کسب و کار، علمی و بهطور کلی برنامههای کاربردی محاسباتی.»[۵]
- «برنامه سیستماتیک علمی و دانش فناوری و روشها و تجربههایی برای طراحی، پیادهسازی و تست و مستندسازی نرمافزار»[۶]
- «برنامهای سیستماتیک و منظم با قابلیت سنجش توسعه و عملکرد و نگهداری از نرمافزار»[۷]
- “یک از رشتههای مهندسی است که در رابطه با تمام جنبههای تولید نرمافزار است “[۸]
- و «ایجاد و استفاده از اصول درست مهندسی برای بدست آوردن نرمافزاری که از لحاظ اقتصادی، قابل اعتماد و صرفه است و در ماشینهای واقعی به صورت کارایی عمل میکند.»[۹]
- مهندسی نرمافزار (به انگلیسی: Software engineering) یعنی استفاده از اصول مهندسی بجا و مناسب برای تولید و ارائه محصول نرمافزاری با کیفیت که قابل اطمینان و با صرفه بوده و بر روی ماشینهای واقعی بهطور کارآمدی عمل کند. مهندسی نرمافزار یک روش سیستماتیک، منظم و دقیق برای ساخت و ارائه محصولی نرمافزاری با کیفیت است. مهندسی نرمافزار اغلب شامل فرایند خطی تحلیل، طراحی، پیادهسازی و آزمون است؛ که با بهکارگیری روشهای فنی و علمی از علوم مهندسی موجب تولید نرمافزاری با کیفیت مطلوب در طول یک فرایند انتخابی مناسب پروژه میشود. کاربردهای مهندسی نرمافزار دارای ارزشهای اجتماعی و اقتصادی هستند، زیرا بهرهوری مردم را بالا برده، چند و چون زندگی آنان را بهتر میکنند. مردم با بهرهگیری از نرمافزار، توانایی انجام کارهایی را دارند که قبل از آن برایشان شدنی نبود. نمونههایی از این دست نرمافزارها عبارتاند از: سامانههای توکار، نرمافزار اداری، بازیهای رایانهای و اینترنت. فناوریها و خدمات مهندسی نرمافزار به کاربران برای بهبود بهرهوری و کیفیت یاری میرساند. نمونههایی از زمینههای بهبود: پایگاه دادهها، زبانها، کتابخانهها، الگوها، فرایندها و ابزار.
مهمترین شاخص مهندسی نرمافزار
مهمترین شاخص در مهندسی نرمافزار تولید (طراحی و پیادهسازی) نرمافزار با کیفیت متناسب با «نیازهای مشتری» است.
پیشینه مهندسی نرمافزار
اصطلاح مهندسی نرمافزار پس از سال ۱۹۶۸ میلادی شناخته شد. این اصطلاح طی نشست «مهندسی نرمافزار ناتو ۱۹۶۸» (که در گارمیش-پارتنکیرشن، آلمان برگزار شد) توسط ریاست نشست فریدریش ال باوئر معرفی شد و از آن پس بهطور گسترده مورد استفاده قرار گرفت.
اصطلاح مهندسی نرمافزار عموماً به معانی مختلفی بهکار میرود:
- بهعنوان یک اصطلاح غیررسمی امروزی برای محدوده وسیع فعالیتهایی که پیش از این برنامهنویسی و تحلیل سامانهها نامیده میشد.
- بهعنوان یک اصطلاح جامع برای تمامی جنبههای عملی برنامهنویسی رایانه، در مقابل تئوری برنامهنویسی رایانه، که علوم رایانه نامیده میشود.
- بهعنوان اصطلاح مجسمکننده طرفداری از یک رویکرد خاص نسبت به برنامهنویسی رایانه که اصرار میکند، مهندسی نرمافزار، بهجای آنکه هنر یا مهارت باشد، باید بهعنوان یک رشته عملی مهندسی تلقی شود و از جمعکردن و تدوین روشهای عملی توصیهشده به شکل متدولوژیهای مهندسی نرمافزار طرفداری میکند.
- مهندسی نرمافزار عبارت است از:
- کاربرد یک رویکرد سامانهشناسی، انتظامیافته، قابل سنجش نسبت به توسعه، عملکرد و نگهداری نرمافزار، که کاربرد مهندسی در نرمافزار است.
- مطالعه روشهای موجود در استاندارد IEEE
محدوده مهندسی نرمافزار و تمرکز آن
مهندسی نرمافزار به مفهوم توسعه و بازبینی یک سامانه نرمافزاری مربوط میباشد. این رشته علمی با شناسایی، تعریف، فهمیدن و بازبینی خصوصیات مورد نیاز نرمافزار حاصل سر و کار دارد. این خصوصیات نرمافزاری ممکن است شامل پاسخگویی به نیازها، اطمینانپذیری، قابلیت نگهداری، در دسترس بودن، آزمونپذیری، استفاده آسان، قابلیت حمل و سایر ویژگیها باشد.
مهندسی نرمافزار ضمن اشاره به خصوصیات فوق، مشخصات معین طراحی و فنی را آماده میکند که اگر بهدرستی پیادهسازی شود، نرمافزاری را تولید خواهد کرد که میتواند بررسی شود که آیا این نیازمندیها را تأمین میکند یا خیر.
مهندسی نرمافزار همچنین با خصوصیات پروسه توسعه نرمافزاری در ارتباط است. در این رابطه، با خصوصیاتی مانند هزینه توسعه نرمافزار، طول مدت توسعه نرمافزار و ریسکهای توسعه نرمافزار درگیر است.
نیاز به مهندسی نرمافزار
نرمافزار عموماً از محصولات و موقعیتهایی شناخته میشود که قابلیت اطمینان زیادی از آن انتظار میرود، حتی در شرایط طاقت فرسا، مانند نظارت و کنترل نیروگاههای انرژی هستهای، یا هدایت یک هواپیمای مسافربری در هوا، چنین برنامههایی شامل هزاران خط کد هستند، که از نظر پیچیدگی با پیچیدهترین ماشینهای نوین قابل مقایسه هستند. بهعنوان مثال، یک هواپیمای مسافربری چند میلیون قطعه فیزیکی دارد (و یک شاتل فضایی حدود ده میلیون بخش دارد)، در حالی که نرمافزارِ هدایت چنین هواپیمایی میتواند تا ۴ میلیون خط کد داشته باشد.
با توجه به گسترش روزافزون دنیای رایانه امروزه بیش از هر زمان دیگری نیاز به متخصصان رایانه احساس میشود. متأسفانه این رشته در ایران بازار کار خوبی ندارد طبق آمارها ۶۳٫۲۷ درصد از فارغالتحصیلان در سال ۹۰ مشغول به کار در سایر مشاغل هستند. اما برای مهندسان سختافزار هم امکان کار در شرکتهای تولیدکننده قطعات و دستگاهها و مراکز صنعتی – تولیدی بسیار فراهم است و از نظر سطح درآمدی هم با توجه به دانش و پشتکار شخصی در حد متوسط قرار دارند. بهطور کلی این رشته در ایران با استقبال چندانی رو به رو نیست؛ این نیز حاکی از نبود برخی از زیرساختها در ایران هست.
تکنولوژیها و روشهای عملی
مهندسان نرمافزار طرفدار تکنولوژیها و روشهای عملی بسیار متفاوت و مختلفی هستند، که با هم ناسازگار هستند. این بحث در سالهای دهه ۶۰ میلادی شروع شد و ممکن است برای همیشه ادامه پیدا کند. مهندسان نرمافزار از تکنولوژیها و روشهای عملی بسیار متنوعی استفاده میکنند. کسانی که کار عملی میکنند از تکنولوژیهای متنوعی استفاده میکنند: کامپایلرها، منابع کد، پردازشگرهای متن. کسانی که کار عملی میکنند از روشهای عملی بسیار متنوعی استفاده میکنند تا تلاشهایشان را اجرا و هماهنگ کنند: برنامهنویسی در دستههای دونفری، بازبینی کد، و جلسات روزانه. هدف هر مهندس نرمافزار بایستی رسیدن به ایدههای جدید خارج از الگوهای طراحی شده قبلی باشد، که باید شفاف بوده و بهخوبی مستند شده باشد.
با وجود رشد فزاینده اقتصادی و قابلیت تولید فزایندهای که توسط نرمافزار ایجاد شده، هنوز هم بحث و جدلهای ماندگار دربارهٔ کیفیت نرمافزار ادامه دارند.
ماهیت مهندسی نرمافزار
دیوید پارناس گفتهاست که مهندسی نرمافزار یک شکل از مهندسی است. استیو مککانل گفتهاست که هنوز اینطور نیست، ولی مهندسی نرمافزار باید یک شکل از مهندسی شود. دونالد کنوت گفتهاست که برنامهنویسی یک هنر است.
دیوان فعالیتهای آماری آمریکا مهندسان نرمافزار را به عنوان زیرگروهی از «متخصصان رایانه»، با فرصتهای شغلیای مانند «دانشمند رایانه»، «برنامهنویس» و «مدیر شبکه» دستهبندی کردهاست. BLS تمام مهندسان دیگر این شاخه علمی، که شامل مهندسان سختافزار رایانه نیز هست، را بهعنوان «مهندسان» دستهبندی میکند.
زیر شاخههای مهندسی نرمافزار
مهندسی نرمافزار را میتوان به ۱۵ زیر رشته تقسیم کرد:
- شناخت: بررسی و استخراج نیازمندیهای نرمافزار که شامل استخراج، تحلیل و اعتبارسنجی خواستهها و تهیه مستندات مربوط جهت طراحی نرمافزار میباشد.
- طراحی نرمافزار: فرایند تعریف معماری، اجزا، واسط و دیگر مشخصههای سیستم یا اجزا را گویند. همچنین این زیر بخش به عنوان خروجی فرایند نیز تعریف میشود.
- طراحی نرمافزار # توجهات طراحی:سازگاری، توسعه پذیری، تحمل خطا، قابلیت نگهداری، ماژولار بودن، قابلیت اطمینان، قابلیت استفاده مجدد، استحکام، امنیت، قابلیت استفاده، کارایی، قابلیت حمل، مقیاس پذیری.
- ساخت نرمافزار:جزئیات مربوط به ایجاد کار با معنی برای نرمافزار از طریق برنامهنویسی، بازنویسی و تأیید، تست واحدها و اجزا، تست یکپارچگی، و اشکال یابی.
- تست نرمافزار: بررسی فنی -تجربی، برای ارائه به سهامداران و ذی نفعان که اطلاعاتی در مورد کیفیت محصول یا خدمات تحت تست بیا ن میکند.
- تعمیر و نگهداری نرمافزار: کلیه فعالیتهای مورد نیاز برای ارائه پشتیبانی مقرون به صرفه در نرمافزار است.
- مدیریت پیکربندی نرمافزار:شناسایی پیکربندی یک سیستم در نقاط مشخصی از زمان به منظور کنترل سیستماتیک تغییرات پیکربندی و حفظ و نگهداری یکپارچگی برنامه و ردیابی پیکربندی در طول چرخه عمر سیستم را گویند.
- مدیریت نرمافزارهای مهندسی: نرمافزار مدیریت فعالیتها و برنامهریزی، هماهنگی، اندازهگیری، نظارت، کنترل و گزارشگیری به منظور حصول اطمینان از توسعه و نگهداری سیستماتیک، منضبط و اندازهگیری شونده نرمافزار است.
- فرایند نرمافزار: تعریف، اجرا و پیادهسازی، ارزیابی، اندازهگیری، مدیریت، ایجاد تغییر و بهبود فرایند چرخه حیات خود نرمافزار را گویند.
- روشهای مهندسی نرمافزار و مدلهای تحمیل ساختار در مهندسی نرمافزار با هدف سیستماتیک و منظم کردن فعالیت، قابل تکرار بودن و در نهایت افزایش کیفیت نرمافزار و موفقیت امیزتر بودن ان ایجاد میشود.
- تمرین مهندسی نرمافزار حرفهای دربارهٔ دانش، مهارت و نگرشهای مهندسی نرمافزار است که مهندسان نرمافزار باید تمرین مهندسی نرمافزار را به صورت حرفهای، مسئولانه و اخلاقی بکنند.
- اقتصاد مهندسی نرمافزار در مورد تصمیمگیری در زمینه کسب و کار تجاری مهندسی نرمافزار است.
- مبانی ریاضی و محاسباتی
- مبانی مهندسی
- ابزار مهندسی نرمافزار و روشها: ابزارهایی مبتنی بر کامپیوتر برای مهندسی نرمافزار ایجاد شدهاند تا به فرایندهای چرخه حیات نرمافزار و روشهایی که ساختاری را بر فعالیتهای مهندسی نرمافزار اعمال میکنند کمک کند تا به هدف ساخت فعالیتهای سیستماتیک و در نهایت به موفقیت بتوان رسید.
برای چاپ مقاله علمی و پژوهشی و مشاوره انجام پایان نامه دکتری و مشاوره پایان نامه ارشد با ما تماس بگیرید : 09353132500
پایان نامه من بزرگترین سامانه تخصصی مشاوره پایان نامه در ایران