09982292579
info@mehraeen.ac.ir
فارسی پرچم
فارسی
یک زبان را انتخاب کنید
فارسی پرچم
فارسی
0
دسته ها
خانه تقویم‌آموزشی مدرس وبلاگ چارت‌‌دروس تماس‌با‌ما درباره‌ما انجمن‌ها
برنامه سازی پیشرفته

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

هدف کلی
در این درس، مفاهیم برنامه نویسی شی ءگرا در قالب زبان برنامه نویسی جاوا تدریسمی شود. همچنین ویژگی هاي ذاتی زبان
جاوا، امکانات برنامه سازي در جاوا، تفاوت رویکرد جاوا با زبان هاي مشابه در موارد مختلف، برنامه سازي همروند و کیفیت
نرم افزار مورد توجه قرار می گیرد. فرض بر این است که دانشجویان در دروس قبلی، با یک زبان برنامه سازي آشنا هستند و
برخی روش هاي حل مسئله با کمکبرنامه سازي مانند جستجو، مرتب سازي، عملیات ریاضی و نظایر آن را می شناسند. تأکید
در این درس بر مفاهیم شیءگرا است.
0 دانش پژوه
19 جلسه
درباره این دوره

سرفصل ها

  1. آشنایی با زبان جاوا 
  2. ویژگی هاي زبان جاوا ◦
  3. اولین برنامه در جاوا ◦
  4. مفاهیم اولیه برنامه سازي در جاوا 
  5. مقدمه اي بر طراحی و برنامه سازي شیءگرا 
  6. برنامه سازي شیءگرا در جاوا 
  7. وراثت  
  8. چندریختی 
  9. (interface) واسط 
  10. آزمون نرم افزار  
  11. الگوهاي طراحی  
  12.  (Refactoring) بازآرایی کد 
  13. مدیریت خطا و استثنا  
  14.  (Generics) داده هاي عام 
  15.  (Containers) مجموعه ها و ظرف ها 
  16. فایل، جویبار و شبکه 
  17. برنامه سازي همروند
  18.  Reflection 
  19. مفاهیم پیشرفته و تکمیلی
جناب آقای دکتر عبادی
جناب آقای دکتر عبادی
16 دوره‌
1 دانش پژوه
دکتر محسن عبادی عضو هیئت علمی دانشگاه مهر آیین است. ایشان تحصیلات خود را در مقاطع کارشناسی مهندسی نرم‌افزار، کارشناسی ارشد مهندسی فناوری اطلاعات و دکتری مهندسی نرم‌افزار به پایان رسانده‌اند. زمینه‌های پژوهشی دکتر عبادی شامل یادگیری ماشین و هوش مصنوعی، سیستم‌های توصیه‌گر هوشمند، تحلیل شبکه‌های اجتماعی، بازاریابی دیجیتال، تحلیل احساسات و تبلیغات هدفمند است. ایشان تاکنون مقالات علمی ...
جناب آقای دکتر عبادی
بررسی سرفصل

این دوره شامل 1 فصل، 19 درس و 0 ساعت محتوا می‌باشد.

نظری
19 بخش‌ها
جلسه 1 آشنایی با زبان جاوا
رایگان

خلاصه نکات کلیدی دوره:
جاوا یک زبان شیءگرا، مستقل از پلتفرم و قدرتمند است.
JVM نقش حیاتی در اجرای کدهای جاوا دارد.
ساختارهای کنترلی (if, for, while) و انواع داده‌ها اساس برنامه‌نویسی هستند.
مفاهیم OOP (کلاس، شیء، کپسوله‌سازی، وراثت، پلی‌مورفیسم) برای نوشتن کدهای ماژولار و قابل نگهداری ضروری‌اند.
Collections Framework ابزارهای کارآمدی برای مدیریت مجموعه‌ای از داده‌ها فراهم می‌کند.
مدیریت استثناها برای نوشتن برنامه‌های پایدار و مقاوم در برابر خطا الزامی است.
توانایی کار با فایل‌ها برای ذخیره و بازیابی داده‌ها کاربرد فراوانی دارد.

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 2ویژگی هاي زبان جاوا ◦
رایگان

