در ابتدا به بررسی فواید برنامهنویسی تحت شبکه و فواید جاوا و اندروید میپردازم. سپس وارد فرایند طراحی سیستم اشتراک فایل با رویکرد RUP و با استفاده از UML خواهم شد. توضیحات مربوط به هر یک از دیسیپلینهای RUP و نمودارهای UML در بخش مربوط به خودش داده خواهد شد. زبان انتخابی من برای نوشتن این برنامه جاوا است، دلیل این انتخاب را در ادامه خواهم گفت. بعد از طراحی نوبت به پیادهسازی و نوشتن کد میرسد. در آخر، خروجی این پروژه، نمودارهای UML و در برنامه کاربردی، یکی برای ویندوز و دیگری برای اندروید، خواهد بود.
فهرست مطالب
فصل اول: بررسی منابع علمی.. 1
1-1) بررسی فواید برنامهنویسی تحت شبکه با جاوا2
1-1-1) دریافت داده2
1-1-2) ارسال داده3
1-1-3) انبار فایل.. 3
1-1-4) پردازش موازی حجیم.. 3
1-1-5) تعامل نظیر به نظیر. 3
1-1-6) بازی.. 4
1-1-7) چت... 4
1-1-8) اشتراک فایل.. 4
1-1-9) سرورها6
1-1-10) جستجو در وب... 6
1-1-11) امنیت... 6
1-2) تاریخچه جاوا7
1-3) درباره اندروید. 7
1-4) کمی درباره ی RUP و UML8
فصل دوم: روش انجام پروژه9
مقدمه. 10
2-1) دیسیپلین مدلسازی سازمان.. 10
2-1-1) درک ساختار و پویایی سازمان.. 10
2-1-2) درک مسائل و مشکلات جاری سازمان.. 11
2-1-3) استخراج و استنتاج نیازمندیهای سازمان.. 11
2-1-4) تعیین چشمانداز سازمان.. 11
2-2) دیسیپلین مدیریت نیازمندیها12
2-2-1) شناسایی اکتور ها و موارد کاربرد. 12
2-2-2) شرح مورد کاربرد. 12
2-2-3) استخراج مدل مورد کاربرد. 20
2-2-4) ایجاد نمونهای از واسط کاربر. 21
2-3) دیسیپلین تحلیل و طراحی.. 25
2-3-1) نمودار فعالیت... 25
2-3-2) نمودارهای فعالیت سمت سرور27
2-3-3) چند نمودار فعالیت دیگر. 28
2-3-4) نمودار کلاس.... 29
2-3-5) نمودار شیء31
2-3-6) نمودار توالی.. 32
2-3-6-1) طراحی نمودار توالی دریافت فایل.. 34
2-3-6-2) طراحی نمودار توالی ارسال فایل.. 36
2-3-7) نمودار بسته. 37
2-4) دیسیپلین پیادهسازی.. 38
2-4-1) تعریف ساختار کدهای برنامه. 38
2-4-2) نمودار مؤلفه. 48
2-5) دیسیپلین استقرار49
2-5-1) نمودار استقرار50
نتیجه گیری:51
منابع.. 52
فهرست اشکال
شکل (1-1): نرمافزار چت Cisco Jabber]3[4
شکل (1-2): نرمافزار Azureus Vuze]3[5
شکل (2-1): نمودار مورد کاربرد سیستم اشتراک فایل ]5[20
شکل (2-2): صفحه نخست نرمافزار کاربر (متناظر با مورد کاربرد احراز هویت) ]9[21
شکل (2-3): صفحه انتخاب دریافت یا ارسال فایل ]9[21
شکل (2-4): صفحه انتخاب فایل برای دریافت (متناظر با مورد کاربرد دریافت فایل) ]9[22
شکل (2-5): صفحه انتخاب فایل برای ارسال (متناظر با مورد کاربرد ارسال فایل) ]9[22
شکل (2-6): نرمافزار طرف مدیر سیستم - صفحه متناظر با مورد کاربرد نمایش لیست کاربران ]9[23
شکل (2-7): پنجره ثبت کاربر جدید (متناظر با مورد کاربرد ثبت کاربر) ]9[23
شکل (2-8): صفحه لیست پوشههای اشتراکی (متناظر با مورد کاربرد نمایش پوشههای اشتراکی) ]9[24
شکل (2-9): پنجره انتخاب پوشه جدید برای اشتراک (متناظر با مورد کاربرد اضافه کردن پوشه) ]9[24
شکل (2-10): نمودار فعالیت متناظر با مورد کاربرد احراز هویت ]5[25
شکل (2-11): نمودار فعالیت متناظر با مورد کاربرد دریافت فایل ]5[26
شکل (2-12): نمودار فعالیت متناظر با مورد کاربرد ارسال فایل ]5[26
شکل (2-13): نمودار فعالیت شروع (طرف سرور) ]5[27
شکل (2-14): نمودار فعالیت متناظر با چند مورد کاربرد مربوط به اشتراک پوشه ]5[28
شکل (2-15): نمودار فعالیت متناظر با مورد کاربرد نمایش لیست کاربران ]5[28
شکل (2-16): نمودار فعالیت متناظر با مورد کاربرد ثبت کاربر ]5[29
شکل (2-17): نمودار کلاس سیستم اشتراک فایل ]7[29
شکل 2-18: نمودار شیء 1. در این نمودار شیء task1 قصد ارسال پیغام به مقصد 192.168.1.10 را دارد]8[31
شکل (2-19): نمودار شیء 2. شیء Listener1 پیام را دریافت کرده و در جواب آن شیء msg2 را ایجاد میکند ]11[31
شکل (2-20): سناریوی احراز هویت ]12[32
شکل (2-21): نمودار توالی احراز هویت. متناظر با سناریوی شکل قبل ]4[33
شکل (2-22): سناریوی دریافت فایل ]5[34
شکل (2-23): نمودار توالی نمایش فایلهای به اشتراک گذاشتهشده ]5[34
شکل (2-24): نمودار توالی دریافت فایلهای به اشتراک گذاشتهشده ]5[35
شکل (2-25): سناریوی ارسال فایل ]5[36
شکل (2-26): نمودار توالی ارسال فایل ]5[36
شکل (2-27): نمودار بسته کاربر ]6[37
شکل (2-28): نمودار بسته مدیر سیستم ]6[38
شکل (2-29): نمودار مؤلفه سمت کاربر ]3[49
شکل (2-30): نمودار مؤلفه سمت سرور ]3[49
شکل (2-31): نمودار استقرار سیستم ]4[50
فهرست جداول
جدول (2- 1): شرح مورد کاربرد «احراز هویت». 13
جدول (2-2): شرح مورد کاربرد «دریافت فایل». 13
جدول (2-3): شرح مورد کاربرد «ارسال فایل». 14
جدول (2-4): شرح مورد کاربرد «نمایش لیست کاربران». 15
جدول (2- 5): شرح مورد کاربرد «ویرایش کاربر». 15
جدول (2-6): شرح مورد کاربرد «ثبت کاربر جدید». 16
جدول (2-7): شرح مورد کاربرد «حذف کاربر». 17
جدول (2-8): شرح مورد کاربرد «نمایش پوشههای اشتراکی». 18
جدول (2-9): شرح مورد کاربرد «اضافه کردن پوشه». 18
جدول (2-10): شرح مورد کاربرد «حذف پوشه». 19