هدف مهندسی نرم افزار
Download
Report
Transcript هدف مهندسی نرم افزار
مهندسی نرم افزار:
تحلیل و طراحی سیستمها
System Analysis and Design
مراجع درس
مراجع درس
نحوه ارزيابی
•
•
•
•
•
6نمره :میانترم
8نمره :پایانترم
4نمره :پروژه
1نمره :تمرین و کوییز
1نمره :حضور کالسی
رئوس مطالب درس
•
•
•
•
•
•
طرح مشکل ،هدف مهندسی نرم افزار
اصطالحات و واژه های مهم در علم مهندسی نرم افزار
چرخه حیات تولید نرم افزار
آشنایی با دیدگاههای شناخت
تولید نرم افزار با دیدگاه ”فرایند گرا“
تولید نرم افزار با دیدگاه ”شیء گرا“
نرم افزار چیست؟
محدودیت زمانی
بودجه
کار تیمی
نیاز های کیفی
برنامه +نیازهای کیفی +محدودیتها = نرم افزار
معیارهای کیفیت نرم افزار
.1کارایی()performance
.1زمان پاسخ
.2توان عملیاتی
.2قابلیت اتکا()dependability
.1قابلیت اطمینان(:)reliability
.2در دسترس بودن()availability
Usability .3
.4قابلیت نگهداری()maintainability
ويژگیهای نرم افزار
• Software is developed or engineered. It is not
manufactured
• Software does not “wear-out” but it does
“deteriorate”
– Rigidity
مقايسه نرم افزار و سخت افزار
مقايسه نرم افزار و سخت افزار
انواع نرم افزار
•
•
•
•
•
•
System Software : Compilers, OS, VMs ..
Application Software: POS application
Engineering/Scientific Software: Simulators
Embedded Software: Automobile control system
Product-line Software: office suite
Web Applications: E-Gov portal
انواع Application Software
.1پردازش تراکنش )Transaction Processing System(TPS
سیستم یا نرم افزاری که تراکنش ها را ایجاد یا تغییر می دهد.
• تعریف تراکنش :مجموعه ای از عملیات دستکاری داده که به
صورت منطقی کار واحدی را انجام می دهند مانند تراکنش انتقال
پول که شامل برداشت از حساب مبدأ و واریز به حساب مقصد می
باشد.
• اکثر سیستم های اطالعاتی شامل یک یا چند زیر سیستم پردازش
تراکنش هستند.
.2اطالعات مدیریت)Management Information System(MIS
• زیر سیستم های اطالعات مدیریت از اطالعات تراکنش ها جهت ارائه
گزارشات به مدیران میانی پشتیبانی می کند .عملیات اصلی در اینجا
خالصه سازی اطالعات است مانند گزارش خالصه ی گردش مالی
شعبه در یک ماه گذشته.
MIS
مدیر شعبه
تراکنش ها
سیستم پردازش
تراکنش بانکی
مشتری
.3سیستم پشتیبانی تصمیم
)Decision Support System(DSS
• از سیستم پشتیبانی تصمیم برای کمک به تصمیم گیری مدیر استفاده
می شود .یک نمونه از این سیستم ها OLAP (Online Analytical
) Processingاست که توسط مایکروسافت در قالب بسته ی SQL
Serverارائه شده است.
.4سیستم های خبره )Expert Systems(ES
• سیستمی است که می تواند در زمینه ی خود به جای انسان تصمیم
بگیرد.
Legacy Software?
•
•
•
•
Developed decays ago!
Have been modified many times
Costly to maintain
Risky to be replaced
هدف مهندسی نرم افزار:
• تولید یک محصول در زمان مشخص با بودجه تعیین شده به صورت
تیمی و با کیفیت الزم .
• در واقع مهندسی نرم افزار به دنبال استاندارد سازی است.
• استفاده از روش مهندسی کار را تسهیل می کند یا سخت؟
مهندسی نرم افزار:
•مجموعه روش ها ،استانداردها ،تکنیک ها و ابزار ها که تولید یک
نرم افزار را با خصوصیات فوق الذکر برای تیم تولید امکان پذیر می
کند.
Problem Solving steps
•
•
•
•
Understand the problem: Analysis
Plan the problem : Design
Do the plan: Coding
Examine the result for accuracy: Test
Software Development Life Cycle
چرخه حیات تولید نرم افزار عبارت است از مراحلی که یک
.نرم افزاراز زمان تولد تا زمان مرگ طی میکند
Communication
1-Feasibility study
2-Requirement
gathering
Deterioration
1-Fragility
2-rigidity
Planning
1-Estimation
2-Scheduling
Deployment
1-deployment
2-maintenance
Modeling
1-Analysis
2-Design
Construction
1-implementation
2-testing
چرخه حیات تولید نرم افزار()SDLC
• امکان سنجی
• تحلیل نیازمندیها
تحلیل مسایل
تحلیلگر
شناخت تکنیکی
روابط اجتماعی
شناخت سیستمها
• طراحی سیستم
• پیاده سازی
• تست
• نگهداری
پردازش تراکنش
اطالعات مدیریت
پشتیبانی تصمیم
طراح
پیاده ساز
سیستم خبره
Software Myths
• Management Myths
• Customer Myths
• Practitioner Myths
Management Myths
1)We already have a book that’s full of
standards and procedures for building
software!
Management Myths
2) If we get behind schedule, we can add more
programmers and catch up!
Management Myths
3) If I decide to outsource the software project to
a third party, I can just relax and let that firm
build it!
Customer Myths
A general statement of objectives is sufficient to
begin writing programs—we can fill in the
details later!
Customer Myths
Software requirements continually change, but
change can be easily accommodated!
Practitioner’s Myths
Once we write the program and get it to work,
our job is done!