نمایش نتایج 1 تا 13 از 13

نام تاپیک: control class,entity class,boundary class

  1. #1
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    پست
    854

    control class,entity class,boundary class

    سلام دوستان

    انواع کلاس ها رو با تعریف شون رو اینجا نوشتم می خوام بدونم که آیا تعریفشون درسته یه مثال هم اگه میشه بنویسید

    Control Class:کلاس های که کار یک UseCase رو انجام می دهند و کنترل می کنند.
    سئوال من اینه که چیو کنترل میکنه؟؟؟ آیا وظیفش مثلBusiness logic layer هست؟؟؟؟

    Entity Class:کلاس های هستند نشان دهنده موجودیت های اند که با سیستم در ارتباط هستند
    اینو اگه میشه یه کم توضیح بدید؟آیا این کلاس کارش مثل DataAccess Layer هست؟

    Boundary Class: اطلاعاتی که به درون کلاس وارد می شوند یا خارج می شوند را نشان می دهد.
    آیا این وظیفش مثل همون لایه UserInterface هست؟؟؟


    لطفا مسئاله رو بازش کنید .
    مرسی

  2. #2
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    پست
    854
    مرسی از manager به خاطر جوابش
    نقل قول نوشته شده توسط manager مشاهده تاپیک
    کلاس های کنترلی : تعریف شما کاملا غلطه !
    در سیستم های اطلاعاتی عملیات هایی وجود دارد که ممکن است مربوط به چندین کلاس باشند. این عملیات در غالب کلاس هایی با عنوان کلاس های کنترلی گرد هم می آیند. لازم به ذکر است که ایم کلاس ها هیچ گونه Attribute ای ندارند( و یا اگر داشته باشند، سیستم مایل به ذخیره کردن آنها نیست.)

    کلاس های Entity : تعریف شما ناقصه !
    کلاس هایی هستند که سیستم اطلاعاتی مطابق با System Responsibilities تمایل به ذخیره کردن اطلاعات آن دارد. به عنوان مثال کلاس دانشجو در یک سیستم آموزشی و یا کلاس خودرو در یک سیستم مکانیزاسیون کارخانه خودرو سازی. در حقیق این کلاس ها کلاس های اصلی و اطلاعاتی سیستم هستند. مثال دات نتی بگم : کلاس User در یک سیستمی که یکی از وظایفش مدیریت اعضاست و در همین سیستم کلاس Response یا Cache یک کلاس کنترلی است.

    کلاس های Boundary یا Interface : تعریف شما خیلی خیلی غلطه !
    اگر در یک سیستم اطلاعاتی عملیات هایی وجود داشته باشد که به هیچ یک از کلاس ها مربوط نباشند در کلاس هایی با عنوان کلاس های Interface جمع می شوند. این کلاس ها مشابه کلاس های کنترلی شامل Attribute نیستند. همچنین در متدولوژی OOA-OOD گفته شده است که عملیات هایی که سیستم با Other Systems انجام می دهد در این کلاس ها جمع آوری می شوند.
    آخرین ویرایش به وسیله whitehat : جمعه 10 اسفند 1386 در 12:39 عصر

  3. #3
    در UML این کلاس ها برای use-case realization استفاده می‌شوند و بنابراین ارتباط نزدیکی با مفاهیم actor و use-case دارند.
    Control Class : یک use-case را "اجرا" می کند. وظیفه اجرای مراحل flow of event یک use-case را بعهده دارد که با دو نوع کلاس دیگر ارتباط برقرار میکند و رفتار آنها را برای اجرای use-case هماهنگ میکند.معمولا برای تحقق بخشی هر use-case حداقل یک contorl class نیاز است. (مگر آنکه رفتار خیلی ساده ای داشته باشد).

    Entity Class : به منظور مدل کردن داده‌های پایدار استفاده میشود. متناظر با موجودیت های داده‌ای که در use-case مورد استفاده قرار میگیرد. Entity ها معمولا بین چند use-case realization مشترک هستند و معمولا نیز غیر فعال (passive) هستند و خود شروع کننده عملیاتی نیستند.

    Boundry Class : برای مدل کردن ارتباط با Actor ها استفاده می‌شوند تا از اثر تغییرات آنها در بقیه بخشهای برنامه جلوگیری کنند. برای هر زوج actor و use-case حداقل به یک کلاس boundry نیاز است.
    چند نکته :
    1- کلاس های تحلیلی کلی هستند؛ جزئیات در آنها بیان نمیشود و مستقیما پیاده سازی نمیشوند (از روی آنها کلاس های طراحی ساخته می‌شود).

    2- کلا بر این رویکرد نقدهایی هم وارد است، زیرا تا حدود زیادی بامفهوم encapsulationکه از بنیادهای شیءگرایی است در تضاد است.

  4. #4
    کاربر دائمی آواتار manager
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    Z
    سن
    38
    پست
    771
    من یک مثال برای این دوستمون زدم، خواستم نظر شما رو هم بدونم : گفتم مثلا تو یک سیستم آموزشی، دانشجو یک کلاس Entity است. TermTimeChecking (کلاسی که عملیات هایی مثل انتخاب واحد و حذف درس و .. را با توجه به جدول زمانبندی ترم کنترل می کنه، مثلا می گه انتخاب واحد مجازه یا نه) یک کلاس کنترلی است. و همچنین تراکنش های مالی دانشجو یا کلاسی که این عملیات رو انجام می ده به عنوان یک کلاس Boundary می شه معرفی کرد.
    کلا بر این رویکرد نقدهایی هم وارد است، زیرا تا حدود زیادی بامفهوم encapsulationکه از بنیادهای شیءگرایی است در تضاد است.
    می خواستم بدونم چه تضادی با Encapsulation وجود داره ؟ کجا ؟ چرا ؟مگر نه اینکه Encapsulation در طراحی نمود بیشتری پیدا می کنه ! حال آنکه ما تو تحلیل هستیم ؟ منظورم اینه مگه نه اینکه ما در تحلیل شیئ گرائی با مفاهیم عام شیئ و کلاس سرو کار داریم و در طراحی با مفاهیم خاص آن ؟

    در پایان یک سوالم داشتم تو همین سیستم آموزش می تونید چندتا کلاس اینترفیس و کنترلی دیگه مثال بزنید ؟

  5. #5
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    پست
    854
    چند تا عکس رو از کتاب Apress.Use.Case.Driven.Object.Modeling.with.UML.Ja n.2007.pdf
    گذاشتم کلاس های Boundary Class,Entity Class,Control Class رو تو شکل نشون میده

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

  6. #6
    کاربر دائمی آواتار miimii
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    ايران/ تهران
    پست
    128
    سلام
    میشه کمی در مورد کلاسهای تحلیلی و کلاسهای طراحی بیشتر توضیح دهید.
    Boundry ، Control، Entity همگی از کلاسهای تحلیلی هستند.
    کلاسهای طراحی چی هستد.میشه لطف کنید مثال بزنید

    با تشکر

  7. #7
    خیلی خوشحالم که بعد از مدتها (و بعد از انبوه تاپیکهای درخواست انجام پروژه دانشجویی و ...) یک بحث خوب تو فروم شروع شده و امیدوارم برای همه ما قابل استفاده و مفید باشه.
    نقل قول نوشته شده توسط manager مشاهده تاپیک
    من یک مثال برای این دوستمون زدم، خواستم نظر شما رو هم بدونم : گفتم مثلا تو یک سیستم آموزشی، دانشجو یک کلاس Entity است. TermTimeChecking (کلاسی که عملیات هایی مثل انتخاب واحد و حذف درس و .. را با توجه به جدول زمانبندی ترم کنترل می کنه، مثلا می گه انتخاب واحد مجازه یا نه) یک کلاس کنترلی است. و همچنین تراکنش های مالی دانشجو یا کلاسی که این عملیات رو انجام می ده به عنوان یک کلاس Boundary می شه معرفی کرد.
    در مورد کلاس‌هایEntity نظرتون درسته، در مورد کلاس کنترل علاوه بر مواردی که برشمردید، وظیفه انتقال اطلاعات به/از کلاسهای Bondry و Entity به دیگر کلاس‌ها و هماهنگی میان عملیات آنها هم معمولا بعهده کلاسهای کنترل است (وظایف کلاس های کنترل محدود به بررسی یک سری شرایط و اعمال محدودیت‌ها نمی‌شوند).
    در مورد کلاس Boundry احتیاج به توضیح است : اگر سیستم مالی بصورت یک نرم افزار خارج از سیستم ثبت نام باشه، بنابراین باید به صورت یک Actor مدل بشه و برای ارتباط با اون باید از کلاس Boundry استفاده کرد. بنابراین کلاس Boundry در اینجا عملیات مالی را انجام نمیدهد، بلکه فقط داده‌های مالی مرتبط با سیستم مالی را به آن ارسال می‌کند و احتمالا داده‌هایی را نیز از سیستم مالی دریافت می‌کند( که البته گمان می‌کنم منظور شما نیز تا حدود زیادی همین بوده است).
    خوب است اشاره کنم که در این مورد یک کلاس Boundry دیگر برای ارتباط با Actor ی که عملیات ثبت نام را انجام می‌دهد (دانشجو یا کارمند آموزش) لازم است که در واقع فرم ثبت نام را مدل می‌کند.
    نقل قول نوشته شده توسط manager مشاهده تاپیک
    می خواستم بدونم چه تضادی با Encapsulation وجود داره ؟ کجا ؟ چرا ؟مگر نه اینکه Encapsulation در طراحی نمود بیشتری پیدا می کنه ! حال آنکه ما تو تحلیل هستیم ؟ منظورم اینه مگه نه اینکه ما در تحلیل شیئ گرائی با مفاهیم عام شیئ و کلاس سرو کار داریم و در طراحی با مفاهیم خاص آن ؟
    اگه دقت کنید در اینجا ما داده‌ها را در کلاس Entity قرار می‌دهیم، عملیات بر روی آنها را در کلاس Control و نمایش آنها را در Boundry. در صورتی که Encacsulation به ما رهنمود می‌دهد که داده و همه اعمالی که بر روی آن اعمال می‌شود را در یک کلاس قرار دهیم. البته بعضی هم در برابر این نقد، می‌گویند که سطح تجرید در این مورد بالا تر از کلاس است و ... خلاصه بحث همچنان باقی است.
    نقل قول نوشته شده توسط manager مشاهده تاپیک
    در پایان یک سوالم داشتم تو همین سیستم آموزش می تونید چندتا کلاس اینترفیس و کنترلی دیگه مثال بزنید ؟
    در مورد کلاس Boundry که مثال زدم (فرم ثبت نام). در مورد کلاس کنترل هم می‌توانید یک کلاس کنترل اصلی در نظر بگیرید (Registeration) که وظیفه اجرای کل ثبت نام (با همکاری بقیه) را دارد : اطلاعات فرم ثبت نام را به کلاس کنترل زمان می‌دهد، اطلاعات را از Entity ها میگیرد، اطلاعات مالی را به کلاس Boundry مرتبط با سیستم مالی می‌دهد و نتیجه را میگیرد .. تا ثبت نام پایان پذیرد.

  8. #8
    کاربر دائمی آواتار manager
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    Z
    سن
    38
    پست
    771
    نقل قول نوشته شده توسط smhoseyni مشاهده تاپیک
    ... در مورد کلاس کنترل علاوه بر مواردی که برشمردید، وظیفه انتقال اطلاعات به/از کلاسهای Bondry و Entity به دیگر کلاس‌ها و هماهنگی میان عملیات آنها هم معمولا بعهده کلاسهای کنترل است
    ...
    خوب است اشاره کنم که در این مورد یک کلاس Boundry دیگر برای ارتباط با Actor ی که عملیات ثبت نام را انجام می‌دهد (دانشجو یا کارمند آموزش) لازم است که در واقع فرم ثبت نام را مدل می‌کند.

    اگه دقت کنید در اینجا ما داده‌ها را در کلاس Entity قرار می‌دهیم، عملیات بر روی آنها را در کلاس Control و نمایش آنها را در Boundry. در صورتی که Encacsulation به ما رهنمود می‌دهد که داده و همه اعمالی که بر روی آن اعمال می‌شود را در یک کلاس قرار دهیم. البته بعضی هم در برابر این نقد، می‌گویند که سطح تجرید در این مورد بالا تر از کلاس است و ... خلاصه بحث همچنان باقی است.

    در مورد کلاس Boundry که مثال زدم (فرم ثبت نام). در مورد کلاس کنترل هم می‌توانید یک کلاس کنترل اصلی در نظر بگیرید (Registeration) که وظیفه اجرای کل ثبت نام (با همکاری بقیه) را دارد : اطلاعات فرم ثبت نام را به کلاس کنترل زمان می‌دهد، اطلاعات را از Entity ها میگیرد، اطلاعات مالی را به کلاس Boundry مرتبط با سیستم مالی می‌دهد و نتیجه را میگیرد .. تا ثبت نام پایان پذیرد.
    قبل از اینکه سوال های بعدیم رو بپرسم ازتون تشکر می کنم آقای حسینی.
    خوب در رابطه با کلاس های کنترلی مشکلی نیست، پس به صورت خلاصه می تونیم بگیم، اگر عملیاتی هایی در سیستم اطلاعاتی ما وجود داشته باشد که این عملیات ها مربوط به چندین کلاس باشند، آنها را در کلاس های کنترلی بسته بندی می کنیم ؟! مثل عملیت محاسبه صورت حساب آب مصرفی در یک سیستم مکانیزه سازمان آب.

    اما در مورد کلاس های Boundary یا اینترفیسی اوضاع پیچیده تره شد برام ! منظور شما از فرم ثبت نام کدام کلاس است ؟ مثلا کلاس MyForm که از کلاس Form به ارث می برد و شامل کنترل های ثبت نام است ؟ در همان سیستم آموزش Actoreها چگونه کلاس های اینترفیسی رو تشکیل می دهند ؟ مثلا چگونه دانشجو و یا مسئول آموزش رو به صورت کلاس اینترفیسی در نظر بگیرم ؟ سوالم رو کلی تر کنم چگونه یک Actore یک کلاس اینترفیسی رو می سازه به طوری که شامل هیچ گونه Attribute ای نباشه !؟؟

  9. #9
    نقل قول نوشته شده توسط manager مشاهده تاپیک
    اما در مورد کلاس های Boundary یا اینترفیسی اوضاع پیچیده تره شد برام !
    فکر کنم قبلا باید در مورد Boundry و مفهوم Interface توضیح بدهم. کلاس‌های Boundy از آنجاییکه وظیفه ارتباط با Actor را بعهده دارند به نوعی واسط (Interface) برای آنها هستند ولی این مطلب را نباید به هیچ وجه با مفهوم Interface دیگری که وجود دارد و به معنی تعریف مجموعه‌ای از خصوصیات رفتاری است که توسط یک (یا چند ) کلاس Realize می‌شود یکی کرد (که این مورد اخیر دقیقا به همین صورت در Java و C#‎ نیز پیاده سازی شده است).
    در واقع Interface مجموعه‌ای از تعریف چند Method است که برای توصیف یک مجموعه خصوصیات رفتاری استفاده می‌شود ( و کاربرد آن بیشتر در معماری و طراحی است) و کلاس Boundry برای ارتباط با Actor استفاده می‌شود و اتفاقا Attribute هم دارد(مثلا می‌توان برخی بخش‌های یک فرم را بصورت صفات کلاس Boundry متناظر مدل کرد) و در Analysis استفاده می‌شود.

    نقل قول نوشته شده توسط manager مشاهده تاپیک
    منظور شما از فرم ثبت نام کدام کلاس است ؟ مثلا کلاس MyForm که از کلاس Form به ارث می برد و شامل کنترل های ثبت نام است ؟ در همان سیستم آموزش Actoreها چگونه کلاس های اینترفیسی رو تشکیل می دهند ؟ مثلا چگونه دانشجو و یا مسئول آموزش رو به صورت کلاس اینترفیسی در نظر بگیرم ؟ سوالم رو کلی تر کنم چگونه یک Actore یک کلاس اینترفیسی رو می سازه به طوری که شامل هیچ گونه Attribute ای نباشه !؟؟

    Actor ها کلاس‌های Boundry را نمی‌سازند، بلکه کلاس‌های Boundry به منظور ارتباط با Actor ها استفاده می‌شود. در همان مورد مثال، کلاس RegisterationForm برای ارتباط با دانشجو ساخته می‌شود، دانشجو پس از ورود اطلاعات در این فرم و زدن دکمه "ثبت نام" منجر به فراخوانی متد register() از همین کلاس می‌شود. این متد هم متدی در کلاس Control را فراخوانی میکند و ...

  10. #10
    کاربر دائمی آواتار manager
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    Z
    سن
    38
    پست
    771
    ممنون من منظورم از کلاس های اینترفیسی همون Boundary بود(که البته نام دیگر این نوع کلاس ها هم فکر کنم همینه).

    می شه در مورد خود Actore هم بگید که چه طور مدل می شه ؟ یعنی چه اطلاعاتی (Attributes) از یک Actore در سیستم ثبت می شه و یا چه عملیاتی(Behaviors or Operations) یک Actore می تونه انجام بده ؟ مثلا در مثال معروف عابر بانک.

  11. #11
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    پست
    854
    این عکس رو ببینید تو یک صفحه خیلی چیزا رو مشخص کرده از هون کتاب پست قبلیم هست.




    نرم افزاری که (قوانین)این نمودار ها رو چک میکنه رو پیدا نکردم.دوستان لینکی دارند ازش؟؟؟

  12. #12
    مدیر بخش آواتار whitehat
    تاریخ عضویت
    مهر 1382
    محل زندگی
    شیراز
    پست
    2,175
    می شه در مورد خود Actore هم بگید که چه طور مدل می شه ؟
    ما قرار نیست که Actor ها را مدل کنیم ، Actor ها عوامل خارجی هستند که با سیستم ما در تعامل می باشند ، چیز هایی که برای ما مهم است این است که از طریق یک Actor چه داده هایی وارد سیستم ما می شوند،(در صورت لزوم عامل ها باید بصورت جداگانه تحلیل و طراحی شوند)
    در کل می دانیم که ما دو دیاگرام کلا س داریم :دیاگرام تحلیل و دیاگرام طراحی. معمولا در دیاگرام تحلیل بیشتر به نمایش فلوها و مواردی که از فاز تحلیل بدست آمده می پردازیم و در کلاس دیاگرام طراحی ما کلاس هایی که باید پیاده سازی شود را می سازیم که در این مرحله به بیان Attribute ها و Method های یک کلاس می پردازیم (بیان جزئیات) عملا کلاس های مرزی ،کنترلی و موجودیت در کلاس دیاگرام طراحی معنای ندارد (دلیلش را آقای حسینی اشاره کردند)

    نرم افزاری که (قوانین)این نمودار ها رو چک میکنه رو پیدا نکردم.دوستان لینکی دارند ازش؟؟؟
    نرم افزار Enterprise Architecture این کار را برای شما انجام می دهد.
    To follow the path:
    Look to the master
    Follow the master
    Walk with the master
    See through the master
    Become the master

  13. #13
    کاربر تازه وارد آواتار mohamad100000
    تاریخ عضویت
    فروردین 1391
    سن
    33
    پست
    41

    نقل قول: control class,entity class,boundary class

    با سلام فكر كنم جواب اكثر سوالات دوستان تو اين اين فايل آموزشي پيدا شه
    http://mohamad100000.persiangig.com/Stereotype.pdf

تاپیک های مشابه

  1. روش استفاده از class.vb
    نوشته شده توسط amir_monster در بخش ASP.NET Web Forms
    پاسخ: 6
    آخرین پست: شنبه 12 آبان 1386, 22:18 عصر
  2. class
    نوشته شده توسط mehdi1357 در بخش برنامه نویسی در 6 VB
    پاسخ: 0
    آخرین پست: شنبه 11 شهریور 1385, 14:00 عصر
  3. inner class
    نوشته شده توسط nargesi در بخش برنامه‌نویسی جاوا
    پاسخ: 1
    آخرین پست: سه شنبه 12 اردیبهشت 1385, 23:39 عصر
  4. class نویسی در دلفی
    نوشته شده توسط Future در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: سه شنبه 22 شهریور 1384, 12:45 عصر
  5. مشکل در مورد class
    نوشته شده توسط Sohrab_Tapar در بخش برنامه نویسی در Delphi
    پاسخ: 5
    آخرین پست: شنبه 17 مرداد 1383, 19:25 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •