دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۸
  • دی

جلسه ۰۶-۰۳ : مدل Entity-Relationship و مهندسی نرم افزار

  • دسته‌بندی‌ها :
جلسه ۰۶-۰۳ : مدل Entity-Relationship و مهندسی نرم افزار
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      عرض سلام خدمت همراهان گرامی وب سایت آموزشی پی وی لرن. با موضوع آموزش مهندسی نرم افزار (Software Engineering) در خدمتتون خواهیم بود. دربخش آخر مبحث معرفی ابزارهای آنالیز و طراحی نرم افزار به بررسی جداول تصمیم گیری (Decision Tables) ، مدل Entity-Relationship و مهندسی نرم افزار به همراه مباحث مزبوطه ی دیگر خواهیم پرداخت.

      معرفی ابزارهای آنالیز و طراحی نرم افزار

      در بخش های قبلی از مبحث معرفی ابزارهای آنالیز و طراحی نرم افزار با دیاگرام HIPO و ابزار Structured English ، چارت های ساختار (Structure Charts) ، سطوح DFD و انواع آن به همراه مباحث دیگری آشنا شدیم.

      شبه کد (Pseudo-Code)

      Pseudo-Code نزدیک به زبان برنامه نویسی نوشته شده است. این ممکن است به عنوان یک زبان برنامه نویسی تقویت شده ، پر از کامنت ها و توضیحات در نظر گرفته شود.

      Pseudo-Code اجتناب از اعلام متغیر است ، اما آن ها با استفاده از برخی از ساختارهای واقعی زبان برنامه نویسی ، مانند C ، Fortran ، Pascal و غیره نوشته شده اند.

      Pseudo-Code شامل جزئیات برنامه نویسی بیش تر نسبت به Structured English است. این روش، متدی را برای انجام کار فراهم می کند ، مثل این که یک کامپیوتر در حال

      اجرای کد است.

      مثال

      برنامه ای برای چاپ فیبوناچی تا n عدد

      مثال : 

      جداول تصمیم گیری (Decision Tables) و مهندسی نزم افزار

      جدول تصمیم گیری شرایط و اقدامات مربوطه را برای پرداختن به آن ها در فرمت جداولی ساختار یافته نشان دهد.

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

      ایجاد جدول تصمیم گیری

      برای ایجاد جدول تصمیم گیری ، توسعه دهنده باید چهار مرحله اساسی را دنبال کند:

      • تمام شرایط ممکن را برای رسیدگی مشخص کنید.
      • اقدامات را برای همه شرایط مشخص شده تعیین کنید.
      • حداکثر قوانین ممکن را ایجاد کنید.
      • برای هر قانون اقدام کنید.

      جداول تصمیم گیری باید توسط کاربران نهایی تأیید شود و در آخر با حذف قوانین و اقدامات تکراری ساده می شود.

      مثال

      بگذارید یک مثال ساده در مورد مشکل روزانه در اتصال به اینترنت داشته باشیم. ما تمام مشکلاتی که هنگام شروع اینترنت به وجود می آیند و راه حل های احتمالی مربوط به آن ها را شناسایی می کنیم.

      تمام مشکلات احتمالی را در ستون شرایط  و اقدامات آینده نگر را تحت ستون عملکرد ها لیست می کنیم.

       

      شرایط/عملکرد هاRules
      شرایطنمایش اتصالNNNNYYYY
      پینگ در حال کار استNNYYNNYY
      باز کردن وب سایتYNYNYNYN
      عملکرد هابررسی کردن کابل شبکهX
      بررسی کردن روتر اینترنتXXXX
      راه اندازی مجدد مرورگر وبX
      تماس با ارائه دهنده خدماتXXXXXX
      اقدامی نکردن

      در ادامه مدل Entity-Relationship و مهندسی نرم افزار رو بررسی خواهیم نمود.

      مدل Entity-Relationship و مهندسی نرم افزار

      مدل Entity-Relationship نوعی از مدل بانک اطلاعاتی است که مبتنی بر مفهوم موجودیت دنیای واقعی و رابطه بین آن ها است. ما می توانیم سناریوی دنیای واقعی را بر روی مدل بانک اطلاعاتی ER ترسیم کنیم. مدل ER مجموعه ای از موجودیت ها را با ویژگی های آن ها ، مجموعه ای از محدودیت ها و رابطه بین آن ها را ایجاد می کند.

      مدل ER برای طراحی مفهومی بانک اطلاعاتی استفاده می شود. مدل ER می تواند به شرح زیر باشد:

       

      معرفی ابزارهای آنالیز و طراحی نرم افزار - مدل Entity-Relationship و مهندسی نرم افزار

      معرفی ابزارهای آنالیز و طراحی نرم افزار – مدل Entity-Relationship و مهندسی نرم افزار

      تا این جا با مدل Entity-Relationship و مهندسی نرم افزار آشنا شدیم.

      موجودیت Entity – یک Entity در مدل ER یک وجود در دنیای واقعی است که دارای برخی خصوصیات به نام ویژگی ها (attributes) است. هر ویژگی با مجموعه ای از مقادیر مربوطه ، به نام دامنه تعریف می شود.

      به عنوان مثال ، یک بانک اطلاعاتی مدرسه را در نظر بگیرید. در این جا ، دانش آموز entity هستند. دانش آموز ویژگی های مختلفی مانند نام ، شناسه ، سن و کلاس و غیره را دارد.

      رابطه (Relationship) – ارتباط منطقی بین موجودیت ها را رابطه می گویند. روابط از طرق مختلف با Entity ها ترسیم می شود. نقشه های قلبی تعداد انجمن ها بین دو Entity را مشخص می کند.

      نقشه برداری کاردینال ها (cardinalities):

      • یک به یک
      • یکی به بسیاری
      • بسیاری به یکی
      • بسیاری به بسیاری

      دیکشنری داده (Data Dictionary)

      دیکشنری داده یا Data Dictionary مجموعه ای متمرکز از اطلاعات در مورد داده ها است. Data Dictionary معنی و منشأ داده ها ، ارتباط آن ها با سایر داده ها ، قالب داده برای استفاده و غیره را ذخیره می کند.

      فرهنگ لغت داده اغلب به عنوان مخزن متا دیتا (داده در مورد داده) ارجاع می شود. این نرم افزار به همراه مدل (DFD (Data Flow Diagram برنامه ی نرم افزار ایجاد شده است و انتظار می رود هر زمان که DFD تغییر یا به روز شود ، به روزرسانی شود.

      نیاز به Data Dictionary

      داده ها از طریق دیکشنری داده ها هنگام طراحی و اجرای نرم افزار ارجاع می شوند. Data Dictionary هرگونه احتمال ابهام را از بین می برد. این کار به همگام سازی کار برنامه نویسان و طراحان ضمن استفاده از مرجع همان شیء در همه جای برنامه کمک می کند.

      دیکشنری داده ها راهی برای مستند سازی سیستم کامل دیتا بیس، در یک مکان را فراهم می کند. اعتبارسنجی DFD با استفاده از Data Dictionary انجام می شود.

      محتویات (Contents)

      Data Dictionary باید حاوی اطلاعات مربوط به موارد زیر باشد.

      • گردش داده ها
      • ساختار داده ها
      • عناصر داده
      • فروشگاه داده
      • پردازش داده ها

      جریان داده با استفاده از DFD ها همان طور که قبلاً مورد مطالعه قرار گرفت شرح داده شده و به شکل جبری همان طور که توضیح داده شده است ارائه می شود.

      مثال : 

      مثال

      آدرس = شماره ی خانه + (خیابان / منطقه) + شهر + ایالت

      شناسه دوره = شماره دروس + نام دوره + سطح دروس + نمرات دروس

      عناصر داده (Data Elements)

      عناصر داده شامل نام و شرح موارد و داده هاي كنترل ، فروشگاه داده هاي داخلي و خارجي و غيره با جزئيات زير مي باشد:

      • نام اصلی
      • نام ثانویه (نام مستعار)
      • مورد استفاده (چگونه و از کجا استفاده کنیم)
      • توضیحات محتوا (یادداشت و غیره)
      • اطلاعات تکمیلی (مقادیر از پیش تعیین شده ، محدودیت ها و غیره)

      ذخیره ی داده ها (Data Store)

      Data Store اطلاعات را از جایی که داده ها به سیستم وارد می شوند و از سیستم خارج مش شوند، ذخیره می کند. ذخیره ی داده ممکن است شامل موارد زیر باشد.

      فایل ها

      • داخلی به نرم افزار
      • خارجی برای نرم افزار اما در همان دستگاه.
      • خارجی به نرم افزار و سیستم ، واقع در دستگاه های مختلف.

      جداول یا Tables

      • نامگذاری کنوانسیون
      • ایندکسینگ دارایی ها
      • پردازش داده ها

      دو نوع پردازش داده وجود دارد:

      منطقی یا Logical : همان طور که کاربر آن را می بیند.
      فیزیکی یا Physical: همان طور که نرم افزار آن را می بیند.

      با بیان عناصر داده (Data Elements) مبحث معرفی ابزارهای آنالیز و طراحی نرم افزار رو در این جا به پایان می رسونیم.

      کلام پایانی

      دوستان گرامی خرسندیم از این که با مباحث آموزش مهندسی نرم افزار با وب سایت آموزشی پی وی لرن همراه و همگام هستید. مدل Entity-Relationship و مهندسی نرم افزار ، دیکشنری داده (Data Dictionary) و … رو در این بخش از معرفی ابزارهای آنالیز و طراحی نرم افزار بررسی نمودیم. در بخش بعدی استراتژی های طراحی نرم افزار رو دنبال خواهیم نمود.

      QR:  جلسه ۰۶-۰۳ : مدل Entity-Relationship و مهندسی نرم افزار
      به اشتراک بگذارید