30

Report Project

Embed Size (px)

Citation preview

Page 1: Report Project

1

Page 2: Report Project

2

Page 3: Report Project

3

گلستان همراه

برنامه اندرویدی تعامل استاد و دانشجو

پروژه دوره کارشناسی کامپیوتر،گرایش نرم افزار

توسط :

الهه علی پور،شیما سیار، سمیه محمدی بیژائم

:استاد راهنما

مهندس محمد صادق نوابی

4931تیرماه

Page 4: Report Project

- 1 -

فهرست مطالب

صفحه عنوان

- 2 - ------------------------------------------------------------------------------------------------------------- : مقدمه

- 3 - ------------------------------------------------------------------------------------------------------------ اثر میتقد

- 4 - ---------------------------------------------------------------------------------------------------- یقدردان و تشکر

- 5 - ------------------------------------------------------------------------------------------------------------- اول فصل

- 5 - ----------------------------------------------------------------------------------------------------- !؟ ستیچ دیاندرو

- 6 - ----------------------------------------------------------------------------------------- دیاندرو به شده وارد اتهامات

- 6 - --------------------------------------------------------------------- است شلخته یعامل ستمیس دیاندرو: اول اتهام

- 7 - --------------------------------------------------------------------------- ستین سازپول دیاندرو بازار: دوم اتهام

- 7 - ----------------------------------------------------------- است دیاندرو از ترراحت iOS یسینوبرنامه: سوم اتهام

- 7 - ------------------------------------------------------------------------------------------------------ دیاندرو یایمزا

- 8 - ------------------------------------------------------------------------------------------------------ :اول تیمز

- 8 - ------------------------------------------------------------------------------------------------------- :دوم تیمز

- 8 - ------------------------------------------------------------------------------------------------------ :سوم تیمز

- 9 - ---------------------------------------------------------------------------- دیاندرو یسینو برنامه یبرا الزم اقدامات

- 01 - --------------------------------------------------------------------------------------------------- (ECLIPSE) پسیاکل

- Eclipse ------------------------------------------------------------------------------------ - 00 یانداز راه و نصب

- SDK ------------------------------------------------------------------------------------------------------- - 00 دیاندرو

- 02 - ----------------------------------------------------------------------------------- (ECLIPSE PLUG-IN) پسیاکل نیپالگ

- 41 - ------------------------------------------------------------------------------------------------------------ دوم فصل

- 41 - ------------------------------------------------------------------------------------------------- پروژه یفن مستندات

- 04 - ------------------------------------------------------------------------------------------------------------ ویسنار

- 06 - ------------------------------------------------------------------------------------------------ : برنامه یکل یشما

- 06 - ----------------------------------------------------------------------------------ابیغ حضور ستیل ؛ اول تب

- 06 - ---------------------------------------------------------------------------------------- یهفتگ برنامه ؛ دوم تب

- 06 - -------------------------------------------------------------------------------------- یامتحان برنامه ؛ سوم تب

- 07 - ------------------------------------------------------------------------------------- یلیتحص میتقو ؛ چهارم تب

- 07 - ------------------------------------------------------------------------------------------ امیپ ارسال ؛ پنجم تب

- 07 - -------------------------------------------------------------------------------------------- هشدارها ؛ شمش تب

ER : --------------------------------------------------------------------------------------------------------------- - 07 -

DATA DICTIONARY ------------------------------------------------------------------------------------------------------ 09

27 --------------------------------------------------------------------------------------------------------- منابع فهرست

Page 5: Report Project

- 2 -

: مقدمهه ئدلیلی است برای سرازیر شدن حجم عظیمی از برنامه هایی که هدف همگی آن ها ارا ندرویدا افزون بازار رشد روز

اندرویدی موجود شاید تعداد کمی از آنها مورد عالقه و توجه درمیان هزاران برنامه .تجربه ی بهتر برای کاربران است

کاربران قرار گیرد.

کاربران مد نظر ما در این برنامه می روند.می توان گفت کاربران برحسب نیاز خود و کاربردی که انتظار دارند سراغ یک

برای مدارس نوشته شده است حوزه گفت نسبت به نرم افزار سینا کهدانشجویان هستند، که می توان پروژه اساتید و

وسیع تری را در بر می گیرد. بعبارتی گلستان همراه را شاید بتوان نسخه ارتقا یافته برنامه سینا دانست که با استقبال

زیادی از سوی کاربران قرار گرفت و در حوزه کاری خود تا به اکنون بسیار موفق بوده است.

تسهیل کار دانشجو و استاد در تعامل در واقع برنامه اندرویدی تعامل استاد و دانشجو ، در این پروژه هدف از انتخاب

آنها با یکدیگر است. به گونه ای که کار یدی استاد و یا حتی نیاز به برخی مراجعات حضوری برای دانشجو را از بین می

کالس و درس و... بصورت دقیق و بدون نگرانی برد و در عین حال به کاربران خود کمک می کند تا از اطالعات مربوط به

سعی شده است که تمام امکانات این برنامه با آخرین و به روز ترین متدهای موجود از فراموش کردن آن، اطالع یابند .

نوشته شود تا در کاربران احساس راحتی و اعتماد نسبت برنامه افزایش یابد. امید است که این برنامه مورد توجه قرار

گیرد و بتواند در حوزه عملی به کاربران خود خدمت کند .

Page 6: Report Project

- 3 -

اثر تقدیم

تقدمی به پدر و مادر عزیزمان

