بشرا رجائی boshra.rajaei@stu-mail.um.ac.ir bo.rajaei@gmail.com مبانی مهندسی نرم افزار بشرا رجائی boshra.rajaei@stu-mail.um.ac.ir bo.rajaei@gmail.com.

Slides:



Advertisements
Similar presentations
انواع اصلی عامل ها.
Advertisements

آزمايشگاه سيستم‌هاي هوشمند1 برنامه ريزي و نظاره پروژه درس مهندسي نرم‌افزار 2 فصل 24 دكتر احمد عبداله زاده بارفروش تهيه كننده : پويا جافريان.
فاکتورهای مهم در ایجاد یک مقاله علمی
O r g a n i z a t i o n a l b e h a v i o r e l e v e n t h e d i t i o n.
طبقه بندی تعاریف سیستم های تصمیم یار
مهندسی نرم افزار مبتنی بر عامل
Decision Tree.
© 2005 Prentice Hall Inc. All rights reserved. o r g a n i z a t i o n a l b e h a v i o r e l e v e n t h e d i t i o n.
شهره کاظمی 1 آزمایشکاه سیستم های هوشمند ( گزار ش و برنامه ریزی پروژه شهره کاظمی
شهره کاظمی 1 آزمايشکاه سيستم های هوشمند ( A Service Oriented Architecture for Portals Using Portlets مروری.
تخمین در پروژه های نرم افزاری
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
معماری DSS.
© 2005 Prentice Hall Inc. All rights reserved. o r g a n i z a t i o n a l b e h a v i o r e l e v e n t h e d i t i o n.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne. – Times: –See noticeboard outside.
Introduction to Software Testing
انواع Middleware و معرفی دو نمونه
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Internet Protocol Security An Overview of IPSec. رئوس مطالب:  مشکلات امنیتی چیست؟  مفهوم TCP/IP  امنیت در چه سطحی؟  IP Security  سرویسهای IPSec Security.
1. 2 Set and Manage Expectations Carefully 4 بلوغ فنی بلوغ سیستمی بلوغ سازمانی.
انواع سیستم های تمام هوا
1 Chapter 6: Executive Information Systems Decision Support Systems in the 21 st Century, 2 nd Edition by George M. Marakas.
MANAGEMENT INFORMATION SYSTEM
پیاده سازی کنترلر PC/104. Contents PC/104 پیاده سازی کنترلر HILتست 1.
مدل تجربی COCOMO (Constructive Cost Model)
Eric S. K. Yu Faculty of Information Studies, University of Toronto
تجزیه و تحلیل و مدلسازی سیستم
مدیریت اطلاعات و داده های سازمان یافته
( Project Operation Management )
تمرین هفتم بسم الله الرحمن الرحیم درس یادگیری ماشین محمدعلی کیوان راد
معرفی پرتال سازمانی درسا مرکز فناوری اطلاعات و ارتباطات

متدولوژی CDM با رویکردهای CLASSIC و FAST TRACK
Computer Integrated Manufacturing
تحلیل و طراحی سیستم ها بخش ششم کتاب توربان.
سامان احسنی زاده محسن ماندگار
ارائه شده: الهام قنبری فتحیه فقیه خراسانی گروه3 تابستان 85
نرم افزار نگهداری و تعمیرات مبتنی بر مدیریت دانش نت CMMS-MKMS
Government Finance Statistics (GFS)
Introduction to Software Testing
جلسه نخست معرفی مبانی امنیت (1)
انجمن انفورماتیک ایران سمينار
مقدمه اي بر مهندسي نيازمنديها
مدیریت ریسک سالار عیسی زاده.
SSO Single Sign-on Systems
آموزش و یادگیری Education and Training
SE Dept.2 تهیه کنندگان: ملیحه اسکندری نسیبه پوتی
Software configuration management
فصل 10 طراحی انباره فراداده ارائه درس هوش تجاری
سیستم های اطلاعات مدیریت Management Information systems
مهندسی نرم افزار عامل گرا
معرفی متدولوژی RUP ارديبهشت 1384.
1.
فصل 4. فصل 4 جمع آوری نیازمندیها و تحلیل سیستم : فاز تولید هر نرم افزار با مرحله ای به نام تعریف مسئله شروع می شود. منظور از تعریف مسئله شناخت محیط.
استاندارد تولید نرم افزارCMM :
بررسی چرخه‌های ارائه شده جهت توسعه امن نرم‌افزار(1)
معماری سرویس گرا (SOA).
نام طرح.
تدريس يار: ميثم نظرياني
بسم الله الرحمن الرحیم هرس درخت تصمیم Dr.vahidipour Zahra bayat
جستجوی منابع الکترونیک
سمینار SharePoint رانندگی در بزرگراه پرتال ها
فرشاد آقابزرگی هوش تجاری
به نام یکتای دانا فصل اول: متدها و قواعد.
فصل 8 –Process and Deployment
نمودار منطقی ابزاری جهت ارزیابی برنامه های توسعه فناوری نانو
فصل هفتم:توسعه نرم افزار
آشنایی با فرایند داده کاوی در نرم افزار R گروه داده کاوی دایکه داود دوروش تابستان 6139.
هدف با استفاده از الگوریتم بهینه سازی کلونی مورچگان( ACO ) و قوانین سیستم فازی به تفسیرقوانین آنها میپردازیم. سپس، با بهره گیری از این قوانین، تعریف مناسبی.
سد خونی- مغزی. تکنولوژی نمایش فاژی و کاربرد آن  مقدمه و تاریخچه  نمایش فاژی در تولید آنتی بادی مونوکونال.
Presentation transcript:

بشرا رجائی boshra.rajaei@stu-mail.um.ac.ir bo.rajaei@gmail.com مبانی مهندسی نرم افزار بشرا رجائی boshra.rajaei@stu-mail.um.ac.ir bo.rajaei@gmail.com

نرم افزار کدهایی که جهت برآورده شدن هدف خاص نوشته شده اند داده ها مجموعه تمام مستندات دسته بندی محصولات نرم افزاری نرم افزارهای general نرم افزارهای customized

مهندسی نرم افزار The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. An engineering discipline that is concerned with all aspects of software production. The establishment and use of sound engineering principles in order to economically obtain software that is reliable and works efficiently on real machines.

معیارهای کیفیت نرم افزار Correctness – the software does what is specified to do Reliability – the software operates under all possible conditions – it doesn’t fail Efficiency – the software uses the most efficient solution to any problem specified for it to solve Integrity – the software gives the same answer to the same question, regardless of source of question Usability – the software is easy to use Maintainability – the software can be maintained Testability – the specification and software must be such that there is a given test that can be run to check if the software is performing to specification. Flexibility – the software must be written in such a way that change can be accommodated without major rewrites Portability – it should be possible to run the software on any operating system that supports the language in which it is written. Interoperability – it should be able to interface to other software Reusability – it should be packaged in such a way that it can be used as a component in another system Functionality-it should do what it is supposed to do and only that.

نرخ شکست

سه عنصر کلیدی در مهندسی نرم افزار methods technical ‘how to’s for building software project management, requirement analysis, design of data structures and algorithm procedure, coding, testing and maintenance tools provide support procedures sequence in which methods are applied documents / deliverables produced controls and checks ensure quality milestones, to manage progress

مدلهای نرم افزاری یا متدولوژیها Software engineering process is a set of steps that encompasses methods, tools and procedures Classic Life Cycle or Waterfall Model a software engineering process a systematic and sequential approach to software development oldest and most widely used software process model

Software Engineering tools methods process model

چرخه حیات divides the development of a software system into stages or phases, for each phase the life cycle specifies activities involved in each phase sequence in which the activities are ordered deliverables produced for the phase At the end of each phase a phase review meeting is scheduled to examine the deliverables from the phase to decide whether or not to proceed to the next phase

فازهای چرخه حیات Planning Feasibility Study Analysis Design Code and Unit test System Testing Installation & Maintenance

برنامه ریزی و امکان سنجی Planning Problem definition defines the problem area produces written statement of current problem and objectives of system Feasibility Study investigates whether a practical solution to the problem exists produces a feasibility study report

امکان سنجی امکان سنجی تکنیکی: امکان سنجی عملیاتی: امکان سنجی اقتصادی: آیا تکنولوژی مورد نیاز برای سیستم پیشنهادی مهیاست؟ آیا نیاز به ارتقا سیستمهای فعلی وجود دارد؟ آیا تخصص لازم وجود دارد؟ امکان سنجی عملیاتی: کارایی تکنیکی: آیا سیستم می تواند اطلاعات مورد نیاز کاربران را مهیا کند؟ پذیرش در سازمان: آیا تغییر ساختار توسط کاربران پذیرفته می شود؟ امکان سنجی اقتصادی: آیا سرمایه گذاری مورد نیاز برای پیاده سازی سیستم، بازیابی می شود؟ تحلیل سود و هزینه

تحلیل و طراحی Analysis (What do we do?) Design (How do we do it?) Fact finding investigate business process and the current system modelling the current and required systems deliverables - requirements specification logical models of the required system Design (How do we do it?) high level system design detailed design of components (i.e.. algorithms)

طراحی

کدنویسی و تست Code System Test programming each component of the system Unit test - independent testing of each component producing user documentation System Test integrating all components and testing them together testing to ensure that the system meets its requirements

مراحل تست Component or unit testing System testing Acceptance testing Individual components are tested independently; Components may be functions or objects or coherent groupings of these entities. System testing Testing of the system as a whole. Testing of emergent properties is particularly important. Acceptance testing Testing with customer data to check that the system meets the customer’s needs.

نصب و نگهداری Installation Maintenance installing the system in the ‘live’ environment training the users Maintenance changing the live system correcting defects reported by the users implementing enhancements requested by the users mini life cycle in itself

فعالیت های پشتیبان Phases in the Life Cycle are complimented by a number of support activities Project Management Quality Assurance Configuration Management

مدیریت پروژه co-ordination and control of the people involved in the development includes budgeting scheduling monitoring progress reporting status corrective action

تضمین کیفیت ensuring, verifying and maintaining the quality of the system to be delivered includes performing reviews testing

مدیریت پیکربندی management of the documentation and code that is produced include procedure for storage retrieval control of change

مطالعه برخی مدلهای نرم افزاری بشرا رجائی boshra.rajaei@stu-mail.um.ac.ir bo.rajaei@gmail.com

مدل آبشاری

ویژگیها و مشکلات مدل آبشاری مستندگرا و مدیریت آسان مناسب جهت محیطهایی که خواسته ها در طول زمان ثابت هستند و همچنین به خوبی درک شده اند مشکلات دیر تشخیص دادن خطاها بخصوص خطاهای منطقی تغییرات بسیار هزینه بر هستند ریسک بالا

مدل توسعه مرحله ای تجزيه و تحليل و تعريف خواسته ها توسعه يك مرحله طراحي مفهومي (ساختار) سيستم كامل نيست تاييد مرحله ادغام مرحله در سيستم انتساب نيازمنديها به مراحل تاييد سيستم سيستم نهايي

مزایا و مشکلات موجود در مدل توسعه مرحله ای جهت محیط هایی که خواسته ها بطور کامل درک نشده اند و یا شرایطی که اولویت نصب برخی قسمتها بالاتر است ریسک کمتر قسمت های مهمتر بیشتر تست شده و احتمال خرابی آنها در آینده کمتر است. مشکلات تقسیم بندی سیستم بین مراحل مجزا با عملکرد مشخص

مدل توسعه تکاملی مفاهيم اوليه طراحي وساخت نمونه اوليه بهبود نمونه تا رسيدن به وضعيت قابل قبول تكميل و تحويل نمونه

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

مدل مبتنی بر قطعه

مزایا و معایب مدل مبتنی بر قطعه توسعه نرم افزار با هزینه کم و زمان تحویل کوتاه ریسک کم (قطعات قبلاً تست شده اند) معایب تعدیل خواسته ها دسترسی نداشتن به کد برخی قطعات