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

مقدمه:
در دهه های اخیر با رشد چشمگیر فناوری اطلاعات و گسترش دسترسی به اینترنت، شرکت های نرم افزاری نقش حیاتی در توسعه محصولات دیجیتال و برنامه های کاربردی یافته اند. شرکت همراه نرم افزار نوین با تمرکز بر برنامه نویسی به ویژه در زمینه زبان جاوا، توانسته است جایگاه ویژه ای در تولید نرم افزارهای کاربردی برای تلفن های همراه ایجاد کند. زبان جاوا به دلیل ساختار ساده، شیء گرا بودن و قابلیت اجرای برنامه ها روی پلتفرم های مختلف، به ابزاری محبوب برای توسعه نرم افزارهای موبایل تبدیل شده است. این زبان با حفظ مزایای زبان های C و C++ و حذف پیچیدگی هایی مانند اشاره گرها و وراثت چندگانه، امکان طراحی برنامه های امن، سریع و قابل اعتماد را برای توسعه دهندگان فراهم می کند.
شرکت همراه نرم افزار نوین با تولید مجموعه ای از نرم افزارهای کاربردی نظیر قرآن، مفاتیح الجنان، اذان، مناسک حج و بانک اطلاعات مشاغل، توانسته است نیازهای متنوع کاربران تلفن های همراه را پاسخ دهد. این محصولات نرم افزاری به صورت رایگان برای دانلود در سایت شرکت قرار داده شده اند، اما فعال سازی آنها با پرداخت مبلغی و دریافت کد فعال سازی امکان پذیر می باشد. اطلاعات کاربران و جزئیات فعال سازی در سرورهای کاملاً ایزوله و امن شرکت نگهداری می شود و تنها مسئولین مربوطه به آن دسترسی دارند. این روند، امنیت داده ها و حفظ حریم خصوصی کاربران را تضمین می کند.
بخش خدمات پس از فروش شرکت، به عنوان یکی از مهمترین واحدهای سازمانی، با ارائه پاسخگویی به کاربران از سراسر ایران و حتی خارج از کشور، نقش مؤثری در حفظ رضایت مشتریان ایفا می کند. در این بخش، مشکلات نصب، اجرا و عملکرد نرم افزارها به دقت بررسی شده و با تماس تلفنی یا مراجعه حضوری کاربران رفع می گردد. این سطح از پشتیبانی رایگان، باعث شده است که کاربران اعتماد و علاقه قابل توجهی به محصولات شرکت پیدا کنند.
جاوا به عنوان زبانی شیء گرا، مفاهیم کلیدی برنامه نویسی مانند کلاس ها، اشیاء، وراثت، واسط ها و بسته ها را در اختیار توسعه دهندگان قرار می دهد. هر شیء دارای حالت و رفتار است و کلاس ها الگوهایی برای ایجاد اشیاء می باشند. این ساختار برنامه نویسی امکان طراحی سیستم های پیچیده با کد قابل استفاده مجدد و انعطاف پذیر را فراهم می کند. مکانیزم وراثت و واسط ها در جاوا باعث کاهش دوباره کاری و تسهیل در مدیریت کدها می شود و استفاده از بسته ها موجب سازماندهی و مدیریت بهتر کلاس ها می گردد.
تاریخچه اینترنت و وب نیز تأثیر مستقیم بر توسعه نرم افزارهای شرکت داشته است. اینترنت از پروژه آرپانت در سال ۱۹۶۹ آغاز شد و با گذشت زمان، شبکه ای گسترده از کامپیوترها را به یکدیگر متصل کرد. تولد وب در سال ۱۹۸۹ و توسعه مرورگرهای گرافیکی نظیر موزائیک و نت اسکیپ، امکان دسترسی سریع و نمایش محتوای تعاملی را فراهم ساخت. با ورود جاوا به دنیای اینترنت، توسعه دهندگان توانستند برنامه هایی تولید کنند که بر روی سیستم های مختلف بدون نیاز به تغییر اجرا شوند و این عامل، توسعه نرم افزارهای چندپلتفرمی را ممکن ساخت.
علاوه بر این، شرکت همراه نرم افزار نوین با استفاده از ابزارها و استانداردهای روز برنامه نویسی، توانسته است نرم افزارهایی تعاملی و غنی از امکانات مالتی مدیا ارائه دهد. برنامه نویسی شیء گرا، ایجاد اپلت ها، مدیریت حافظه، استفاده از متدهای سازنده و فراخوانی متدهای اولیه، از جمله ویژگی هایی است که در تولید نرم افزارها مورد توجه قرار گرفته است. این ویژگی ها به توسعه دهندگان امکان می دهد برنامه هایی قابل توسعه، امن و با قابلیت نگهداری آسان تولید کنند.
با توجه به گستردگی محصولات و تنوع نرم افزارهای تولید شده، گزارش کارآموزی حاضر به بررسی ساختار شرکت، نحوه تولید و مدیریت نرم افزارها، اصول برنامه نویسی جاوا و شیوه های ارائه و پشتیبانی نرم افزارها می پردازد.
فهرست مطالب
مقدمه. ۴
نصب نرم افزار در کوتاهترین مدت ممکن ۷
جاوا ۱۱
تاریخچه مختصر اینترنت وب۱۳
تکامل جاوا ۱۶
ویژگی های زبان برنامه نویسی جاوا ۱۹
شروع برنامه نویسی با جاوا ۲۲
ایجاد یک اپلت جاوا ۲۵
تحلیل برنامه. ۲۷
خلاصه. ۲۸
برنامه نویسی شیئی گرا ۲۹
مفاهیم برنامه نویسی شیئء گرا ۳۰
ایجاد یک کلاس… ۳۱
وراثت، واسط ها و بسته ها ۳۲
ایجاد سسلسله مراتب کلاس… ۳۳
وراثت چگونه عمل می کند؟. ۳۴
وراثت منفرد و چند گانه. ۳۵
واسط ها (InterfaCes) و بسته ها (PaCkages) 35
اصطلاح جدید. ۳۶
ایجاد اشیاء جدید. ۴۲
استفاده از new.. 42
New چه کاری انجام می دهد. ۴۳
اصلاح جدید. ۴۳
نکته ای درباره مدیریت حافظه. ۴۴
دسترسی به عمل کلاس ها و متغیرهای وهله و ست کردن آنها ۴۴
گرفتن مقدار متغیرها ۴۵
تغییر دادن مقدار متغیرها ۴۶
فراخوانی متدها ۴۷
متدهای کلاس… ۴۸
تغییر نوع اشیاء و انواع اولیه. ۴۹
اصلاح جدید. ۴۹
تغییر انواع اولیه. ۵۰
تغییر نوع اشیاء. ۵۰
تغییر نوع انواع اولیه به اشیاء و بالعکس…. ۵۲
چند نکته دیگر. ۵۳
تعیین کلاس یک شیی.. ۵۴
کتابخانه کلاس جاوا ۵۵
ایجاد متدهایی با نام مشابه و آرگومانهای متفاوت.. ۵۷
متدهای سازنده. ۶۱
سازنده های اصلی.. ۶۲
تحریف سازنده ها ۶۲
پنهان کردن متدها ۶۳
فراخوانی متد اولیه. ۶۳
پنهان کردن سازنده ها ۶۴
متدهای پایان دهنده. ۶۵
خلاصه. ۶۶
تفاوت اپلت با برنامه. ۶۶
ایجاد اپلت ها ۶۸
مهمترین اقدامات یک اپلت.. ۶۹
آماده سازی.. ۷۰
شروع. ۷۰
توقف.. ۷۱
تخریب.. ۷۲
رنگ آمیزی.. ۷۲
قرار دادن اپلت در یک صفحه وب.. ۷۳
بازهم درباره بر چسب APPLET.. 74
ALIGN.. 74
ارسال پارامتر به اپلت ها ۷۷
خلاصه. ۸۱
کلاس GraphiCs. 82
سیستم مختصات گرافیکی.. ۸۲
ترسیم و پر کردن اشکال. ۸۳
مستطیل. ۸۴
چند ضلعی.. ۸۵
بیضی.. ۸۷
قوس… ۸۸
کپی کردن و پاک کردن.. ۹۰
متن و فونت.. ۹۱
ایجاد شیء فونت.. ۹۱
رسم کاراکترها و رشته ها ۹۳
گرفتن اطلاعاتی در باره یک فونت.. ۹۴
استفاده از شیئی COLOR.. 95
تست کردن و ست کردن رنگ جاری سیستم. ۹۵
یک مثال ساده رنگی.. ۹۶
انیمشین سازی در جاوا ۹۷
رنگ آمیزی و رنگ آمیزی مجدد. ۹۷
شروع و توقف اجرای یک اپلت.. ۹۸
ریسمان ها: آنها چه هستند و چرا به آنها نیاز داریم. ۹۸
مشکل اپلت ساعت دیجیتالی.. ۱۰۰
استفاده از ریسمان در اپلت ها ۱۰۰
اصلاح اپلت ساعت دیجیتالی.. ۱۰۴
کاهش چشمک زدن انیمیشن.. ۱۰۶
چشمک زدن و راه های اجتناب از آن.. ۱۰۶
نرم افزار نور الطریق.. ۱۱۵
نرم افزار فارسی ساز. ۱۱۵
نرم افزار موذن همراه. ۱۱۶
نرم افزار مناسک حج.. ۱۱۶
نرم افزار تقویم هجری شمسی.. ۱۱۷
نرم افزار کنکور(در دست تولید) ۱۱۸
نرم افزار همیاد. ۱۱۸
نرمافزار بانک اطلاعاتی مشاغل (نرمافزار در دست تولید) ۱۱۹
نرم افزار مرجع اطلاعات حقوقی(در دست تولید) ۱۱۹
نرم افزار مرجع اطلاعات دارویی(در دست تولید) ۱۲۰
نرم افزار آموزش زبان بر اساس سیستم INTERCHANGE.. 120
نرم افزار گردشکری همراه. ۱۲۱
منابع وماخذ: ۱۲۲