BACKEND Eğitimi:
Nest.js Eğitimi ve Sunucu taraflı uygulama geliştirme (230 saat):
Modül 1: Nest.js Girişi
1.1 Nest.js Nedir?
- js’in temel prensipleri
- TypeScript ve Express.js ile ilişkisi
1.2 Kurulum ve Proje Yapısı
- js projesi oluşturma
- Temel proje yapısı ve dosya organizasyonu
1.3 Temel Kavramlar
- Module, Controller, Service
- Dependency Injection
- Middleware kullanımı
1.4 RESTful API Temelleri
- Endpoint tanımlama
- HTTP metotları ve route parametreleri
- Request ve response Nesneleri
Modül 2: Veritabanı Entegrasyonu
2.1 TypeORM ve PostgreSQL
- TypeORM nedir?
- PostgreSQL ile veritabanı oluşturma ve Veritabanına bağlanılması
2.2 TypeORM ile Modelleme
- Entity ve Repository kullanımı
- Veritabanı tablolarının oluşturulması
2.3 CRUD Operasyonları
- Temel CRUD operasyonlarını gerçekleştirme
- TypeORM query builder kullanımı
2.4 Validation ve DTOs
- DTO (Data Transfer Object) kavramı
- Class-validator ile veri doğrulama
Modül 3: JWT Authentication ve Güvenlik
3.1 Passport.js ve JWT
- js kullanımı
- JWT ile kullanıcı doğrulama
3.2 Guard ve Middleware
- Auth guard ve middleware kullanımı
- Role-based yetkilendirme
3.3 OAuth ve Social Media Authentication
- OAuth protokolü
- Dış servislerle entegrasyon
3.4 Güvenlik Pratikleri
- SQL Injection, Cross-Site Scripting (XSS) önlemleri
- HTTPS kullanımı
Modül 4: GraphQL ve Nest.js
4.1 GraphQL Temelleri
- GraphQL kavramları
- GraphQL query ve mutationlar
4.2 Nest.js ve GraphQL Entegrasyonu
- js ile GraphQL servisi oluşturma
- Resolver ve schema kullanımı
4.3 Apollo Server ve Client
- Apollo Server kullanımı
- Frontend ile GraphQL entegrasyonu
Modül 5: Testing ve Hata Ayıklama
5.1 Birim Testleri
- Jest ve Supertest kullanımı
- Unit ve integration testler
5.2 Hata Ayıklama (Debugging)
- js uygulamalarını hata ayıklama
- Hata ayıklama stratejileri
Modül 6: Mikroservisler ve Nest.js
6.1 Mikro Servis Kavramları
- Mikro servis mimarisi nedir?
- Avantajları ve zorlukları
6.2 Nest.js ile Mikro Servis Geliştirme
- js ile mikro servis oluşturma
- İletişim ve veri paylaşımı
Modül 7: WebSocket ve Real-Time Uygulamalar
7.1 WebSocket ve Nest.js
- WebSocket protokolü
- WebSocket ile iletişim kurma
7.2 Real-Time Uygulama Geliştirme
- WebSocket ile anlık haberleşme
- Real-time uygulama senaryoları
Modül 8: Performans ve Optimizasyon
8.1 Performans Analizi
- Uygulama performansının değerlendirilmesi
- Optimizasyon stratejileri
8.2 Cache ve CDN
- Veri önbellekleme stratejileri
- CDN kullanımı
Modül 9: Docker ve Konteynerizasyon
9.1 Docker Temelleri
- Docker nedir?
- Docker konteynerleri ve avantajları
9.2 Nest.js ve Docker Entegrasyonu
- js uygulamasını Dockerize etme
- Docker-compose kullanımı
Modül 10: Proje Geliştirme ve Bitirme
10.1 Büyük Ölçekli Bir Proje Geliştirme
– Öğrenilen bilgilerin pratiğe dönüştürülmesi
– Projeyi planlama ve geliştirme
10.2 Bitirme ve Değerlendirme
– Projenin tamamlanması ve sunumu
– Öğrencilerle geri bildirim oturumları düzenleme
* Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.
React, Capacitor.js ile Platform Bağımsız (Web, Mobil) Uygulama Geliştirme
FRONTEND Eğitimi:
React, TypeScript ve Capacitor.js kullanarak platform bağımsız (Web, Mobil, Masaüstü) uygulama geliştirme eğitimi: (220 saat)
Modül 1: Temel Arayüz Teknolojileri
1.1 HTML ve CSS Temelleri
- Temel HTML etiketleri
- CSS seçiciler, özellikler ve değerler
1.2 Uyumlu (Responsive) Tasarım ve Mobil öncelikli(Mobile First) Yaklaşımı
- Ortam sorguları (Media queries) kullanımı
- Mobil öncelikli (Mobile First) tasarım prensipleri
1.3 Temel JavaScript ve ES6+ Özellikleri
- JavaScript temelleri
- ES6+ özellikleri
Modül 2: React.js ve TypeScript
2.1 React.js Temelleri
- React bileşenleri ve JSX
- React State ve Props kullanımı
2.2 React Router ve Navigasyon
- React Router kullanımı
- Sayfa geçişleri ve navigasyon stratejileri
2.3 React State Yönetimi
- Context API ve Redux kullanımı
- Redux Toolkit, React-Redux Hooks ve Redux Saga
2.4 TypeScript ile React Entegrasyonu
- TypeScript temelleri
- TypeScript ile React uygulaması geliştirme
Modül 3: Capacitor.js ve Platform Bağımsız Uygulama Geliştirme
3.1 Capacitor.js Nedir?
- js’in temel prensipleri
3.2 Mobil Uygulama Geliştirme
- js ile mobil uygulama projesi oluşturma
- js eklentisinin kullanımı
3.3 Web Uygulama Geliştirme
- js ile web uygulama projesi oluşturma
- Platform bağımsız kodlama
3.4 Electron.js Temelleri
- js nedir?
- js electron.js eklentisi kullanımı
3.5 Masaüstü Uygulama Geliştirme
- js ve Electron.js ile masaüstü uygulama geliştirme
Modül 4: Tailwind CSS ve Responsive Tasarım
4.1 Tailwind CSS Temelleri
- Tailwind CSS’in avantajları
- Sınıf tabanlı CSS yaklaşımı
4.2 Responsive Tasarım
- Tailwind CSS ile uyumlu tasarım stratejileri
- Ekran boyutlarına göre düzen yönetimi
Modül 5: Hata Ayıklama (Debugging) ve Test Süreçleri
5.1 Hata Ayıklama Stratejileri
- Tarayıcı geliştirici araçları kullanımı
- Mobil ve masaüstü uygulamalarda hata ayıklama
5.2 Test Süreçleri
- Birim testleri (Unit test) ve entegrasyon testleri (integration test)
- React Testing Library ve Jest kullanımı
Modül 6: Uygulama Dağıtımı (Deployment) ve CI/CD
6.1 Uygulama Dağıtım Stratejileri
- Web, mobil ve masaüstü uygulamalarını yayınlama
- Apple App Store, Google Play markete uygulama ekleme
6.2 CI/CD ve Otomatik Dağıtım
- Continuous Integration (CI) ve Continuous Deployment (CD)
- GitHub Actions veya başka CI/CD araçları ile entegrasyon
Modül 7: Mobil ve Masaüstü Uygulama Optimizasyonu
7.1 Performans Analizi
- Uygulama performansının değerlendirilmesi
- Optimizasyon stratejileri
7.2 Offline Çalışma ve Cache Stratejileri
- Service Worker kullanımı
- Veri önbellekleme ve offline çalışma
Modül 8: Proje Geliştirme ve Bitirme
8.1 Büyük Ölçekli Bir Proje Geliştirme
– Öğrenilen bilgilerin pratiğe dönüştürülmesi
– Projeyi planlama ve geliştirme
8.2 Bitirme ve Değerlendirme
– Projenin tamamlanması ve sunumu
* Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.
Typescript Programlama Dili
Typescript Programlama Dili (160 saat)
Modül 1: TypeScript Temelleri
1.1 Giriş
- TypeScript’in Önemi ve Kullanım Alanları
- JavaScript ve TypeScript arasındaki temel farklıklar
- TypeScript’in avantajları ve güçlü yanları
1.2 Kurulum ve Ayarlar
- js ve npm kurulumu
- TypeScript kurulumu
- TypeScript Proje yapılandırması ve “tsconfig.json” dosyası
1.3 İlk TypeScript Uygulaması
- Bir TypeScript dosyası oluşturma
- Temel TypeScript sentaksı
- TypeScript dosyasını derleme ve çalıştırma
1.4 TypeScript Entegrasyonu
- TypeScript ile yaygın IDE’lerin (VS Code, WebStorm, …) kullanımı
- TypeScript entegrasyonu için geliştirme araçları
Modül 2: Veri Tipleri ve Değişkenler
2.1 Temel Veri Türleri
- string, number, boolean, array, object veri türleri
- Tür çıkarımları ve tür bilgilendirmeleri
2.2 Değişkenler ve Sabitler
- let, const, var anahtar sözcükleri ile değişken tanımlama
- Blok faaliyet alanı ve fonksiyon faaliyet alanı
2.3 Türlere Alternatif İsimler Verilmesi ve Birlik Türleri
- Tür takma adları (Type aliases)
- Birlik türleri ve Kesişim türleri
2.4 Türlere İlişkin İleri Düzey Bilgiler
- Sayımlama Türleri ve Sabitleri ve literal türler
- Null Türü ve Undefined Türü
- Tür söylemleri (Type assertions)
Modül 3: Fonksiyonlar
3.1 Fonksiyon Tanımlama ve Çağırma
- Fonksiyonların ve Metotların Parametre Değişkenleri ve geri dönüş değerleri
- İsimli parametreler ve default argüman kullanımı
3.2 Rest Parametreler ve Spread Operatorü
- Rest parametrelerin ve spread operatorünün kullanımı
- İleri seviye fonksiyon kullanımı
3.3 Yüksek Düzeyli Fonksiyonları
- Callback fonksiyonlar
- Promise ve Async/Await kullanımı
3.4 Jenerik Fonksiyonlar ve Sınıflar
- Jenerik fonksiyonlar
- Jenerik sınıflar
Modül 4: Sınıflar ve Nesne Yönelimli Programlama (OOP)
4.1 Sınıflar ve Nesne Yaratma
- Sınıfların Tanımlanması ve Sınıflar Türünden Nesnelerin Yaratılması
- Yapıcı metotlar ve this kullanımı
4.2 Türetme İşlemleri ve Arayüzler
- Kalıtım (inheritance)
- Arayüzler (interfaces) ve implementasyon
4.3 Soyut Sınıflar ve Arayüzler
- Soyut sınıfların kullanımı
- İnterface’lerin ayrıntı
4.4 Sınıfların Statik Metotları
- Sınıfların Statik Metotları ve Statik Elemanları
- Örnek uygulamalar
Modül 5: Modüllerle Çalışma
5.1 Modüllerin Tanımlaması ve Kullanma
- Modüllerin avantajları
- Modüllerin tanımlaması ve kullanması
5.2 Modüllerde Import ve Export işlemleri
- Modüller arası veri alışverişi
- Default ve ismlendirilmiş exports
5.3 Modül Yapılandırma ve Farklı Modül Sistemleri
- CommonJS ve ES6 modül sistemleri
- Uygulama senaryoları
Modül 6: Genel Tavsiyeler ve İleri Seviye Konular
6.1 TypeScript Projelerinde Genel Tavsiyeler
- Kod düzeni ve yazım kuralları
- Kaynak Kodun Dokümantasyonu ve Kod İçi açıklamalar
6.2 İleri Seviye Konular
- Dekoratörler
- Tür Korumaları ve Koşullu Türler
- Yardımcı türler (Utility types) ve Eşleşmiş türler (mapped types)
Modül 7: TypeScript ve Web Geliştirme Entegrasyonu
7.1 Webpack ve TypeScript
- TypeScript projelerini yapılandırma
- Webpack entegrasyonu
7.2 TypeScript ve React, Angular, Vue.js Entegrasyonu
- TypeScript ile sık kullanılan framework’lerle çalışma
- Uygulama senaryoları
Modül 8: Hata Ayıklama ve Performans İyileştirmeleri
8.1 Hata Ayıklama Stratejileri
- TypeScript hata ayıklama araçları
- Hata ayıklama stratejileri ve ipuçları
8.2 Performans İyileştirmeleri
- TypeScript projelerinde performans analizi
- Optimizasyon stratejileri
Modül 9: TypeScript Ekosistemi ve Araçlar
9.1 TypeScript Ekosistemi
- Çok Kullanılan kütüphaneler ve araçlar
- TypeScript Kullanan Topluluklar ve TypeScrşpt İçin Kaynaklar
9.2 TypeScript İçin Editörler ve IDE’ler
- TypeScript ile uyumlu IDE’lerin kullanımı
- VS Code, WebStorm gibi yaygın kullanılan editörler
Modül 10: Proje Geliştirme ve Bitirme
- Küçük Proje Geliştirme
– Öğrenilen bilgilerin uygulamaya dönüştürülmesi
– Gerçek dünya senaryolarına dayalı küçük bir proje
* Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.
Javascript ve Node.JS
Javascript ve Node.js Eğitimi (200 Saat)
Modül 1: Temel JavaScript
1.1 JavaScript Temelleri
- Değişkenler, veri tipleri, operatörler
- Koşullu ifadeler ve döngüler
- Fonksiyonlar ve kapsam (scope)
1.2 Diziler ve Nesneler
- Dizilerin ve nesnelerin kullanımı
- Dizilerle işlemler ve dizi metodları
- Nesneler ve özellikleri
1.3 Asenkron Programlama
- Callback fonksiyonları
- Promise’ler ve async/await
- Olay tabanlı (Event Driven) programlama
1.4 JavaScript ES6+ Özellikleri
- Arrow fonksiyonlar
- Template literals
- Destructuring assignment
- Modüller
Modül 2: Node.js Temelleri
2.1 Node.js Girişi
- js nedir ve neden kullanılır?
- js’in avantajları
- js kurulumu ve temel komutlar
2.2 Modül Sistemi
- require ve exports
- NPM (Node Package Manager) kullanımı
- Paket yönetimi ve proje yapılandırması
2.3 HTTP Sunucu ve İstemcisi
- Basit bir HTTP sunucu oluşturma
- HTTP istemcisi ile API’larla iletişim
2.4 Dosya İşlemleri
- Dosya okuma ve yazma işlemleri
- Asenkron dosya operasyonları
2.5 Express.js ile Web Uygulamaları
- js nedir?
- Temel Express.js konseptleri
- Middleware kavramı
Modül 3: Veritabanı Etkileşimi
3.1 MongoDB ve Mongoose
- MongoDB temelleri
- Mongoose kullanımı ve şemalar
- Veritabanı ile etkileşim
3.2 SQL ve Sequelize
- SQL temelleri
- Sequelize ORM kullanımı
- İlişkisel veritabanları
Modül 4: Asenkron Programlama Derinlemesine
4.1 Callback Hell ve Promise Chain
- Callback Hell problemleri
- Promise chain kullanımı
4.2 Async/Await ve Generators
- Async/Await kullanımı
- Generators ve iterables
4.3 Event Emitters
- Olay yönetimi ve event emitters
- Custom events oluşturma
Modül 5: Express.js İleri Seviye ve Güvenlik
5.1 Routing ve Middleware
- Yönlendirme (Routing) stratejileri
- Middleware konsepti ve kullanımı
5.2 JWT Authentication
- JSON Web Token (JWT) kullanımı
- Kullanıcı kimlik doğrulama stratejileri
5.3 Express.js Güvenlik Pratikleri
- XSS ve CSRF saldırılarından korunma
- Güvenli header kullanımı
Modül 6: Test ve Hata Ayıklama
6.1 Birim Testleri
- Jest ve Mocha gibi test framework’leri
- Test yazma stratejileri
6.2 Hata Ayıklama (Debugging)
- js uygulamalarını hata ayıklama
- Hata ayıklama stratejileri
Modül 7: Web Socket ve Real-Time Uygulamalar
7.1 WebSocket Protokolü
- WebSocket nedir?
- IO kullanımı
7.2 Real-Time Uygulama Geliştirme
- Real-time haberleşme uygulamaları
- Güvenlik önlemleri
Modül 8: Performance Optimization
8.1 Uygulama Performans Analizi
- Profiling ve monitoring
- Performans optimizasyonu stratejileri
8.2 Caching ve CDN
- Veri önbellekleme stratejileri
- CDN (Content Delivery Network) kullanımı
Modül 9: RESTful API Tasarımı ve GraphQL
9.1 RESTful API Kavramları
- RESTful servislerin temel özellikleri
- HTTP metotları ve status kodları
9.2 GraphQL Temelleri
- GraphQL’in temel kavramları
- GraphQL servisi oluşturma
Modül 10: Proje Geliştirme ve Bitirme
10.1 Büyük Ölçekli Bir Proje Geliştirme
– Öğrenilen bilgilerin pratiğe dönüştürülmesi
– Projeyi planlama ve geliştirme
* Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.
UML ve Tasarım Kalıpları (C# ve Java Kod Örnekleriyle)
Modül 1 : UML (Unified Modelling Language)
• 1.1 : Modelleme Olgusu
• 1.2 : Modelleme Dilleri
• 1.3 : UML (Unified Modelling Language)
o 1.3.1 : UML Standardizasyonu ve UML Versiyonları
o 1.3.2 : UML Kullanımının Getirileri
• 1.4 : UML Modelleri ve İlişkili Diyagramlar
• 1.5 : UML Destekli Tasarım Araçları
• 1.6 : Constraint, TaggedValue ve Stereotype Kavramları
• 1.7 : Use Case (Kullanım Senaryosu) Diyagramları
• 1.8 : Activity (Faaliyet) Diyagramları
• 1.9 : Nesne Yönelimli Modellemeye İlişkin Temel Kavramlar
• 1.10 : Sınıf ve Nesne Diyagramları
• 1.11 : Nesneler Arasındaki İlişkiler
o 1.11.1 : Association (Referans)
o 1.11.2 : Aggregation (Barındırma, İçerme)
o 1.11.3 : Composition (Bağımlı İyelik)
o 1.11.4 : Generalization (Genelleme)
o 1.11.5 : Realization (Gerçekleme)
o 1.11.6 : Dependency (Bağımlılık)
o 1.11.7 : Use (Kullanma)
• 1.12 : State (Durum) Diyagramları
• 1.13 : Sequence (Etkileşim) Diyagramları
• 1.14 : Communication (İletişim) Diyagramları
• 1.15 : Component (Bileşen) Diyagramları
• 1.16 : Package (Paket) Diyagramları
• 1.17 : Deployment (Dağıtım) Diyagramları
Modül 2 : Dizayn ve Paketleme Prensipleri
• 2.1 : Dizayn Prensipleri
o 2.1.1 : Ayrıştırma (Decomposition)
o 2.1.2 : Kohezyon (Yapışıklık)
o 2.1.3 : SRP : Tek Sorumluluk (Single Responsibility) Prensibi
o 2.1.4 : LCP : Zayıf Bağlaşım (Low Coupling) Prensibi
o 2.1.5 : Yeniden Kullanılabilirlik (Reusability) Prensibi
o 2.1.6 : OCP : Açık/Kapalı Prensibi (Open/Closed Principle)
o 2.1.7 : LSP : Liskov Yerine Geçme Prensibi (Liskov Substitution Principle)
o 2.1.8 : DIP : Bağımlılığı Ters Çevirme Prensibi (Dependency Inversion Principle)
o 2.1.9 : ISP : Arayüz Ayırma Prensibi (Interface Segregation Principle)
o 2.1.10 : Polimorfizm Nedir
• 2.2 : Granülarite ve Paket Kavramı
• 2.3 : Paketlemeye İlişkin Prensipler
o 2.3.1 : REP : Yeniden Kullanılabilir Sürüm Eşdeğerliği Prensibi (Release Reuse Equivalence Principle)
o 2.3.2 : CCP : Ortak Kapatma Prensibi (Common Closure Principle)
o 2.3.3 : CRP : Ortak Yeniden Kullanım Prensibi (Common Reuse Principle)
o 2.3.4 : ADP : Çevrimsiz Bağımlılık Prensibi (Acyclic Dependencies Principle)
o 2.3.5 : SDP : Kararlı Bağımlılıklar Prensibi (Stable Dependencies Principle)
o 2.3.6 : SAP : Kararlı Soyutlamalar Prensibi (Stable Abstractions Principle)
Modül 3 : Dizayn Paternlere Giriş ve Temel Kavramlar
• 3.1 : Giriş
• 3.2 : Patern Kümeleri (Pattern Cluster)
• 3.3 : Idiom (Deyim) Kavramı ve Örnekleri
• 3.4 : Anti-Patern (Karşıt Kalıp) Olgusu
• 3.5 : GOF Sistematiği
Modül 4 : Nesne Oluşturulmasına/Yaratılmasına Ait (Creational) Paternler
• 4.1 : Singleton
• 4.2 : Factory Method / Virtual Constructor
• 4.3 : Prototype
• 4.4 : Object Pool
• 4.5 : Builder
• 4.6 : Abstract Factory
Modül 5 : Davranışsal (Behavioral) Paternler
• 5.1 : Iterator / Cursor
• 5.2 : Observer / Publish Subscribe
• 5.3 : Mediator
• 5.4 : Chain of Responsibility
• 5.5 : Command
• 5.6 : Visitor
• 5.7 : Strategy/Policy
• 5.8 : State
• 5.9 : Template Metot
• 5.10 : Interpreter
• 5.11 : Memento
Modül 6 : Yapısal (Structural) Paternler
• 6.1 : Decorator
• 6.2 : Adapter / Wrapper
• 6.3 : Facade
• 6.4 : Proxy / Surrogate
• 6.5 : Bridge
• 6.6 : Compozite
• 6.7 : Flyweight
Modül 7 : Yazılım Mimarisi ve Mimari Paternler
• 7.1 : Dependency Injection ve (IoC) Inversion of Control
• 7.2 : UI (User Interface) Patern’leri
• 7.3 : MVC (Model View Controller) Patern’i
• 7.4 : Model2 Patern’i (FrontController ve HTTP Interceptor)
• 7.5 : MVP (Model View Presenter) Patern’i
• 7.6 : PM (Presentation Model) ve MVVM (Model-View-ViewModel) Patern’leri
• 7.7 : İş Katmanı (Business Layer) Paternleri
• 7.8 : Transaction Script Patern’i
• 7.9 : Table Module Patern’i
• 7.10 : Active Record Patern’i
• 7.11 : Domain Model Patern’i
• 7.12 : Repository Patern’i
• 7.13 : Special Case Patern’i
• 7.14 : Seperated Interface ve Plugin Patern’leri
• 7.15 : APM Patern’i
• 7.16 : Service Locator Patern’i
• 7.17 : Diğer mimari paternler
Modül 8 : Yazılım Geliştirme Sürecinin Modellenmesi
• 8.1 : Proje Yönetiminin Temel Kavramları
• 8.2 : Şelale (Waterfall) Yöntemi
• 8.3 : Spiral Yöntemi
• 8.4 : XP Sıra dışı (Extreme) Programlama ve Scrum
• 8.5 : RUP (Rational Unified Process)
• 8.6 : CRC (Class, Responsibilities, Collaborators)
• 8.7 : MSF (Microsoft Solutions Framework)
• Ve diğerleri …
Önkoşul : C# ve/veya Java programlama dilleri konusunda temel bilgilere sahip olmak ya derneğimizin açmış olduğu C# – Java ile Nesne Yönelimli Programlama kurslarına katılmış olmak.
* Kurs ücreti duyuru sayfasında belirtilmektedir.
Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.
UML ile Nesne Yönelimli Çözümleme, Tasarım ve Modelleme
Kurs konularından bazıları:
Nesne Yönelimli Programlamanın Temel İlkeleri
Sınıflar, Nesneler ve İlişkiler
Soyutlama ve Veri Gizleme
Yordamlar ve İletiler
Arayüz Oluşturma
Türetme ve Çokbiçimlilik
Erişim denetimi
Liskov Yerine Geçme İlkesi
LSP (Liskov Substitution Principle)
Açık Kapalı İlkesi
OCP (Open-Closed Principle)
Bağımlılık Ters Çevirme İlkesi
DIP (Dependency Inversion Principle)
Nesne Yönelimli Program Geliştirme Yöntembilimleri ve Süreçleri
Yinelemeli ve Arttırımlı Geliştirme
RUP (Rational Unified Process)
XP (Extreme programming)
Nesne Yönelimli Çözümleme ve tasarım
Sistem İsterlerinin Kullanım Durumlarıyla Belirlenmesi
Aktörlerin Belirlenmesi
Temel Kullanım Durumlarının Belirlenmesi
Kullanım Durumu Senaryolarının Yazılması
Kullanım Durumu Modelinin (Use Case Model) Oluşturulması
Nesnelerin ve Sınıfların Belirlenmesi
Nesne İlişkilerinin Belirlenmesi
Nesne Modelinin (Object Model) Oluşturulması
Etkileşim Modellemesi
Durum (State) Modellemesi
Alt Sistem (Subsystem)Tasarımı
Arttırımlı (Incremental) Geliştirme
UML 2.0 (Unified Modelling Language)
UML Notasyonunun Kullanımı
Temel Model yönetim Birimleri
Paketler(Packages)
Alt Sistemler(Subsystems)
Modeller(Models)
Yapısal Modelleme
Kullanım Durumu (use case) Diyagramları
Sınıf (Class) Diyagramları
Nesne (Object) diyagramları
Dinamik Modelleme
Durum Makinaları (State Machines)
Etkinlik (Activity) Diyagramları
İletişim (Interaction) Diyagramları
Sekans (Sequence) Diyagramları
İletişim (Communication) Diyagramları
Etkileşim Değerlendirme (Interaction Overview) Diyagramları
Zamanlama (Timing) Diyagramları
Case (Computer Aided Software Engineering)
“Enterprise Architect” Yazılımı ve Kullanımı
Önkoşul: Nesne Yönelimli Programlamanın temel kavramlarına hakim olmak. C++, Java ya da C# dillerinden birini iyi derecede bilmek.
* Ücreti sorunuz.
UML ve Tasarım Kalıpları (C++ Kod Örnekleriyle)
Nesne Yönelimli Programlamanın Temel İlkeleri
Veri Gizleme
Sınıf ve Nesne
Yordamlar ve İletiler
Çokbiçimlilik
Arayüz Oluşturma
Türetme ve Çokbiçimlilik
Erişim denetimi
Liskov Yerine Geçme İlkesi – LSP (Liskov Substitution Principle)
Açık Kapalı İlkesi – OCP (Open-Closed Principle)
Bağımlılık Ters Çevirme İlkesi – DIP (Dependency Inversion Principle)
Arayüz Ayırma İlkesi – ISP (The Interface Segregation Principle)
Sürüm Yeniden Kullanımı Eşdeğerlik İlkesi – REP (The Release Reuse Equivalency Principle)
Ortak Kapatma İlkesi – CCP (The Common Closure Principle)
Ortak Yeniden Kullanım İlkesi – CRP (The Common Reuse Principle)
Çevrimsiz Bağımlılık İlkesi – (ADP) (The Acyclic Dependencies Principle)
Kararlı Soyutlamalar İlkesi – SAP (The Stable Abstractions Principle)
Kararlı Bağımlılıklar İlkesi – (SDP) (The Stable Dependencies Principle)
UML 2.0 Notasyonu
Nesne Yönelimli Modelleme
Temel UML Diyagramları ve Kullanımları
UML 2.0 Notasyonunun Kullanımı
Temel Model Yönetim Birimleri
Paketler(Packages)
Alt Sistemler(Subsystems)
Modeller(Models)
Yapısal Modelleme
Kullanım Durumu (use case) Diyagramları
Sınıf (Class) Diyagramları
Nesne (Object) diyagramları
Dinamik Modelleme
Durum Makinaları (State Machines)
Etkinlik (Activity) Diyagramları
İletişim (Interaction) Diyagramları
Sekans (Sequence) Diyagramları
İletişim (Communication) Diyagramları
Etkileşim Değerlendirme (Interaction Overview) Diyagramları
Zamanlama (Timing) Diyagramları
C++ ile Gof Tasarım kalıpları (Design Patterns)
Tasarım Kalıplarının Ana Fikirleri
Nesne Yaratan Kalıplar (Creational Patterns)
Yapısal Kalıplar (Structural Patterns)
Davranışa İlişkin Kalıplar (Behavioral Patterns)
GOF dışı kalıplar
Önkoşul: C++, Java ya da C# kursunu başarıyla tamamlamış olmak.
* Ücreti sorunuz.