PDA

View Full Version : سوال: چگونه مي توانيم آبجكت ها را در يك جريان رخداد use case پيدا كنيم؟



mohamad100000
شنبه 17 فروردین 1392, 10:09 صبح
دوستان عزيز اگه قوانيني وجود داره كه بتونيم آبجكت ها رو بهتر پيدا كنيم ، راهنمايي كنيد.

cups_of_java
شنبه 17 فروردین 1392, 20:20 عصر
چیزی که شما دنبالشین تحلیل شی گرا (OO Analysis) نام داره که حداقل 10 تا کتاب میشه نام برد که راجع بهش حرف زدن، قانونی که مثل یه دستورالعمل بری جلو و کلاس ها در بیان وجود نداره.
چیزی که هست روش هایی برای تشخیص کلاس ها و مدل سازی اون هاست. هر متدولوژی روش خودش رو برای تحلیل شی گرا داره اما به طوری کلی با جستجو شما می تونی الگو ها و توصیه های کلی ای برای تحلیل شی گرا پیدا کنی.
و اما به طور کلی:
به موازات کشیدن نمودار های موارد کاربرد و حتی قبل از کشیدنشون در همه روش ها، "تحلیل دامنه" Domain Analysis صورت میگیره و یک سری کلاس های اصلی تشخیص داده میشن. در این مرحله اسم های کلیدی، برخی افعال و شاید برخی کاربر های سیستم کاندید کلاس شدن هستن. نکته مهم اینه که در این مرحله شما هیچ موضوعی که مربوط به UI، Database و محیط های برنامه نویسی باشه رو کلاس نمی کنید. شما بدون توجه به نرم افزاری شدن سیستم، خود سیستم رو تحلیل می کنید. بنابراین یک نمودار کلاس اولیه خواهید داشت.
این نمودار کلاس بعد در مرحله UseCase Realization با توجه به هر کدوم از نمودارهای usecase شما کامل تر میشه. به طوریکه بعضی کلاس های مورد نیاز اضافه میشن و بعضی ها حذف میشن.
شما قرار هست که اون مراحلی که توی usecaseهاتون هست رو بتونید از طریق ارسال پیام (فراخوانی متدها) بین کلاس هاتون پیاده سازی کنید. پس اینجا باید با داشتن دانش تحلیل و طراحی شی گرا بتونید کلاس هاتون رو کم و زیاد کنید.
مثلن این اسلاید رو نگاه کنید. (www.cse.lehigh.edu/~glennb/oose/.../05useCasesToClasses.ppt)
و در مورد تحلیل طراحی شی گرا مطلب زیاد هست. مثل الگو های GRASP و یا Design Patterns و Analysis Patterns.

اگر فرصت کنم در مورد جزییات مراحل و نمودار هایی که تو این کار کمک می کنن می نویسم براتون.

کتاب هایی که در این زمینه خیلی مطلب دارن:
Object-Oriented Analysis & Design & Applications
Applying UML and Patterns - An Introduction to Object-Oriented Analysis and Design and Iterative Development
Object.Oriented.Analysis.and.Design.Understanding. System.Development.with.UML
Martin Fowler, Analysis Patterns