iran-sans
مسیر رشد برند شما

طراحی نرم افزار

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

طراحی نرم افزار فرایندی است برای تبدیل نیازهای کاربر به برخی از فرم های مناسب، که به برنامه نویس در برنامه نویسی و اجرای نرم افزار کمک می کند.

سطوح عمده ی فرآیند طراحی نرم افزار :

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

مدولاسیون

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

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

هم بستگی

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

اتصال و انسجام

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

  1. انسجام

انسجام معیاری است که درجه سازگاری عناصر داخل یک ماژول را تعریف میکند که هرچه سازگاری بیشتر باشد، طراحی برنامه بهتر است. 7 نوع انسجام وجود دارد :

  • انسجام اتفاقی : این انسجام کاملا اتفاقی و بدون برنامه قبلی میباشد که در پی شکستن برنامه به ماژول های کوچک ممکن است اتفاق بیفتد.
  • انسجام منطقی : هنگامی که عناصر به صورت منطقی طبقه بندی میشوند و در یک ماژول قرار میگیرند، انسجام منطقی رخ میدهد.
  • انسجام موقت : هنگامی که عناصر ماژول طوری سازماندهی میشوند که انگار در یک نقطه مشابه از زمان پردازش میشوند، آن را انسجام موقت می نامند.
  • انسجام رویه ای (پردازشی) : هنگامی که عناصر ماژول با هم گروه بندی میشوند که به منظور تکمیل یک کار به صورت پیوسته اجرا شوند، انسجام رویه ای یا پردازشی نامیده میشود.
  • انسجام ارتباطی : هنگامی که عناصر ماژول با هم گروه بندی می شوند، که به صورت پیوسته اجرا شوند و بر روی یک داده (اطلاعات) کار می کنند، آن را انسجام ارتباطی می نامند.
  • انسجام متوالی : وقتی عناصر ماژول گروه بندی می شوند و خروجی یک عنصر به عنوان ورودی عنصر بعدی عمل میکند، آن را انسجام پیوندی یا متوالی می نامند.
  • انسجام عملکردی : این نوع بالاترین درجه انسجام در نظر گرفته شده است. عناصر ماژول در انسجام عملکردی گروه بندی می شوند، زیرا همه آنها در یک تابع مشخص با یکدیگر هماکاری میکنند و میتوانند مجدد مورد استفاده قرار گیرند.
طراحی نرم افزار
  1. اتصال

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

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

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