به پاس تعبری عظمی و انساین شان از کلمه ایثار و از خودگذشتگان ستابه پاس عاطفه سرشار و گرمای امیدبخش وجودشان که در این سردترین روزگاران هبرتین پشتیبان

به پاس قلب های بزرگشان که فریاد رس است و سرگرداین و ترس در پناهشان به شجاعت یم گراید و به پاس محبت های یب دریغشان که هرگز فروکش منی کند

Page 7: Report Project

- 4 -

قدردانی و تشکر

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

...است؛ و نفرین پیوسته بر دمشنان ايشان تا روز رستاخیز

ئبه ی او، با زبان قاصر و بدون شک جایگاه و منزلت معمل، اّجل از آن است که در مقام قدرداین از زمحات یب شا .دست ناوتان، چیزی نبگارمی

اما از آنجایی که تجلیل از معمل، سپاس از انساین است که هدف و غایت آفرینش را تامنی یم کند و سالمت امانت َّلله عّز و اهایی را که به دستش سپرده اند، تضمنی؛ بر حسب وظیفه و از باب " من مل يشکر املنعم من املخلوقنی مل يشکر

، قمل عفو کشیهد و رکمیانه از کنار ا. که مهواره بر کوتاهی و درشیت م.....این دو معمل بزرگوارانجّل" :ازپدر و مادر عزیزم وبده اند؛از استاد با کماالت مان ییار و یاوری یب چشم داشت برا گذشته اند و در متام عرصه های زندگی انغفلت هامی

ا، از هچ کمکی در این عرصه بر مکه در کمال سعه صدر، با حسن خلق و فروتینهمندس ونایب و شايسته؛ جناب آقایندس همسراکر خامن زانه و دلسوز؛ د فریتارا بر عههد گرفتند؛ ؛و از اس پایان نامه دریغ ننمودند و زمحت راهامنیی این

میشدند؛ کمال تشکر و قدرداین را دار متقبلفرواین در این پروژه که زمحت همندس پاسبانو جناب آقای امحدی .

انزیزمع ،به ویژه دوستاند را پشتیباین و مهراهی رکدها م پروژهاز متایم کساین که در به انجام رساندن این مهچننیمی.یتشکر و قدرداین یم مناخامن همندس نفیسه ونری مقدم

. باشد که این خردترین، بخیش از زمحات آنان را سپاس گوید

Page 8: Report Project

- 5 -

اول فصل

؟! چیست اندروید

Page 9: Report Project

- 6 -

اند؛ درنتیجه دو رقیب اصلی iOS شوند اندروید وهای هوشمند استفاده میهایی که امروزه در گوشیمیان سیستم عامل

.دهنده این دو پلتفرم را برای توسعه اپلیکیشن موردنظرش در اولویت بگذاردطبیعی است که یک توسعه

افزاری، که دست بازتری در منابع مالی و انسانی دارند، خیلی مهم نیست که اپلیکیشن خود را های بزرگ نرمشرکتبرای

نند کدهندگانی که آزاد و شخصی کار مییک از این دو سیستم عامل ارائه کنند، اما برای اکثر توسعهنخست برای کدام

ین این دو سیستم عامل ممکن است بر موفقیت اپلیکیشن آنها تاثیر هایی وجود دارد؛ در نتیجه انتخاب درست بمحدودیت

.بسیاری داشته باشد

iOS دهند اپلیکیشن خود را ابتدا برایدهندگان جاافتاده این است که ترجیح میاشتباه میان توسعهای که شاید بهنکته

را در درجه اول اهمیت قرار iOS شودموجب میعرضه کنند و سپس سراغ اندروید بروند. آنها برای خود دلیلی دارند که

ها و همچنین راحتی در کدنویسی و سود بودن فروش اپلیکیشنهای اندروید، کمها و دستگاهدهند. منسجم نبودن نسخه

سوال اینجاست ترین دالیلی است که بارها و بارها به آنها اشاره شده است. امااز مهم iOS هایساختن رابط کاربری اپ

واقعا این موارد چقدر واقعیت دارند؟ که

در ادامه چند نمونه ازماند. روزی ثابت نمیچیز در دنیای اماکنون زمان عوض شده و هیچاما باید در نظر داشت که

مزیت های اندروید را ذکر کردیم تا نشان دهد چرا سراغ اپلیکیشن اندرویدی اتهامات خوب نبودن اندروید و همچنین

رفته ایم.

اندروید به شده وارد اتهامات

است شلخته عاملی سیستم اندروید اول: اتهام

درطور هم که کنم، ولی این مشکل آنهای این سیستم عامل را رد نمیعنوان طرفدار اندروید، مسنجم نبودن نسخهبه

.داردن اهمیت دهندگانتوسعه برای های اندروید خیلی همکنند نیست. درواقع چندپاره بودن نسخهموردش بزرگنمایی می

را در اختیار دارند؛ درنتیجه تمرکز اصلی سهم بیشترین در حال حاضر سه نسخه جلی بین، کیت کت و اللیپاپ

.دهندگان بر این سه نسخه استتوسعه

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

ست های مختلف تقسام دستگاهجا روی انواع و ادهد اپلیکیشنش را یکدهنده این امکان را میاند که به توسعهتدارک دیده

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

iOS هایگیرد، هنوز بسیاری از اپلیکیشننکته جالب اینجاست که با اینکه اپل ایراد زیادی به فرگمیشن اندروید می

!کندصفحه استفاده تواند آنها را تماماند و کاربر نمیبرای استفاده روی آیپد بهینه نشده