خلاصه نکات کلیدی
شیءگرایی: اساس طراحی جاوا بر پایه کلاس‌ها و اشیاء.
استقلال از پلتفرم: قابلیت اجرا بر روی هر سیستمی با JVM (WORA).
سادگی: سینتکس خوانا و حذف پیچیدگی‌های C++.
امنیت: مکانیزم‌های قوی برای جلوگیری از آسیب‌پذیری‌ها.
قوی بودن: مدیریت خطا و حافظه برای جلوگیری از کرش.
چندنخی: پشتیبانی داخلی برای اجرای همزمان وظایف.
ترکیبی (کامپایل/تفسیر): بایت‌کد و JVM برای انعطاف‌پذیری و عملکرد.
عملکرد بالا: بهینه‌سازی‌های JVM و JIT برای سرعت.
توزیع شده: مناسب برای ساخت برنامه‌های تحت شبکه و توزیع شده.

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 3 اولین برنامه در جاوا ◦
رایگان

نکات کلیدی



هر فایل منبع جاوا باید یک کلاس اصلی داشته باشد که نام آن با نام فایل مطابقت دارد (به بزرگی و کوچکی حروف حساس است).
متد main نقطه شروع اجرای برنامه است.
جاوا یک زبان case-sensitive است، یعنی myVariable با myvariable متفاوت است.
هر دستور در جاوا باید با نقطه ویرگول (;) خاتمه یابد.
کلاس‌ها، متدها و بلوک‌ها با آکولاد {} تعریف می‌شوند.

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 4 مفاهیم اولیه برنامه سازي در جاوا
رایگان

خلاصه نکات کلیدی کل درس:



جاوا زبانی شیءگرا و مستقل از پلتفرم است.
هر برنامه جاوا حداقل یک کلاس دارد و اجرای برنامه از متد main آغاز می‌شود.
متغیرها برای ذخیره داده‌ها با انواع داده مشخص استفاده می‌شوند.
عملگرها برای انجام محاسبات و مقایسه‌ها به کار می‌روند.
ساختارهای کنترلی (شرطی و حلقه‌ها) جریان اجرای برنامه را تعیین می‌کنند.
آرایه‌ها برای نگهداری مجموعه‌ای از داده‌های هم‌نوع به کار می‌روند.

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 5 مقدمه اي بر طراحی و برنامه سازي شیءگرا
رایگان

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

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 6 برنامه سازي شیءگرا در جاوا
رایگان

خلاصه نکات کلیدی:
مفهوم Exception و انواع آن (Checked vs. Unchecked Exceptions).
بلوک‌های try, catch, finally.
کلمه کلیدی throw برای پرتاب دستی Exception.
کلمه کلیدی throws برای اعلام Exception در متد.
اهمیت مدیریت Exception ها در ایجاد برنامه‌های پایدار و قابل اطمینان.
ایجاد Exception های سفارشی (Custom Exceptions).

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 7وراثت
رایگان

خلاصه نکات کلیدی:



وراثت امکان اشتراک‌گذاری کد و ایجاد سلسله مراتب کلاس را فراهم می‌کند.
کلاس والد (Base) و کلاس فرزند (Derived) اجزای اصلی وراثت هستند.
مزایای اصلی شامل بازاستفاده از کد، قابلیت توسعه و پلی‌مورفیسم است.
بسته به زبان برنامه‌نویسی، انواع مختلفی از وراثت (تکی، چندتایی، چندسطحی) پشتیبانی می‌شود.

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 8چندریختی
رایگان

