سلام خدمت دوستان
"سلام،
از مطالبتون ممنون،
ولی ای کاش در مورد انوع ارتباطات کلاس و اینکه چطور میتوان نوع ارتباط رو تشخیص داد هم توصیح میدادید"
جمله بالا نظر یکی از دوستان است که به نکته خوبی اشاره کرده اند و من هم با برسی در سهای چهارده و پانزده مربوط به آموزش رشنال متوجه این کمبود شدم و تصمیم گرفتم که در یک پست جداگانه به این مطلب اشاره کنم .
**************************************************
انواع رابطه ها در کلاس دیاگرام
در کلاس دیاگرام چهار نوع رابطه وجود دارد که می توانید آنها را بین کلاسها برقرار کنید . association , dependency, aggregation , generalization
Association رابطه های معنایی بین کلاسها هستند که در نمودار کلاس بوسیله یک خط ساده به هم متصل می شوند . وقتی یک association دو کلاس را به هم وصل می کند ، هر کلاس می تواند از طریق یک نمودار توالی یا همکاری به کلاس دیگر پیغام بفرستد . association می توانند دو طرفه یا یک طرفه باشند . با یک association ، رز(Rose) صفتها را در کلاسها قرار می دهد . برای مثال اگر یک رابطه association بین یک کلاس خانه و یک کلاس شخص وجود دارد ، Rose یک صفت شخص (Person) را درون خانه (House) قرار می دهد تا به خانه بگوید که چه کسی صاحب آن است و یک صفت خانه را درون شخص قرار می دهد تا به شخص بگوید صاحب چه خانه ای هستند .
Dependency شبیه به association ها هستند با یک تفاوت که همیشه یک طرفه هستند . Rose در یک رابطه Dependency صفتها را برای کلاسها تولید نمی کند . Dependency ها با فلش خط چین نشان داده می شوند .
Aggregation ها یک فرم قویتر از association ها هستند . یک Aggregation یک رابطه بین یک واحد کل و بخشهای آن می باشد . برای مثال رابطه بین یک کلاس ماشین را در نظر بگیرید با یک کلاس موتور یا یک کلاس بدنه . aggregation ها مانند یک خط با یک لوزی در کنار کلاسی که واحد کل را نمایش می دهد نشان داده می شوند .
Generalization ها برای نشان دادن یک رابطه وراثتی بین کلاسها استفاده می شوند .
پیدا کردن رابطه ها
1) 1) کار را با بررسی نمودارهای توالی و همکاری آغاز کنید . اگر کلاس A از طریق یک نمودار توالی یا همکاری پیامی را به کلاس B بفرستد ، یک رابطه باید بین آنها وجود داشته باشد . معمولاً رابطه های که با این روش پیدا می کنید ، association یا dependency هستند .
2) 2) کلاسهایتان را بررسی کنید و به دنبال رابطه های کل به جزء بگردید . هر کلاسی که از سایر کلاسها تشکیل شده ، ممکن است در یک aggregation شرکت کند .
3) 3) کلاس هایتان را بررسی کنید و به دنبال رابطه های generalization بگردید . سعی کنید کلاسهایی را پیدا کنید که انواع مختلف داشته باشند . مثلاً در یک شرکت ممکن است کارمند به دوصورت ساعتی و حقوقی باشد ، در این صورت ما یک کلاس کارمند ساعتی و یک کلاس کارمند حقوقی داریم که هر کدام از یک کلاس کارمند ارث بری دارند .
4) 4) کلاسها یتان را برای یافتن رابطه های بیشتر generalization بررسی کنید . سعی کنید کلاسهایی را پیدا کنید که مشترکات بسیار زیادی باهم دارند . مثلاً در یک دانشگاه هم دانشجو و هم استاد و هم کارمند از کلاس انسان ارث بری دارند .
در رابطه با کلاسهایی که خیلی رابطه بین آنها است محتاط باشید . یک معیار برای یک برنامه خوب طراحی شده ، کم بودن تعداد رابطه ها در سیستم است . یک کلاس با تعداد زیادی رابطه نیاز دارد تا درباره تعداد زیادی کلاسهای دیگر بداند . در نتیجه استفاده مجدد می تواند سخت تر شود و سختی نگهداری می تواند بیشتر باشد . اگر هر کدام از کلاسهای دیگر تغییر کنند ، کلاس اصلی ممکن است تحت تاثیر فراوان قرار گیرد .
با سلام
یکی از دوستان سوالی را مطرح کرده اند که برای خودم جالب بود و تصمیم گرفتم که آن را در یک پست جداگانه مورد بررسی قرار بدهم و از نقطه نظرات شما عزیزان هم مطلع شوم .
اگر دوستان مایل باشند نظر آنها ذیل نظر مدیر قرار می گیرد .
سوال توسط آرش :
من بارها در شرکتهای نرم افزاری مختلف دیدم، پس از اینکه اسناد تحلیل و طراحی نرم افزار توسط چند مهندس صنایع با گرایش تحلیل سیستم آماده و تحویل گروه مهندسی نرم افزار برای کد نویسی میشه، مهندسای نرم افزار این اسناد رو قبول ندارند و مجددا خودشون این اسناد رو از نو مینویسن یا کلی ویرایشش میکنند.
میخواستم ببینم نظرتون در این مورد چیه و آیا این کار، کار درستیه؟ کار تحلیل سیستم بچههای صنایع رو چقدر قبول دارین؟ با توجه به اینکه هم بچههای مهندسی صنایع و هم مهندسی نرمافزار درس تحلیل سیستم رو میگذرونند؟
البته ناگفته نمونه که دوست عزیزمان در رشته صنایع مشغول به تحصیل هستند .
******************************************************
نظر مدیر وبلاگ :
حرف شما را قبول دارم . من هم این مطلب رو شنیدم . این امر چند دلیل می تواند داشته باشد .
البته من تحلیل بچه های صنایع رو ندیدم و ای کاش نمونه ای از تحلیل یک سیستم موجود بود تا بیشتر موضوع قابل لمس باشه .
---------------------------------------------------------------
نظر دوست عزیزمان یوسف :
من حرف دوستمان را مبنی بر تفاوت دیدگاه ها نسبت به موضوع مورد تحلیل قبول دارم . در کل نمی توان گفت که کدام یک درست تحلیل می کنند ولی به نظر بنده بک تحلیل گر سیستم در صورتی که قصد حرکت به سمت اتوماسیون را دارد باید با علوم کانپیوتر و مخصوصا ابزارهای برنامه سازی آشنایی کلی داشته باشد به همین دلیل تحلیل بچه های نرم افزار برای این نوع سیستم ها دقیق تر و بهتر می باشد ولی از اهمیت صنایع نمی کاهد ولی از آنجاییکه بچه های صنایه با سامانه های نرم افزاری آشنایی ندارند مسلما نمی توانند در مواردی نظبر امکانات و تنظیمات خاص و حتی تا سطح بانک اطلاعاتی که واقعا جهت پیاده سازی نرم افزار لازم است نظر دهند و یا لااقل نظراتشان دقیق نیست.
با سلام خدمت دوستان و عرض تسلیت به مناسبت ایام سوگواری مولی الموحدین حضرت علی (ع) و قبولی طاعات و عبادات شما عزیزان .
در این پست چند لینک در رابطه با قراردادهای نرم افزاری و پشتیبانی نرم افزار برای استفاده شما عزیزان قرار گرفته شده است .
نمونه قرارداد خدمات و نگهداری سخت افزار و نرم افزار
سلام بر همه دوستان
حلول ماه مبارک رمضان بر شما مبارک باد . التماس دعا
موفق باشید .
3- روش WSDM
این روش از مراحل زیر تشکیل شده است: مدلسازی کاربر، طراحی مفهومی، طراحی پیادهسازی(ارائة طرح پیادهسازی) و مرحلة پیادهسازی.
مدلسازی کاربر از دو زیرمرحله تشکیل شده است: کلاسبندی کاربران و توصیف هر کلاس. طراحی مفهومی نیز دارای دو مرحله است: مدلسازی اشیاء و طراحی ناوبری. شکل 1 دیاگرامی از مراحل مختلف WSDM را نشان میدهد.
شکل 1
3-1- مدلسازی کاربر
کاربران معمولاً وقتی یک سایت وب را ملاقات میکنند، سؤالاتی در ذهنشان راجع به این سایت وجود دارد. سایت وب باید این سؤالات را پیشبینی کرده و به آنها پاسخ مناسب دهد. لذا در اولین قدم ما روی کاربران بالقوه(آتی) سایت متمرکز میشویم.
ادامه مطلب ...سلام دوستان
با تبریک اعیاد شعبانیه یک پروژه کامل تجزیه و تحلیل مطب را که توسط دکتر سعید پارسا صورت گرفته برای استفاده شما عزیزان آپلود کرده ام . امید وارم مورد استفاده شما عزیزان واقع بشه . باز هم اعیاد شعبانیه بخصوص میلاد حضرت ولی عصر (عج) را به همه شما تبریک عرض می کنم .
موفق و پیروز و شاد باشید.
دوستان عزیز لینک جدید در تاریخ 1390/03/08 گذاشته شده .
سلام دوستان
حدود یک سالی است که با این وبلاگ در خدمت شما عزیزان هستم . خدا را سپاسگذارم که در این مدت تونستم تا حدودی بعضی از دوستان را در پروژه هاشون راهنمایی کنم . ولی با این وجود فکر کنم خیلی بهتر از اینها می تونستم فعالیت کنم که متاسفانه درس و مشغله فکری و کاری اجازه نداد . البته سعی کردم به تمام ایمیل ها پاسخ دهم . خوب امیدوارم با نظرات سازنده خود مارا یاری کنید . در پایان از مسئولین بلاگ اسکای تشکر می کنم که این امکانات را فراهم نموده تا ما با سایر دوستان در ارتباط باشیم .
موفق باشید
(web site design method)
یک روش طراحی مبتنی بر کاربر برای طراحی سایتهای وب
1- مقدمه
نوشتهها و مطالب زیادی وجود دارند که به جنبههای گرافیکی و رابط کاربری یک سایت وب پرداختهاند ولی فقط تعداد معدودی مطلب در مورد یک روش سیستماتیک برای طراحی یک سایت وب خوب وجود دارد. سیری در وب نشان میدهد که بسیاری از سایتهای وب به روشهای تککاره(Ad hoc) ایجاد شدهاند و از یک سری مشکلات رنج میبرند. این مشکلات را میتوان به دو دسته تقسیم کرد: نقطهنظر کاربران سایت و نقطهنظر مدیران سایت. مدیر سایت معمولاً با مشکلات نگهداری روبرو است در حالیکه ملاقات کنندگان سایت مشکلاتی دارند که در رابطه با نحوة استفاده از سایت برای سرکشی به همة قسمتهای آن است.
روش WSDM یک روش “مبتنی بر کاربر” به جای “مبتنی بر داده” است. در یک روش مبتنی بر داده، داده مسیر مدلسازی را معین میکند. در روش WSDM نقطة شروع مدلسازی، ملاقات کنندگان آیندة سایت هستند که گاهی به آنها کاربران و گاهی شنوندگان میگوییم. در WSDM، کاربران به چند کلاس کاربری تقسیم میشوند و دادهها از دیدگاه هریک از این کلاسها مدلسازی میگردد. این کار منجر به ایجاد سایتهایی میشود که مناسب برای کاربران باشند و قابلیت استفادة بالایی داشته، کاربران را راضی نگه دارند. بعلاوه در WSDM مابین طراحی مفهومی(که مستقل از جزئیات پیادهسازی است) و طراحی نحوة نمایش عملی یعنی Actual representation (که زبانی را که برای پیادهسازی بکار خواهد رفت، نحوة گروهبندی در صفحات وب مربوطه، استفاده از منوها، link های استاتیک و دینامیک و … را در نظر میگیرد) تمایز قائل شویم. این تمایز همانند تمایزی که بین مدل مفهومی(مانند مدل ER) و مدل منطقی(مانند مدل رابطهای) در پایگاه دادهها داشتیم. این تمایز به ما امکان میدهد که روشی را در طراحی سایت در پیش بگیریم که بواسطة محدودیتهای پیادهسازی موجود، تحت تاثیر قرار نخواهد گرفت. مهمتر اینکه مدل مفهومی میتواند به کاربر نشان داده شود تا دنبال اطلاعاتی که در سایت وجود ندارد نگردد. مدل مفهومی همچنین میتواند توسط موتورهای جستجو برای ایجاد امکان جستجو در سایت توسط این موتورها بکار گرفته شود.
2-طراحی سایتهای وب
دو نوع سایت وب وجود دارند: نوع کیوسکی(kiosk web site) و نوع کاربردی(application web site).
با سلام و پوزش به دلیل غیبت طولانی
فایل PDF زیر مربوط به شرکت پویش گران جوان می باشد . موضوع این مقاله راهنمای مقدماتی برنامه نویسان پایگاه های اطلاعاتی است . امیدوارم مورد استفاده قرار بگیرد .
موفق باشید .