طراحی نرمافزار: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
جز طراحی سایت اختصاصی برچسبها: متن دارای ویکیمتن نامتناظر ویرایشگر دیداری |
جز 2 ویرایش خرابکارانهٔ نازنین زهرا محمدی11 (بحث) به آخرین ویرایش Yamaha5Bot خنثیسازی شد. (توینکل) برچسب: خنثیسازی |
||
خط ۳۰:
#رویکرد نرمافزار-در این مورد تمرکز بر پردازش هر یک از ماژول ها به صورت جداگانه است.
#مخفی کردن اطلاعات-ماژول ها باید طوری مشخص و طراحی شوند تا اطلاعات موجود در یک ماژول برای ماژول های دیگری که نیازی به چنین اطلاعاتی ندارند، غیرقابل دسترسی باشد.
Grady Booch در مدل شیء خود، Abstraction، Encapsulation، Modularisation و سلسله مراتب را به عنوان اصول طراحی نرمافزار معرفی می کند.<ref>{{cite book|last1=Booch|first1=Grady|title=Object-Oriented Analysis and Design with Applications|date=2004|publisher=Addison Wesley|location=MA, USA|isbn=0-201-89551-X|edition=3rd|url=http://dl.acm.org/citation.cfm?id=975416|accessdate=30 January 2015|display-authors=etal}}</ref> The acronym PHAME (Principles of Hierarchy, Abstraction, Modularisation, and Encapsulation) is sometimes used to refer to these four fundamental principles.<ref>{{cite book|last1=Suryanarayana|first1=Girish|title=Refactoring for Software Design Smells|date=November 2014|publisher=Morgan Kaufmann|isbn=978-0128013977|pages=258|url=https://www.amazon.com/Refactoring-Software-Design-Smells-Technical/dp/0128013974|accessdate=31 January 2015}}</ref>
== ملاحظات طراحی ==
در طراحی یک قطعه نرمافزاری، جنبه های بسیاری وجود دارد. اهمیت هر بررسی باید نشان دهنده اهداف و انتظارات برنامه نویسی برای دیدار باشد. برخی از این جنبه ها عبارتند از:
*'''سازگاری'''- نرمافزار قادر به کار با سایر محصولات است که برای قابلیت همکاری با یک محصول دیگر طراحی شده اند.
*'''توسعه پذیری'''-قابلیت های جدید می تواند به نرمافزار بدون تغییرات عمده در معماری پایه اضافه شود.
|