خلاصه نکات کلیدی
چندریختی (Polymorphism): توانایی اشیاء در اتخاذ فرم‌های متعدد.
دو نوع اصلی: زمان کامپایل (Static) و زمان اجرا (Dynamic).
چندریختی زمان کامپایل: شامل Function Overloading و Operator Overloading. در زمان کامپایل مشخص می‌شود.
چندریختی زمان اجرا: شامل Inheritance و Virtual Function Overriding. در زمان اجرا مشخص می‌شود.
ارث‌بری و توابع مجازی: کلیدهای اصلی پیاده‌سازی چندریختی در زمان اجرا.
مزایا: کاهش پیچیدگی، افزایش قابلیت نگهداری، بهبود طراحی و توسعه‌پذیری کد.
کاربرد: امکان رفتار متفاوت اشیاء در پاسخ به یک فراخوانی یکسان از طریق یک رابط مشترک.

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 9(interface) واسط 
رایگان

نکات کلیدی
قرارداد: واسط، مجموعه‌ای از متدها (بدون بدنه/پیاده‌سازی) است که کلاسی که آن را پیاده‌سازی می‌کند، باید آن‌ها را ارائه دهد.
انتزاع (Abstraction): واسط‌ها به ما کمک می‌کنند تا بر روی “چه کاری” تمرکز کنیم، نه “چگونه”. این امر باعث کاهش پیچیدگی و افزایش قابلیت نگهداری کد می‌شود.
چندریختی (Polymorphism): با استفاده از واسط‌ها، می‌توان اشیاء مختلفی را که یک واسط مشترک را پیاده‌سازی کرده‌اند، به صورت یکسان (از طریق واسط) مدیریت کرد.
عدم امکان نمونه‌سازی مستقیم: شما نمی‌توانید مستقیماً از یک واسط شیء بسازید. واسط‌ها فقط تعریف‌کننده هستند.
۳. کاربردها
تعریف APIها: واسط‌ها اغلب برای تعریف رابط‌های برنامه‌نویسی کاربردی (API) استفاده می‌شوند.
مدل‌سازی رفتارهای مشترک: کلا‌س‌های مختلف که رفتارهای مشابهی دارند (مانند “ذخیره‌کردن”، “خواندن”، “پردازش”) می‌توانند یک واسط مشترک را پیاده‌سازی کنند.
معماری نرم‌افزار: در طراحی سیستم‌های بزرگ، واسط‌ها به جداسازی اجزا و ماژول‌ها کمک می‌کنند.

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 10آزمون نرم افزار 
رایگان

خلاصه نکات کلیدی
آزمون نرم‌افزار جزء حیاتی چرخه توسعه نرم‌افزار برای تضمین کیفیت و کاهش ریسک است.
سطوح مختلف آزمون (واحد، یکپارچه‌سازی، سیستمی، پذیرش) رویکردهای متفاوتی را پوشش می‌دهند.
انواع آزمون (عملکردی و غیرعملکردی) جنبه‌های مختلف نرم‌افزار را ارزیابی می‌کنند.
فرآیند STLC یک رویکرد منظم برای اجرای آزمون‌ها فراهم می‌کند.
شناخت معیارهای کیفیت به ارزیابی جامع نرم‌افزار کمک می‌کند.
استفاده صحیح از ابزارها و تکنیک‌ها، اثربخشی آزمون را افزایش می‌دهد.

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 11الگوهاي طراحی 
رایگان

خلاصه نکات کلیدی
الگوهای طراحی، راه‌حل‌های تکرارشونده و اثبات‌شده برای مسائل رایج در طراحی نرم‌افزار هستند.
آنها به افزایش خوانایی، نگهداری، انعطاف‌پذیری و مقیاس‌پذیری کد کمک می‌کنند.
الگوها به سه دسته اصلی Creational، Structural و Behavioral تقسیم می‌شوند.
فهم عمیق مسئله و انتخاب الگوی مناسب، کلید موفقیت در استفاده از آن‌هاست.
استفاده بیش از حد یا نادرست از الگوها می‌تواند منجر به پیچیدگی غیرضروری کد شود.

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 12 (Refactoring) بازآرایی کد 
رایگان

