بخشی از پاورپوینت

اسلاید 1 :

مهندسی نرم افزار  Software Engineering

اسلاید 2 :

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

اسلاید 3 :

سرفصل مطالب
تعريف سيستم
تعریف نرم‏افزار، چرخه حیات سیستم
مفاهیم تحلیل و طراحی سیستم‏ها
سیستمهای اطلاعاتی ساخت‏یافته
امكان سنجي
نمودارهاي جريان داده
توصيف داده‏ها
توصيف فرآيندها
معرفی ابزار: Power Designer
مدیریت پروژه، برنامه‏ریزی و زمان‏بندی

اسلاید 4 :

تعریف نرم‏افزار
دستورات (برنامه‏های کامپیوتری) که در صورت اجرا شدن باعث انجام عمل و كارهاي خواسته شده مي‏شوند،

ساختمان داده‏هایی که باعث مي‏شوند برنامه‏ها به طور مناسبي اطلاعات را دستكاري کنند، و

مستنداتی که توصيف كننده عملكرد و چگونگی استفاده از برنامه‏ها می‏باشند.
نرم افزار عبارت است از:

اسلاید 5 :

نمودار نرخ شکست نرم‏افزار

اسلاید 7 :

نرم‏افزار سیستمی
نرم‏افزار بی‏درنگ (Real time)
نرم‏افزار تجاری
نرم‏افزار مهندسی و علمی
نرم‏افزار جاسازي شده( Embedded)
نرم‏افزار کامپیوتر شخصی
نرم‏افزار وب
نرم‏افزار هوش مصنوعی
طبقه‏بندی نرم‏افزارها :

اسلاید 8 :

شرايط نياز به سيستم
تغيير اهداف سازمان
تغيير وظايف سازمان
تغيير تكنولوژي (سخت‏افزار، نرم‏افزار، ارتباطات)
تغييرات محيطي

اسلاید 9 :

نرم‏افزارهای موجود چرا باید تغییر کنند؟
باید با محیط‏های محاسباتی و فن‏آوری‏های جدید مطابقت داشته باشند

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

باید توسعه داده شوند تا قادر به همکاری با سیستم‏ها و بانک‏های اطلاعاتی جدید باشند

باید در معماری نرم‏افزار تجدید نظر شود تا در محیط شبکه قابلیت سرویس‏دهی را داشته باشد

اسلاید 10 :

چرخه زيست سيستم
يك دوره زماني از هنگام نياز به سيستم تا پايان بهره‏برداري از آن
چرخه زيست سيستم شامل
تعريف (برنامه‏ريزي استراتژيك، تحليل و طراحي مفهومي)
توسعه (طراحي تفصيلي، ساخت، استقرار)
اجرا
نگهداري و بهبود مي‏باشد.

اسلاید 11 :

ضوابط ارزیابی نرم‏افزار :
هدف: تولید برنامه با کیفیت خوب
عوامل موثر در خوب بودن نرم‏افزار :
عوامل خارجی: توسط کاربر نرم‏افزار تشخیص داده می‏شود (اهداف)
عوامل داخلی: برای متخصصین کامپیوتر قابل درک است (ابزار رسیدن به اهداف)
عوامل خارجی :
صحت برنامه (Correctness)
استحکام (Robustness) : جوابگویی در شرایط غیرعادی
قابلیت توسعه (Extendibility)
قابلیت مصرف مجدد (Reusability)
سازگاری (Compatibility) : رعایت استاندارد
قابلیت حمل (Portability): اجرا در سیستم‏عامل و سخت‏افزارهای گوناگون
کارآیی (Efficiency): سرعت بالا و حافظه پایین
عوامل داخلی : واحد‏بندی

اسلاید 12 :

بحران نرم‏افزاری :
پیچیدگی و قدرت سخت‏افزار باعث شده که نوشتن نرم‏افزاری که بتواند از این پتانسیل سخت‏افزاری استفاده کامل کند مشکل گردد.
توان ما برای ایجاد برنامه‏های جدید به اندازه تقاضا نیست
توان نگهداری برنامه‏های موجود به خاطر طراحی ضعیف مورد تهدید قرار می‏گیرد.
برنامه‏های تولید شده مشکلاتی دارند .
هزینه تولید نرم افزار دائماً افزایش می‏یابد.
هزینه‏ها مطابق هزینه پیش‏بینی شده نیستند.
عملیات مطابق برنامه زمان‏بندی انجام نمی‏گیرند
نرم‏افزار تولید شده همه کارهای مورد نظر را انجام نمی‏دهد
نرم‏افزار دارای خطاست

اسلاید 13 :

مدل‏های گوناگون در فرآیند تولید نرم‏افزار :
برای بر طرف کردن بحران نرم‏افزار سه عامل کلیدی برای کنترل فرایند تولید نرم‏افزار و ایجاد یک پایه و اساس برای ساختن یک نرم‏افزار با کیفیت بالا عبارتند از
روش‏های مهندسی نرم‏افزار (methods)
ابزار مهندسی نرم‏افزار (tools)
رویه‏های مهندسی نرم‏افزار: ابزار و روش‏ها را به هم پیوند می‏زنند، ترکیب به کاربردن روش‏ها/ کنترل کیفیت/ پیشرفت پروژه
مهندسی نرم‏افزار شامل قدم‏هایی است که از این روش‏ها ابزار و رویه‏ها تشکیل شده است.
مهندسی نرم‏افزار یک نظام مهندسی است که با تمام جنبه‏های نرم‏افزاری محصول از مراحل اولیه تعیین مشخصات تا نگهداری سیستم سر و کار دارد.

اسلاید 14 :

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

اسلاید 15 :

متدولوژی
یک متدولوژی مجموعه‏ایی از روش‏ها و توصیه‏ها (Guidelines) می‏باشد كه به همراه راهبرد مشخص و طي مراحل مختلف از توسعه سيستم به كار گرفته مي‏شود.
متودولوژه در واقع يك چارچوب است كه ترتيب گام‏به‏گام راهكارهايي را كه به توسعه محصول نهايي كمك مي‏كنند، مشخص مي‏نمايد.
يك متدلوژي داراي ابزار تعريف شده و مدل مفهومي مي‏باشد و از يك گرامر مشخص استفاده مي‏كند.
هر متدولوژي براي انجام كارها از تعدادي ابزار و تكنيك استفاده مي‏نمايد.
براي مثال مدل شي‏گرا و يا مدل ساخت‏يافته در توسعه نرم‏افزار دو متدولوژي توسعه نرم‏افزار هستند.

اسلاید 16 :

مدل فرآیند
فرآيند مهندسي نرم‏افزار مجموعه‏اي از قدم‏هاي قابل پيش‏بيني براي توسعه نرم‏افزار را مشخص مي‏كند.
مدل فرآيند نرم‏افزار قدم‏ها، و استراتژي توسعه نرم‏افزار، فرآيند و روش مي‏باشد.
از مدل‏هاي معروف مي‏توان به مدل‏هاي
آبشاري،
افزايشي،
و چرخشي
اشاره كرد.

اسلاید 17 :

تفاوت‏های متدولوژی و مدل فرآیند
متدولوژي، روش طي كردن قدم‏هايي است كه مدل فرآيند تعريف مي‏كند.
تكنولوژي مهندسي نرم‏افزار يك تكنولوژي لايه‏اي است و متدولوژي بر روي لايه فرآيند قرار دارد.

اسلاید 18 :

تکنیک‏ها و ابزارها
تکنیک‏ها روش‏هايي هستند كه اعضاي تيم با دنبال كردن آنها اطمينان خواهند داشت كار از ابتدا تا انتها به طور كامل و جامع انجام خواهد شد.

ابزارها برنامه‏هاي كامپيوتري هستند كه استفاده از تكنيك‏هاي خاصي را آسان مي‏نمايند.
مانند ابزار Rational Rose كه در تكنيك‏هاي تحليل و طراحي بسيار مفيد است و يا NUnit كه مربوط به تكنيك‏هاي تست نرم‏افزار می‏شود و یا صدها برنامه كاربردي ديگر.
غير از ابزارهايي كه به ما در استفاده از تكنيك‏ها ياري مي‏بخشند، ابزارهايي وجود دارند كه اهداف ديگري مانند سرعت بخشيدن به توليد محصول را دنبال مي‏كنند. مانند توليد كننده كد(Code Generator) ، ابزار مهندسي معكوس و .

اسلاید 19 :

1- مدل آبشاری

اسلاید 20 :

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

در متن اصلی پاورپوینت به هم ریختگی وجود ندارد. برای مطالعه بیشتر پاورپوینت آن را خریداری کنید