زبان مدلسازی یکنواخت (4)


نمودار کلاس ( Class Diagram ) :

همانطور که قبلاً ذکر شده اساس روش های ( Objeaoriented ) کلاسها و اشیاء      می باشد . کلاس ها نمایشگر ساختار سیستم و ارتباطات استاتیک سیستم است . براساس یک نمودار کلاس می توان ساختار منطقی سیستم ( Logical view ) نشان داد :

یک نمودار کلاس بیانگر ارتباطات استاتیک در سیستم است . بطور کلی دو نوع ارتباط استاتیک میان کلاسهای سیستم می توان تعریف کرد :

1. تناظر ( Assosiation ) : که بیانگر ارتباطات ساختاری دو کلاس با یکدیگر است . مثلاً یک دانشجو می تواند در تعدادی درس ثبت نام کند .

2. زیر نوع ( Generalization ) : که بیانگر توارث میان کلاسهای سیستم است . مثلاً کلاسهای دانشجو ، استاد و کارمند ، خواص کلاس انسان را به ارث می برند .

نمودار کلاس یا Class Diagram ، کلاسها ، اعمال ، صفات و روابط و محدودیتهای همان کلاس در رابطه با کلاسهای دیگر را نشان می دهد .

نمودار کلاس در مراحل مختلف پروژه با چشم اندازهای متفاوتی ترسیم می شود :

1.  چشم انداز مفهومی ( Conceftal Perspective ) : این چشم انداز در مرحله شناخت سیستم مطرح است و در این مرحله هدف از تهیه نمودار کلاس فهم و ترسیم حوزه و دامنه مسأله است . بنابراین هیچ نقشه ارتباطی میان کلاسهایی که در این مرحله تعریف می شوند با کلاسهای پیاده سازی سیستم وجود ندارد .

2.  چشم انداز تشخیص ( Specification Perspective ) : در این مرحله علاوه بر توجه به دامنه مسأله به نرم افزار نیز توجه می کنیم ، اما نگاه به نرم افزار چندان عمیق    نمی باشد . در این مرحله type  یا نوع کلاسها تشخیص داده می شود .

3. چشم انداز پیاده سازی ( Impelimentation Perspective ) : کلاسهایی که در این مرحله تعریف می شوند دقیقاً کلاسهایی هستند که در نرم افزار پیاده سازی می شوند. این دیدگاه خاص Developer ها یا توسعه دهندگان نرم افزار است .

کلاسهای خاص : چند کلاس خاص وجود دارد که در زیر بررسی می شود .

1. کلاس خدماتی ( Atility class ) : این کلاس ، کلاسی است که هیچ شیء ندارد و مجرد نیز می باشد ، یعنی در هیچ رابطه تعمیمی مورد استفاده قرار نمی گیرد . معمولاً زمانی که اعمالی وجود دارد که در کلاسهای مختلفی تکراری می باشد و       نمی توان آنها را به صورت رابطه تعمیم و به ارث بری تعریف نمود کلاسهای خدماتی تعریف می شوند که این اعمال را درون آنها قرار می دهیم . مثال : یک ماژول برای تبدیل تاریخ شمسی به میلادی .

2. کلاس مجرد ( Absdfast class ) : این کلاس نیز کلاسی است که هیچ شیء ندارد ، اما در رابطه تعمیم مورد استفاده قرار می گیرد . یعنی کلاسهای دیگر صفات و اعمال آن را به ارث می برند . مثلاً کلاس انسان .

3. کلاس منفرد ( Singleten class ) : این کلاس ، کلاسی است که همواره یک شیء دارد . معمولاً کنترل گره ها در سیستم ها در این نوع کلاسها می باشند .

روابط :

در نمودار کلاس علاوه بر کلاسها باید ارتباطات میان کلاسها نیز نمایش داده شود . قبلاً در رابطه با ارتباطات توضیحاتی داده شده است که اکنون به تکمیل آنها می پردازیم .

Project
– name : steing

– Description : string

– Startdata : Date

+ creatc : project

+ set start dat (Startdate : Date)

+ get start dete (   ) : date

+ destroy (  )

= find property : project

 

