فایل مورد نظردر قالب pdf با حجم 3.5 مگابایت می باشد. دوستان گرامی و دانشجویان ارجمند و عزیز در صورت تمایل می توانید این فایل بسیار با ارزش را به صورت مستقیم از سایت بیست میشم تهیه بفرمائید.
دانلود جزوه مهندسی نرم افزار | 20 میشم
مهندسی نرم افزار چیست؟
دانلود جزوه مهندسی نرم افزار | 20 میشم بیان میدارد برای درک بهتر از معانی عباراتی چون مهندسی نرم افزار بهتر است از هم تفکیک شوند. این اصطلاح از دو کلمه نرم افزار و مهندسی ساخته شده است:
نرم افزار چیزی بیش از کدهای اجرایی یک برنامه نیست. به طور کاملتر نرم افزار به مجموعهای از کدهای برنامه نویسی اجرایی به همراه کتابخانههای مرتبط و اسناد مخصوص آن گفته میشود.
از طرف دیگر مهندسی به همه موضوعات در مورد نحوه تولید محصولات، با استفاده از اصول و روشهای علمی تعریف شده گفته میشود.
موسسه استاندارد IEEE مهندسی نرم افزار را استفاده از یک روش منظم و قابل اندازه گیری برای توسعه، بهره برداری و نگهداری نرم افزار تعریف میکند.
جزوه مهندسی نرم افزار
دانلود جزوه مهندسی نرم افزار | 20 میشم
مزایای مهندسی نرم افزار
بزرگترین مزیت مهندسی نرمافزار ایجاد یک مسیر ایمن برای طراحی و ارائه یک نرم افزار کامل، کاربردی و بدون مشکل است.
مهندسی نرم افزار در کنار ارائهی مدلها و راهحلهای مختلف روشهایی را جهت سهولت نگهداری، تعمیر و توسعه آن ارائه میدهد. علاوه بر این در کنار مزایای ذکر شده مزایای فوق العاده دیگری را به همراه میآورد که در ادامه مورد بررسی قرار خواهیم داد.
پیچیدگی را کاهش میدهد نرم افزارهای بزرگ همیشه پیچیده و دشوار هستند. مهندسی نرم افزار برای کاهش پیچیدگی هر پروژه یک راه حل عالی دارد. مهندسی نرم افزار مشکلات بزرگ را به چندین مشکل کوچک تقسیم می کند تا به راحتی شروع به حل هر یک از مشکلات کوچک کنید. تمام این مشکلات کوچک به طور مستقل از یکدیگر حل می شوند.
به حداقل رساندن هزینه نرم افزار برخی از نرم افزارها به سخت افزار زیادی احتیاج دارند و این هزینهی کاربران نهایی را برای بهره بردن از آنها افزایش میدهد.
یا الگوریتمهای نادرست استفاده شده در آنها سبب میشود نیروی انسانی زیادی برای توسعه نرم افزار جهت تولید میلیونها خط کد به کار گرفته شود.
اما در مهندسی نرم افزار، برنامه نویسان همه چیز را برنامه ریزی میکنند و تمام موارد اضافی را که لازم نیست، کاهش میدهند و کدها را به صورت کاملا بهینه سازی شده به اتمام میرسانند.
دانلود جزوه مهندسی نرم افزار | 20 میشم
همچنین اشتباهات حاصل از خطاها زمان و هزینه زیادی را در پی خواهد داشت که هزینه تولید را افزایش خواهد داد. اما به دلیل کاهش خطا و ارائه راهحلهای علمی،
هر نرم افزاری که از روش مهندسی نرم افزار استفاده میکند، هزینه کمتری را به افراد مرتبط با نرم افزار تحمیل میکند.
کاهش زمان هر چیزی که طبق برنامه ساخته نشده باشد، همیشه وقت را تلف میکند. اگر در حال تهیه نرم افزارهای بزرگ هستید بالطبع برای به دست آوردن کد اجرایی نهایی، نیاز به برنامه نویسی هزاران خط کد خواهید داشت.
این فرآیند از شروع پروژه تا رسیدن به کد نهایی بسیار وقت گیر است و اگر به خوبی مدیریت نشود میتواند زمان زیادی را به خود صرف کند. بنابراین اگر شما نرم افزار خود را مطابق رویکرد مهندسی نرم افزار تهیه کنید، میزان زیادی از این هدر رفت زمان را کاهش خواهید داد.
انجام راحتتر پروژههای بزرگ پروژه های بزرگ چند روزه ساخته نمیشوند و به صبر، برنامه ریزی و مدیریت زیادی احتیاج دارند. مهندسی نرم افزار به جهت برنامه ریزی،
جهت دهی به کارها، بخش بندی، تقسیم کار و آزمایش و نگهداری را در ارائه نرمافزارها سبب مجزا شدن بخشهای مختلف و اجرای همروند آنها میشود. بنابراین برای مدیریت پروژههای بزرگ شرکتهای نرم افزاری باید به رویکرد مهندسی نرم افزار روی بیاورند.
دانلود جزوه مهندسی نرم افزار | 20 میشم
نرم افزار قابل اعتماد نرم افزار باید قابل اعتماد باشد، به این معنی که اگر مهندسین نرم افزار آن را به شما تحویل دادهاند،
باید حداقل برای مدت زمان مشخص به درستی کار کند. و اگر اشکالی در نرم افزار وجود دارد، شرکت مهندسی مسئولیت حل همه این اشکالات را بر عهده دارد. از آنجا که در مهندسی نرم افزار، روشهای آزمایش و نگهداری ارائه شده است، بنابراین هیچ نگرانی از قابلیت اطمینان بودن نرم افزارها وجود ندارد.
اثربخشی اثربخشی نشان میدهد که تا چه میزان از نتایج مورد نظر مشتری حاصل شده است. اگر کارها مطابق با استانداردها انجام شده باشد، اثربخشی به وجود میآید. استانداردهای نرم افزاری تمرکز بزرگ شرکتها برای اثربخشی بیشتر نرم افزار هستند. بنابراین نرم افزار با کمک این مباحث کاربردی عملکرد موثرتری خواهد داشت.
جزوه مهندسی نرم افزار
دانلود جزوه مهندسی نرم افزار | 20 میشم
دانلود جزوه مهندسی نرم افزار | 20 میشم
اهمیت مهندسی نرم افزار
مهندسی نرم افزار بسیار مهم است زیرا تقریباً در هر صنعت، هر تجارت و برای هر عملکردی نرم افزار خاصی مورد نیاز است.
و این موضوع با گذشت زمان از اهمیت بیشتری نیز برخوردار میشود.
به عنوان مثال اگر در هنگام خرید آنلاین مشکلی در سبد خرید شما رخ دهد یک مشکل حیاتی است که بر وجهه آن فروشگاه آنلاین تاثیر میگذارد.
بنابراین تمامی تلاش صاحبان کسب و کار استفاده از نرم افزارهایی با کمترین میزان خطا و مشکل است که این موضوع توسط تولید نرم افزار بر اساس اصول مهندسی نرم افزار امکان پذیر است.
دانلود جزوه مهندسی نرم افزار | 20 میشم
در تولید صنعتی نرم افزار نیز تمایل به پیروی از یک فرآیند نرم افزاری جهت تضمین تولید یک محصول نهایی قابل تعمیر و نگهداری، قابل اعتماد و کاربردی است.
از انتخاب زبان برنامه نویسی مناسب و الگوریتمها گرفته تا در نظر گرفتن پویایی گروه، در دسترس بودن منابع و رضایت مشتریان همه مواردی هستند که مهندسان نرم افزار باید برای هر پروژه در نظر بگیرند و کیفیت حاصل از این اصول تمام چیزی است که کاربران نهایی آن نرم افزار نیاز خواهند داشت.
اما همه این موارد در فازهای مختلف و به وسیله گروههای متخصص بر طبق فرآیندهای مرتبط انجام میشوند که در ادامه به اختصار به بررسی مزایای برخی از آنها میپردازیم.
دانلود جزوه مهندسی نرم افزار | 20 میشم
اهمیت نیاز سنجی و مهندسی نیاز در مهندسی نرم افزار
در این فرآیند نیازها به صورت کامل و مکتوب از طرف قرارداد گرفته میشود و بر اساس آن روشهایی جهت برآورده کردن نیاز در مهندسی نیازمندی تعریف میشود.
در حقیقت این نیازمندی است که پایه و اساس هر پروژه است. نیازها شامل انتظاراتی هستند که تمامی افراد مرتبط با نرم افزار دارند.
مهندسی نیازمندیها به ما کمک میکند که درک درستی از نیازها و مسائلی که باید حل شوند به دست بیاوریم و بهترین راه حل را نسبت به نیازهای موجود انتخاب کنیم.
دانلود جزوه مهندسی نرم افزار | 20 میشم
برای درک بهتر این فاز مهم فرض کنید که شما به عنوان مهندس معمار قصد طراحی و ساخت یک برج را برعهده دارید.
بالطبع ابتدا بایستی نیازهای کارفرما را در پروژه تحویل بگیرید که ممکن است شامل متراژ هر واحد، تعداد آسانسورها، محل قرارگیری راه پله، تعداد طبقات و… باشد.
حال اگر کارفرما زمان مناسبی برای بحث و گفتگو با شما و برگزاری جلسات مورد نیاز جهت بررسی این موضوع اختصاص ندهد .
و پس از شروع به اجرا و در حین کار به دلیل کاهش هزینهها یکی از نیازها مانند تعداد آسانسور را کاهش دهد چه اتفاقی در پروژه خواهد افتاد و چه چیزهایی تحت تاثیر این تغییر قرار خواهد گرفت؟
دانلود جزوه مهندسی نرم افزار | 20 میشم
قطعا اگر تحویل یک کار کامل و بدون نقص مورد نظر باشد کل پروژه بایستی به نقطه صفر باز گردد تا نقاط ضعف ایجاد شده بر طرف شود!
چرا که با این تغییر به اصطلاح کوچک متراژ و نقشه واحدها تغییر خواهند کرد، اختصاص فضای آسانسور و قرارگیری محلی مرکزی برای آسانسورهای دیگر باید مورد بحث قرار گرفته و در نهایت جابجا شوند،
مدل سازی دوباره انجام شود و مراحل انجام شده در ساخت باید تخریب و دوباره سازی شوند و این یعنی هدر رفت زمان و هزینه بسیار زیاد!
اگر هم نخواهند این کار را انجام دهند یک برج با هدر رفت فضای خالی آسانسور در طبقات و نقطه ضعف بزرگ عدم دسترسی درست همه ساکنان به آسانسور خواهد بود که به نقطه تاریکی در رزومه کاری کارفرما و مهندس طراح تبدیل خواهد شد.
در فرآیند تولید نرمافزار نیز با رخداد این اشتباهات تمامی این مراحل اتفاق خواهد افتاد.
بنابراین شناخت درست نیازها مهمترین گام در طراحی یک محصول استاندارد در کمترین زمان ممکن با صرف کمترین هزینه ممکن است که مستلزم صرف زمان و بررسی و گفتگو برای استخراج تمامی نیازهاست.
جزوه مهندسی نرم افزار
دانلود جزوه مهندسی نرم افزار | 20 میشم
اهمیت مدل سازی و طراحی اولیه در مهندسی نرم افزار
معمولا در پروژههای عمران پس از شناسایی نیازها و کشف راههای حل مسئله، تجزیه و تحلیل و استخراج یک طرح نهایی، مهندسین اقدام به ساخت ماکت بر اساس نیازهای ذکر شده توسط کارفرمای پروژه میکنند تا طرح نهایی را برای کارفرما شبیه سازی کنند.
معمولا در این فاز تغییراتی توسط کارفرما ایجاد خواهد شد که به طرح مورد تایید نهایی منجر خواهد شد. در مبحث مدل سازی در مهندسی نرم افزار نیز باید این کارها انجام شوند.
دانلود جزوه مهندسی نرم افزار | 20 میشم
در مدل سازی هدف مهندسین تبدیل نیازهای کارفرما به نیازمندیهای قابل پیاده سازی است.
به عنوان مثال یکی از نیازهای کارفرما امکان به روز رسانی نرم افزار در پشت صحنه و بدون تایید کاربران است که این باید توسط مهندسین بررسی و در صورت عدم ایجاد باگهای امنیتی اجرا شود.
اما در صورت ایجاد مشکل باید باید به نیازهای قابل اجرا تبدیل و به کارفرما ارائه شوند تا بتواند در مورد آنها تصمیم گیری کند.
جزوه مهندسی نرم افزار
دانلود جزوه مهندسی نرم افزار | 20 میشم
فاز دوم طراحی نرم افزار
در این بخش نوع معماری نرم افزار، انتخاب واسط کاربری، نحوه پیاده سازی طرح و تبدیل به کد و بسیاری از مسائلی که کاربرد سیستم را به صورت مستقیم تحت الشعاع قرار میدهند مورد بررسی و اجرا قرار میگیرند. تا سیستم به کد اجرایی نهایی تبدیل شود.
این بخش مهمترین بخش در فرآیند مهندسی نرم افزار است و بیشترین زمان را به خود اختصاص میدهد.
انتخاب تمامی موارد و پیاده سازی آنها در بهترین حالت ایده آل مهندسی نرم افزار است که با ارائه راه حلهای مختلف سعی در رسیدن به این هدف بسیار مهم دارد.
انجام این بخش اگر به صورت علمی و مهندسی شده انجام نشود ممکن است مشکلات جبران ناپذیری ایجاد کند.
برای مثال بارها مشکلات و خطاهای برنامه نویسی و طراحی حتی در شرکت های بزرگی چون ناسا سبب سقوط ماهوارهها و خسارتهای چند میلیون دلاری شده است.
دانلود جزوه مهندسی نرم افزار | 20 میشم
دانلود جزوه مهندسی نرم افزار | 20 میشم
کنترل کیفیت و تست نرم افزار
در این فاز نرم افزار ایجاد شده بر اساس موارد مهمی چون صحت عملکرد، پایداری، سادگی و قابلیت فهم و رعایت اصول اساسی در مهندسی نرم افزار و استانداردها مورد بررسی قرار گرفته و در شرایط معینی تست و مورد آزمایش قرار میگیرد تا از عملکرد نهایی آن اطمینان حاصل شود.
رعایت نکردن هر یک از فازها در طراحی و تولید یک نرم افزار ممکن است مشکلات و خسارات گاهاً جبران ناپذیری را به تیم پروژه و کارفرما تحمیل کند.
دانلود جزوه مهندسی نرم افزار | 20 میشم
به همین دلیل مهندسی نرم افزار به عنوان علم و روشی پیش رو در تمام شرکتهای بزرگ دنیا مورد توجه بوده و هست تا بتوانند بهترین استفاده را از زمان و هزینه برای تولید با کیفیتترین محصول نرم افزاری داشته باشند.
شما یک گام جلوتر از دیگران باشید! اگر به آیتی و تکنولوژی علاقهمندید و دوست دارید سریعتر در این زمینه پیشرفت کنید، همین حالا به جمع ۵۲۵۰ عضو همیار آیتی بپیوندید،
دسترسی به تمام آموزشهای پریمیوم، دریافت جدیدترین آموزشهای کاربردی مرتبط با آیتی و استفاده از مشاورهی رایگان، برخی از مزایای عضویت در سایت هستند، شما نیز به کاربران همیار پیوسته و همین حالا وارد دنیای حرفهایها شوید…
دانلود جزوه مهندسی نرم افزار | 20 میشم
حدوده مهندسی نرمافزار و تمرکز آن
مهندسی نرمافزار به مفهوم توسعه و بازبینی یک سیستم نرمافزاری مربوط میباشد.
این رشته علمی با شناسایی، تعریف، فهمیدن و بازبینی خصوصیات مورد نیاز نرمافزار حاصل سر و کار دارد.
این خصوصیات نرمافزاری ممکن است شامل :پاسخگویی به نیازها، اطمینانپذیری، قابلیت نگهداری، در دسترس بودن، آزمونپذیری، استفاده آسان، قابلیت حمل و سایر خصوصیات باشد .
مهندسی نرمافزار ضمن اشاره به خصوصیات فوق، مشخصات معین طراحی و فنیای را آماده میکند که اگر بدرستی پیادهسازی شود، نرمافزاری را تولید خواهد کرد که میتواند بررسی شود که آیا این نیازمندیها را تامین میکند یا خیر .
مهندسی نرمافزار همچنین با خصوصیات پروسه توسعه نرمافزاری در ارتباط است. در این رابطه، با خصوصیاتی مانند هزینه توسعه نرمافزار، طول مدت توسعه نرمافزار و ریسکهای توسعه نرمافزار درگیر است .
دانلود جزوه مهندسی نرم افزار | 20 میشم
نیاز به مهندسی نرمافزار
نرمافزار عموماً از محصولات و موقعیتهایی شناخته میشود که قابلیت اطمینان زیادی از آن انتظار میرود،
حتی در شرایط طاقت فرسا، مانند نظارت و کنترل نیروگاههای انرژِی هستهای، یا هدایت یک هواپیمای مسافربری در هوا، چنین برنامههایی شامل هزاران خط کد هستند، که از نظر پیچیدگی با پیچیدهترین ماشینهای مدرن قابل مقایسهاند.
بهعنوان مثال یک هواپیمای مسافربری چند میلیون قطعه فیزیکی دارد (و یک شاتل فضایی خدود ده میلیون بخش دارد)، در حالی که نرمافزار هدایت چنین هواپیمایی میتواند تا ۴ میلیون خط کد داشته باشد .
دانلود جزوه مهندسی نرم افزار | 20 میشم
تکنولوژیها و روشهای عملی
مهندسین نرمافزار طرفدار تکنولوژیها و روشهای عملی بسیار متفاوت و مختلفی هستند، که با هم ناسازگارند. این بحث در سالهای دهه ۶۰ میلادی شروع شد و ممکن است برای همیشه ادامه پیدا کند.
مهندسین نرمافزار از تکنولوژیها و روشهای عملی بسیار متنوعی استفاده میکنند. کسانی که کار عملی میکنند از تکنولوژیهای متنوعی استفاده میکنند : کامپایلرها، منابع کد، پردازشگرهای متن.
کسانی که کار عملی میکنند از روشهای عملی بسیار متنوعی استفاده میکنند تا تلاشهایشان را اجرا و هماهنگ کنند : برنامه نویسی در دستههای دونفری، بازبینی کد، و جلسات روزانه.
هدف هر مهندس نرمافزار بایستی رسیدن به ایدههای جدید خارج از مدلهای طراحی شده قبلی باشد، که باید شفاف بوده و بخوبی مستند شده باشد .
با وجود رشد فزاینده اقتصادی و قابلیت تولید فزایندهای که توسط نرمافزار ایجاد شده، هنوز هم بحث و جدلهای ماندگار درباره کیفیت نرمافزار ادامه دارند .
دانلود جزوه مهندسی نرم افزار | 20 میشم
از این که تا پایان متن با ما همراه بودید سپاسگزاریم.