PDA

View Full Version : سوال: requirement



reza68
چهارشنبه 13 شهریور 1387, 10:22 صبح
من تازه عضو اين سايت شده ام
يه سوال داشتم:
من با EA كار مي كنم و اول كارم
مي خواستم معنيه اين ربط ها رو بدونم و اينكه كجا استفاده مي شن
associate,aggregate,generalize,realize,dependency, trace,nesting
ممنون اگه جواب بديد

impression
چهارشنبه 13 شهریور 1387, 12:03 عصر
سلام
من تا حالا با EA‌ کار نکردم ولی این کلماتی که نوشتید در اکثر case tools‌ ها هست. معنی بعضی‌هایش را با توجه به اطلاعات ناقص خودم می‌نویسم. لطفا اگر اشتباه بود، اساتید اصلاح کنند.

روابط object ها با یکدیگر در یکی از دو ساختار زیر جای می‌گیرد:
1. association (به طور کلی هر نوع ارتباط بین objectهای مختلف نوعی association محسوب می‌شود)
association‌ دو ویژگی دارد:
الف) Cardinality (بیانگر این است که رابطه‌ی بین این دو شیء چند به چند است)
ب) وجود یا عدم وجود رابطه (بیان می‌کند که آیا یکی یا هردو طرف رابطه می‌توانند صفر باشند یا نه )
http://barnamenevis.org/forum/attachment.php?attachmentid=22729&stc=1&d=1220431656
asociation از سه روش پیروی می‌کند:
الف)ساده یا simple (دو موجودیت که قائم به ذات خودشان هستن ولی یک رابطه بین آن‌ها برقرار است. مثل رابطه‌ی صندلی و آدمی که روی آن می‌نشیند)
ب)aggregation (یک موجودیت شامل تعدادی از موجودیت دیگر باشد. مثل رابطه‌ی کلاس با صندلی‌هایش. کلاس بدون صندلی معنی دارد و صندلی هم بدون کلاس معنی دارد ولی هر کلاس حاوی تعدادی صندلی است)
پ)composition (در این رابطه هم یک موجودیت از موجودیت دیگر تشکیل شده است ولی با این تفاوت که اگر یک موجودیت را برداریم، موجودیت دیگر معنی خود را از دست می‌دهد. مثل رابطه‌ی اتاق با دیوارهایش. هر اتاقی از تعدادی دیوار تشکیل شده که اگر دیوارهایش را برداریم دیگر موجودیت خود اتاق زیر سؤال می‌رود و نیز خود دیوار هم به تنهایی معنی ندارد و تنها در کنار اتاق معنی پیدا می‌کند)
2. inheritance (در ارث بری هدف این است که یک کلاس، رفتارهای یک کلاس دیگر را به ارث ببرد)
به ارث بری از دو دید می‌توان نگاه کرد:
الف)specialization
ب)generalization
http://barnamenevis.org/forum/attachment.php?attachmentid=22730&stc=1&d=1220431809

و اما Dependency : بیانگر نوعی وابستگی بین دو رابطه است.
به شکل زیر دقت کنید:
http://barnamenevis.org/forum/attachment.php?attachmentid=22732&stc=1&d=1220432119

بخشی با دایره‌ی قرمز مشخص شده است، بیانگر dependency‌بین دو رابطه می‌باشد. اگر به این دو رابطه دقت کنید می‌بینید که هر دو رابطه بین کلاس department و person‌ برقرار شده. رابطه‌ی سمت چپ، رابطه‌ی عضویت در یک دپارتمان است و بیان می‌کند که هر دپارتمان چند عضو دارد و هر کسی نیز می‌تواند در چند دپارتمان عضویت داشته باشد. رابطه سمت راست رابطه‌ی مدیریت است و بیان می‌کند که هر دپارتمان تنها یک مدیر دارد و هر مدیر می‌تواند مدیریت چند دپارتمان را به عهده بگیرد. اما بین رابطه‌ی عضویت و رابطه‌ی مدیریت، یک وابستگی وجود دارد و آن این است که مدیر یک دپارتمان باید حتما از میان مجموعه‌ی اعضای آن انتخاب شود.

Elham_gh
شنبه 16 شهریور 1387, 12:39 عصر
Trace حالت خاصي از Dependency است.Trace ارتباط بين element هايي كه داراي ايده ، مفهوم ياهدف يكسانند برقرار مي كند. مثلا Trace مي تواند بين دو element كه ارتباط تاريخي با هم دارند رو بر قرار كند. مثلا يك كلاسي نسخه جديدي از كلاس ديگر باشد.
همينطور tarce مي تواند ارتباط فرايندي دو element را برقرار كند. مثلا يك use case ي در يك فرايند بعد از use case ديگر اجرا مي شود.

http://barnamenevis.org/forum/attachment.php?attachmentid=22873&stc=1&d=1221682170
Nesting: يك علامتي است كه براي نشان دادن اين بكار مي رود كه يك element شامل element ديگر است. كه اغلب براي package هاي تو در تو استفاده مي شود:
http://barnamenevis.org/forum/attachment.php?attachmentid=22874&stc=1&d=1221682170

Realize: رابطه بين يك element (يا مجموعه element)و elementي (يا مجموعه element) كه آن را پياده سازي مي كند را نشان مي دهد. مثل ارتباط بين يك interface و يك class و يا ارتباز بين يك use case با مجموعه Requirement و چند Component