1. رابطه تناظر : همانگونه که گفته شد رابطه تناظر ارتباط ساختاری میان دو کلاس را نشان می دهد . یک رابطه تناظر می تواند دارای جهت ، نام ، چندتایی ، نقش و قابلیت پیمایش باشد . به عنوان مثال کلاس user با کلاس pasword  یک رابطه تناظر دارد .

؟؟

2. رابطه تجمع : این رابطه در متدولوژیهای قدیمی تر به عنوان رابطه کل به جزء معروف است . براساس این رابطه نشان داده می شود که کلاس کل از تجمع کلاسهای جزء پدید می آید و این رابطه در صورت از بین رفتن کلاس کل مطلقاً کلاسهای جزء از بین نمی رود و هر گونه ارتباطی بوسیله کلاسهای دیگر می تواند بدون دخالت کلاس کل با کلاسهای جزء برقرار شود .

؟؟

3. رابطه ترکیب : این رابطه حالت خاصی از تجمع است که در آن کلاسهای جزء با از بین رفتن کلاس کل از بین می رود . همچنین کلاسهای دیگر حتما باید از طریق کلاس کل با کلاس جزء ارتباط برقرار کنند .

؟؟

در روابط ترکیب و تجمع می توان بر روی رابطه چندتایی ها را مشخص نمود .

4. رابطه وابستگی : هرگاه دو کلاس که با هم ارتباط دارند ، ارتباطشان یک رابطه ساختاری نباشد آنگاه یک رابطه وابستگی است . مثلاً اگر کلاس B  پارامتر یکی از اعمال کلاس A باشد یک رابطه وابستگی بین آنها وجود دارد . یعنی هر متغیری در کلاس A می تواند در کلاس B تأثیرگذار باشد .

؟؟

5. رابطه تعمیم : این رابطه قبلاً مورد بررسی قرار گرفته است . در این قسمت به خواص تعریف شده روی آن می پردازیم .

الف ) چند وراثتی : اگر یک کلاس تخصیص ( فرزند ) بتواند خصوصیات خود را از چند کلاس تعمیم یا ( والد ) به ارث ببرد ، به این رابطه چند وراثتی گفته می شود .

؟؟

کلاس C خصوصیات خود را از کلاسهای A و B به ارث برده است .

ب ) جایگزینی : یکی از خصوصیات رابطه تعمیم جایگزینی است که براساس آن یک کلاس تخصیص می تواند بدون بروز هیچ اشکالی جایگزین کلاس تعمیم شود .

نمودارهای تعامل :

نمودار کلاس ساختار اجرای تشکیل دهنده یک سیستم و ارتباطات استاتیک تعریف شده میان آنها را نمایش می دهد . همکاری و تعامل میان این کلاسها که مبین رفتار سیستم می باشد توسط نمودارهای تعامل ( Interaotienolig ) که عبارتند از نمودارهای توالی ( Sequence ) و نمودارهای همکاری ( Colaboretion ) نمایش داده می شود . به عبارتی دیگر برای هر سناریو از یک use case می توان نمودارهای توالی و همکاری ترسیم نمود که تعامل میان کلاسها و اشیاء برای تکمیل آن سناریو را نشان می دهد . در بعضی موارد حتی می توان از نمودارهای تعامل برای کشف کلاسها و اشیاء سیستم استفاده نمود .

نمودار توالی :

این نمودار تعامل میان اشیاء و کلاسها را بر مبنای زمان تعریف می کنند . در این نمودار هر شیء یا کلاس را در بالای یک خط چین عمودی که به خط عمر( Life line ) معروف است نشان می دهیم . تعامل میان اشیاء از طریق ارسال پیام یا پیغام های تبادل شده میان آنها نمایش داده می شود . ( message ها ) یا پیام ها در نمودار توالی با پیکانهای جهت دار نمایش داده می شوند .

بر روی خط عمر می توان مستطیلی قرار داد که به آن کانون تمرکز یا                       ( Focees of conturol ) گفته می شود که بیانگر دوره زمانی است که شیء در حین انجام عملیات می باشد . این عمل می تواند مستقیماً توسط یک رویه یا از طریق چند رویه تو در تو انجام گیرد .

Activity diagram ( نمودار فعالیت ) :

Activity diagram به منظور شرح یک Work flow یا جریان کار مورد استفاده قرار می گیرد و در مراحل مختلف از پروژه مورد استفاده دارد . یک نمودار فعالیت در شروع پروژه و یا بحث Bussiues modeling به منظور تشریح سناریوهای مختلف جریان کار در یک  use case می باشد . در مرحله طراحی از نمودار فعالیت می توان برای تشریح چگونگی عملیات یک کلاس در واقع از یک operation استفاده نمود . نمودار فعالیت از حالات ، فعالیتها و انتقال از یک حالت به یک حالت دیگر ، یا از یک فعالیت به فعالیت دیگر تشکیل شده است .

موارد استفاده از Activity diagram :

1) قبل از ترسیم use case  دیاگرام می توان Work flow سیستم را به کمک یک نمودار فعالیت ترسیم نمود . این نمودار کمک می کند که بتوان use case های اصلی سیستم را استخراج نمود .

2) پس از ترسیم use case ها می توان فرآیند جریان هر use case را به کمک یک اکتیویتی دیاگرام انجام داد .

3) پس از ترسیم دیاگرام کلاس برای نمایش فلوچارت اعمال یک کلاس می توان از این نمودار استفاده نمود .

بیان دیاگرام یک پایگاه داده ها بوسیله یک نمودار کلاس :

می توان براساس یک نمودار کلاس سطوح پایگاه داده های یک سیستم را بیان کنیم . برای این منظور هر table به عنوان یک کلاس تعریف شده و فیلدهای آن به عنوان صفات یا ( Properties ) کلاس و triger های آن به عنوان operation تعریف خواهد شد . ارتباط میان table ها یا از نوع composition هستند و یا از نوع aggregation  . اگر در یک رابطه یک به چند ، میان دو جدول رکوردی که در طرف چند رابطه قرار دارد بتوانند بدون وجود رکورد طرف یک وجود داشته باشند ، رابطه از نوع aggregation  و در غیر این صورت از نوع composition خواهد بود .

triger : همان گونه که گفته شد تریگر ، به عنوان عمل در یک کلاس از نوع table تعریف می شود . برای هر table سه نوع ( event ) قابل پیش بینی است :

Insert : اضافه کردن یک رکورد جدید .

Update : بروز رسانی یک رکورد جدید .

Delet : حذف یک رکورد .

اعمالی که باید بعد از وقوع هر یک از این وقایع رخ دهد به عنوان triger  یا operation  های کلاس table  تعریف خواهد شد .

قدمهای لازم برای طراحی پایگاه داده ها و ترسیم نمودار کلاس مربوطه :

الف ) نرمال سازی براساس تجزیه و تحلیل رابطه داده ها :

1 ) تشکیل جدول غیر نرمال .

2 ) تشکیل جدول نرمال 1

3 ) تشکیل جدول نرمال 2

4 ) تشکیل جدول نرمال 3

ب ) ترسیم نمودار کلاس .

مراحل فوق را با در نظر گرفتن یک مثال توضیح می دهیم .

الف :

الف  1 ) تشکیل جدول غیر نرمال :

در این مرحله باید براساس یک Souree  اولیه که خود یک کلاس از سیستم از نوع فرم یا گزارش می باشد ، جدول غیر نرمال را تشکیل داد .

الف 2 ) تشکیل جدول نرمال 1 :

یک جدول نرمال 1 جدولی است که براساس کلید اصلی که بر روی آن تعریف         می شود .

اگر ( Primerg key ) هیچ رکورد تکراری نداشته باشد ، کلید اصلی می تواند ساده     ( شامل یک فیلد ) و یا ترکیبی از چند فیلد باشد .

الف 3 ) تشکیل جدول نرمال 2 :

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

الف 4 ) تشکیل جدول نرمال 3 :

در جدول نرمال 1 و 2  اگر فیلدی وجود داشته باشد که فقط به یک فیلد دیگر ( غیر از کلید اصلی ) وابسته باشد باید از آن جدول خارج و در قالب یک جدول جدید ذکر شود.

ب )

ترسیم نمودار کلاس :

مرحله نرمال 4 همان کلاسهای مورد نظر می باشند .

این عمل باعث می شود که کلاس ( table ) های جدید شناسایی شده و یا در Properties  ( فیلدهای table ) کامل گردد .

پس از انجام تمام این مراحل طرح کلی پایگاه داده ها آماده است .

  1. هنوز دیدگاهی داده نشده است.
  1. No trackbacks yet.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: