PDA

View Full Version : نحوه رسم sequence diagram چگونه است؟



hassan_kahrizy
شنبه 20 خرداد 1385, 07:36 صبح
بسمه تعالی
با سلام
یکی از دوستان در یکی از تاپیک ها عنوان کر که در مدل شی گرا به جای DFDاز sequence diagram استفاده می کنیم.
حال می خواستم بدونم چه چیزهایی در این نمودار مهم است یعنی چه چیزهایی باید با هم ارتباط داشته باشند؟

ببینید ما یک پروژه مدرسه هوشمند داریم،که مثلا یک دانش آموز ابتدا وارد سیستم می شود(لاگ این می شود) سپس با استفاده از لینک ها می تواند گزینه هایی که در اختیارش قرار دادیم(USE CASE) را انجام دهد چطور باید رسمش کنم (لطفا راهنماایی کنید)
در ضمن نمی توان از نمودار COLLOBORATION استفاده کرد
با تشکر

miimii
یک شنبه 21 خرداد 1385, 15:03 عصر
به طور کلی برای هر Use-Case که اهمیت دارد این دیاگرام ترسیم می شود.آنچه که اهمیت دارد Actor آن Use-Case و کلاسهای مرتبط با آن است. Sequence Diagram تعاملات بین کلاسها را توضیح می دهد.که غالبا در قالب ارسال Messageاین کار انجام می شود.در این دیاگرام حتی خط عمر هر Object مشخص می شود. دوست عزیز یک link برایت می فرستم امیدوارم که بدرد بخوره.اگر تونستی در مورد پروژه بیشتر توضیح بده شاید بتونم کمکی کنم.
http://www.smartdraw.com/tutorials/software-uml/uml4.htm

smhoseyni
دوشنبه 22 خرداد 1385, 07:03 صبح
ضمن تشکر ، فکر می کنم بد نیست دو تا نکته راجع به صحبت های دوستان ذکر کنم :
1- در UML 2 امکانات بیشتری برای Sequence Diagram ها پیش بینی شده، مثلا میتوانید یک حلقه (While یا for) را کاملا روی آن نمایش بدهید یا حتی If -then -else را به راحتی می توان روی آن نمایش داد. البته در حال حاضر Raitonal Rose از UML 2 پشتیبانی نمیکنه ولی Rational XDE تا حدودی و Rational Software Archietct بطور کامل پشتیبانی می کنه.
2- با استفاده از Raitonal rose به راحتی و کاملا خودکار می توانید از روی یک Sequence Diagram یک Collaboration Diagram بدست آورید ( با فشردن کلید F5) البته دیاگرام حاصل نیاز به مرتب کردن خواهد داشت.

gholypur
شنبه 20 مهر 1387, 16:14 عصر
می خواستم درخصوص نرم افزار yasmin برای مدلسازی فرایند و معماری نرم افزار اطلاع کسب کنم. ممنون از راهنمایی شما

Elham_gh
یک شنبه 21 مهر 1387, 08:31 صبح
ضمن تشکر ، فکر می کنم بد نیست دو تا نکته راجع به صحبت های دوستان ذکر کنم :
1- در UML 2 امکانات بیشتری برای Sequence Diagram ها پیش بینی شده، مثلا میتوانید یک حلقه (While یا for) را کاملا روی آن نمایش بدهید یا حتی If -then -else را به راحتی می توان روی آن نمایش داد. البته در حال حاضر Raitonal Rose از UML 2 پشتیبانی نمیکنه ولی Rational XDE تا حدودی و Rational Software Archietct بطور کامل پشتیبانی می کنه.
2- با استفاده از Raitonal rose به راحتی و کاملا خودکار می توانید از روی یک Sequence Diagram یک Collaboration Diagram بدست آورید ( با فشردن کلید F5) البته دیاگرام حاصل نیاز به مرتب کردن خواهد داشت.

بله. درسته.
اما sparx Enterprise Architect از UML 2.1 کامل پشتیبانی می کنه

Elham_gh
یک شنبه 21 مهر 1387, 08:35 صبح
بسمه تعالی
با سلام
یکی از دوستان در یکی از تاپیک ها عنوان کر که در مدل شی گرا به جای DFDاز sequence diagram استفاده می کنیم.
حال می خواستم بدونم چه چیزهایی در این نمودار مهم است یعنی چه چیزهایی باید با هم ارتباط داشته باشند؟

ببینید ما یک پروژه مدرسه هوشمند داریم،که مثلا یک دانش آموز ابتدا وارد سیستم می شود(لاگ این می شود) سپس با استفاده از لینک ها می تواند گزینه هایی که در اختیارش قرار دادیم(USE CASE) را انجام دهد چطور باید رسمش کنم (لطفا راهنماایی کنید)
در ضمن نمی توان از نمودار COLLOBORATION استفاده کرد
با تشکر

علاوه بر صحبت دوستان اضافه کنم , sequence diagram علاوه برای مدل کردن flow ی یک use case (یعنی یک سناریو از یک Use case) ,به صورت standalone ,برای مدلسازی dynamic های یک مجموعه ای از object ها هم استفاده می شود

NazErTan
پنج شنبه 17 بهمن 1387, 14:21 عصر
با سلام
من میخوام یک use case آماده کنم و به برنامه نویس بدم
چیزی که من این وسط میخوام بهش برسم اینه که هدفم اینه که چیزی شبیه شبه کد به برنامه نویس بدم تا بهتر و سریع تر بتونه برنامه رو بنویسه فکر کردم شاید sequence diagram این کار رو بتونه انجام بده
میخواستم بدونم کسی تجربه ای در این زمینه داره یا نه؟
دقت کنین که هدف من خود شبه کد نیست بلکه چیزی شبیه شبه کد تا برنامه نویس class diagram و use case که من تهیه کردم رو بهتر درک کنه و کار برنامه نویسی راحت تر بشه
ممنون میشم از راهنمائیتون

cups_of_java
پنج شنبه 17 بهمن 1387, 19:43 عصر
با سلام
من میخوام یک use case آماده کنم و به برنامه نویس بدم
چیزی که من این وسط میخوام بهش برسم اینه که هدفم اینه که چیزی شبیه شبه کد به برنامه نویس بدم تا بهتر و سریع تر بتونه برنامه رو بنویسه فکر کردم شاید sequence diagram این کار رو بتونه انجام بده
میخواستم بدونم کسی تجربه ای در این زمینه داره یا نه؟
دقت کنین که هدف من خود شبه کد نیست بلکه چیزی شبیه شبه کد تا برنامه نویس class diagram و use case که من تهیه کردم رو بهتر درک کنه و کار برنامه نویسی راحت تر بشه
ممنون میشم از راهنمائیتون

اتفاقا دقیقن همین طوریه! توی اکثر روش های مهندسی نرم افزار، به برنامه نویس Sequence Diagram می دن. هیچ وقت به برنامه نویس نباید Usecase داد. او نمی تونه از usecase استفاده کنه و گیج می شه و خودش باید تصمیم بگیره چطوری اونو پیاده کنه و این خلاف اصول طراحیه.
شما باید به برنامه نویس مجموعه ای از نمودار های کلاس + توالی (گاهی نمودار حالت یا فعالیت) بدین.

Elham_gh
شنبه 19 بهمن 1387, 08:01 صبح
با سلام
من میخوام یک use case آماده کنم و به برنامه نویس بدم
چیزی که من این وسط میخوام بهش برسم اینه که هدفم اینه که چیزی شبیه شبه کد به برنامه نویس بدم تا بهتر و سریع تر بتونه برنامه رو بنویسه فکر کردم شاید sequence diagram این کار رو بتونه انجام بده
میخواستم بدونم کسی تجربه ای در این زمینه داره یا نه؟
دقت کنین که هدف من خود شبه کد نیست بلکه چیزی شبیه شبه کد تا برنامه نویس class diagram و use case که من تهیه کردم رو بهتر درک کنه و کار برنامه نویسی راحت تر بشه
ممنون میشم از راهنمائیتون

با تاييد نظر دوستمون، شما ناچاريد براي ادامه طراحي sequence diagram تون رو با همون سبك و سياقي كه گفتيد در بياريد و گرنه نه تنها برنامه نويس بلكه خود شما براي ادامه طراحي تون با مشكل مواجه مي شيد.
من در اين زمينه تجربياتي دارم، اگر سئوالي داشتيد كمك خواهم كرد

NazErTan
شنبه 19 بهمن 1387, 10:20 صبح
ممنون از هر دو دوست عزیز
خوب من تا به امروز از rational rose استفاده میکردم
چند تا سوال دارم
1: آیا با rational rose میشه sequence diagram رسم کرد طوری که بشه مفاهیمی شبیه if , else ,... رو توی اون نشون داد؟ (توجه کنین که هدف من چیزی شبیه شبه کد هست)
2: من اون نرم افزاری که بالا معرفی شده (sparx Enterprise Architect) رو دانلود کردم، پیشنهاد شما استفاده از کدام نرم افزاره و چرا؟
3:لطف کنین و به من بگین که چطور میتونم مفاهیم برنامه نویسی رو در sequnece diagram بیارم؟ مفاهیمی مثل if , else , ...

4: نمیدونم شاید باید برای این سوالم تاپیک جدیدی باز میکردم؟ اگر اینطوره به من بگین

Elham_gh
شنبه 19 بهمن 1387, 11:25 صبح
ممنون از هر دو دوست عزیز
خوب من تا به امروز از rational rose استفاده میکردم
چند تا سوال دارم
1: آیا با rational rose میشه sequence diagram رسم کرد طوری که بشه مفاهیمی شبیه if , else ,... رو توی اون نشون داد؟ (توجه کنین که هدف من چیزی شبیه شبه کد هست)
2: من اون نرم افزاری که بالا معرفی شده (sparx Enterprise Architect) رو دانلود کردم، پیشنهاد شما استفاده از کدام نرم افزاره و چرا؟
3:لطف کنین و به من بگین که چطور میتونم مفاهیم برنامه نویسی رو در sequnece diagram بیارم؟ مفاهیمی مثل if , else , ...

4: نمیدونم شاید باید برای این سوالم تاپیک جدیدی باز میکردم؟ اگر اینطوره به من بگین


جواب سئوال اولتون : با اينكه خيلي وقته كه ديگه با rational rose كار نمي كنم ، اما 100% اين امكانات وجود داره.
در جواب سئوال دومتون: بايد بگم در اين مورد تاپيكهاي زيادي در موردش وجود داره با يك جستجو مي تونيد اونها رو پيدا كنيد.
مثل اينها:
http://barnamenevis.org/forum/showthread.php?t=121075
يا
http://barnamenevis.org/forum/showthread.php?t=130875

3: اين مفاهيمي كه شما گفتيد مثل if , else همشون notaion داره. شما tools تون رو مشخص كنيد ، اگه EA بود من مي تونم كمك كنم و اگه tools ديگري بود، دوستان جوابتون رو مي دن.

cups_of_java
شنبه 19 بهمن 1387, 18:34 عصر
توصیه اکید می شه که نمودار های توالی خودتون رو شلوغ نکنید. آوردن جزییات کد و توالی توی نمودار توصیه نمی شه چون از قابل درک بودن کلیت توالی اجرا کم می کنه.

RFNBNKR
یک شنبه 20 بهمن 1387, 10:19 صبح
باز هم ممنون از لطفتون
خوب من تا امروز از rational استفاده میکردم اما با گشتی که زدم متوجه شدم که rational بازدهی کمتری نسبت به EA و VP داره مخصوصا با توضیحاتی که آقای SMhoseyni داده بودن http://barnamenevis.org/forum/showthread.php?t=112962&highlight=Rational
اما هنوز نتوستم تفاوت های VP و EA رو بفهمم گرچه فکر میکنم که کاملا گشتم
پروژه ای که ما کار میکنیم با تکنولوژی J2EE هست با این حال شما مزیت خاصی بین این دو برای من میبینین؟ (راستشو بخواین به خاطر سبکی و این که اکثرا از EA تعریف میکن بیشتر به این نرم افزار تمایل پیدا کردم و هم VP و هم EA رو دانلود کردم)

به هر حال من حتما به کمک شما احتیاج دارم

RFNBNKR
یک شنبه 20 بهمن 1387, 12:20 عصر
راستی شما تا حالا لینک زیر رو دیدین؟ به نظرتون مطالبش به درد بخور هست؟
http://www.enterprise-architecture.info/

Elham_gh
یک شنبه 20 بهمن 1387, 13:28 عصر
راستی شما تا حالا لینک زیر رو دیدین؟ به نظرتون مطالبش به درد بخور هست؟
http://www.enterprise-architecture.info/


دوست عزيز، اميدوارم اين enterprise-architecture رو با اون EA اشتباه نگرفته باشين. اين دو هيچ ربطي به هم ندارند. اين سايت در مورد معماري سازماني است. سايت EA:
http://www.sparxsystems.com.au/

RFNBNKR
یک شنبه 20 بهمن 1387, 14:30 عصر
نه اشتباه نگرفته بودم
Elham_gh شما تا حالا با VP کار کردین؟ محیطش بسیار کاراست
امکانات گرافیکی زیادی داره و حتی کمی هوش مصنوعی هم داره
مثلا اگر شما 2 تا کلاس ایجاد کنید با رابطه n به n ، خودش کلاس واسط رو براتون میسازه
البته این با کمی کار کردن بدست اومده مسلما امکانات بیشتری داره
یا وقتی شما فرضا actor اضافه میکنین تمام کنترل هایی که روی این actor اعمال میشه رو در کنار اون میاره و کاربری راحتی ایجاد میکنه
نمیدونم اما من نتونستم این امکانات رو در EA ببینم، چنین امکاناتی در اون وجود داره؟
EA با MSoffice خوب match هست؟
من این سوال ها رو این جا میپرسم چون در هیچ تاپیکی نتونستم جوابشو پیدا کنم:گیج:

