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

محتوای حذف‌شده محتوای افزوده‌شده
برچسب‌ها: برگردانده‌شده برخی خطوط با فاصله آغاز شده‌اند ویرایش همراه ویرایش از وبگاه همراه
جز واگردانی خودکار خرابکاری بر پایه امتیاز خرابکاری. واگردانی اشتباه ربات را همراه با پیوند تفاوت در کاربر:Dexbot/گزارش اشتباه اعلام کنید. همچنین توصیه میشود حساب کاربری بسازید.
برچسب: واگردانی
خط ۶:
طراحی نرم‌افزار فرایند پیش‌بینی و تعریف راه حل‌های نرم‌افزاری به یک یا تعدادی از مشکلات است. یکی از اجزای اصلی طراحی نرم‌افزار، نرم‌افزار مورد نیاز تجزیه و تحلیل software requirements analysis) SRA) است. SRA بخشی از [[فرایند توسعه نرم‌افزار]] است که مشخصات مورد استفاده در مهندسی نرم‌افزار را فهرست می‌کند. اگر نرم‌افزار به‌طور «کامل اتوماتیک» (به معنی بدون کاربر یا رابط کاربری) باشد، طراحی نرم‌افزاری ممکن است به اندازه یک فلوچارت یا متن توصیفی دنباله ای از رویدادهای برنامه‌ریزی شده ساده باشد. همچنین روش‌های نیمه استاندارد مانند [[زبان مدل‌سازی]] یکسان و مفاهیم مدل‌سازی اساسی وجود دارد. در هر صورت، بعضی مستندات این طرح معمولاً محصول طراحی است. علاوه بر این، طراحی نرم‌افزار ممکن است یک پلت فرم_مستقل(platform-independent)یا پلت فرم مشخص(platform-specific) باشد که بسته به دسترسی به تکنولوژی مورد استفاده برای طراحی دارد. تفاوت اصلی بین تجزیه و تحلیل نرم‌افزار و طراحی نرم‌افزار این است که خروجی یک تجزیه و تحلیل نرم‌افزاری از مشکلات کوچکتر برای حل مسئله تشکیل شده‌است. علاوه بر این، تجزیه و تحلیل نباید با تفوت زیادی در میان اعضای تیم یا گروه‌های مختلف، طراحی شود. در مقابل، طراحی بر قابلیت‌ها متمرکز است و بنابراین طرح‌های متعددی برای یک مشکل مشابه می‌تواند وجود داشته باشد. بسته به محیط، طراحی اغلب متفاوت است، چه از طریق چارچوب ([[Software framework|frameworks]])های قابل اعتماد چه با الگوهای طراحی([[design patterns]]) مناسب پیاده‌سازی شده باشد. نمونه‌های طراحی شامل سیستم‌های عملیاتی، صفحات وب، دستگاه‌های تلفن همراه یا حتی پارادایم ابری جدید است.
 
طراحی نرم‌افزار هم یک فرایند و هم یک مدل است. فرایند طراحی یک دنباله ای از مراحل است که طراح را قادر می‌سازد که تمام جنبه‌های ساخت نرم‌افزار را توصیف کند. مهارت خلاقیت، تجربیات گذشته، حس اینکه چه چیزی نرم‌افزار «خوب» را می‌سازد و تعهد کلی به کیفیت، نمونه‌هایی از عوامل موفقیت قطعی برای یک طراحی مناسب است. با این وجود مهم است که توجه داشته باشید که فرایند طراحی همیشه یک روش ساده نیست؛ مدل طراحی را می‌توان با طراحی معماری خانه مقایسه کرد. با نشان دادن کلیت چیزی که باید ساخته شود آغاز می‌شود (به عنوان مثال، ارائه سه بعدی خانه)؛ و به آرامی، این برای ساخت هر جزئی (به عنوان مثال، نصب لوله‌کشی) اراِیه شده. است به‌طور مشابه، مدل طراحی که برای نرم‌افزار ایجاد شده‌است، دیدگاه‌های مختلفی از نرم‌افزارهای کامپیوتری را فراهم می‌کند. اصول طراحی اولیه، مهندس نرم‌افزار را قادر می‌سازد تا در فرایند طراحی حرکت کند. دیویس<ref>Davis, A:"201 Principles of Software Development", McGraw Hill, 1995.</ref> مجموعه ای از اصول طراحی نرم‌افزار را پیپیشنهاد می‌کند که در لیست زیر ارائه شده و گسترش یافته‌است:
* '''فرایند طراحی نباید از «دید تونلی» رنج ببرد.''' یک طراح خوب باید روش‌های جایگزین را در نظر بگیرد و هر کدام را براساس نیازمندی‌های سئله و منابع موجود برای انجام کار، بررسی کند.
شنهاد می‌کند که در لیست زیر ارائه شده و گسترش یافته‌است:
* '''طراحی باید قابل تبدیل به مدل‌های تحلیلی باشد.''' از آنجایی که تنها یک عنصر از مدل طراحی اغلب می‌تواند به تعدادی از نیازها برگردد، لازم است که وسیله ای برای ردیابی نحوه رعایت الزامات مدل طراحی داشته باشیم.
* '''فرایند طراحی نباید از «دید تونلی» رنج ببرد.''' یک طراح خوب باید روش‌های
جایگزین را در نظر بگیرد و هر کدام را براساس نیازمندی‌های سئله و منابع موجود برای انجام کار، بررسی کند.
 
 
* '''طراحی نباید چرخ را دوباره اختراع کند.'''
ی* '''طراحی باید فاصله فکری بین نم‌افزارنرم‌افزار و مشکلی را که به عنوان آن را در دنیای واقعی وجود دارد، به حداقل برساند.'''
 
* '''
طراح
ی باید فاصله فکری بین نم‌افزار و مشکلی را که به عنوان آن را در دنیای واقعی وجود دارد، به حداقل برساند.'''
* '''طراحی باید یکنواخت و یکپارچه شود.'''
* '''طراحی باید متناسب با تغییر باشد.'''