خلاصه نکات کلیدی:



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

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 13مدیریت خطا و استثنا 
رایگان

خلاصه نکات کلیدی :



هدف اصلی: جلوگیری از کرش کردن ناگهانی برنامه و ارائه بازخورد مناسب به کاربر یا ثبت خطا برای رفع اشکال.
تمایز: بین خطاهای نحوی (که کامپایلر می‌گیرد) و خطاهای زمان اجرا (که برنامه در حال اجرا با آن‌ها مواجه می‌شود) تفاوت قائل شوید. استثناءها بخشی از خطاهای زمان اجرا هستند.
try و catch/except: این دو بلوک، هسته اصلی مدیریت استثناء هستند. try کدی را که ممکن است مشکلی ایجاد کند در بر می‌گیرد و catch/except واکنشی است به مشکلی که رخ داده است.
finally: همیشه اجرا می‌شود. این بلوک برای کارهایی مانند بستن فایل یا آزادسازی حافظه بسیار حیاتی است، زیرا تضمین می‌کند که این اقدامات حتی اگر خطایی رخ دهد، انجام شوند.
استثناءهای سفارشی: وقتی خطاهای پیش‌فرض زبان کافی نیستند، می‌توانید خطاهای خودتان را تعریف کنید تا وضعیت‌های خاص برنامه را بهتر نشان دهید.
پیام‌های خطا: پیام‌های خطا نباید فقط برای برنامه‌نویسان قابل فهم باشند، بلکه باید به کاربر نهایی نیز در درک مشکل کمک کنند.
کنترل جریان: از استثناءها برای کنترل عادی جریان برنامه استفاده نکنید. به عنوان مثال، اگر انتظار دارید یک ورودی عددی باشد، نباید از استثناء برای مدیریت حالتی که کاربر متن وارد می‌کند استفاده کنید، بلکه باید ورودی را اعتبارسنجی کنید.

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 14 (Generics) داده هاي عام 
رایگان

خلاصه نکات کلیدی:



Generics امکان نوشتن کدهای انعطاف‌پذیر و قابل استفاده مجدد را با انواع داده‌های مختلف فراهم می‌کنند.
مزایای اصلی: کاهش کد تکراری، افزایش ایمنی نوع داده، و قابلیت استفاده مجدد.
با استفاده از نمادهایی مانند T، الگوهایی برای کلاس‌ها، اینترفیس‌ها و متدها تعریف می‌شوند که نوع داده‌ی واقعی در زمان استفاده مشخص می‌گردد.
Generics به شناسایی خطاها در زمان کامپایل کمک شایانی می‌کنند

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 15 (Containers) مجموعه ها و ظرف ها 
رایگان

خلاصه نکات کلیدی:



ظرف‌ها یا مجموعه‌ها، بلوک‌های سازنده اساسی برای مدیریت داده در برنامه‌نویسی هستند.
هر ساختار داده دارای مزایا و معایب خاص خود از نظر کارایی عملیات است.
آرایه‌ها برای دسترسی سریع مبتنی بر اندیس عالی هستند، در حالی که لیست‌های پیوندی انعطاف‌پذیری بیشتری در درج و حذف دارند.
پشته‌ها و صف‌ها الگوهای دسترسی خاص (LIFO/FIFO) را پیاده‌سازی می‌کنند.
جداول هش، کارایی متوسط بسیار بالایی را برای جستجو و درج فراهم می‌کنند.
انتخاب صحیح ساختار داده می‌تواند تفاوت چشمگیری در عملکرد کلی نرم‌افزار ایجاد کند.

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 16فایل، جویبار و شبکه 
رایگان

