Selsoft Academy Eğitim Kataloğu http://www.selsoft.academy 2017 Selsoft Academy, Selsoft Yazılım Danışmanlık Eğitim ve Tic. Ltd. Şti’nin eğitim markasıdır. SelsoftAcademy İçindekiler 1. Giriş........................................................................................................................ 4 2. Eğitimlerle İlgili Genel Bilgiler ........................................................................... 4 a. Sınıf İçi ve Online Eğitimler ................................................................................ 4 b.Eğitim İhtiyaç Analizi .......................................................................................... 5 c. Seviye ve Performans Değerlendirme ................................................................. 5 d.Eğitim Malzemeleri .............................................................................................. 5 e. Katılımcı Sayısı ..................................................................................................... 5 f. Katılım Belgesi ...................................................................................................... 6 3. Java Eğitimleri ...................................................................................................... 7 a. Java SE Eğitimleri ................................................................................................ 7 b.Java EE Eğitimleri................................................................................................ 9 c. Framework Eğitimleri ........................................................................................ 11 d.Diğer Java Eğitimleri ......................................................................................... 12 4. Yazılım Mühendisliği Eğitimleri ....................................................................... 13 5. Agile Eğitimleri ................................................................................................... 15 6. Eğitimlerin Ayrıntılı İçerikleri .......................................................................... 17 Java101 – Java Nesne Merkezli Programlama’ya Giriş ........................................ 18 Java105 – Java ile Nesne-Merkezli ve Fonksiyonel Programlama ....................... 19 Java107 – C++ Programcıları İçin Java .................................................................. 20 Java108 – Java SE Workshop................................................................................... 21 Java110 – İleri Java Programlama .......................................................................... 22 Java125 – Java Performansı ve Ayarlama .............................................................. 23 Java201 – Java EE Programlama ............................................................................ 24 Java205 – Java İle Web Programlama .................................................................... 25 Java208 – Java Server Faces (JSF) Programlama.................................................. 26 Java210 – EJB Programlama ................................................................................... 27 Java215 – Microservisler ile Java 8 Web Uygulaması Geliştirme ........................ 28 Java220 – Java EE Workshop .................................................................................. 29 Java225 – Java ile Web Servisi Programlama ........................................................ 30 http://www.selsoft.academy 2 SelsoftAcademy Java228 – Java Persistence API (JPA) Programlama ............................................ 31 Java230 – Hibernate Programlama ......................................................................... 32 Java238 – Spring Programlama ............................................................................... 33 Java128 – Etkin Java Programlama ........................................................................ 34 Java132 – Güvenli Java Kodlama ............................................................................ 35 Java135 – Sistem Yöneticileri İçin Java................................................................... 36 YM101 – Yazılım Mühendisliği ................................................................................ 37 YM105 – UML ile Nesne-Merkezli Analiz ve Tasarım .......................................... 38 YM106 – UML ile Nesne-Merkezli Tasarım ........................................................... 39 YM108 – İş ve Yazılım İhtiyaçları Analizi .............................................................. 40 YM110 – Yazılım Mimarisi ....................................................................................... 41 YM115 – Yazılım Kalitesi, Testi ve Kullanılabilirlik ............................................. 42 YM117 – Yazılım İhtiyaçları, Kalitesi ve Testi ....................................................... 43 YM120 – Tasarım Kalıpları ..................................................................................... 44 YM130 – Temiz Kod .................................................................................................. 45 AG115 – Test Güdümlü Geliştirme .......................................................................... 46 7. İletişim ................................................................................................................. 47 http://www.selsoft.academy 3 SelsoftAcademy 1. Giriş Selsoft Academy, hem teknolojik olarak Java hem de süreç olarak Yazılım Mühendisliği eğitimlerini siz müşterilerine sunmaktan gurur duyar. Bu dokümanda teknolojik olarak Java SE, Java EE, Framework ve Diğer başlıkları altında eğitimlerle birlikte süreç tarafında Yazılım Mühendisliği eğitimlerinin bir kataloğunu bulacaksınız. Selsoft Academy’nin eğitimle ilgili felsefesi hem anlama hem uygulama şeklinde özetlenebilir. Bu anlamda Selsoft Academy eğitimleri hem “nedenliğe” hem de “nasıllığa” vurgu yapmakta ve eğitime katılanların öğrendikleri yaklaşım ve teknikleri her ortamda tekrar değerlendirip uygulayacak şekilde kalıcı olmasını sağlamaya çalışmaktadır. 2. EğitimlerleİlgiliGenelBilgiler a. SınıfİçiveOnlineEğitimler Selsoft Academy’nin bu katologda listelenen eğitimleri hem sınıf içi hem de online eğitim olarak açılmaktadır. Selsoft Academy’nin sınıf içi eğitimleri ise kurumlara has olarak ve kurumların talebiyle açmaktadır. Selsoft Academy Online eğitimlere hem kurumsal hem de bireysel katılımcılar kayıt olabilirler. Online eğitimler http://www.selsoft.academy adresinde kurulu bir LSM (Learning Management System) üzerinden sunulmaktadır. Online eğitimler, sınıfı dolduramayacak sayıda katılımcıya sahip olan kurumlar için maliyet avantaji yaratacaktır. Ayrıca online eğitimler mekan birliği gerektirmediğinden çok daha esnek şartlarda, akşam, haftasonu ve haftada 3 ya da 6 saat gibi düzenlemelerle alınabilmektedir. http://www.selsoft.academy 4 SelsoftAcademy b. EğitimİhtiyaçAnalizi Sağlıklı ve verimli bir eğitim çalışmasının olmazsa olmazı, eğitim ihtiyacının doğru ve eksiksiz olarak belirlenmesidir. Selsoft Academy’nin bu amaçla gerek yöneticiler gerek ise bizzat eğitimi alacak kişilerle görüşüp, ihtiyacı anlamayı tercih eder. Selsoft Academy sahip olduğu sektör, proje ve eğitim bilgi ve tecrübesi ile çok kısa sürede stratejik ve pratik eğitim ihtiyaçlarını anlayabilir. c. SeviyevePerformansDeğerlendirme İsteğe bağlı olarak, katılımcıların eğitim öncesinde seviyelerini, sonrasında da performanslarını değerlendirme amacıyla seviye tespit ve performans ölçüm çalışmaları ya da sınavları yapılabilir. Bu türden çalışmalar ve sınavlar test, uygulamalı proje vb. farklı şekillerde yapılabilir. Eğitim öncesinde yapılacak seviye belirleme çalışmaları ve sınavları, eğitim ihtiyaç analizinin bir parçası olarak görülmelidir. d. EğitimMalzemeleri Eğitim malzemeleri, konu anlatımı, örnek kod ve projeler vb. tiplerde olup, eğitim başında katılımcılarla elektronik formatta paylaşılmaktadır. Eğitim içerikleri İngilizce ve Türkçe’dir. e. KatılımcıSayısı Online eğitimlerde katılımcı sayısında bir kısıt yoktur. Fakat sınıf içi eğitimlerde katılımcı sayısının olabildiğince 10 ile sınırlı kalması beklenmektedir. Bu rakamın üzerine çıkıldığında eğitim veriminin düşme riski olduğu göz önüne alınmalıdır. http://www.selsoft.academy 5 SelsoftAcademy f. KatılımBelgesi Her eğitim sonrasında katılımcılara katılım belgesi verilmektedir. http://www.selsoft.academy 6 SelsoftAcademy 3. JavaEğitimleri Java eğitimleri 3 başlık altında ele alınmaktadır.:Java SE, Java EE ve framework ve diğer eğitimler. a. JavaSEEğitimleri Temel Java yani Java Standart Edition (Java SE) ile ilgili eğitimlerimiz aşağıdaki tabloda verilmiştir. Bu eğitimler Oracle’in Java sertifikalarına (OCA, OCP, OCM ve OCE) yönelik olarak da alınabilir. Kodu Java101 Java105 Java107 Java108 Adı Amacı JavadilinegirişyapmakveJavaSE JavaileNesneilenesne-merkezli Merkezli programlamanıntemellerini ProgramlamayaGiriş öğrenmek.BueğitimJava’yıhiç (Int.ToOOPwithJava) bilmeyenlertarafındanalınabilir. JavaileNesneJavaSEilenesnemerkezlive Merkezlive fonksiyonelprogramlamayı Fonksiyonel öğrenmek.JavaSE’ninentemel Programlama(OOand bileşenlerineveAPIlerinegiriş Functional yapmak.Exceptions,collections, Programmingwith IO,JDBC,threads,concurrency Java) konulararasındadır. C++ programcılarını Java SE ile nesne-merkezli ve fonksiyonel C++Programcılarıiçin program yazabilecek duruma Java(JavaforC++ getirmek. Eğitim boyunca Programmers) Java’nın C++’tan farklılıkları vurgulanmaktadır. Java101ileJava105'de JavaSEWorkshop öğrenilenlerinpratikbirprojeile uygulanacağıbirworkshoptır.Bu http://www.selsoft.academy Süresi (gün) 5 5 5 5 7 SelsoftAcademy Java110 Java125 amaçla,ihtiyaçlarıbelirlenmişve basitbirtasarımıyapılmışbirATM sistemi,JavaSEile gerçekleştirilecektir. Java101veJava105’te öğrenilenlerinüzerineileriveri İleriJavaProgramlama tabanı,localizsyon,dahaetkin (AdvancedJava sınıfveprogramtasarımı,XML, Programming) networking,RMIgibikonularele alınmaktadır. DahaperformanslıJavakodunun JavaPerformansıve nasılyazılacağıveJavaçalışmaAyarlama(Java zamanıortamınınyüksek Performanceand performansiçin(JVM)nasıl Tuning) ayarlanacağınıöğrenmek. http://www.selsoft.academy 5 3 8 SelsoftAcademy b. JavaEEEğitimleri Kurumsal Java yani Java Enterprise Edition (Java EE) ile ilgili aşağıdaki tabloda verilmiştir. Bu eğitimler Oracle’in Java sertifikalarına (OCA, OCP, OCM ve OCE) yönelik olarak da alınabilir. Kodu Adı Java201 JavaEEileProgramlama (JavaEEProgramming) Java205 JavaileWebProgramlama (WebProgrammingwith Java) Java208 JavaServerFacesileWeb Programlama(Web ProgrammingwithJSF) Java210 EJBProgramlama(EJB Programming) Amacı KurumsalJava(JavaEE)ile programlamayetkinlikleri kazandırmak.Kurumsal Java’nınbileşenleriolan EJB,JPAveJMS’iöğrenmek. JavaEEortamlarında transactionvegüvenlik yapılarınıkurgulamak.Bu eğitimdebiruygulama sunucusukullanılacaktır. Javaileweb programlamayagiriş yapmak.Httpprotokolünü tanımak.JavaEE’ninweb bileşenlerindenServletve JSP’yielebileşenlerini anlayıpMVCtasarımdeseni ileoluşturulanweb mimarileriniöğrenmekve JSF’egirişyapmak Java’nınwebbileşeniolan JSF’iöğrenmek.JSF’inhayat döngüsünü,olaylarınıve bileşenleriyleAJAX kullanımınıöğrenmek. EJBlerilekurumsalJava programlamayıöğrenmek. http://www.selsoft.academy Süresi (gün) 5 6 5 5 9 SelsoftAcademy Java220 JavaEEWorkshop Java225 JavaWebServisleri Programlama (ProgrammingJavaWeb Services) Java228 JavaPersistenceAPI(JPA) Programlama(JPA Programming) Java235 SistemYöneticleriİçinJava (JavaforSystem Administrators) Java108–JavaSE Workshop’tayapılan projeyi,JavaEE bileşenleriyle,kurumsalbir mimaridetekrar gerçekleştirmek.Bu workshoptaEJB,JMS,JPA gibiteknolojilerkullanılarak çokkatmanlıbirJavaEE projesigerçekleştirilecektir. Webservisimimarisini öğrenmekveJava’yı kullanarakSOAPveRest tabanlıwebservislerini geliştirmek. Nesne-ilişkisel uyumsuzluğunuaşmak üzerekurgulanmışolan JavaPersistenceAPI’sini öğrenmekveveritabanı programlamayıJPAile yapmak. TemeldüzeydeJavaveJava yazılımıfarkındalığı,Javaile geliştirilmişsistemlerin çalışmazamanı durumlarınınve performanslarının gözlenmesi,gerekli önlemlerinalınmasıve geliştiricileregeribesleme dönülmesi. http://www.selsoft.academy 5 3 5 5 10 SelsoftAcademy c. FrameworkEğitimleri Java dünyasında en çok kullanılan frameworkleriyle ilgili eğitimlerimiz şunlardır: Kodu Java230 Java238 Adı Amacı Nesne-ilişkisel uyumsuzluğunuaşmak üzerekurgulanmışolan HibernatenativeAPI’sini öğrenmekveveritabanı HibernateProgramlama programlamayıHibernate (HibernateProgramming) ileyapmak.Nesne-ilişkisel eşleştirme,sorgular, transactionlarvecaching elealıancakkonular arasındadır. JavaEEalternatifiolarak Springmimarisininve bileşenlerininöğrenilmesi vekurumsalmimarlerde SpringProgramlama(Spring kullanılması.DI,AOP, Programming) SpringMVCveJPAile transactionyönetimide bueğitiminkonuları arasındadır. http://www.selsoft.academy Süresi (gün) 5 5 11 SelsoftAcademy d. DiğerJavaEğitimleri Java ile ilgili diğer eğitimlerimiz şunlardır: Kodu Java128 Java132 Java135 Adı Amacı Java’yıetkinbirşekilde kullanarakhembakım EtkinJavaProgramlama hemdeperformans (EffectiveJava acısındansağlıklıbirnesne Programming) yapısınasahipveetkin olanyazılımlarınnasıl geliştirileceğiniöğrenmek. GüvenliJavaKodlama GüvenliJavakodu (SecureJavaCoding) yazmak. Java(JavaSE&EE)ileilgili SistemYöneticileriİçinJava sistemyöneticiliğiiçin (JavaforSystem gerekliyetkinlikleri Administrators) kazandırmak. http://www.selsoft.academy Süresi (gün) 3 3 5 12 SelsoftAcademy 4. YazılımMühendisliğiEğitimleri Yazılım Mühendisliği Mühendisliğindeki eğitimleri, süreçlerin teknolojiden eğitimleridir. bağımsız Yazılım olarak, Mühendisliği Yazılım ile ilgili eğitimlerimiz şunlardır: Kodu YM101 YM105 YM106 YM108 Adı Amacı Yazılımhayatdöngüsü, yazılımgeliştirmesüreçleri vemetodolojileri,işve ihtiyaçanalizi,mimarive fonksiyoneltasarım, YazılımMühendisliği kodlama,testveyazılım (SoftwareEngineering) kalitesi,UML,proje yönetimivb.temelYazılım Mühendisliğikonularını öğrenmek.Bueğitimde agileyaklaşımlardaele alınacaktır. UML'ikullanaraknesnemerkezliprensiplerle UMLileNesne-Merkezli yazılımihtiyaçanalizive AnalizveTasarım(Objecttasarımınıöğrenmek. OrientedDesignwithUML) EğitimdebirUMLaracı kullanılacaktır. UML'ikullanaraknesneUMLileNesne-Merkezli merkezliprensiplerle Tasarım(Object-Oriented yazılımtasarımını öğrenmek.Eğitimdebir DesignwithUML) UMLaracıkullanılacaktır. İşveYazılımİhtiyaçları İşveyazılımihtiyaçlarını Analizi(Businessand süreç,işkurallarıvb. SoftwareRequirements kategorilerdeortaya Analysis) koymakveUMLveE-Rgibi http://www.selsoft.academy Süresi (gün) 3 5 5 6 13 SelsoftAcademy YM110 YazılımMimarisi(Software Architecture) YM115 YazılımKalitesi,Testive Kullanılabilirlik(Software Quality,Testingand Usability) YM117 Yazılımİhtiyaçları,Kalitesi veTesti (SoftwareRequirements, Quality,andTesting) YM120 TasarımKalıpları (DesignPatterns) YM130 TemizKod (CleanCode) formalyollarlamodellemek vedokümanteetmek. Programdatoplantı yönetimivesorgulamagibi iletişimbecerilerideele alınacaktır. Yazılımmimarisikavramları lesıkkullanılankurumsal yazılımmimarilerini öğrenmek.Katmanlı yapılar,webmimarileri, distributedmimariler, transactionmimarileri, microservisler,SOA mimarisi,kaliteliAPI geliştirme,vemimari kalıplar(architectural patetrns)eğitiminkonuları arasındadır. Yazılımkalitesivetest kavramlarını,farklıtest yöntemleriveteknikleriyle bütüncülyazılımkalitesi yaklaşımıöğrenmekve geliştirmek. Yazılımihtiyaçlarıilekalite vetestkavramve tekniklerinibiraradave bağlantılıbirşekildeele almak. TasarımŞablonlarıtabanlı düşünmeyetkinliği kazandırmak.GOF’un tasarımşablonlarınıele almakveenönemlivesık kullanılanlarınıteorikve pratikolaraköğrenmek. Okunabilirveanlaşılabilir kodunansılyazılacağını öğrenmek. http://www.selsoft.academy 5 3 5 5 5 14 SelsoftAcademy 5. AgileEğitimleri Agile eğitimleri, genel olarak Yazılım Mühendisliği başlığındaki eğitimlerin, agile (çevik) yaklaşım ve tekniklerine ağırlık veren eğitimleri ve diğer agile eğitimlerinden oluşmaktadır. Agile eğitimlerimiz şunlardır: Kodu AG101 AG105 AG110 Adı Amacı YazılımMühendisliği’ni agileyaklaşımlaelealmak. Yazılımhayatdöngüsü, yazılımgeliştirmesüreçleri vemetodolojileri,işve ihtiyaçanalizi,mimarive AgileYazılımMühendisliği fonksiyoneltasarım, (SoftwareEngineering) kodlama,testveyazılım kalitesi,UML,proje yönetimivb.temelYazılım Mühendisliğikonularını agiletekniklerçerçevesinde öğrenmek. Agileyaklaşımla,işve yazılımihtiyaçlarınıanaliz etmeyiveyönetmeyi öğrenmek.Ayrıcaihtiyaçları userstory,işkurallarıvb. AgileİşveYazılım kategorilerdeortaya İhtiyaçlarıAnalizi(Agile koymakveUMLveE-Rgibi BusinessandSoftware formalyollarlamodellemek RequirementsAnalysis) vedokümanteetmek. Programdatoplantı yönetimivesorgulamagibi iletişimbecerilerideele alınacaktır. AgileTasarım(AgileDesign) Agiletasarımfelsefesinedir http://www.selsoft.academy Süresi (gün) 3 5 5 15 SelsoftAcademy AG115 AgileAnalizveTasarım AG135 TestGüdümlüGeliştirme (Test-DrivenDevelopment) venasılyapılırıöğrenmek. Mimarivefonksiyonel tasarım,agiletekniklerleile nasılyapılırı detaylandırmak. Agileyaklaşımla,işve yazılımihtiyaçlarınıanaliz etmeyi,yönetmeyive tasarımıöğrenmek.Bu eğitimAG105veAG110’un kısaltılarakbirleştirilmiş halidir. Testgüdümlüyazılım geliştirmeyiöğrenmek.Bu çerçevedebirimtesti,mock nesnelervebehaviordrivendevelopment konularıelealınacaktır. http://www.selsoft.academy 5 5 16 SelsoftAcademy 6. EğitimlerinAyrıntılıİçerikleri Bu kısımda, önceki kısımda blok halinde verilen Java SE, Java EE, Yazılım Mühendisiği ve Agile eğitimlerinin içerikleri ayrıntılı olarak verilmiştir. http://www.selsoft.academy 17 SelsoftAcademy Java101 – Java Nesne Merkezli Programlama’ya Giriş (Introduction to Object-Oriented Programming with Java) Eğitim Bilgileri Java Nesne Merkezli Programlama’ya Giriş (Introduction to Object-Oriented Pogramming with Java) İsim Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 5 gün – 30 saat Amaç Edinilecek Yetkinlikler Hedef Kitle Kullanılacak Yazılımlar Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler Açıklama Java diline giriş yapmak ve Temel Java (Java SE) ile nesne-merkezli programlamanın temellerini öğrenmek. Java SE’de yordamsal (procedural) yapıları ve temel seviye nesne-merkezli teknikleri kullanarak program yazabiliyor olmak. Daha önce Java’da programlama yapmamış, Java’ya giriş yapacak yazılımcılar. JDK, Eclipse, Acrobat Reader ve Firefox vb. bir tarayıcı Yok Java105 - Java ile Nesne-Merkezli ve Fonksiyonel Programlama Bu eğitim Java ile ilgili ilk eğitimdir. • • • Konu Başlıkları • • • • • • Introduction to Java Fundamentals of Object-Oriented Programming Java Fundamentals: Data types, variables and objects Operators, loop and decision structures Arrays Encapsulation and basic object structures Information hiding, packages and access modifiers Java API and Javadoc Inheritance http://www.selsoft.academy 18 SelsoftAcademy Java105 – Java ile Nesne-Merkezli ve Fonksiyonel Programlama (Object-Oriented and Functional Programming with Java) Eğitim Bilgileri Java ile Nesne-Merkezli ve Fonksiyonel Programlama / Object-Oriented & Functional Programming with Java İsim Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 30 saat - 5 gün Amaç Edinilecek Yetkinlikler Hedef Kitle Kullanılacak Yazılımlar Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler Açıklama Konu Başlıkları Java ile nesne-merkezli ve fonksiyonel programlamanın ileri konularını öğrenmek. Java SE ile nesne-merkezli ve fonksiyonel program yazabilmek. Java’da giriş seviyesinde bilgi sahibi ya da Java101 Java ile Nesne-Merkezli Programlamaya Giriş’i almış yazılımcılar. JDK, Eclipse, veri tabanı, Acrobat Reader ve Firefox vb. bir tarayıcı. Java101 - Java ile Nesne-Merkezli Programlamaya Giriş Java108 – Workshop/Java110 - İleri Java Programlama/ Java205 - Java ile Web Programlama Bu eğitim Java ile ilgili ikinci eğitimdir. Temel Java (Java SE) yetkinliği için minimum seviye bu eğitimle elde edilir. • Object-Oriented Pogramming with Java • Polymorphism and RTTI • Abstract Classes and Interfaces • Functional programming • Exception handling and assertions • Collections, generics and streams • I/O & File I/O • Threads and Concurrency • Database access with JDBC http://www.selsoft.academy 19 SelsoftAcademy Java107 – C++ Programcıları İçin Java (Java for C++ Programmers) Eğitim Bilgileri C++ Programcıları için Java / Java for C++ Programmers İsim Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 30 saat - 5 gün Amaç Edinilecek Yetkinlikler C++ bilen progamcıları Java ile programlama yapabilir hale getirmek. Java SE ile nesne-merkezli ve fonksiyonel program yazabilmek. Hedef Kitle C/C++ Programcıları Kullanılacak Yazılımlar JDK, Eclipse, veri tabanı, Acrobat Reader ve Firefox vb. bir tarayıcı. Varsa Önkoşul Eğitim - Sonrasında Önerilen Eğitimler Java108 – Workshop/Java110 - İleri Java Programlama/ Java205 - Java ile Web Programlama Bu eğitim katılımcılarının C++ bildiğini var sayar. Ayrıca eğitim her konuda devamlı olarak Java’nın C++’tan farklılıklarını vurgulayarak Java’ya geçisi kolaylaştıracaktır. • Fundamental differences between C++ & Java • Java Fundamentals: Data types, variables and objects • Operators, loop and decision structures • Arrays • Encapsulation, Classes, Packages and Access Modifiers & Differences from C++ • Inheritance, Abstract Classes and Interfaces • Polymorphism and RTTI • Exception handling and assertions • Collections and generics • Functional Programming Açıklama Konu Başlıkları http://www.selsoft.academy 20 SelsoftAcademy Java108 – Java SE Workshop Eğitim Bilgileri İsim Java SE Workshop Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 30 saat - 5 gün Amaç Edinilecek Yetkinlikler Hedef Kitle Java101 - Java ile Nesne Merkezli Programlamaya Giriş ile Java105 - Java ile Nesne-Merkezli ve Fonksiyonel Programlama’da öğrenilenlerin pratik bir proje ile uygulanacağı bir workshoptır. Bu amaçla, ihtiyaçları belirlenmiş ve basit bir tasarımı yapılmış bir ATM sistemi, ilgili teknolojilerle gerçekleştirilecektir. Java SE ile nesne-merkezli programlamada yetkin hale gelmek ve baştan sonra Java ile gerçekleştirilmiş bir proje kültürünü edinmek. Java105 - Java ile Nesne-Merkezli Programlama Kullanılacak Yazılımlar Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler JDK, Eclipse, veri tabanı, Acrobat Reader ve Firefox vb. bir tarayıcı Java105 - Java ile Nesne-Merkezli ve Fonksiyonel Programlama Java110 - İleri Java Programlama / Java205 Java ile Web Programlama Açıklama Konu Başlıkları Workshop ihtiyaçları ve tasarımı yapılmış basit bir ATM uygulaması Java projesi olarak geliştirilecektir. http://www.selsoft.academy 21 SelsoftAcademy Java110 – İleri Java Programlama (Advanced Java Programming) Eğitim Bilgileri İleri Java Programlama / Advanced Java Programming İsim Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 30 saat - 5 gün Amaç Edinilecek Yetkinlikler Hedef Kitle Kullanılacak Yazılımlar Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler Açıklama Konu Başlıkları Java ile daha sağlıklı nesne-merkezli programlama yapabilmek ve Java SE’deki yeni ve ileri bileşenleri öğrenmek. Coupling ve cohesion tabanlı, kalıp merkezli düşünme, fonksiyonel programlama yapabilme ve Java SE 8 ile gelen yenilikleri kullanabilme ve CDI, bean validation, XML işleme gibi özel yetkinlikler. Java’da nesne-merkezli programlama yapabilen ya da Java105’i almış yazılımcılar. JDK, Eclipse, Oracle 10g XE, Acrobat Reader ve Firefox vb. bir tarayıcı Java105 - Java ile Nesne-Merkezli ve Fonksiyonel Programlama Java120 - Tasarım Kalıpları / Java205 - Java ile Web Programlama gibi Java EE eğitimleri Bu eğitim Java SE ile ilgili, Java101 ve Java105’i takip eden bir eğitimdir. • Advanced object-oriented programming with Java and Design Patterns • Functional Programming • Collection & Streams • CDI (Context Dependency Injection) • Bean Validation • Unit Test with JUnit • Reflection • JVM and Memory Management • XML Processing • NoSQL Programming http://www.selsoft.academy 22 SelsoftAcademy Java125 – Java Performansı ve Ayarlama (Java Performance and Tuning) Eğitim Bilgileri Java Performansı ve Ayarlama / Java Performance and Tuning İsim Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 18 saat - 3 gün Amaç Edinilecek Yetkinlikler JVM’in iç yapısını ve çalışma mekanizmalarını öğrenmek. Daha performanslı Java kodunun nasıl yazılacağı ve Java çalışma-zamanı ortamının (JVM) yüksek performans için nasıl ayarlanacağı öğrenmek. Yüksek performanslı Java kodu yazabilmek, Java uygulamalarının performansını iyileştirmek ve bu amaçla JVM’i ayarlayabilmek. Hedef Kitle Tecrübeli programcılar. Kullanılacak Yazılımlar JDK, Eclipse, JMeter, Acrobat Reader ve Firefox vb. bir tarayıcı. Varsa Önkoşul Eğitim Java110 - İleri Java Programlama Sonrasında Önerilen Eğitimler - Açıklama - Konu Başlıkları • • • • • • • • Introduction to Java Performance Monitoring OS Performance Fundamentals of JVM Monitoring JVM GC Schemes JVM Tuning Performance of Java Applications Writing Code for Performance http://www.selsoft.academy 23 SelsoftAcademy Java201 – Java EE Programlama (Java EE Programming) Eğitim Bilgileri İsim Java EE Programming / Java EE ile Programlama Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 30 saat - 5 gün Amaç Edinilecek Yetkinlikler Hedef Kitle Kullanılacak Yazılımlar Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler Açıklama Konu Başlıkları Kurumsal Java (Java EE) yetkinlikleri kazandırmak. Kurumsal Java’nın bileşenleri olan EJB, JPA ve JMS’i öğrenmek. Java EE ortamlarında transaction ve güvenlik yapılarını kurgulamak. Web servislerini öğrenmek. Java EE bileşenlerini kulanarak giriş seviyesinde programlama yapabilmek. Java’da nesne-merkezli programlama yapabilen ya da Java105’i almış programcılar. (Katılımcıların Java’nın web teknolojilerini bilmesi bu eğitim için önemli bir avantaj sağlayacaktır.) JDK, Eclipse, Tomcat ve Glasfish ya da WebLogic vb. bir uygulama sunucusu (application server), veri tabanı, Acrobat Reader ve Firefox vb. bir tarayıcı. Java105 - Java ile Nesne-Merkezli ve Fonksiyonel Programlama ve Java108 - Java SE Workshop Java205 - Java ile Web Programlama / Java208 Java Server Faces Programlama ya da diğer Java EE eğitimleri. Kurumsal Java’ya (Java EE) giriş seviyesinde bir eğitimdir. • Concepts of enterprise architectures • Java EE containers and application servers • EJBs (SessionBeans and Message-Driven Bans) • JPA • Transactions • Messaging with JMS • Security http://www.selsoft.academy 24 SelsoftAcademy Java205 – Java İle Web Programlama (Web Programming with Java) Eğitim Bilgileri Java ile Web Programlama / Web Programming with Java İsim Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 30 saat - 5 gün Amaç Edinilecek Yetkinlikler Hedef Kitle Kullanılacak Yazılımlar Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler Açıklama Konu Başlıkları Java ile web programlamaya giriş yapmak. Http protokolünü tanımak. Java EE’nin web bileşenlerinden Servlet ve JSP’yi ele bileşenlerini anlayıp MVC tasarım deseni ile oluşturulan web mimarilerini öğrenmek. Struts’ı çerçevesini kullanmak. Java’yı kullanarak MVC tasarım desenine uygun web mimarisi kurgulayabilmek ve web programlama yapabilmek. Java’da nesne-merkezli programlama yapabilen ya da Java105’i almış yazılımcılar. JDK, Eclipse, Tomcat gibi bir web sunucusu (ya da WebLogic vb. bir uygulama sunucusu (application server)) Oracle XE 10g, Acrobat Reader ve Firefox vb. bir tarayıcı. Java105 - Java ile Nesne-Merkezli ve Fonksiyonel Programlama Java208 - Java Server Faces (JSF) ile Web Programlama ya da diğer Java EE eğitimleri. Java EE’nin web bileşenlerini ele alan eğitimdir. • • • • • • • Web Paradigm and HTTP Servlets and related objects Session Management JSP Tags, JSTL and EL MVC for Web Applications Web Frameworks and Struts and JSF http://www.selsoft.academy 25 SelsoftAcademy Java208 – Java Server Faces (JSF) Programlama (Java Server Faces (JSF) Programming) Eğitim Bilgileri Java Server Faces (JSF) Programlama / Java Server Faces (JSF) Programming İsim Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 30 saat - 5 gün Amaç Bileşen ve event tabanlı olan JSF’i öğrenmek, yogun GUI içeren web yapıları geliştirmek. Edinilecek Yetkinlikler JSF ile web programlama. Hedef Kitle Kullanılacak Yazılımlar Java’da web programlama yapabilen ya da Java205’i almış yazılımcılar. JDK, Eclipse, Tomcat gibi bir web sunucusu (ya da WebLogic vb. bir uygulama sunucusu (application server)) veri tabanı, Acrobat Reader ve Firefox vb. bir tarayıcı. Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler Açıklama Konu Başlıkları Bu eğitimin başında Http ile Java’nın daha temel web bileşenleri olan servlet ve JSP de ele alınacaktır. • Http, Servlet ve JSP and other web components • MVC pattern in web applications • JSF Architecture & JSF Lifecycle • Navigation • Using Beans and Scopes • Resource Bundles • Events • HTML Components • Validations and Conversions • Internationalization and Customizations • AJAX • JSF Libraries http://www.selsoft.academy 26 SelsoftAcademy Java210 – EJB Programlama (EJB Programming) Eğitim Bilgileri İsim EJB Programlama / EJB Programming Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 30 saat - 5 gün Amaç Java’nın kurumsal bileşeni olan Enterprise JavaBeans’i öğrenmek ve ölçeklenebilir, kurumsal mimariler programlamak. Edinilecek Yetkinlikler EJB ile kurumsal programlama. Hedef Kitle Kullanılacak Yazılımlar Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler Java SE’de tecrübeli olan kurumsal Java programcıları. JDK, Eclipse, Glassfish (ya da WebLogic vb.) bir uygulama sunucusu (application server)) veri tabanı, Acrobat Reader ve Firefox vb. bir tarayıcı. Java105 - Java ile Nesne-Merkezli ve Fonksiyonel Programlama Java228 – Java Persistence API (JPA) Programlama Java225 – Java Web Servisleri Programlama Java220 – Java EE Workshop Açıklama • • • • • Konu Başlıkları • • • • • • • Introduction to Enterprise Architectures Enterprise Computing in Java Session beans: Stateful & Stateless EJBs Singleton EJBs Message-Oriented Middleware and Java Message Service (JMS) Message Driven Beans (MDBs) Transaction Management in EJBs AOP in EJB & Interceptors EJB Timers EJB Web Services EJB Security Performance Issues http://www.selsoft.academy 27 SelsoftAcademy Java215 – Microservisler ile Java 8 Web Uygulaması Geliştirme (Developing Java 8 Web Applications with Microservices) Eğitim Bilgileri Microservisler ile Java 8 Web Uygulaması Geliştirme (Developing Java 8 Web Applications with Microservices) Sınıf içi eğitim/Seminer/Workshop İsim Tür Süre (Saat/Gün) 30 saat - 5 gün Amaç Edinilecek Yetkinlikler Hedef Kitle Kullanılacak Yazılımlar Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler Java SE 8 ile gelen yeni yapıları ve bunları kullanarak microservis tabanlı web uygulaması geliştirmeyi öğrenmek. Java SE 8’in yeni özellikleri ve microservis mimarisi. Java’nın SE’ında ve web bileşenlerinde tecrübeli programcıları. JDK, Eclipse, Tomcat gibi bir web sunucusu (ya da WebLogic vb. bir uygulama sunucusu (application server)), veri tabanı, Acrobat Reader ve Firefox vb. bir tarayıcı. Java105 - Java ile Nesne-Merkezli ve Fonksiyonel Programlama ve Java205 - Java ile Web Programlama Java210 – EJB Programlama Açıklama • • Konu Başlıkları • • • • • • New Features of Java SE 8: Interface Enhancements Functional Programming & Lambda Expressions Built-in Functional Interfaces Collections and Generics Streams Web Sockets Microservice Architecture Microservices with WebSockets http://www.selsoft.academy 28 SelsoftAcademy Java220 – Java EE Workshop Eğitim Bilgileri İsim Java EE Workshop Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 30 saat - 5 gün Amaç Java108 – Java SE Workshop’ta yapılan projeyi, Java EE bileşenleriyle, kurumsal bir mimaride tekrar gerçekleştirmek. Edinilecek Yetkinlikler Java EE bileşenlerini bir projede kullanabilmek. Hedef Kitle Kullanılacak Yazılımlar Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler Java’da web programlama yapabilen ya da Java201 - Java EE ile Programlama’i veya Java210 – EJB Programlama almış yazılımcılar. JDK, Eclipse, Tomcat gibi bir web sunucusu (ya da WebLogic vb. bir uygulama sunucusu (application server)), veri tabanı, Acrobat Reader ve Firefox vb. bir tarayıcı. Java201 - Java EE ile Programlama ile mümkün ise Java205 - Java ile Web Programlama ve Java208 - Java Server Faces Programlama (JSF Programming) - Açıklama Konu Başlıkları Workshop ihtiyaçları ve tasarımı yapılmış basit bir ATM uygulamasının Java108’de gerçeklenmiş halinin, Java EE bileşenleriyle tekrardan programlanması. Bu workshopta web katmanında isteğe bağlı olarak servlet-JSP ya da JSF kullanılacak, iş mantığı için EJB kullanıalak, persistence katmanı için de JPA kullanılacaktır. http://www.selsoft.academy 29 SelsoftAcademy Java225 – Java ile Web Servisi Programlama (Web Service Programming with Java) Eğitim Bilgileri Java ile Web Servisi Programlama / Programming Web Services with Java İsim Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 30 saat - 5 gün Amaç Web servisi mimarisini öğrenmek ve Java’yı kullanarak web servislerini geliştirmek. Edinilecek Yetkinlikler Web Hedef Kitle Kullanılacak Yazılımlar Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler Java’da programlama yapabilen ya da Java105 Java ile Nesne-Merkezli ve Fonksiyonel Programlama (OO and Functional Programming with Java)’yı almış yazılımcılar. JDK, Eclipse, Tomcat, Acrobat Reader ve Firefox vb. bir tarayıcı. Java105 - Java ile Nesne-Merkezli ve Fonksiyonel Programlama Java201 - Java EE ile Programlama. Açıklama • Konu Başlıkları • • • • Concepts and Fundamentals of Web Services XML and its tools such as parsing SOA-based Web Services, server and client, RESTful Web Services, server and client Web Service Security http://www.selsoft.academy 30 SelsoftAcademy Java228 – Java Persistence API (JPA) Programlama (Java Persistence API (JPA) Programming) Eğitim Bilgileri Java Persistence API (JPA) Programlama / (JPA Programming) İsim Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 30 saat - 5 gün Amaç Edinilecek Yetkinlikler Hedef Kitle Kullanılacak Yazılımlar Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler Nesne-ilişkisel uyumsuzluğunu aşmak üzere kurgulanmış olan Java Persistence API’sini öğrenmek ve nesne yoğun modellerin veri tabanı programlamasını JPA ile yapmak. Nesne eşleştirme ve JPA ile nesne lifecycleını yönetme. Tecrübeli Java programcıları ve mimarlar. JDK, Eclipse, veri tabanı, bir JPA ürünü (EclipseLing ya da Hibernate), Acrobat Reader ve Firefox vb. bir tarayıcı. Java105 - Java ile Nesne-Merkezli ve Fonksiyonel Programlama ya da bazı durumlarda Java201 - Java EE Programlama - Açıklama • • • • Konu Başlıkları • • • • • Object-Relational Mismatch and ORM Tools Fundamentals of JPA and Entity Mapping EntityManager API and Object Lifecycle Mappings: 1-1 mapping and Collection mapping Embedded and inheritance mapping Queries: OQL & Native Queries Query API Transactions & Concurrency Caching Performance Issues http://www.selsoft.academy 31 SelsoftAcademy Java230 – Hibernate Programlama (Hibernate Programming) Eğitim Bilgileri Hibernate Programlama / Hibernate Programming İsim Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 5 gün Katılımcı Sayısı (minimummaksimum) 1-10 Amaç Edinilecek Yetkinlikler Hedef Kitle Kullanılacak Yazılımlar Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler Nesne-ilişkisel uyumsuzluğunu aşmak üzere kurgulanmış olan Hibernate’i öğrenmek ve veri tabanı programlamayı Hibernate ile yapmak. Hibernate ile veri tabanı programlama yapabilmek. Java105 - Java ile Nesne-Merkezli Programlama ya da Java205 - Java EE ile Programlama almış ya da tecrübeli programcılar. JDK, Eclipse, Oracle XE 10g, Hibernate, Acrobat Reader ve Firefox vb. bir tarayıcı. Java105 - Java ile Nesne-Merkezli Programlama ya da Java201 - Java EE Programlama Java228 - Java Persistence API (JPA) Programlama Açıklama • Konu Başlıkları • • • • • • • Object-Relational Mismatch and ORM Tools Hibernate Fundamentals Session API and object life cycle Mappings: 1-1 mapping and Collection mapping Embedded and inheritance mapping Queries: : HQL & Native Queries Transactions & Concurrency Caching Performance Issues http://www.selsoft.academy 32 SelsoftAcademy Java238 – Spring Programlama (Spring Programming) Eğitim Bilgileri İsim Spring Programlama / Spring Programming Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 5 gün Katılımcı Sayısı (minimummaksimum) 1-10 Amaç Java EE alternatifi olarak Spring mimarisinin ve bileşenlerinin öğrenilmesi ve kurumsal mimarlerde kullanılması. Edinilecek Yetkinlikler Kurumsal mimarilerde Spring’i kullanabilmek.. Hedef Kitle Kullanılacak Yazılımlar Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler Açıklama Konu Başlıkları Java105 - Java ile Nesne-Merkezli Programlama ya da Java205 - Java EE ile Programlama almış ya da tecrübeli programcılar. JDK, Eclipse, Tomcat gibi bir web sunucusu, veri tabanı, Acrobat Reader ve Firefox vb. bir tarayıcı. Java105 - Java ile Nesne-Merkezli Programlama ya da Java201 - Java EE Programlama Java201 - Java EE Programlama Bu eğitimde Spring 3 yanında Spring 4’ün Boot gibi yapıları ele alınacaktır. • Enterprise Applications and Architectures • Java EE and Spring’s approach • Spring Framework Fundamentals • Dependency Injection • Spring Boot • Aspect-Oriented Programming & AspectJ • Spring MVC • JDBC, JPA and Hibernate with Spring • Some other integrations http://www.selsoft.academy 33 SelsoftAcademy Java128 – Etkin Java Programlama (Effective Java Programming) Eğitim Bilgileri Etkin Java Programlama – Effective Java Programming İsim Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 18 saat - 3 gün Amaç Java’yı etkin bir şekilde kullanarak hem bakım hem de performans acısından sağlıklı bir nesne yapısına sahip ve etkin olan yazılımların nasıl geliştirileceğini öğrenmek. Edinilecek Yetkinlikler Daha basit ve etkin Java kodu yazımı. Hedef Kitle Tecrübeli Java programcıları. Kullanılacak Yazılımlar JDK, Eclipse, Acrobat Reader ve bir tarayıcı. Varsa Önkoşul Eğitim - Sonrasında Önerilen Eğitimler Açıklama Konu Başlıkları Java120 – Java ile Tasarım Kalıpları, Java130 Temiz Kod Eğitimde J. Bloch’ın Effective Java 2nd Ed. kitabından faydalanılmaktadır. • Principles of effective Java coding • General principles • Classes and interfaces • Collections • Exceptions • Threading and concurrency • etc. http://www.selsoft.academy 34 SelsoftAcademy Java132 – Güvenli Java Kodlama (Secure Java Coding) Eğitim Bilgileri İsim Güvenli Java Kodlama – Secure Java Coding Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 18 saat - 3 gün Amaç Güvenli Java kodu yazmak. Edinilecek Yetkinlikler Temel güvenli kodlama, injection ve kriptografi yetkinlikleri. Hedef Kitle Kullanılacak Yazılımlar Java SE ve EE programcıları. JDK, Eclipse, Tomcat gibi bir web sunucusu (ya da WebLogic vb. bir uygulama sunucusu (application server)) veri tabanı, Acrobat Reader ve Firefox vb. bir tarayıcı. Varsa Önkoşul Eğitim - Sonrasında Önerilen Eğitimler - Açıklama - Konu Başlıkları • • • • • • • Fundamentals of Java security JVM security Criptography fundamentals Secure coding princliples Injections and avoidance strategies Web application security OWASP Top 10 http://www.selsoft.academy 35 SelsoftAcademy Java135 – Sistem Yöneticileri İçin Java (Java for System Administrators) Eğitim Bilgileri Sistem Yöneticileri İçin Java (Java for System Administrators) İsim Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 5 gün Katılımcı Sayısı (minimummaksimum) 1-10 Amaç Edinilecek Yetkinlikler Hedef Kitle Java (Java SE & EE) ile ilgili sistem yöneticiliği için gerekli yetkinlikleri kazandırmak. Temel düzeyde Java farkındalığı, Java ekosistemi, Java uygulamalarının çalışma zamanı durumlarının ve performanslarının gözlenmesi, gerekli önlemlerin alınması ve geliştiricilere geri besleme dönülmesi. Java ile geliştirilmiş sistemlerin yönetimini yapan sistem yöneticileri. Varsa Önkoşul Eğitim - Sonrasında Önerilen Eğitimler - Açıklama • • • Konu Başlıkları • • Java ecosystem Java SE’s main components: JDBC, etc. Java EE and enterprise architectures and main components: Servlet, JSP, JSF, EJB, JMS, JPA, JTA, JMX, etc. Performance of Java Applications JVM and its run-time structures: Stack, heap and GC, JVM Tuning http://www.selsoft.academy 36 SelsoftAcademy YM101 – Yazılım Mühendisliği (Software Engineering) Eğitim Bilgileri Yazılım Mühendisliği / Software Engineering İsim Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 18 saat - 3 gün Amaç Edinilecek Yetkinlikler Temel Yazılım Mühendisliği konularını ve yaklaşımlarını öğrenmek. Yazılım geliştirme süreçleri iş ve ihtiyaç analizi, mimari ve fonksiyonel tasarım, kodlama, test ve yazılım kalitesi, UML vb. konularda farkındalık ve temel bilgiler. Hedef Kitle Bir BT rolüyle çalışan herkes. Varsa Önkoşul Eğitim Yok Sonrasında Önerilen Eğitimler YM105 - UML ile Nesne-Merkezli Analiz ve Tasarım Açıklama Konu Başlıkları • • • • • • • • • Software Engineering Software Life Cycle and Processes Requirement Analysis Design Coding Software Quality and Testing Software development methodologies Software Metrics Other Issues http://www.selsoft.academy 37 SelsoftAcademy YM105 – UML ile Nesne-Merkezli Analiz ve Tasarım (Object-Oriented Analysis and Design with UML) Eğitim Bilgileri UML ile Nesne-Merkezli Analiz ve Tasarım / Object-Oriented Analysis and Design with UML Sınıf içi eğitim/Seminer/Workshop İsim Tür Süre (Saat/Gün) Amaç Edinilecek Yetkinlikler Hedef Kitle Kullanılacak Yazılımlar Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler Açıklama Konu Başlıkları 30 saat - 5 gün Bir yazılım projesinde en baştan kodlama safhasına kadar geçen, analiz, fonksiyonel ve mimari tasarım süreçlerini ve UML’i teorik ve pratik uygulamalarla öğrenmek. Yazılım geliştirme süreci anlayışı, analiz, tasarım ve mimari yetkinlikler ve UML. Analistler, yazılım tasarımcıları, yazılım mimarları ve adayları, tecrübeli programcılar ve proje yöneticileri. Bir UML modelleme aracı, Acrobat Reader ve Firefox vb. bir tarayıcı Tercihen YM101 - Yazılım Mühendisliği YM110 - Yazılım Mimarisi YM120 – Tasarım Kalıpları Eğitimin, katılımcılar ve eğitmen arasında yoğun iletişim ve tartışmayla geçmesi beklenmektedir. Eğitimde bir UML modelleme aracı kullanılacaktır. • Software Development Process • UML • Initiating the Project • Requirement Analysis • Use-Case Modelling • Domain Modeling • Software Design • Software Architecture and Models • Design Patterns • Software Development Methodologies http://www.selsoft.academy 38 SelsoftAcademy YM106 – UML ile Nesne-Merkezli Tasarım (Object-Oriented Design with UML) Eğitim Bilgileri UML ile Nesne-Merkezli Tasarım / ObjectOriented Design with UML İsim Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 30 saat - 5 gün Amaç Edinilecek Yetkinlikler Hedef Kitle Kullanılacak Yazılımlar Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler Açıklama Konu Başlıkları Bir yazılım projesinin fonksiyonel ve mimari tasarım süreçlerini, UML’i kullanarak öğrenmek. Yazılımın fonksiyonel ve mimari tasarım yetkinleri ile UML. Yazılım tasarımcıları, yazılım mimarları ve adayları, tecrübeli programcılar ve proje yöneticileri. Bir UML modelleme aracı, Acrobat Reader ve Firefox vb. bir tarayıcı Tercihen YM101 - Yazılım Mühendisliği YM110 - Yazılım Mimarisi YM120 – Tasarım Kalıpları Eğitimin, katılımcılar ve eğitmen arasında yoğun iletişim ve tartışmayla geçmesi beklenmektedir. Eğitimde bir UML modelleme aracı kullanılacaktır. • Software Development Process • UML • Domain Modeling • Functional Software Design • Software Architecture and Models • Design Patterns • Software Development Methodologies http://www.selsoft.academy 39 SelsoftAcademy YM108 – İş ve Yazılım İhtiyaçları Analizi (Business and Software Requirements Analysis) İsim Eğitim Bilgileri İş ve Yazılım İhtiyaçları Analizi (Business and Software Requirements Analysis) Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 36 saat - 6 gün Amaç İş ve yazılım ihtiyaçlarını, süreç, iş kuralları, mimari ihtiyaçlar vb. kategorilerle ortaya koymak, detaylandırmak ve use-case, user stories, UML ve E-R gibi formal yollarla modellemek ve dokümante etmektir. Eğitimde toplantı yönetimi ve sorgulama gibi iletişim becerileri de ele alınacaktır. Ayrıca bu eğitim katılımcılarını IIBA CBAP certifikasına da hazırlamaktadır. Edinilecek Yetkinlikler İş ve yazılım ihtiyaçlarının analiz edilip modellenmesiyle ilgili yetkinlikler. İhtiyaçlardan development ve teste nasıl geçilir, bu eğitimde elde edilecek yetkinlikler arasındadır. Eğitimin sonunda 1 günlük workshop ile öğrenilenler ufak bir proje ile uygulanacaktır. Hedef Kitle İş ve yazılım ihtiyaç (gereksinim) analistleri, sistem analistleri, CBAP Certificationunu hedefleyenler, proje yöneticileri ve analist olmak isteyener. Kullanılacak Yazılımlar Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler Açıklama Konu Başlıkları Bir UML modelleme aracı, Acrobat Reader ve Firefox vb. bir tarayıcı Tercihen YM101 - Yazılım Mühendisliği YM105 – UML ile Nesne-Merkezli Analiz ve Tasarım Eğitimin, katılımcılar ve eğitmen arasında yoğun iletişim ve tartışmayla geçmesi beklenmektedir. • Introduction to Requirements Engineering • Iterative & Incremental Requirements Management Process • Requirements Elicitation & Managing Customer • Modelling Requirements: Use Cases, User Stories & UML • Business Rules, Quality and UI Requirements • Prioritization, Prototyping & Validation • Domain Modelling through Objects & Data Modelling through ER ve FSM Modeling • Requirement Specification & Documentation • Test Cases out of Use Cases http://www.selsoft.academy 40 SelsoftAcademy YM110 – Yazılım Mimarisi (Software Architecture) Eğitim Bilgileri İsim Yazılım Mimarisi / Software Architecture Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 30 saat - 5 gün Amaç Edinilecek Yetkinlikler Hedef Kitle Kullanılacak Yazılımlar Varsa Önkoşul Eğitim Sonrasında Önerilen Eğitimler Yazlım mimarisinin en temel kavramlarını ve tekniklerini ele almak. Kurumsal mimarileri öğrenmek ve tartışmak. Yazılım mimarisi farkındalığı ve en temel bilgi ve becerilerini elde etmiş olmak. Java EE mimarileriyle ilgili temel seviyede bilgi sahibi olmak. Yazılım tasarımcıları, yazılım mimarları ve adayları, tecrübeli programcılar ve proje yöneticileri. Bir UML aracı, Acrobat Reader ve Firefox vb. bir tarayıcı. YM105 - UML ile Nesne-Merkezli Analiz ve Tasarım ya da - Açıklama Konu Başlıkları • • • • • • • • Software Development Process Software Architecture and Its Process Architectural Models and Patterns Tiers and Layers Microservices Integration patterns Data access patetrns Java EE Architectures http://www.selsoft.academy 41 SelsoftAcademy YM115 – Yazılım Kalitesi, Testi ve Kullanılabilirlik (Software Quality, Testing and Usability) Eğitim Bilgileri Yazılım Kalitesi, Testi ve Kullanılabilirlik / Software uality, Testing and Usability İsim Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 18 saat - 3 gün Amaç Edinilecek Yetkinlikler Hedef Kitle Kullanılacak Yazılımlar Yazılım kalitesi ve test kavramlarını, farklı test yöntemleri ve teknikleriyle bütüncül yazılım kalitesi yaklaşımı öğrenmek ve geliştirmek.Kullanılabilirlik farkındalığı oluşturmak. Yazılım kalitesi farkındalığı ile en temel bilgi ve becerilerini elde etmiş olmak. Sistemin fonksiyonel olan ve olmayan özleliklerinin kalitesini ölçmek. Yaızlımları kullanılabilirlik açısından değerlendirmek. Testerlar ve yazılım kalitesi uzmanları yanında iş ve yazılım analistleri ile proje yöneticileri. Bir UML aracı, Acrobat Reader ve Firefox vb. bir tarayıcı. Varsa Önkoşul Eğitim Tercihen YM101 - Yazılım Mühendisliği Sonrasında Önerilen Eğitimler - Açıklama Konu Başlıkları • • • • • • • Yazılım Kalitesi ve Testi’ne giriş Test planlama Test stratejileri Hata yönetimi Test caseleri Test otomasyonu Kullanılabilirlik ve testi http://www.selsoft.academy 42 SelsoftAcademy YM117 – Yazılım İhtiyaçları, Kalitesi ve Testi (Software Requirements, Quality, and Testing) Eğitim Bilgileri Yazılım Kalitesi, Testi ve Kullanılabilirlik / Software uality, Testing and Usability İsim Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 30 saat - 5 gün Amaç Edinilecek Yetkinlikler Hedef Kitle Kullanılacak Yazılımlar Yazılım ihtiyaçları ve kalitesi ile test kavramlarını ve tekniklerini bir arada öğrenmek. Yazılım ihtiyaçlarından kalite ve teste geçiş yapmak. Yazılım ihtiyaçlarını bulup çıkarmak ve formal yollarla dokümante etmek ve doğrulamak. İhtiyaçlardan yazılım kalitesi ve teste geçiş yapmak, test caseleri yazmak. İş ve yazılım analistleri ile testerlar ve yazılım kalitesi uzmanları ile proje yöneticileri. Bir UML aracı, Acrobat Reader ve Firefox vb. bir tarayıcı. Varsa Önkoşul Eğitim Tercihen YM101 - Yazılım Mühendisliği Sonrasında Önerilen Eğitimler - Açıklama Konu Başlıkları Bu eğitim YM108 ile YM115’in karışımı bir eğitimdir. YM108’in ihtiyaçların use case merkezli çıkarılması ve modellenmesi kısımlarıyla YM115’in test startejileri ve planlamasıyla, test caselerin yazılması ve test otomasyonu bu eğitimde bir araya getirilmiştir. • Yazılım ihtiyaçları mühendisliğine giriş • Use case merkezli ihtiyaç belirleme ve modelleme • Test stratejileri ve planlama • Use caselerden test caselere geçiş • Test otomasyonu http://www.selsoft.academy 43 SelsoftAcademy YM120 – Tasarım Kalıpları (Design Patterns) Eğitim Bilgileri İsim Tasarım Kalıpları / Design Patterns Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 5 gün - 30 saat Amaç Edinilecek Yetkinlikler Hedef Kitle Kullanılacak Yazılımlar Tasarım Kalıpları tabanlı düşünme yetkinliği kazandırmak. GOF’un tasarım kalıplarını ele almak ve en önemli ve sık kullanılanlarını teorik ve pratik olarak öğrenmek. Kalıpları, katılımcıların yardımıyla onların iş alanlarındaki problemlere uygulamak. Tasarım kalıbı tabanlı düşünme ve problem çözme. Tasarım kalıplarını kullanarak formal olarak tasarım yapabilmek. Yazılım tasarımcıları, yazılım mimarları ve adayları, tecrübeli programcılar. Eclipse ve katılımcının tercih edeceği dilde kod geliştirmek için IDE, Acrobat Reader ve Firefox vb. bir tarayıcı. Varsa Önkoşul Eğitim Yok Sonrasında Önerilen Eğitimler YM105 - UML ile Nesne-Merkezli Analiz ve Tasarım, YM110 - Yazılım Mimarisi ya da Java EE eğitimleri Açıklama • • Konu Başlıkları • • • • • • Yazılım karmaşıklığı: Cohesion and Coupling Object-Oriented Principles: SOLID & GRASP Concept of Design Pattern GOF Design Patterns Creational Patterns Structural Patterns Behavioral Patterns Other Design Patterns http://www.selsoft.academy 44 SelsoftAcademy YM130 – Temiz Kod (Clean Code) Eğitim Bilgileri İsim Temiz Kod - Clean Code Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 18 saat - 3 gün Amaç Basit,anlaşılırveetkinkodnasılyazılır? Edinilecek Yetkinlikler Daha basit ve etkin kod yazımı. Hedef Kitle Her seviyeden nesne-merkezli dillerle geliştirme yapan programcılar. Kullanılacak Yazılımlar JDK, Eclipse, Acrobat Reader ve bir tarayıcı. Varsa Önkoşul Eğitim - Sonrasında Önerilen Eğitimler YM120 - Tasarım Kalıpları Açıklama Konu Başlıkları Eğitimde verilecek kod örnekleri Java’da geliştirilmiştir. Fakat eğitim herhangi bir nesnemerkezli dile özgü değildir. Eğitimde R. C. Martin’in Clean Code ve Steve MacConnell’in Code Complete kitaplarından faydalanılmaktadır. • Principles of Clean Code • SOLID Principles • Naming, Formatting, Commenting • Effective Classes and Methods • Error Handling • Test-Driven Developement • Unit Testing using JUnit • Refactoring http://www.selsoft.academy 45 SelsoftAcademy AG115 – Test Güdümlü Geliştirme (Test-Driven Development) Eğitim Bilgileri Test Güdümlü Geliştirme – Test-Driven Development İsim Tür Sınıf içi eğitim/Seminer/Workshop Süre (Saat/Gün) 30 saat - 5 gün Amaç Edinilecek Yetkinlikler Hedef Kitle Kullanılacak Yazılımlar Test güdümlü programlama ve geliştirmeyi öğrenmek. Birim testi, mock nesneler, test-first yaklaşımı ve kalite anlayışı. Her seviyeden nesne-merkezli dillerle geliştirme yapan programcılar. JDK, Eclipse, Junit, Mockito, JBehave, Acrobat Reader ve bir tarayıcı. Varsa Önkoşul Eğitim - Sonrasında Önerilen Eğitimler YM120 - Tasarım Kalıpları Açıklama Konu Başlıkları Eğitimde verilecek kod örnekleri Java ve Java’da geliştirilen frameworklerle yazılmıştır. • Fundamentals of Test-Driven Development • Software Complexity Metrics: Cohesion and Coupling • Object-Oriented Principles: SOLID • Code Smells, Refactoring & Principles of Clean Code • TDD as a Design Tool • Unit Testing using Junit • Unit Test best practices • Mock Objects using Mockito • Behavior-Driven Development with JBehave http://www.selsoft.academy 46 SelsoftAcademy 7. İletişim Selsoft Academy (http://www.selsoft.academy), Selsoft Yazılım Danışmanlık Eğitim ve Tic. Ltd. Şti’nin (http://www.selsoft.com.tr) eğitim markasıdır. Selsoft Academy eğitimleriyle ilgili olarak daha ayrıntılı bilgi almak için egitim@selsoft.academy email adresini ya da 533 655 6166 nolu telefonu kullanabilirsiniz. http://www.selsoft.academy 47