Page 10: Report Project

- 7 -

نیست سازپول اندروید بازار دوم: اتهام

برای آنها خرند، در نتیجه اپ استور تر میهای پولی را راحتاپلیکیشن iOS دهندگان بر این باورند که کاربرانتوسعه

م( یکنه میها )که در ادامه به آن اشاردلیل باال بودن هزینهبه iOS دهندگاندرواقع بیشتر توسعهبازار سودآوری است.

یابند، کنند، بنابراین کاربران نیز چون اپلیکیشن رایگان باکیفیتی نمیهای خودشان را غیررایگان عرضه میاکثر اپلیکیشن

.شوند خرید کنندمجبور می

بینید یم های رایگان و باکیفیت بسیاریشده کار، اپلیکیشنباز و پایین بودن هزینه تمامدر اندروید، به دلیل ماهیت متن

شوند! ب نمیجیبهها اصال دستکند. البته معنی این حرف این نیست که اندرویدینیاز میکه کاربر را از خرید نمونه پولی بی

ها نمایش تبلیغات است. هرچه تواند سودش را به دست آورد. یکی از این روشهای دیگری میدهنده با روشبلکه توسعه

اد کاربران شود و از آنجا که تعددهنده میشن به نمایش دربیاید، سود بیشتری نصیب توسعهتبلیغات بیشتری در اپلیکی

.شده اگر بیشتر نباشد، کمتر هم نیستاست، سود حاصل iOS اندروید بسیار بیشتر از

i نویسیبرنامه سوم: اتهام OS است اندروید از ترراحت

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

شود. با ا میپلتفرم اجرصورت چندسکویی یا مولتینویسی است که بههای برنامهترین و قدرتمندترین زبانیکی از گسترده

تم عامل دون یادگیری زبان جدید برای سیستوانید برای اندروید اپلیکیشن بسازید، قادرید بدانستن جاوا، عالوه بر اینکه می

هایتنها به درد سیتسم عامل Swift و Objective-C ویندوز و لینوکس هم برنامه بنویسید، در صورتی که زبان

iOS و OS X خورندمی.

چنین کند. همنویسی اندروید منابع و راهنماهای رایگان بسیاری وجود دارد که در این راه کمکتان میبرای یادگیری برنامه

دهندگان قرار داده که در پیشبرد سریع و در اختیار توسعه Android Studioو Eclips نامعالی به IDE چندگوگل

.دهدها شما را یاری میراحت توسعه اپلیکیشن

دهندگان علیه اندروید و دالیلشان برای انتخاب نکردن این سیستم عامل پاسخ دادیم، بهتر حاال که به اتهامات توسعه

.دهندگان داردهایی برای توسعهچه مزیت iOS جایاست ببینیم انتخاب اندروید به

اندروید مزایای

Page 11: Report Project

- 8 -

اول: مزیت

محبوبیت

آمار آخرین های هوشمند را در اختیار دارد. درحاضر اندروید بازار گوشی بر کسی پوشیده نیست که در حال

های هوشمند جهان را به خود اختصاص داده، در صورتی که سهمدرصد از سهم بازار گوشی 87، اندروید IDCمنتشرشده

iOS برابر 4تبع آن کاربران اندروید بیش از ها و بهدرصد است؛ یعنی تعداد دستگاه 87تنها iOS است. در نتیجه این

دنبال تواند مشتریان و بازار هدف بسیار بیشتری پیش روی پلتفرم می

.دهد افزایش نراآ موفقیت احتمالکنندگان آن قرار دهد و

دوم: مزیت

اندروید توسعه بودن ترارزان

بسازید، ابتدا باید چند میلیون تومان برای خرید کامپیوتر مک خرج کنید، زیرا در iOS اگر قصد دارید اپلیکیشنی برای

تواند روی مک، ویندوز دهنده اندروید میاندازی کنید، اما توسعهراه iOS نویسیصورت قادر نیستید محیط برنامهغیر این

باید هر سال iOS دهندگاندهد و به هیچ سیستم عاملی محدود نیست. عالوه بر این، توسعه یا لینوکس کارش را انجام

گل بپردازد، دالر باید به گو 52دهنده اندرویدی فقط دالر برای حق اشتراک به اپل پرداخت کنند، ولی توسعه 811مبلغ

شده کار شود هزینه تماممی این یکی از عواملی است که موجب آن هم فقط یک بار

.بیاید پایین اندروید هایاپلیکیشن برای

سوم: مزیت

جانبی هایفروشگاه و پلی گوگل

های شما فروشگاه مجازی گوگل یا اپل است. هر یک از طبیعتا بهترین مکان برای عرضه و به نمایش گذاشتن اپلیکیشن

ری تگیرانههای خاص خود را دارند. در این میان اپ استور اپل شرایط سختویژگیها شرایط، قوانین و حتی این فروشگاه

شود مراحل تایید هر اپلیکیشن حتی تا چند هفته طول بکشد؛ در صورتی که در دهندگان دارد که موجب میبرای توسعه

.بردگوگل پلی تنها چند ساعت زمان می

هتری با کاربران خودتان داشته باشید، آمارهای مختلفی از وضعیت اپلیکیشن همچنین شما در گوگل پلی قادرید ارتباط ب

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

Page 12: Report Project

- 9 -

ید اره چند روز منتظر تایسیاست اپ استور اما به این شکل نیست و برای هر بار آپدیت کردن اپلیکیشن خود باید دوب

.باشید

های آن با اپ استور اپل، احتمال بیشتری دارد که دیده شود؛ های الگوریتمدلیل تفاوتاپلیکیشن شما در گوگل پلی، به

رانهای خود را به کارباند فرصت دارند اپلیکیشنتجربه و آنهایی که تازه وارد این بازار شدهدهندگان کمدرنتیجه توسعه

.بشناسانند، حتی اگر تعداد دانلودهای کمی داشته باشند

ند. های جانبی نیز عرضه کنهای خود را در فروشگاهتوانند در کنار گوگل پلی، اپلیکیشنتوسعه دهندگان اندرویدی می

د و در بازار جهانی شوهای اندروید شناخته میافزاری جانبی برای گوشیترین فروشگاه نرمدر کشور ما کافه بازار معروف

.ها نامیدافزاری آمازون را جز این دسته از فروشگاهتوان فروشگاه نرممی

روز آن را بهبود ببخشد و هایی داشته، اما گوگل همواره تالش کرده است روزبهها و نقصاندروید شاید در گذشته ضعف

ها باقی مانده. اندروید مربوط به گذشته است و از آن زمان در ذهنباور من، بسیاری از ایرادات واردشده به بهتر کند. به

افتاده معرفی کند، در صورتیالبته اپل نیز همواره نشان داده که دوست دارد، حتی با دروغ، اندروید را سیستم عاملی عقب

.طور نیستکه اصال این

هایی از حضور این سیستم ه نگاه کنیم، نشانهشدت در حال گسترش اکوسیستم اندرویدش است و هر جا کگوگل به

بینیم. پذیر میعامل قدرتمند و انعطاف

، آینده ما نیز به روشنی آیندهم ندروید را در اولویت گذاشته باشیا، دهنده عنوان توسعهاگر به بود مطمئن می توان پس

!این ربات سبز کوچک است

اندروید نویسی برنامه برای الزم اقدامات

را بر روی آن نصب SDK که مداری نیاز یک کامپیوتر و شروع کار برنامه نویسی اندروید به یک ایموالتور موبایل برای

م .کنی

ی تا برنامه نویس می شودم چطور ابزار مورد نیاز بر روی کامپیوتر نصب و آماده یم نشان دهیسعی میکن گزارشدر این

برای اندروید را شروع کنیم.

Page 13: Report Project

- 10 -

اندروید قابل نصب بر روی سیستم عامل های ویندوز، (software development kit) کیت توسعه نرم افزاری

میباشد. بدیهی است اپلیکیشنی که ساخته میشود قابل استفاده بر روی تمامی محصوالت مبتنی OS X لینوکس و مک

و کیت (IDE) احتیاج است تا جاوا، محیط توسعه ماهد بود. قبل از اینکه شروع به برنامه نویسی کنیبر اندروید خو

.متوسعه نرم افزار را بر روی کامپیوتر خود نصب کنی

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

استفاده کردیم . 2داریم که در این پروژه از جاوا نیاز ۶٫1یا 2٫1 جاوا به اقل حد برای اینکاربراساس آن خواهد بود.

آخرین نسخه آن را )در این پروژه . متیاج به کیت کامل توسعه نیز داریما احبلکه هم کافی نیست، JRE تنها داشتناما

7JDK SE کردیمکه البته امیاز این شرکت توسط شرکت اوراکل خریداری شده است( دانلود ) سایت شرکت سان ( از.

را از سایت اپل دانلود JDK هم می بایست آخرین نسخه این سیستم عامل به همراه OSx کاربران مکتوضیح آنکه

.مکنیمی نمایند. سپس فایل دانلود شده را بر روی سیتم نصب

Ecl)اکلیپس i pse)

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

فت است .همگانی در حال توسعه و پیشر

.ددارغات و مانور مثل مایکروسافت نکه یک مرکز اصلی و قوی برای تبلی است این جاوادلیل ناشناسی گفت شاید بتوانو

یک و مرکز یک فاقد جاوا که گفت طور این توان ولی می است گفت که جاوا فاقد چنین مرکزی توان البته نمی

هند .باشد تا توسعه اش بد می واحد صاحب

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

قوی برای توسعه از طرف شرکت های IDE عرضه کرده ولی جاوا در حال حاضر چندین ادیو رومحصوالتش ویژوال است

NetBeans(Sun) ,از جمله د .کیفیت ها و قیمت های گوناگون دارمختلف و معتبر و با

JDevelopers(Oracle) , Eclipse(IBM) , .......

و GPLهست که تحت لیسانس Eclipseاز جمله محیط هایی که به صورت مجانی و قوی عرضه شده همین

. باشد سورس باز می

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

برنامه حتی و ندارد را...( و فرم طراحی مثل) ویژوال نویسی برنامه روند دهد و حتی ن قرار نمیمای در اختیارزیاد

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

Page 14: Report Project

- 11 -