خلاصه کلی درس
درس “فایل و شبکه” مفاهیم بنیادین نحوه مدیریت داده‌ها در قالب فایل‌ها و چگونگی ارتباط دستگاه‌ها از طریق شبکه‌های کامپیوتری را پوشش می‌دهد. از درک ساختارهای مختلف فایل و نقش سیستم‌عامل در مدیریت آن‌ها گرفته تا آشنایی با مدل‌های لایه‌ای شبکه‌ها، پروتکل‌های ارتباطی و اصول امنیت، این درس پایه‌ای قوی برای درک موضوعات پیشرفته‌تر در علوم کامپیوتر فراهم می‌کند. در نهایت، ارتباط تنگاتنگ این دو حوزه از طریق سیستم‌های ذخیره‌سازی توزیع شده، اشتراک‌گذاری فایل و پروتکل‌های انتقال فایل، نمایان می‌شود.

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 17برنامه سازي همروند
رایگان

خلاصه نکات کلیدی
همروندی ابزاری قدرتمند برای افزایش کارایی و پاسخگویی است، اما نیازمند درک عمیق مفاهیم و مدیریت دقیق چالش‌هاست.
تمایز بین فرایند و نخ در مدیریت منابع و ایزوله‌سازی اهمیت دارد.
شرایط رقابتی، بن‌بست و گرسنگی از جمله مشکلات رایج در سیستم‌های همروند هستند.
مکانیزم‌های همگام‌سازی (قفل‌ها، سمافورها، متغیرهای شرطی) برای جلوگیری از این مشکلات و تضمین صحت اجرای برنامه‌ها ضروری هستند.
انتخاب ابزار و الگوی مناسب برای پیاده‌سازی برنامه سازی همروند، تاثیر بسزایی در موفقیت پروژه دارد.
تمرین پایان فصل

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 18 Reflection
رایگان

خلاصه نکات کلیدی:



تعریف: بازتاب قابلیت بررسی، تجزیه و تحلیل و تغییر ساختار و رفتار برنامه در زمان اجرا است.
کاربردها:
دسترسی و اصلاح متادیتای کلاس‌ها، متدها و ویژگی‌ها.
فراخوانی پویا متدها و دسترسی به ویژگی‌ها بر اساس نام.
ساخت پویا اشیاء و کلاس‌ها.
توسعه فریمورک‌ها، ابزارهای تست، ORMها (Object-Relational Mappers) و سیستم‌های پیکربندی.

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
جلسه 19مفاهیم پیشرفته و تکمیلی
رایگان

خلاصه نکات کلیدی:



فراتر از مدل رابطه‌ای: آشنایی با پایگاه‌های داده NoSQL (مانند Document, Key-Value, Column-Family, Graph Databases).
مفاهیم پیشرفته در طراحی پایگاه داده رابطه‌ای، مانند نرمال‌سازی (Normalization) و بهینه‌سازی کوئری‌ها (Query Optimization).
مدیریت تراکنش‌ها (Transaction Management) و پایایی (Durability) در سیستم‌های توزیع‌شده.
مقدمه‌ای بر انباره‌های داده (Data Warehousing) و داده‌کاوی (Data Mining).

زمان مطالعه 0 دقیقه
ضمیمه‌ها 0
گواهینامه
1 بخش‌ها
گواهی دوره
گواهی دوره
اگر همه دروس این دوره را بگذرانید، این گواهینامه را دریافت خواهید کرد.
نوع گواهی دوره
پاسخ به پرسش
تأیید پرسش‌ها

پرسش شما پس از تأیید ادمین نمایش داده خواهد شد.

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

پاسخ شما به این نقد برای همه کاربران قابل مشاهده است.

برنامه سازی پیشرفته
رایگان
این دوره شامل
محتوای قابل دانلود
گواهی رسمی
پشتیبانی مدرس
انجمن دوره‌
مشخصات دوره
تاریخ شروع
23 فروردین 1405 | 11:00
بخش‌ها
1
درس
19
ظرفیت
نامحدود
مدت زمان
1:30 ساعت
دانش پژوه
0
تاریخ ایجاد
30 فروردین 1405
تاریخ به‌روزرسانی
31 فروردین 1405
برنامه سازی پیشرفته
در حال مشاهده
برنامه سازی پیشرفته