بررسی و شناخت سیستم های فایل اشتراکی تحت اندروید و ویندوز همراه با کدهای جاوا

بررسی و شناخت سیستم های فایل اشتراکی تحت و ویندوز همراه با کدهای

قیمت :   ۱۲۵۰۰ تومان ( دوازده هزار و پانصد تومان)

تعداد صفحات:

۱۲۷  ( صد و بیست و هفت)

دسته :

کامپیوتر و IT

نوع فایل:

Word

توضیحات:

قابل استفاده جهت پروژه پایانی و شیوه ارایه مطالب

فهرست مطالب :


ﻓﻬﺮﺳﺖ ﺷﮑﻠﻬﺎ

ﻓﻬﺮﺳﺖ ﺟﺪاول

ﭼﮑﯿﺪه

ﭘﯿﺶ ﮔﻔﺘﺎر

۱٫ ﻓﺼﻞ اول : ﺑﺮرﺳﯽ ﻣﻨﺎﺑﻊ ﻋﻠﻤﯽ

۱-۱ ﺑﺮرﺳﯽ

۱-۲ ﺗﺎرﯾﺨﭽﻪ ی ﺟﺎوا

۱-۳ درﺑﺎره ی اﻧﺪروﯾﺪ

۱-۴ ﮐﻤﯽ در ﺑﺎره ی RUP و

۲٫ﻓﺼﻞ دوم: روش اﻧﺠﺎم ﭘﺮوژه

۲-۱٫ دﯾﺴﯿﭙﻠﯿﻦ ﻣﺪﻟﺴﺎزی ﺳﺎزﻣﺎن

۲-۲٫ دﯾﺴﯿﭙﻠﯿﻦ ﻣﺪﯾﺮﯾﺖ ﻧﯿﺎزﻣﻨﺪی ﻫﺎ

۲-۳

۲-۴ دﯾﺴﯿﭙﻠﯿﻦ ﭘﯿﺎده ﺳﺎزی

۲-۵

ﻧﺘﯿﺠﻪ ﮔﯿﺮی

ﻣﻨﺎﺑﻊ و ماخذ

ﭘﯿﻮﺳﺖ : ﺳﻮرس ﮐﺪهای جاوا نمونه پروژه

چکیده :

در ابتدا به بررسی فواید تحت شبکه و فواید جاوا و اندروید می پردازم. سپس وارد فرایند خواهم شد. توضیحات مربوط به هر یک UML و با استفاده از RUP طراحی  با رویکرد در بخش مربوط به خودش داده خواهد شد. زبان انتخابی من UML و نمودارهای RUP از دیسیپلین های برای نوشتن این برنامه جاوا است، دلیل این انتخاب را در ادامه خواهم گفت. بعد از طراحی نوبت به پیاده و دو UML سازی و نوشتن کد می رسد (بخش مورد علاقه ی من !). در آخر، خروجی این پروژه، نمودار های برنامه ی کاربردی، یکی برای ویندوز و یکی برای اندروید، خواهد بود.

کلمات کلیدی : برنامه نویسی، جاوا، اندروید،UML،سیستم اشتراک فایل،دیسیپلین های جاوا

 

۱-۱ بررسی فواید برنامه نویسی تحت شبکه با جاوا:
عموما چند شکل از برنامه های تحت شبکه وجود دارد. رایج ترین آنها، سرویس دهنده ها و مشتری ها هستند . در ساده ترین حالت، برنامه ی مشتری، اطلاعات را از یک سرویس دهنده دریافت می کند و آن رانمایش می دهد. برنامه های پیچیده تر، داده را فیلتر و شناسایی می کنند، مرتبا داده های متغیر را دریافت می کنند، اطلاعات را به کامپیوتر ها و افراد دیگر ارسال می کنند، به طور بلادرنگ با چت یا بازی های چندنفره در تعامل اند. سرویس دهنده ها هم به درخواست ها پاسخ می دهند. سرویس دهنده های ساده فایلی راجستو کرده و آن را در اختیار مشتری قرار می دهند، اما سرویس دهنده های پیچیده تر اغلب قبل از پاسخ به درخواست مشتری ، پردازش های زیادی بر روی داده انجام می دهند. برنامه های نظیر به نظیر مثل Gnutella کامپیوتر های زیادی را به هم متصل می کنند، که هر کدام هم مانند سرویس دهنده و هم مثل مشتری عمل می کنند.در ادامه، نگاهی دقیق تر به قابلیت هایی که شبکه به برنامه ها می افزاید، می اندازیم.