را In) -(Plugخودش دهد تا اجزا وافزودنی های خاض اما در عوض این سیستم طی روند جدیدی به افراد اجازه می

نوشته و از آن استفاده کنند.

ند و برای دانود بصورت ه اهم جدا نوشت اپالگین های مورد نیاز ر، ی ای دی آآنکه گروه توسعه دهنگان این جالب تر

WebTools. مثال برای طراحی و توسعه محیط تحت وب در اکلیپس یک پالگین پر طرفدار بنامقرار داده اندمجانی

. همچنین د پشتیبانی میکنا ها ر cssوجود دارد که تمامی نیازهای برنامه نویسی تحت وب از دیتا بیس تا طراحی

است . پالگین های زیادی برای ابزار مدلینگ و یا طراحی گرافیکی و .... طراحی شده

. شندفرو ند و میه ااز طرف دیگه شرکت های مختلف هم برای اکلیپس پالگین نوشت

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

, C/C++ , php , COBOLزبان برنامه نویسی جاوا نیست و پالگین هایی برای زبان های برنامه نویسی

Fortran را نیز دارد .

. من نصب کنیماحیط توسعه جاوا را بر روی سیستمم کهاست محیط توسعه ، قدم بعدی اینبعد از آگاهی و انتخاب

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

ای ز که میتوان بجنت بین درایگان است و هم گوگل از آن پشتیبانی کامل میکند. )محیط های دیگری هم هستند مانن

شرح داده شده است.(نز ویکی نت بی . مراحل نصب دررداکلیپس از آن استفاده ک

Ecl اندازی راه و نصب i pse

ضیح اینکه . تودرا دانلود کنی Eclipse IDE for Java Developers و رفته صفحه دانلود سایت اکلیپس به

در و دکنی. پکیج را دانلود د آنرا دانلود کنی نباید، داشته باشیدنیاز Eclipse SDK classic به چیزی بیشتر ازاگر

د.ز کامپیوتر از حالت پک خارج کنیا یقسمت دلخواه

SDKاندروید

the SDK و the SDK Starter Package کیت توسعه اندروید به دو قسمت تقسیم شده است

Components صفحه دانلود به SDK نظرتان را دانلود کنید. سپس در محل دلخواهی از بروید و پکیج مورد

کامپیوتر آنرا از حالت پک خارج کنید )مانند روشی که در باال گفته شد(. حواستان باشد که کجا این فایل را از حالت پک

.به اکلیپس بدهیم SDK خارج کردید چون بعداً باید آدرس آنرا به عنوان محل نصب

کلیک کنید. در لینوکس SDK Setup است. در ویندوز بر روی SDK Components اندروید حاال نوبت نصب

را اجرا کنید. تمامی گزینه ها را انتخاب کنید و بر روی دکمه نصب کلیک کنید. برنامه نصب tools/android و مک

Page 15: Report Project

- 12 -

را نشان خواهد USB یورلیستی از کامپوننت های موجود به همراه مستندات، پلتفرم ها، کتابخانه های اضافه شده و درا

.کلیک کنید و منتظر شوید تا نصب کامل شود (Accept) داد. بر روی دکمه قبول

ر . اگشودتا دانلود کامل دچون مدت زمان زیادی طول میکش خسته کننده باشدخیلی ممکن است این قسمت توجه :

کشید! خواهد ساعت طول ۳-5مگ تقریباً 8اشتباه نکنم با سرعت خط

.ذخیره میشود SDK تمامی کامپوننت ها دانلود خواهد شد و در دایرکتوری نهایتا

بروید و (setting) مواجه شدید پنجره را ببندید و به منوی تنظیمات HTTS SSL Error اگر با پیغام خطای

//:HTTPS را به //:HTTP لیپس و تنظیم آن تغییر دهید. حاال روند نصب را مجدداً تکرار کنید. قدم آخر اجرای اک

.میباشد

Iاکلیپس پالگین n)-Pl ug (Ecl i pse

Android Development برای راحتی بیشتر توسعه دهندگان، گوگل پالگینی آماده کرده است و آن را

Toolkit یا باختصار ADT نامیده است. برای نصب پالگین مراحل زیر را دنبال کنید )این مراحل بر اساس اکلیپس