Elham_gh
یک شنبه 20 بهمن 1387, 15:53 عصر
نه اشتباه نگرفته بودم
Elham_gh شما تا حالا با VP کار کردین؟ محیطش بسیار کاراست
امکانات گرافیکی زیادی داره و حتی کمی هوش مصنوعی هم داره
مثلا اگر شما 2 تا کلاس ایجاد کنید با رابطه n به n ، خودش کلاس واسط رو براتون میسازه
البته این با کمی کار کردن بدست اومده مسلما امکانات بیشتری داره
یا وقتی شما فرضا actor اضافه میکنین تمام کنترل هایی که روی این actor اعمال میشه رو در کنار اون میاره و کاربری راحتی ایجاد میکنه
نمیدونم اما من نتونستم این امکانات رو در EA ببینم، چنین امکاناتی در اون وجود داره؟
EA با MSoffice خوب match هست؟
من این سوال ها رو این جا میپرسم چون در هیچ تاپیکی نتونستم جوابشو پیدا کنم:گیج:

متاسفانه خير. تا حالا با VP كار نكردم و از اونجا كه درگير يك پروژه زمانگيرم فكر نكنم فرصت بشه تا مدتي هم برم سراغش. اما خيلي لطف مي كنيد كه كماكان نكات مثبتش رو اينجا به اطلاع ما هم برسونيد.
در مورد اين امكاناتي كه گفتيد :
"مثلا اگر شما 2 تا کلاس ایجاد کنید با رابطه n به n ، خودش کلاس واسط رو براتون میسازه
البته این با کمی کار کردن بدست اومده مسلما امکانات بیشتری داره" با اينكه امكان جالبيه ، اما زياد كارآمد نيست. شايد به اين دليل اينو مي گم كه با EA كار ميكنم و كلاس واسط رو خودم مي سازم. اما سئوال به هر حال مگه نبايد خودتون بريد و نامي براي كلاستون انتخاب كنيد؟
"وقتی شما فرضا actor اضافه میکنین تمام کنترل هایی که روی این actor اعمال میشه رو در کنار اون میاره و کاربری راحتی ایجاد میکنه" راستش من اينو درست متوجه نشدم.

با اينكه خيلي EA رو دوست دارم ( به خصوص اينكه تيمي داره كه پاسخگوي سئوالات شماست) اما شنيدم(فقط شنيدم! صحتشو نمي دونم) كه VP از EA قوي تر هستش.
حالا كه شما داريد با VP دست و پنجه نرم مي كنيد ، اگه امكانات و ويژگي هاشو بگيد من هم مقايسه اون رو در EA بهتون مي گم. فكر مي كنم بحث خوبي بشه ، اما نه در اين تاپيك چون موضوعات سنخيت نداره. در اون صورت لطف كنيد يك تاپيك جديد ايجاد كنيد.

ممنون

RFNBNKR
دوشنبه 21 بهمن 1387, 09:54 صبح
البته من هنوز به این نتیجه نرسیدم که از VP استفاده کنم و فقط سعی کردم خیلی سطحی به مسئله نگاه کنم و امکانات اولیه رو ببینم
اما حتما یه تاپیک باز میکنم تا دوستان دیگه هم اگر تجربیاتی دارن اونجا مطرح کنن
من هنوز به این احتیاج دارم که بتونم تصمیم درستی برای انتخاب یکی از این دو نرم افزار بگیرم و فکر میکنم داره این پروسه انتخاب زیادی طولانی میشه

RFNBNKR
دوشنبه 21 بهمن 1387, 09:57 صبح
در مورد کلاس واسطی که ایجاد میکنه مثلا اگر نام کلاس های شما course و student باشه خودش کلاس واسطی به اسم student_course ایجاد میکنه همراه با رابطه هاشون

در اون موردی که متوجه نشدین هم نمیدونم چطور توضیح بدم اما فکر میکنم اگر فیلم هایی که در خود سایت VP هست ببینین متوجه میشین

RFNBNKR
دوشنبه 21 بهمن 1387, 11:41 صبح
یک تاپیک ایجاد کردم برای مقایه نرم افزارها
http://barnamenevis.org/forum/showthread.php?p=677036#post677036

mohamad100000
یک شنبه 25 فروردین 1392, 14:17 عصر
من با vp كار مي كنم ، و برام قياس نيست كه بخوام امكانات و محيط كاربري اونو با Rose مقايسه كنم.چونكه vp واقعا يك شاهكاره
اما چيزي كه در اين نرم افزار ها بايد دقت بشه
1- مسله generator Code هستش ... اينكه تمايل داريد كدتون رو بر اساس چه زباني ژنراتور كنيد و اينكه اون نرم افزار قابليت ژنراتور كردن اون كد رو با آن زبان داشته باشه يا نه؟
2-دومين مسله قابيلت مستند سازي خودكار نرم افزار هستش ، مطمئنن يك برنامه نويس فرصت زيادي براي ارائه مستندات رو نداره ، و بايد بگم كه VP در مستند سازي رتبه اولو داره