طراحی نرم افزار
طراحی، نمایشی مهندسی با مفهوم و معنی دار از آن چیزی است که قرار است ساخته شود. از طراحی میتوان برای ارزیابی صحت نیازمندی های مشتری و تعیین کیفیت نرم افزار استفاده کرد. در مهندسی نرم افزار ، طراحی بر چهار زمینه تاکید دارد: داده ، معماری، واسط ها و قطعات.
مهندسی نرم افزار
مهندسی نرم افزار سیستم های کامپیوتری را طراحی میکنند، اما در هر مرحله مهارتهای مختلفی نیاز است. در بخش داده و معماری، طراحی بر روی استفاده از الگوهای موجود تمرکز دارد. در مرحله واسط ها، طراحی بر خصوصیات روانی انسان متمرکز خواهد بود و در سطح قطعات تمرکز بر روی روشهای برنامه نویسی خوب است.
فرآیند طراحی نرم افزار
طراحی نرم افزار یک فرآیند تکراری است که از طریق آن نیازمندیها به یک برنامه کاری تبدیل میشوند. در حین اینکه تکرارهای مختلف در عمل طراحی انجام میشود، پالایش های انجام شده نمایشی سطح پایین و با جزئیات بیشتر را از سیستم ارائه میدهند. این فرآیند از دیدگاه مدیریت پروژه به صورت طراحی اولیه، طراحی جزئیات دیده میشود و از دیدگاه های تکنیکی بصورت طراحی داده ، معماری، قطعات و واسطها.
معیارهای مختلف یک طراحی خوب و موفق عبارتنداز:
• طراحی باید نمایانگر یک ساختار معماری وار باشد که، 1. براساس الگوهای طراحی شناخته شده ساخته شده است 2. از قطعاتی با طراحی خوب تشکیل شده است و 3. با استفاده از روشهای تکاملی قابل انجام است.
• طراحی باید ماژولار باشد، بدین معنا که نرم افزار باید بصورت منطقی به بخشها و زیر بخشهایی تقسیم بندی گردد که هر کدام عمل خاصی را انجام میدهند.
• طراحی نرم افزار باید شامل نمایشهای مجزایی برای هر کدام از ماژولهای داده، معماری، واسطها و قطعات باشد.
• طراحی باید به ساختارهای داده ای منتهی شود که برای اشیا پیاده سازی شده مناسب هستند و از الگوهای داده ای قابل تشخیص نشات گرفته اند.
• طراحی باید به قطعاتی منتهی شود که هر کدام خصوصیات عملکردی مستقلی برای خود دارند.
• طراحی نرم افزار باید به واسطهایی منتهی شود که پیچیدگی اتصالات بین ماژولها و ارتباط با محیط بیرونی را کاهش دهد.
• طراحی باید با استفاده از اعمال یک روش تکراری بر روی اطلاعات بدست آمده از تحلیل نیازمندیها انجام گردد.
روشهای طراحی نرم افزار
روشهای طراحی جدیدتر در تکامل روشهای ساخت یافته، روشی شی ءگرا را برای استخراج طراحی ارائه داده اند. امروزه در طراحی نرم افزار تاکید بیشتر بر معماری نرم افزار و الگوهای طراحی است که بر اساس آنها معماری های نرم افزار پیاده سازی میشوند.
اصول طراحی نرم افزار:
- فرآیند طراحی را نباید براساس تنها یک دیدگاه انجام داد بلکه روشهای دیگر و جایگزین نیز بررسی گردند.
- با استفاده از ردیابی کردن طراحی، باید بتوان به مدل تحلیل رسید.
- طراحی نباید چیزی را مجددا ابداع کند. زمان ومنابع محدود هستند و باید تا جای ممکن از الگوهای طراحی آماده استفاده کرد.
- طراحی باید فاصله عقلانی بین نرم افزار و مشکلی را که در دنیای واقعی وجود دارد به حدافل برساند.
- طراحی باید یکنواختی و یکپارچه سازی را ارائه کند.
- طراحی باید به نحوی ساخته شود که بتوان تغییرات را به سادگی اعمال کرد.
- طراحی باید به آرامی تغییر یابد حتی اگر با داده ها، وقایع و یا شرایط گمراه کننده ای مواجه شویم.
- طراحی،کدنویسی نیست و کدنویسی ،طراحی نیست.
- طراحی باید در حین ساخته شدن مورد تعیین کیفیت قرار گیرد.
- طراحی را باید مرور و بازنگری کرد تا خطاهای مفهومی آن به حداقل برسند.
جنبه های کیفیت طراحی نرم افزار دو دسته اند:
- بیرونی: فاکتورهای بیرونی خواصی هستند که مسقیما توسط کاربر قابل مشاهده اند. مانند سرعت، قابلیت اعتماد، صحت و قابلیت استفاده.
- درونی: فاکتورهای درونی از دیدگاه مهندسی نرم افزار مهم هستند و کیفیت را از دیدگاه فنی اندازه گیری میکنند.
شرکت فاواگستر نوین آسیا مفتخر است که در تمام مراحل از مشاوره ، طراحی و اجرا تا اتمام کار و بهره برداری و پشتیبانی کنار شما بماند.