.(نوشته شده است. ورژن های مختلف ممکن کمی تغییر نسبت به این داشته باشند ۳٫2

.اکلیپس را اجرا کنید -8

.کلیک کنید Install new software بر روی Help از منوی -5

.کلیک کنید Available Software Sites بر روی لینک -۳

کلیک کنید Add بر روی دکمه -4

و در (Android Development Tools :بهتر است در این قسمت دلخواه را وارد کنید )در قسمت نام، نامی -2

(را بدهید https://dl-ssl.google.com/android/eclipse سآدر (Location) قسمت محل

ایت سکلیک کنید تا به لیست برگردید و بر روی تست کانکشن کلیک کنید تا ببینید ارتباط تان با OK بر روی -۶

تغییر دهید. و دوباره این مرحله را تکرار کنید. Http را به Https برقرار است. اگر مشکلی پیش آمد در قسمت آدرس

.کلیک کنید تا به پنجره اصلی نصب بازگردید OK سپس بر روی

Page 16: Report Project

- 13 -

از کنیدمنتظر شوید تا نصب به پایان برسد )این هم کلی وقت گیره! ( سپس اکلیپس را ببندید و مجدداً ب -8

(Restart).

چند پیغام خطا نشان دهد، نگران نباشید. چون باید به اکلیپس است وقتی مجدداً اکلیپس راه اندازی میشود ممکن -7

بروید )در مک Window > Preferences > Android کجاست. در ویندوز به SDK بگویید که

.اکلیپس بدهیدرا به SDK و آدرس محلی نصب (Eclipse > Preferences به

در فصل بعدی با پروژه و نحوه ی کار تا این قسمت مراحل نصب به اتمام می رسد و میتوان برنامه نویسی را شروع کرد .

آن بیشتر آشنا خواهید شد .

Page 17: Report Project

- 14 -

دوم فصل

پروژه فنی مستندات

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

کاربر اعم از استاد و یا دانشجو تعیین می گردد .

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

افزار وارد شوند.

Page 18: Report Project

- 15 -

، می تواند برنامه هفتگی و امتحانی خود را مشاهده نماید، برای دانشجویان خود بر حسب اهمیت نوع کاربری استاد

و از همه مهم تر برای دانشجویان خود در هر یک از دروسی که در ترم دارد حضور و غیاب یک موضوع پیام ارسال نماید

نماید.

الزم به ذکر است که استاد ، با اولین ورود خود به نرم افزار اطالعات را از هاست دریافت می نماید و در صورت تغییر

اطالعات به هر دلیل )حذف و اضافه ،انتخاب واحد و...( می تواند با زدن به روز رسانی و وصل شدن به هاست، اطالعات به

ده کند.همچنین نرم افزار خدمات زیر را به استاد می دهد :روز شده را در نرم افزار خود استفا

امکان مشاهده برنامه کالسی و امتحانی و تقویم تحصیلی. .8

امکان تعریف کالس جبرانی برای یک درس . .5

امکان مشاهده لیست حضور غیاب، مشاهده اطالعات جلسات قبل، ارسال پیام و ثبت نمره برای دانشجویان در .۳

نیست.ساعاتی که کالسی

امکان حضور و غیاب برای دانشویان یک درس در ساعاتی که کالس برای آن وجود دارد.استاد می تواند این .4

لیست را به دو صورت تصویری و با جزئیات کمتر انتخاب نموده، حضورو غیاب کند و یا در صورت لزوم بتواند

یادداشت برای یک دانشجو و یاجلسه ثبت کند.

شایان ذکر است که در صورت اتمام ساعت کالسی اگر هیچ حضورو غیابی توسط استاد ثبت نشود، نرم افزار به

منزله غیبت خود استاد تلقی کرده، آنرا ثبت و به وی هشدار می دهد .

هشدارهای مربوط به تقویم تحصیلی شامل : .2

اعالم زمان شروع کالس ها، هشدار پایان زمان حذف و اضافه و حذف تکدرس برای به روز کردن نرم افزار .

هشدارهای مربوط به برنامه هفتگی شامل : .۶

هشدار نزدیک شدن زمان کالس درسی و یا کالس جبرانی .

هشدارهای مربوط به برنامه امتحانی : .8

اعالم زمان و مکان امتحان یک درس و همچنین اعالم امتحان بعدی .

امکان ارسال پیام برای یک دانشجو، دانشجویان یک درس ویا دانشجویان یک گروه درسی . .7

امکان مشاهده تمام هشدارهای موجود در یک روز . .9

نیز می تواند خدمات زیر را از نرم افزار دریافت نماید : کاربری دانشجونوع

امکان مشاهده برنامه هفتگی و امتحانی و تقویم تحصیلی . .8

هشدارهای مربوط به تقویم تحصیلی شامل : .5

Page 19: Report Project

- 16 -

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

اعالم زمان شروع کالس ها، هشدار پایان بازه حذف تکدرس و درصورت لزوم به روز رسانی نرم افزار، هشدار

شروع و پایان زمان ارزشیابی اساتید .

هشدارهای مربوط به برنامه هفتگی : .۳

هشدار نزدیک شدن زمان کالس درسی و یا کالس جبرانی واعالم کالس بعدی.

ه امتحانی : هشدار های مربوط به برنام .4

اعالم زمان و مکان امتحان یک درس و همچنین اعالم امتحان بعدی .

امکان مشاهده تمام هشدارهای موجود در یک روز . .2

: برنامه کلی شمای تب است که در ادامه مختصرا توضیح داده خواهد شد : ۶برنامه برای نوع کاربری استاد شامل

غیاب حضور لیست ؛ اول تب

این قسمت ، مهم ترین امکان برنامه برای استاد است که کارهای اساسی استاد در آن قرار گرفته است.در این قسمت

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

یک امکان جالب برنامه این است که استاد بصورت آفالین نیز خود حضور غیاب کند و یا یک کالس جبرانی ثبت نماید .

می تواند ازین قسمت استفاده نماید و لیست را مشاهده نموده ،پیام ارسال نماید و ...

کارهای اساسی مربوط به استاد و دانشجو در صورت اتصال به اینترنت ثبت و یا به روز توضیح بیشتر باید گفت برای

باید به اینترنت وصل شود تا .بدین صورت که استاد برای ثبت لیست حضور و غیاب دانشجویان خود رسانی می شود

ر که در نرم افزا یت عملیاتی دارد،سی برای استاد قابلاطالعات برای هاست فرستاده شود. این لیست تنها در زمان کال

لیستی ارسال نگردد به منزله اگر در پایان این دو ساعت برای هر کالس دو ساعت برای اینکار در نظر گرفته شده است .

غیبت استاد تلقی می شود .

استاد میتواند برای یک جلسه کالسی و یا برای دانشجویان خود یادداشت ارسال کند.و بعدا این یادداشت ها را مشاهده

نماید.برای این قسمت نیاز به آنالین بودن استاد نیست.همچنین هر استاد می تواند در صورت لزوم یک جلسه جبرانی

ام اطالع دهد. دهد و آنرا به دانشجویان خود با ارسال پیتشکیل

هفتگی برنامه ؛ دوم تب

در این قسمت استاد می تواند برنامه هفتگی یا بعبارتی همان برنامه کالسی خود را مشاده کند.

امتحانی برنامه ؛ سوم تب

برنامه امتحانی دروس استاد است. همانطور که از نام مشخص است این قسمت برای مشاهده

Page 20: Report Project

- 17 -

تحصیلی تقویم ؛ چهارم تب

.در واقع الزمه کار سایر قسمت ها الزمه کار برای هر دو نوع کاربر این است که تقویم تحصیلی برای ترم وارد شده باشد

،وجود این بخش است که اطالعات مربوط به زمان انتخاب واحد و شروع و پایان کالس ها و... را نشان می دهد .

پیام ارسال ؛ پنجم تب

به سه صورت برای دانشجویان پیام ارسال کند ؛ برای بر حسب تشخیص خود ، ی تواند استاد م در این قسمت

دانشجوی خاص ،برای دانشجویان گروه درسی خاص ، دانشجویان درس خاص.

هشدارها ؛ ششم تب

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

شده است .استاد می تواند در هر زمان این هشدارها را در صورت وجود، ببیند.

تب وجود دارد که به ترتیب عبارتند از : برنامه هفتگی ، برنامه امتحانی ، تقویم تحصیلی ، 2نیز برای کاربری دانشجو

در صورت ه شد کار می کنند.در قسمت پیام ها پیام ها و هشدارها .به جز تب چهارم بقیه موارد همانطور که در باال اشار

و بطور کلی هر دانشجو می تواند تمامی پیام نشان داده می شود. دانشجواتصال به اینترنت اگر پیام جدیدی باشد به

هایی که اساتید برای وی ارسال نموده اند را در اینجا مشاهده کند .

می توانند آخرین و به روزترین -به روز رسانی -قسمت آن کاربران برنامه همچنین یک منو دارد که در اصلی ترین

و... حذف تکدرسداده ها را در اپلیکیشن خود ببینند.این گزینه بیشتر به دلیل تغییر اطالعات در زمان حذف و اضافه ،

داخل نرم افزار قرار گرفته است.

یافته پروژه قرار داده شده است تا دید جامع تری نسبت به برنامه به در ادامه بعضی از موارد مهم مربوط به تحلیل ساخت

شما داده شود.

: ER

Page 21: Report Project

18

Page 22: Report Project

19

Di ct i onary Dat a

Database: [database] File name: C:\workspace01\university\assets\database.db File size: 105472 bytes Page size: 1024 Encoding: UTF-8 Auto vacuum: 0 Tables: 14 Views: 0 ------------------------------------------------------------ Table [alarm] Fields: 3 [id_alarm]: INTEGER [time]: CHAR(5) [text]: varchar Foreign Keys: 0 Indexes: 1 [] PRIMARY [id_alarm] AUTOINCREMENT Triggers: 0 Unique constraints: 0 Check constraints: 0 ------------------------------------------------------------ Table [classtime] Fields: 8 [id_classtime]: INTEGER [id_groups]: INTEGER [day]: nvarchar [oe_week]: INT [classplace]: NVARCHAR

Page 23: Report Project

20

[starttime]: CHAR(5) [endtime]: CHAR(5) [day_num]: INT Foreign Keys: 1 [id_groups] ([id_groups]) REFERENCES [groups]([id_groups]) ON DELETE CASCADE ON UPDATE CASCADE Indexes: 1 [] PRIMARY ON CONFLICT ABORT [id_classtime] AUTOINCREMENT Triggers: 0 Unique constraints: 0 Check constraints: 0 ------------------------------------------------------------ Table [educational_calendar] Fields: 10 [termno]: VARCHAR(5) [start_class]: CHAR(10) [end_class]: CHAR(10) [start_da]: CHAR(10) [end_da]: CHAR(10) [delete_one]: CHAR(10) [start_tevaluate]: CHAR(10) [end_tevaluate]: CHAR(10) [start_exam]: CHAR(10) [end_exam]: CHAR(10) Foreign Keys: 0 Indexes: 1 [sqlite_autoindex_educational_calendar_1] PRIMARY [termno] Triggers: 0 Unique constraints: 0 Check constraints: 0 ------------------------------------------------------------ Table [groups] Fields: 10 [id_groups]: INTEGER [termno]: CHAR [gnocno]: VARCHAR [cno]: VARCHAR [tno]: VARCHAR

Page 24: Report Project

21

[edate]: VARCHAR(10) [e_starttime]: CHAR(5) [e_endtime]: CHAR(5) [eplace]: NVARCHAR [capacity]: INT Foreign Keys: 2 [cn] ([cno]) REFERENCES [lesson]([cno]) ON DELETE CASCADE ON UPDATE CASCADE [sn] ([tno]) REFERENCES [teacher]([tno]) ON DELETE CASCADE ON UPDATE CASCADE Indexes: 1 [] PRIMARY ON CONFLICT ABORT [id_groups] AUTOINCREMENT Triggers: 0 Unique constraints: 0 Check constraints: 0 ------------------------------------------------------------ Table [holiday] Fields: 6 [id_holiday]: INTEGER [termno]: VARCHAR [date]: CHAR(10) [start_time]: CHAR(5) [end_time]: CHAR(5) [exp]: TEXT Foreign Keys: 0 Indexes: 1 [] PRIMARY [id_holiday] AUTOINCREMENT Triggers: 0 Unique constraints: 0 Check constraints: 0 ------------------------------------------------------------ Table [jobrani] Fields: 6 [id_jobrani]: INTEGER [id_groups]: INTEGER [date]: CHAR(10) [start_time]: CHAR(5) [end_time]: CHAR(5) [classplace]: NVARCHAR

Page 25: Report Project

22

Foreign Keys: 1 [id_groups] ([id_groups]) REFERENCES [groups]([id_groups]) ON DELETE CASCADE ON UPDATE CASCADE Indexes: 1 [] PRIMARY [id_jobrani] Triggers: 0 Unique constraints: 0 Check constraints: 0 ------------------------------------------------------------ Table [lesson] Fields: 4 [cno]: VARCHAR [cname]: NVARCHAR [type]: NVARCHAR [unit]: INT Foreign Keys: 0 Indexes: 1 [sqlite_autoindex_lesson_1] PRIMARY ON CONFLICT ABORT [cno] Triggers: 0 Unique constraints: 0 Check constraints: 0 ------------------------------------------------------------ Table [main_present] Fields: 6 [id_main]: INTEGER [id_presentapsent]: INTEGER [stno]: VARCHAR [ap]: BOOLEAN [delay]: INT [sexp]: TEXT Foreign Keys: 2 [id_presentapsent] ([id_presentapsent]) REFERENCES [precentabsent]([id_presentapsent]) ON DELETE CASCADE ON UPDATE CASCADE [stno] ([stno]) REFERENCES [student]([stno]) ON DELETE CASCADE ON UPDATE CASCADE Indexes: 1 [] PRIMARY ON CONFLICT ABORT [id_main] AUTOINCREMENT Triggers: 0

Page 26: Report Project

23

Unique constraints: 0 Check constraints: 0 ------------------------------------------------------------ Table [messages] Fields: 8 [id_messages]: INTEGER [title]: VARCHAR [text]: TEXT [tno]: VARCHAR [reciever]: VARCHAR [termno]: VARCHAR [date]: CHAR(10) [time]: CHAR(4) Foreign Keys: 1 [tno] ([tno]) REFERENCES [teacher]([tno]) ON DELETE CASCADE ON UPDATE CASCADE Indexes: 1 [] PRIMARY [id_messages] AUTOINCREMENT Triggers: 0 Unique constraints: 0 Check constraints: 0 ------------------------------------------------------------ Table [precentabsent] Fields: 9 [id_presentapsent]: INTEGER NOT NULL [id_groups]: INTEGER [date]: CHAR(10) [time]: CHAR(5) [session]: INT [status_ap]: BOOLEAN [texp]: TEXT [jobrani]: INT [sendtohost]: BOOLEAN Foreign Keys: 1 [id_groups] ([id_groups]) REFERENCES [groups]([id_groups]) ON DELETE CASCADE ON UPDATE CASCADE Indexes: 1 [] PRIMARY ON CONFLICT ABORT [id_presentapsent] AUTOINCREMENT Triggers: 0

Page 27: Report Project

24

Unique constraints: 0 Check constraints: 0 ------------------------------------------------------------ Table [selection] Fields: 5 [id_selection]: INTEGER NOT NULL ON CONFLICT ABORT [stno]: VARCHAR [id_groups]: INTEGER [grade]: INT [date]: VARCHAR Foreign Keys: 2 [stno] ([stno]) REFERENCES [student]([stno]) ON DELETE CASCADE ON UPDATE CASCADE [id_groups] ([id_groups]) REFERENCES [groups]([id_groups]) ON DELETE CASCADE ON UPDATE CASCADE Indexes: 1 [] PRIMARY ON CONFLICT ABORT [id_selection] AUTOINCREMENT Triggers: 0 Unique constraints: 0 Check constraints: 0 ------------------------------------------------------------ Table [selection_time] Fields: 5 [id]: INTEGER [termno]: VARCHAR [vorodi]: VARCHAR [start]: CHAR(10) [end]: CHAR(10) Foreign Keys: 0 Indexes: 1 [] PRIMARY [id] AUTOINCREMENT Triggers: 0 Unique constraints: 0 Check constraints: 0 ------------------------------------------------------------ Table [student] Fields: 6 [stno]: VARCHAR NOT NULL [name]: NVARCHAR

Page 28: Report Project

25

[family]: NVARCHAR [segment]: NVARCHAR [major]: NVARCHAR [picture]: VARCHAR Foreign Keys: 0 Indexes: 1 [sqlite_autoindex_student_1] PRIMARY ON CONFLICT ABORT [stno] Triggers: 0 Unique constraints: 0 Check constraints: 0 ------------------------------------------------------------ Table [teacher] Fields: 4 [tno]: VARCHAR(15) [tname]: NVARCHAR(15) [tfamily]: NVARCHAR(15) [tgroup]: NVARCHAR(30) Foreign Keys: 0 Indexes: 1 [sqlite_autoindex_teacher_1] PRIMARY ON CONFLICT ABORT [tno] Triggers: 0 Unique constraints: 0 Check constraints: 0 ------------------------------------------------------------

Page 29: Report Project

26

در آن مشارکت پررنگ داشته اند و تمام تالش با توجه به اینکه این پروژه در زمان اندکی )حدودا دو ماه( برنامه نویسی شده است، اما تمام اعضا در پایان باید گفت

تایید آنان قرار بگیرد.تا نسخه های خود را برای بهتر شدن برنامه برای ارائه نهایی انجام داده اند .امیدواریم که این برنامه بتواند نظر مسئولین امر را جلب کند و مورد

بهتری از آنرا بتوانیم ارائه دهیم.

Page 30: Report Project

27

منابع فهرست

1) ht t p://www.kel i dest an.com/i ndex.php

2) ht t p://www.daneshj ooyar .com/

3) ht t p://ni kandroi d.com/