جزوه مهندسی نرم افزار پیشرفته از دروس کارشناسی ارشد کامپیوتر تالیف دکتر شمس از اساتید دانشگاه شهید بهشتیکه در 15 فصل به صورت کامل تشریح شده است.
توسعه نرم افزار در سالهای اخیر دچار تحولات گسترده ای شده است بطوریکه امروزه نرم افزار نقش دوگانه ای را بازی می کند. در یک نقش به عنوان محصول نهایی محسوب میشود و در نقش دیگر، به عنوان تولید کننده محصول نهایی است. در نقش اول، نرم افزار، پتانسیل بالقوه سخت افزار به فعلیت می رساند و در این نقش در کاربردهای گوناگونی که مورد استفاده قرار می گیرد از تلفن همراه گرفته تا کامپیوتر های بزرگ به عنوان تبدیل کننده(تولید، مدیریت، بازیابی، بهنگام سازی و نمایش، اطلاعات عمل می نماید.
این اطلاعات می تواند به سادگی یک بیت و به پیچیدگی یک شبیه سازی چند رسانه ایی عمل نماید. اما در نقش دوم، نرم افزار به عنوان ابزار اساسی کنترل سیستم های کامپیوتر( سیستم عامل) ، کنترل شبکه های کامپیوتری، طراحی و توسعه نرم افزار های دیگر ( ابزار ها و محیط های برنامه نویسی) عمل می کند. به عقیده صاحبنظران ، نرم افزار یکی از نیرو های اصلی و محرک قرن بیست و یکم می باشد، زیرا مهمترین محصول قرن که همان اطلاعات است را پردازش می نماد.
سرفصل های این جزوه عبارتند از:
مشکلات توسعه نرم افزار و بررسی مسئله پیچیدگی در نرم افزار
معرفی اصول شی گرایی برای مقابله با پیچیدگی
آشنایی با مفاهیم اولیه شی گرایی
شناسایی کلاس ها
فرایند توسعه نرم افزار در متدولوژی USDP
بررسی فرایند توسعه RUP
نظم های RUP
مدلسازی موارد کاربردی
مدلسازی کلاس ها
مدلسازی تعامل و رفتار
مدلسازی مؤلفه ها و استقرار
روش های سریع الانتقال توسعه نرم افزار
الگوهای طراحی
شبکه های پتری
توسعه بر پایه عامل