طراحی نرم‌افزار: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
بدون خلاصۀ ویرایش
برچسب‌ها: متن دارای ویکی‌متن نامتناظر ویرایشگر دیداری
ابرابزار
خط ۱:
{{فرایند توسعه نرم‌افزار|فعالیت‌های اصلی}}
'''طراحی نرم‌افزار''' فرایند [[حل مسئله]] و برنامه‌ریزی در راستای ساختن یک [[نرم‌افزار]] است.
طراحی نرم‌افزار فرایندی است که توسط آن یک عامل، مشخصه ای از نرم‌افزار را طراحی می‌کند که هدف آن، به انجام رساندن اهداف از پیش تعیین شده با استفاده از مجموعه ای از اجزای اولیه و با توجه به محدودیت‌ها است.<ref>Ralph, P. and Wand, Y. (2009). A proposal for a formal definition of the design concept. In Lyytinen, K. , Loucopoulos, P. , [[John Mylopoulos|Mylopoulos, J.]], and Robinson, W. , editors, Design Requirements Workshop (LNBIP 14), pp. 103–136. Springer-Verlag, p. 109 {{DOI|10.1007/978-3-540-92966-6_6}}.</ref> طراحی نرم‌افزار می‌تواند به عنوان "«تمام فعالیت‌های مربوط به مفهوم سازی، طراحی، اجرا، راه اندازی و در نهایت اصلاح سیستم‌های پیچیده"» یا "«فعالیت‌های مشخص مورد نیاز و قبل از برنامه‌نویسی و … [در] یک پروسه [[مهندسی نرم‌افزار]]. طراحی نرم‌افزار معمولاً شامل حل مسئله و برنامه‌ریزی یک راه حل نرم‌افزاری است که شامل طراحی جزئی اجزا و طراحی الگوریتم و طراحی معماری سطح بالا می‌باشد."»<ref>{{cite journal|last=Freeman|first=Peter|author2=David Hart |title=A Science of design for software-intensive systems|journal=Communications of the ACM|year=2004|volume=47|issue=8|pages=19–21 [20]|doi=10.1145/1012037.1012054}}</ref>
 
== بررسی اجمالی ==
خط ۳۰:
# مخفی کردن اطلاعات: ماژول‌ها باید طوری مشخص و طراحی شوند تا اطلاعات موجود در یک ماژول برای ماژول‌های دیگری که نیازی به چنین اطلاعاتی ندارند، غیرقابل دسترسی باشد.
گریدی بوچ {{انگلیسی|Grady Booch}} در مدل شیء خود، انتزاع، کپسوله سازی، مدولار سازی و سلسله مراتب را به عنوان اصول طراحی نرم‌افزار معرفی می‌کند.<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>
{{سخ}}مخفف PHAME (اصول سلسله مراتب، انتزاع، مدولار سازی و کپسولاسیون) گاهی برای اشاره به این چهار اصل اساسی استفاده می شودمی‌شود. <ref>{{cite book|last1=Suryanarayana|first1=Girish|title=Refactoring for Software Design Smells|date=November 2014|publisher=Morgan Kaufmann|isbn=978-0-12-801397-7|pages=258|url=https://www.amazon.com/Refactoring-Software-Design-Smells-Technical/dp/0128013974|accessdate=31 January 2015}}</ref>
 
== ملاحظات طراحی ==
خط ۸۷:
{{ادسخر دیکسترا}}
 
[[رده:طراحی نرم‌افزار| ]]
[[رده:توسعه نرم‌افزار]]
[[رده:مشاغل رایانه‌ای]]