دریافت داده :
در ساده ترین حالت، یک مشتری داده را از سرور دریافت می کند. می تواند آن را برای نمایش به کاربر به فرمتی خاص تبدیل کند، آن را در پایگاه داده ی محلی ذخیره کند، با داده های دیگر ترکیب کند، آن را تحلیل کند، یا همه ی این موارد. مشتری ها در جاوا می توانند با پروتکل های استاندارد مثل
HTTP ،FTP یا SMTP صحبت کنند تا با سرورهای نوشته شده در زبان های مختلف ارتباط برقرار کنند.

ارسال داده :
مرورگرهای وب برای دریافت داده به صورت بهینه عمل میکنند. یعنی فقط مقدار کمی داده را ، اغلب به صورت یک فرم، به سرور ارسال می کنند . برنامه های نوشته شده در جاوا چنین محدودیتی ندارند. وقتی یک ارتباط برقرار شود، برنامه می تواند به همان راحتی که داده را دریافت می کند، ارسال داده را از طریق همان ارتباط انجام دهد، و این فرصت های جدیدی را ایجاد می کند.

انبار فایل :
Applet ها معمولا نیاز به ذخیره ی اطلاعات در هر بار اجرای خود دارند(مثل ذخیره ی امتیاز بدست آمده در یک بازی ) Appletهای غیر مطمئن اجازه ی ذخیره ی اطلاعات در هارد دیسک را ندارند، اما میتوانند این اطلاعات را در سرور ذخیره کنند. به این صورت که Applet فقط یک اتصال به سرور را از طریق
،FTP ، HTTP POST ، SOAP یا Servlet .بپذیرد .

پردازش موازی حجیم:
برای حل یک مسئله توسط یک کامپیوتر در زمانی قابل قبول، همیشه مشکلاتی وجود داشته است.
گاهی اوقات تصمیم به خریدن کامپیوتری سریع تر(و البته پر هزینه تر( گرفته میشود، اما باید توجه داشت
که هر چه به سمت تکنولوژی بالاتر می رویم، سرعت افزایش هزینه از سرعت کامپیوتر ها بیشتر میشود. به طوری که برنامه نویس ها ترجیح می دهند از قدرت چندین کامپیوتر ارزانتر استفاده کنند تا یک ابر کامپیوتر!
وقتی صحبت از پردازش های شبکه ای میشود، جاوا بهترین گزینه برای گروه های کلان از کامپیوتر
های کوچک است. از آنجا که جاوا وابسته به پلتفرم نیست، نرم افزار های آن میتوانند در تمام ماشین ها اجرا شوند، نه فقط در تمام ویندوز ها، تمام لینوکس ها یا تمام مکینتاش ها.

تعامل نظیر به نظیر :
تمام موارد بالا، مثال هایی از معماری سرویس دهنده / مشتری هستند. اما در جاوا، مشتری ها در
سرتاسر اینترنت میتوانند با یکدیگر نیز ارتباط برقرار کنند که این خود، فرصت های بسیاری را برای گروه های نرم افزارها ایجاد میکند. اگرچه به دلایل امنیتی، این ارتباط به واسطه ی یک نرم افزار پروکسی در
سروری که برنامه ی مشتری از آن دانلود شده، انجام میگیرد.
مشتری ها در جاوا به چند دسته تقسیم میشوند:

بازی :
قابلیت شبکه را با گرافیک قدرتمند جاوا در برنامه هایتان توأم کنید، این دستورالعمل ساخت بسیاری از بازی های جذاب چند نفره است.

چت :
IRC پروتکل اصلی چت در اینترنت، و دلیل بسیاری از شب بیداری ها در دهه ی۷۰ است ! برنامه هایی نظیرYahoo! Messenger ، AOL Instant Message و Cisco Jabber همگی در جاوا نوشته شده اند .
اشتراک فایل :
اشتراک فایل یکی از سه نرم افزار پرکاربرد و اولیه ی شبکه است )دو نرم افزار دیگر همان ایمیل و ورود از راه دور می باشند(. در گذشته، انتقال فایل نیازمند یک سرور ثابت بود. پروتکل های اولیه ی اینترنت مثل FTP، با فرض اینکه سایت ها ۲۴ ساعت در روز و در ۷ روز هفته و در آدرس ثابت در دسترس می باشند، طراحی گردیدند. اما این فرض زمانی امکان پذیر بود که اینترنت اغلب از یونیکس باکس های ۱۵ چند کاربره و سرورهای بزرگ دیگر تشکیل شده بود، تا اینکه کاربران شروع به استفاده از کامپیوتر های شخصی رومیزی برای اتصال به شبکه کردند. این سیستم ها عموماً زمانی در دسترس بودند که یک کاربر در مقابل آنها نشسته باشد. به علاوه، اغلب آنها از اتصال های کند Dial-up استفاده میکردند که همیشه به شبکه متصل نبود، و آدرس های IP داشتند که با هر بار اتصال مجدد آنها به شبکه و یا راه اندازی مجدد کامپیوتر، تغییر می کرد. گاهی نیز پشت دیوار های آتش یا پروکسی هایی پنهان بودند که اجازه ی اتصال به دنیای خارج را به آنها نمی داد.

وقتی کاربران بخواهند از هر کجا به شبکه متصل شوند و به هر کجا فایل ارسال کنند، ارتباط بین آنها آسان نخواهد بود. اینترنت ماهیاتاً به دو کلاس از کاربران تقسیم می شد: سایت های سرور با پهنای باند بالا، ثابت و همیشه متصل، و مشتری ها با پهنای باند پایین و اتصال های گاه و بی گاه به اینترنت. مشتری ها فقط از طریق یک سرور واسط می توانند با یکدیگر ارتباط داشته باشند. در سال های اخیر، این کلاس بندی شروع به از هم پاشیدن کرد. اتصال های پهنا باند-بالا توسط خطوط DSL رواج یافت. امروزه یک مرکز خرید کوچک، پهنای باندی دارد که شاید ۲۰ سال پیش، دانشگاهی بزرگ به آن حسادت می ورزید. مهم تر از آن، ابتدا Napster و بعد BitTorrent و Freenet ،Kazaa ،Gnutella پروتکل های انتقال فایل را به گونه ای توسعه دادند که نیاز به اتصال ثابت به اینترنت ندارند. این پروتکل ها به مشتری های با آدرس متغییر و اتصال های نامنظم و حتی پنهان پشت دیوار های آتش، اجازه ی انتقال بی واسطه ی فایل به یکدیگر را میدهند. به این صورت که دانلود کننده ها هم زمان با دریافت یک فایل، آن را به اشتراک میگذارند یعنی فقط چند کاربر اول آن را از وب سایت اصلی دانلود می کنند. خیلی از این نرم افزار ها در جاوا نوشته شده اند. برای مثال ،LimeWire Gnutella یک نرم افزار جاوای محض است که از کلاس های استاندارد شبکه در جاوا استفاده می کند. همچنین ،Azureus Vuze یکی از بهترین نرم افزار های ،BitTorrent کاملاً در جاوا نوشته شده.
اشتراک رایگان اطلاعات بین افراد بدون سرور های واسط قابل کنترل، گروه هایی را که تمایل به کنترل اطلاعات دارند، چه به دلایل منفعتی و چه سیاسی، مثل ناشران و اهالی هنر و دولت های مختلف، به ترس واداشت. خیلی از آنها با روش های قانونی یا با استفاده از تکنولوژی، سعی به مسدود کردن شبکه های نظیر به نظیر کردند. در مقابل، افراد خبره با رمز نگاری اطلاعات، طراحی پروتکل های ضد سانسور یا روش های دیگر، پاسخگوی آنها شدند. یکی از جدی ترین این پروژه ها فری نت ابتکار “یان کلارک “بود. در این پروتکل فایل های کدگذاری شده به چندین فایل تقسیم و به کامپیوتر های مختلفی فرستاده می شدند که حتی نمی دانستند در حال به اشتراک گذاشتن کدام فایل هستند. به علاوه، انتقال فایل از طریق چندین میزبان واسط انجام می پذیرد. این اقدامات احتیاطی، کار پلیس سایبری را برای یافتن این که چه کسی چه فایلی را به اشتراک می گذارد، بسیار مشکل می کند. بار دیگر، پیاده سازی فری نت و بیشتر تحقیق و توسعه ی آن در جاوا، به عنوان زبان انتخابی، انجام شده است.

سرورها:
برنامه های جاوا میتوانند در انتظار برقراری اتصال از سوی کاربران بمانند و به آنها پاسخ دهند، پس
پیاده سازی سرور ها در جاوا امکان پذیر است. علاوه بر سرور های کلاسیک، جاوا روش های سطح بالاتری نیز برای ارتباط بین سرویس دهنده و سرویس گیرنده فراهم میکند. برای مثال، با استفاده از RMI میتوان متودهای اشیائی که در سرور هستند را فرا خواند، یا با Servlet میتوان قابلیت های یک سرور را افزایش داد (افزودن محتوی پویا) و …

جستجودروب:
برنامه های جاوا میتوانند در جستجوی اطلاعات، وبگردی کنند. این برنامه ها که بر روی سیستم مشتری اجرا میشوند، عنکبوت نام دارند. کار عنکبوت به این صورت است که یک صفحه وب را از یک URL مشخص دانلود میکند، در آن صفحه به شکار اطلاعات میپردازد، سپس URL های موجود در آن صفحه را استخراج میکند و صفحه های مرتبط با آن URL ها را نیز دانلود میکند و این فرآیند همینطور ادامه پیدا میکند. این روش، کم و بیش همان روشی است که در سرویس دهنده هایی مانند گوگل استفاده میشود.

امنیت:
برنامه هایی مانند Applet ها، که کد های فرستاده شده از راه دور را اجرا میکنند، به سطح بالایی از امنیت احتیاج دارند. نگرانی های زیادی راجع به این که کد های فرستاده شده از راه دور، چه میتوانند انجام دهند وجود دارد. برای رفع این نگرانی ها بد نیست بدانید، این کدها:

• نمیتوانند به یک آدرس دلخواه در حافظه دسترسی پیدا کنند.
• نمیتوانند بدون اجازه به فایل های محلی در سیستم دسترسی پیدا کنند.
• نمیتوانند اسناد را چاپ کنند.
• نمیتوانند در clipboard چیزی را ذخیره کنند یا از آن چیزی را بخوانند.
• نمیتوانند برنامه های دیگر را اجرا کنند. به عبارت دیگر نمیتوانند متودهای () System.exec
یا ()Runtime.exec را فرا بخوانند.

۱-۲ تاریخچه ی جاوا:
جیمز گٌسلینگ، مایک شریدان و پاتریک ناتون، صاحبان شرکت Sun Microsystems ، در سال ۱۹۹۱ پروژه ی زبان جاوا را آغاز کردند (توجه کنید که این زبان با زبان جاوا اسکریپت کاملا متفاوت است).

در اصل، جاوا برای شبکه های تلویزیونی تعاملی طراحی شده بود، اما در آن زمان، تکنولوژی جاوا پیشرفته تر از آن بود که بخواهد منحصر به صنعت تلویزیون بماند. در ابتدا این زبان را به خاطر درخت بلوطی که روبروی دفتر کار گٌسلینک قرار داشت، “بلوط” نامیدند، سپس نام جاوا را برای آن انتخاب کردند (به خاطر قهوه هایی به همین نام، که توسط سازندگان جاوا بسیار مصرف میشد).
سینتکس جاوا شباهت بسیاری به زبان C++ و C دارد، دلیل آن هم، ساده شدن یادگیری جاوا برای
توسعه دهندگان (برنامه نویسان) این دو زبان پرکاربرد است. شرکت سان، اولین نسخه ی جاوا را درسال ۱۹۹۵ ، با شعار “یک بار بنویس، همه جا اجرا کن” منتشر کرد. مرورگرهای بزرگ وب به زودی قابلیت اجرای applet های جاوا را در خود اضافه کردند و جاوا به سرعت عمومی شد. در سال ۱۹۹۸ جاوا ۲ (J2SE 1.2 ) روانه بازار شد بعد از آن نسخه های مختلفی برای پلتفرم های مختلف عرضه شد. (J2EE 1.2 )برای طراحی نرم افزار شرکت های بزرگ (مثل وب سرور ها) در سال ۱۹۹۹ ، و J2ME برای ساخت برنامه های کاربردی موبایل در سال ۲۰۰۶ ، عرضه شدند. این سه نسخه بعدها به Java ME و Java EE ، Java SE تغییر نام دادند. از سال ۱۹۹۷ تا ۲۰۱۱ ، نسخه های ۱,۱ تا ۱٫۷
Java SE عرضه شدند، و قرار بر این است که امسال (سال ۲۰۱۳ ) نسخه ی ۱,۸ آن نیز عرضه شود (البته این نسخه به صورت آزمایشی در اختیار توسعه دهندگان قرار داده شده، و این پروژه نیز با همین نسخه پیاده سازی شده است). در سال ۲۰۰۷ ، شرکت سان، سورس کد جاوا را به صورت منبع آزاد در اختیار همه قرار داد. جاوا هر ساله ۹۳۰ میلیون بار توسط کاربران دانلود میشود و در حال حاضر بر روی ۳ میلیارد دستگاه (کامپیوتر های رومیزی، لپ تاپ ها، گوشی ها، مراکز بزرگ داده، کنسول های بازی و ابر کامپیوتر ها) در حال اجراست. در سال ۲۰۱۰ ، شرکت سان توسط شرکت “اوراکل”خریداری شد و کمی بعد، جیمز گٌسلینگ از اوراکل استفاء داد.

۱-۳ درباره ی اندروید :
اندروید، سیستم عاملی است مبنی بر لینوکس و طراحی شده برای گوشی های هوشمند مجهز به صفحه لمسی و تبلت ها. پروژه ی اندروید در سال ۲۰۰۳ ، توسط شرکتی به همین نام، با حمایت مالی شرکت گوگل کلید زده شد و دو سال بعد، گوگل این شرکت را خریداری کرد. در سال ۲۰۰۷ اولین نسخه ی آن با نام Cupcake عرضه شد و سال بعد اولین گوشی مجهز به اندروید روانه بازار گردید. تا امروز، ۸ نسخه ی مختلف از اندروید منتشر شده که آخرین نسخه ی آن Jelly Bean با شماره نسخه ی ۴,۳ ، در جولای ۲۰۱۳ پرده برداری شد.
اندروید سیستم عاملی با مبنع آزاد است، همین باعث میشود که تولید کنندگان بتوانند آن را متناسب
با محصولات خود تغییر دهند، تا آنجا که علاوه بر تلفن های همراه، تلویزیون های هوشمند، دوربین های دیجیتال، ساعت های هوشمند، و حتی نوعی از عینک ها نیز مجهز به اندروید هستند. زبان برنامه نویسی در اندروید نیز جاوا است، و همین به محبوب شدن این سیستم عامل برای توسعه دهندگان برنامه های کاربردی می افزاید. طبق تحقیقی که در مِی ۲۰۱۳ درباره ی توسعه دهندگان انجام شد، اندروید در حال حاضر پرطرفدارترین پلتفرم برای توسعه دهندگان است و ۷۱ درصد توسعه دهندگان برنامه های موبایل، از آن استفاده میکنند. اکنون، تعداد دستگاههای مجهز به اندروید، به ۹۰۰ میلیون میرسد، که برنامه های کاربردی موجود در فروشگاه اینترنتی ! Google Play را ۴۸ میلیارد دفعه دانلود کرده اند.

کمی درباره RUP و UML :
RUP رویکردی نوین برای تولید نرم افزار، و گنجینه ای از راهکار های موفق پروژه های نرم افزاری است. در واقع RUP مشخص می کند که در یک فرآیند تولید نرم افزار، چه کسی، چه کاری را، کی و چگونه باید انجام دهد.عناصر کلیدی RUP ، یعنی فعالیت ها، نقش ها و دستاورد ها در قالب تعدادی دیسیپلین دسته بندی شده اند. از جمله ی این دیسیپلین ها می توان دیسیپلین مدلسازی کسب و کار (سازمان)، دیسیپلین نیازمندی ها، دیسیپلین تحلیل و طراحی، دیسیپلین پیاده سازی، دیسیپلین تست، دیسیپلین استقرار، دیسیپلین مدیریت تغییر و پیکر بندی، دیسیپلین مدیریت پروژه، و دیسیپلین محیط را نام برد. در فصل دوم بیشتر با دیسیپلین ها آشنا خواهید شد.
RUP تاکید زیادی بر مدلسازی دارد و زبان مدلسازی پیشنهادی آن UML است. پیش از این، روش ها و تکنیک های مختلفی برای مدلسازی بصری مورد استفاده قرار می گرفت. از جمله آنها میتوان ،ERD ،DFD ،STD فلوچارت و پتری نت را نام برد . UML زبانی است که توسط مهندسین نرم افزار، به منظور یکپارچه سازی تکنیک های مدلسازی ارائه گردیده. امروزه UML دارای ۱۲ نوع نمودار مختلف است (از جمله نمودار مورد کاربرد، فعالیت، شیء، کلاس و …) و همانطور که در فصل دوم خواهید دید، هر دیسیپلین RUP از یک بهره می برد.

فایل کامل این تحقیق ۱۲۷ صفحه بصورت ورد WORD می باشد.
در تمامی ساعات شبانه روز >> پرداخت آنلاین و دانلود آنلاین پروژه

توجه مهم :

*دوست عزیز در صورت نداشتن رمز پویا یا قطع بودن درگاه بانکی ، لطفا نام پروژه درخواستی خود را جهت هماهنگی برای دریافت شماره کارت واریزی و دریافت لینک دانلود، به واتساپ پشتیبانی سایت  ۰۹۳۹۲۷۶۱۶۳۰  ارسال کنید *(از ساعت ۸ الی ۲۳)

Related posts

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *