fermanakgun
Ferman AKGÜN
6 posts
Yazılım Geliştirme Uzmanı
Don't wanna be here? Send us removal request.
fermanakgun · 28 days ago
Text
Agile (Çevik) Proje Yönetimi Nedir?
Agile (Çevik) proje yönetimi, hızla değişen müşteri beklentilerine hızlı yanıt vermek amacıyla geliştirilmiş, esnek ve uyum sağlayabilen bir yaklaşımdır. 2001 yılında "Agile Manifesto"nun yayınlanmasıyla birlikte yazılım dünyasında popüler hale gelen Agile yöntemi, özellikle uzun vadeli ve sürekli değişen gereksinimlere sahip projeler için etkili bir çözüm sunar. Agile’ın temel felsefesi, müşteri memnuniyeti odaklı hızlı teslimatlar gerçekleştirmek, sürekli iyileştirmeye odaklanmak ve adaptif bir yaklaşım sergilemektir.
Agile Manifestosu ve Prensipleri
Agile’ın dayandığı temel felsefeyi anlamak için Agile Manifestosu’nda yer alan dört ana ilkeyi göz önünde bulundurmak önemlidir:
Bireyler ve Etkileşimler, Süreçler ve Araçlardan Önce Gelir: İyi bir ekip iletişimi ve etkileşimi, sürecin doğru işlemesi için en önemli faktördür.
Çalışan Yazılım, Kapsamlı Dokümantasyondan Önce Gelir: Kullanılabilir bir ürün geliştirmek, dokümantasyona fazla zaman ayırmaktan daha değerlidir.
Müşteri İşbirliği, Sözleşme Pazarlıklarından Önce Gelir: Müşteri ile sürekli etkileşim halinde olmak, değişiklikleri daha hızlı ele almayı sağlar.
Değişime Tepki Vermek, Bir Planı İzlemekten Önce Gelir: Gereksinimlerdeki değişikliklere uyum sağlamak Agile’ın önemli bir özelliğidir.
Bu değerler, ekiplerin müşteriye daha yakın çalışmasını, her aşamada geri bildirim almasını ve gerektiğinde projenin yönünü değiştirebilmesini sağlar.
Agile Yönteminin Çalışma Süreci
Agile yönteminde çalışmalar, kısa süreli döngüler (iterasyonlar veya sprintler) ile gerçekleştirilir. Bu döngülerin her birinde belirli özellikler geliştirilir, test edilir ve müşteri geri bildirimi doğrultusunda iyileştirilir. Bu süreçlerin en yaygın kullanılanları:
Scrum: Projeyi küçük, yönetilebilir parçalara ayırarak çalışmaya olanak tanıyan bir çerçevedir. Scrum’da Product Owner (Ürün Sahibi), Scrum Master ve takım üyeleri, sprint olarak adlandırılan kısa süreli döngüler boyunca projeyi geliştirir. Her sprint sonunda çalışan bir ürün parçası ortaya konur.
Kanban: Çalışma sürecinin görselleştirilmesine dayanan Kanban, ekiplerin iş yükünü yönetmesine yardımcı olur. Kanban’da her iş, bir tablo üzerinde ilerleyen kartlarla takip edilir. Bu yöntem, ekiplerin anlık olarak iş akışını görmelerini ve darboğazları fark etmelerini sağlar.
Agile Yönteminin Avantajları
Agile yöntemi, birçok proje türünde başarı sağlamaktadır. İşte Agile’ın sağladığı bazı avantajlar:
Hızlı Teslimatlar: Kısa döngülerle geliştirme yapıldığı için müşteriye hızlı ve çalışan bir ürün sunulur.
Sürekli İyileştirme: Her döngüde alınan geri bildirimlerle ürün sürekli olarak geliştirilir.
Esneklik: Değişen müşteri taleplerine anında uyum sağlanabilir.
Müşteri Memnuniyeti: Müşterinin sürece dahil edilmesi ve düzenli geri bildirim verilmesi, müşteri memnuniyetini artırır.
Risklerin Azaltılması: Çalışan yazılım parçaları ile ilerlediği için proje sonunda büyük bir hata veya eksiklikle karşılaşma riski azalır.
Agile Yönteminin Dezavantajları
Agile yöntemi her projeye uygun olmayabilir. İşte bazı dezavantajlar:
Belirsizlik: Proje planlamasında belirsizlik olabileceği için uzun vadeli tahmin yapmak zordur.
Sürekli Geri Bildirim İhtiyacı: Agile’da müşteri ile sürekli etkileşim gerektiğinden, müşteri katılımı her zaman mümkün olmayabilir.
Dokümantasyon Eksikliği: Sürece odaklanarak ilerlediği için kapsamlı dokümantasyon bazen ihmal edilebilir.
Ekip Büyüklüğü ve Bağımsız Çalışma İhtiyacı: Agile, genellikle küçük ve kendi kendini yöneten ekipler için daha etkilidir; büyük ölçekli projelerde uygulanması karmaşıklaşabilir.
Agile Yönteminin Uygulama Alanları
Agile proje yönetimi, aşağıdaki durumlarda tercih edilen bir yöntemdir:
Gereksinimlerin sık sık değiştiği projelerde.
Müşterinin projeye aktif olarak katılabildiği durumlarda.
Yazılım geliştirme, ürün yönetimi gibi sürekli iyileştirme gerektiren projelerde.
Hızlı teslimat gerektiren ve kullanıcı geri bildirimine açık olan projelerde.
Sonuç
Agile proje yönetimi, günümüzde dinamik ve değişken iş gereksinimlerine yanıt verebilmek için en yaygın kullanılan yöntemlerden biridir. Özellikle müşteri odaklı çalışmayı teşvik etmesi ve değişime açık olması, onu modern projeler için cazip hale getirmektedir. Ancak her projenin kendine özgü gereksinimleri olduğu unutulmamalı ve Agile'ın hangi projelerde uygulanmasının daha faydalı olacağı dikkatlice değerlendirilmelidir.
0 notes
fermanakgun · 28 days ago
Text
Waterfall (Şelale) Proje Yönetimi Nedir?
Waterfall (Şelale) proje yönetimi, 1970'lerde Dr. Winston W. Royce tarafından yazılım geliştirme projeleri için tanıtılan bir yöntemdir. Bu yaklaşım, her bir sürecin belirli bir sırayla ilerlediği ve tamamlandıktan sonra bir sonraki aşamaya geçildiği adım adım bir yapıya sahiptir. "Şelale" terimi, aşamaların birbirini takip eden bir akışa sahip olması nedeniyle kullanılmaktadır. Bu yöntemde, bir aşama tamamlanmadan diğerine geçilmez, bu da sürecin baştan sona planlanmasını ve her adımın belirli bir sonuca ulaşmasını sağlar.
Waterfall Modelinin Aşamaları
Waterfall modelinde tipik olarak altı ana aşama bulunur:
Gereksinim Analizi (Requirement Analysis): Projenin ilk aşamasında, müşteri ya da paydaşlardan alınan bilgiler doğrultusunda gereksinimler belirlenir. Tüm iş gereksinimleri detaylı olarak dökümante edilir ve projenin kapsamı bu aşamada netleştirilir.
Sistem Tasarımı (System Design): Bu aşamada, proje gereksinimlerine uygun bir sistem tasarımı oluşturulur. Veritabanı yapısı, yazılım mimarisi, kullanılacak teknolojiler ve bileşenlerin nasıl etkileşeceği planlanır.
Uygulama (Implementation): Tasarım tamamlandıktan sonra geliştirme süreci başlar. Yazılım ekipleri, belirlenen tasarımlara göre kodlama yaparak ürünü oluşturmaya başlar.
Doğrulama ve Test (Verification and Testing): Yazılım geliştirme tamamlandığında, kalite kontrol aşaması başlar. Bu aşamada, tüm işlevlerin gereksinimlere uygun çalışıp çalışmadığı test edilir. Hatalar bulunursa düzeltilir ve yeniden test edilir.
Dağıtım (Deployment): Yazılım, testleri geçtikten sonra müşteri ya da kullanıcılara sunulur. Canlıya alındıktan sonra yazılımın dağıtımı yapılır.
Bakım (Maintenance): Yazılım kullanıma sunulduktan sonra kullanıcı geri bildirimlerine göre iyileştirmeler ve bakım çalışmaları yapılır.
Waterfall Modelinin Avantajları
Waterfall modelinin bazı avantajları şunlardır:
Net bir yapı sağlar: Aşamalar belirli ve sıralıdır, bu da proje yönetimini daha kolay hale getirir.
Dokümantasyon önemlidir: Her aşamanın sonunda kapsamlı bir dokümantasyon yapılır, bu da projenin ilerleyişini anlamayı kolaylaştırır.
Başlangıçta net gereksinimler: Gereksinimler başta net olarak belirlendiği için sonradan değişikliklerin yapılmasına gerek kalmaz.
Waterfall Modelinin Dezavantajları
Waterfall modelinin bazı zorlukları ve dezavantajları da vardır:
Esnek değildir: Aşamalar arasında geri dönüş yoktur; bu nedenle gereksinimlerde bir değişiklik olursa tüm süreci yeniden başlatmak gerekebilir.
Sonucu erken görmek zordur: Test aşaması projeyi büyük oranda tamamladıktan sonra gerçekleştiği için hataların erken saptanması zordur.
Uzun vadeli projelere uygun olmayabilir: Waterfall modeli uzun projelerde esneklik sorunları yaratabilir, çünkü her aşamada geri dönüş olmadığı için değişikliklere ayak uydurmak zorlaşır.
Hangi Durumlarda Waterfall Modeli Kullanılmalı?
Waterfall modeli, genellikle aşağıdaki durumlarda tercih edilir:
Gereksinimlerin baştan net bir şekilde belirlendiği projelerde.
Müşteri tarafından sonradan değişiklik yapılmasının istenmediği projelerde.
Sağlık, savunma sanayi gibi yüksek güvenlik gerektiren projelerde.
Düşük bütçeli ve kısa süreli projelerde.
Sonuç
Waterfall modeli, proje yönetiminde geleneksel bir yaklaşımdır ve gereksinimlerin net olduğu, değişiklik ihtiyacının az olduğu projelerde başarıyla kullanılabilir. Ancak esnek yapılar gerektiren, dinamik gereksinimlere sahip projeler için Agile gibi daha çevik yöntemler tercih edilmektedir. Bu nedenle, proje gereksinimleri göz önüne alınarak doğru proje yönetim modelinin seçilmesi oldukça önemlidir.
0 notes
fermanakgun · 29 days ago
Text
SIT, UAT, Preprod ve Prod Ortamları Nedir?
Yazılım geliştirme projelerinde başarılı bir ürün teslimatı ve uygulama güncellemeleri için farklı ortamlar kullanılır. Her ortam, geliştirme sürecinin farklı aşamalarını destekler ve yazılımın kalite, güvenlik ve işlevsellik açısından kontrol edilmesini sağlar. Bu blog yazısında, sıkça kullanılan dört önemli ortam olan SIT (System Integration Testing), UAT (User Acceptance Testing), Preprod (Pre-Production) ve Prod (Production) ortamlarını inceleyeceğiz.
1. SIT (System Integration Testing) - Sistem Entegrasyon Testi
SIT, yazılım bileşenlerinin birbirleriyle nasıl etkileşimde bulunduğunu test etmek için kullanılan ortamdır. Geliştirme sürecinde bağımsız olarak geliştirilen modüller ve servislerin bir araya getirilerek test edilmesini sağlar.
SIT Ortamının Özellikleri:
Entegrasyon Odaklıdır: Modüllerin birbirleriyle doğru bir şekilde çalışıp çalışmadığını kontrol eder.
Veri Tutarlılığı: Gerçek kullanıcı verisiyle çalışmasa da, veri akışlarının ve senkronizasyon süreçlerinin doğru çalıştığından emin olunması için test verisi kullanılır.
Hataların Erken Tespiti: Entegrasyon sırasında oluşabilecek hatalar erken tespit edilerek, diğer test aşamalarına geçmeden önce giderilir.
SIT Testinde Neler Test Edilir?
Veri akışları ve sistem entegrasyonları
Servisler ve mikro servislerin etkileşimi
Farklı sistem bileşenleri arasındaki hata ve performans uyumu
2. UAT (User Acceptance Testing) - Kullanıcı Kabul Testi
UAT, yazılımın son kullanıcılar veya iş analistleri tarafından onaylandığı, yazılımın müşteri gereksinimlerini karşılayıp karşılamadığının değerlendirildiği aşamadır. Bu aşamada, yazılımın gerçek dünya senaryolarında kullanıcı beklentilerine uygun çalışıp çalışmadığı test edilir.
UAT Ortamının Özellikleri:
Kullanıcı Odaklıdır: Yazılımın, gerçek kullanıcıların ihtiyaçlarını karşıladığından emin olmak için hazırlanır.
İş Gereksinimlerini Karşılar: İş analistleri veya son kullanıcılar tarafından test edilerek, yazılımın belirlenen gereksinimleri karşıladığından emin olunur.
Hata ve Eksiklik Tespiti: Kullanıcı deneyimindeki eksiklikler veya sorunlar tespit edilir.
UAT Testinde Neler Test Edilir?
İşlevsellik ve kullanılabilirlik
Kullanıcı senaryoları ve kullanıcı deneyimi
İş gereksinimleri ile uyumluluk
3. Preprod (Pre-Production) - Ön Üretim
Preprod ortamı, üretim ortamına en yakın ortamdır ve yazılımın üretim ortamında nasıl çalışacağını görmek için son bir adım olarak kullanılır. Bu ortamda, yazılımın kullanıcıya sunulmadan önce üretim sistemine en yakın koşullarda çalıştığından emin olunur.
Preprod Ortamının Özellikleri:
Üretim Benzeri: Prod ortamına olabildiğince yakın bir yapı sunar.
Son Kontrol Aşaması: Prod ortama geçmeden önce yazılımın son testleri yapılır.
Gerçek Kullanıcı Verisi Yoktur: Genellikle, gerçek kullanıcı verisinin yerine benzer yapıda test verisi kullanılır.
Preprod Testinde Neler Test Edilir?
Performans testleri ve yük testi
Güvenlik ve erişim testleri
Uygulama davranışlarının prod ortamında nasıl olacağı
4. Prod (Production) - Üretim
Prod ortamı, son kullanıcıların eriştiği ve yazılımın canlı olarak çalıştığı ortamdır. Bu ortamda yazılım artık son kullanıcılara sunulmuş olur ve herhangi bir değişiklik veya güncelleme doğrudan kullanıcı deneyimini etkiler.
Prod Ortamının Özellikleri:
Kullanıcı Erişimli: Son kullanıcıların doğrudan erişebildiği ortamdır.
Gerçek Kullanıcı Verisi Kullanır: Gerçek kullanıcı verileriyle çalışır.
Sürekli İzleme Gerekir: Uygulama performansını, güvenliğini ve kullanılabilirliğini sürekli izlemek önemlidir.
Prod Ortamında Neler Gözlemlenir?
Kullanıcı yükü ve sistem performansı
Güvenlik açıkları ve veri güvenliği
Kullanıcı deneyimi ve memnuniyeti
Ortamların Birbirine Bağlantısı
Yazılım geliştirme sürecinde SIT, UAT, Preprod ve Prod ortamlarının her biri, belirli bir aşamada yazılımın kalitesini sağlamak için kritik bir rol oynar. Ortamlar arasındaki geçişler, geliştiricilerin ve test ekiplerinin işbirliği içinde çalışmasını ve yazılımın kalitesinin arttırılmasını sağlar.
Sonuç
Her ortam, yazılımın farklı açılardan test edilmesini ve geliştirilmesini sağlar. Yazılımın güvenli, işlevsel ve kullanıcı beklentilerine uygun şekilde çalışması için bu ortamların her birinin dikkatlice hazırlanması ve yönetilmesi, yazılım geliştirme sürecinde başarıyı getirir.
0 notes
fermanakgun · 8 months ago
Text
Xiaomi 70mai a500s pro plus inceleme
Merhabalar,
70mai a500s pro plus araç kamerası satın alıp bir ay kadar deneme fırsatım oldu. Satın alacak olanlara fikir vermesi için yorumlarımı ve tecrübelerimi paylaşmak istiyorum.
Okumaya üşenenler için kısaca ürün 10/10 üründür.
Ürünü RC06 Arka Kamera ve Xiaomi 70MAI UP02 Park Modu Kiti ile birlikte satın aldım.
Detaylara geçelim...
Genel özelikleri
Kamera maksimumm 128 gb hafıza kartı destekliyor. Kamera kutusu içerisinden çıkmadığı için ayrıca satın almanız gerekiyor.
Hafıza kartını dilerseniz daha düşük tercih edebilirsiniz. Cihaz 2k video kaydetmektedir. Hafıza kartında yer kalmadıkça en eski videoları silerek yeni videoları kayıt etmektedir.
Mobil Uygulaması 70 Mai
70mai uygulamasını apple store'da bu linkten, android play store'da bu linkten indirebilirsiniz.
Wi-Fİ özeliği
Cihazın kendi wifi spot özeliği bulunmaktadır. Telefonunuza 70mai uygulamasını yükleyerek spot wifi ağına bağlandığınızda kameraya wifi ile anında bağlanabiliyorsunuz.
Kameraya wifi ile bağlandığınızda canlı görüntüyü görebiliyorsunuz, kaydedilmiş videoların emergency-timelapse-parking survey ve normal olarak klasörlenmiş şekilde görüntülenebiliyor.
Acil durum kayıt özeliği
Araç stop halde ya da seyir halindeyken kaza modunu tetikleyecek bir sallantı olursa otomatik olarak acil olarak videoyu işaretliyor.
Bu acil olarak işaretlenen videolar ayrı bir klasörde depolanıyor ve siz silmediğiniz sürece otomatik olarak silinmiyor.
Otomatik acil olarak işaretleyebildiği gibi kendiniz de kamera üzerindeki butona tıklayarak o anda çekilen videoyu acil olarak işaretleyebiliyorsunuz.
Time lapse Modu
Park Gözetim modu, Time lapse modu, park modu gibi gibi isimlendiriliyor. Cihazın en beğendiğim özeliği bu modunun olmasıdır.
Bu modu aktifleştirebilmek için park modu kitini de satın almalısınız.
Kamera normalde çakmaklıktan ya da aküden(araç sigorta panosundan) güç alarak bağlayabiliyorsunuz. Fakat time lapse modu için doğrudan araç sigortasından bağlanması gerekiyor.
Sürekli aküden güç alacağı için aküyü bitirmez mi diye sorarsanız bu cihazın pahalı olması galiba bu sebepten, akü belirli seviyenin altına düşerse cihaz aküden beslenmeyi durduruyor.
youtube
Time lapse modunda video çekilirken eğer sallanır ya da yüksek sese maruz kalırsa otomatik olarak normal video çekmeye başlıyor.
Time lapse modu her 30 dakikayı 1 dakikaya sığacak şekilde çekiliyor. Dilerseniz ayarlardan timelapse modu kapatabilirsiniz.
Kesinlikle park modu kitini almanızı tavsiye ederim. Yoksa cihazın en sevdiğim özeliği olan timelapse video modunu kullanamıyorsunuz.
GPS özelikleri
Kameranın içerisine gömülü gps bulunduğu için dilerseniz videolarının sağ alt tarafına enlem/boylam şeklinde konumunun gösterilmesini ayarlayabilirsiniz.
GPS 'den alınan hız bilgisi de dilerseniz aynı şekilde video alt detayında gösterilmesini ayarlayabilirsiniz.
Ek olarak video 'ya eklenen 70mai marka logosunun da gizlenmesini yine ayarlardan ayarlayabilirsiniz.
Aracımda yeni araçlarda olduğu gibi yolculuk süresi gösterilmiyor. Kamera sayesinde yolculuğun ne kadar sürdüğünü, kaçta başlayıp kaçta bittiğini, ortalama hız gibi ve harita üzerinde animasyonlu gösterimi sağlanıyor.
0 notes
fermanakgun · 8 months ago
Text
Ford Sync 3 Güncelleme
Merhaba,
Ford markalı sync 3 donanımına sahip bir aracınız varsa sync 3 'ün versiyonunu yükseltebilirsiniz.
Yükseltmek için "https://www.ford.com/support/sync-maps-updates/" adresine gitmelisiniz.
Tumblr media
Açılan websitedeki yukarıdaki resimde kırmızı ok ile gösterilen "Enter Your Ford VIN" kısmına aracınızın şasi numarasını girmelisiniz.
Aracınızın şasi numarasını bulabilmek için aracınızın ruhsatına bakabilirsiniz ya da SYNC 3 'deki SYNC Hakkındaki kısımda aşağıdaki resimde işaretli kısımda bulabilirsiniz.
Tumblr media
Şasi no yu girdiğinizde güncelleme dosyasını indirmeniz gerekmektedir.
Güncelleme için dosyayı ilgili siteden indirin.
Bir flash belleği (önerilen 16-32 GB) exfat olarak biçimlendirin.
indirdiğiniz zip içerisindeki klasörün içindeki tüm dosyaları biçimlendirdiğiniz flash belleğin içine kopyalayın.
Kopyalama işlemi bittiğinde aracınızı çalıştırıp flash belleği aracınıza takın. Tahmini 15-30 dakikada güncelleme tamamlanıyor.
Başladığında yukarıdaki saatin yanında sistem güncelleniyor mesajı göünüyor. Bu mesaj bitene kadar aracınızı stop etmeyin.
Güncelleme tamamlandığında ekranda güncelleme başarıyla tamamlandı mesajı görünmektedir. Tamam butonuna basıp aracınızı kapatıp kilitleyip tekrar aracınızı açıp sync açtığınızda versiyonun yükseldiğini görebileceksiniz.
Bu versiyon ford'un verdiği en güncel versiyondur.
Resmi olmayan bir güncelleme daha var. ben kendi aracım için onu da yaptım. İlerleyen zamanlarda onunla ilgili de yazı oluşturacağım.
Ben kendi yaptığım adımları paylaşıyorum. Ben sorun yaşamadım fakat sizin de sorun yaşamayacağınızı garanti edemem. Emin olmadığınız hiçbir işlemi yapmayın.
0 notes
fermanakgun · 5 years ago
Text
Web API JSon veri döndürme
Varsayılan olarak XML dönen Web API nin Json veri döndürmesi için;
Projemizde bulunan App_Start klasörünü altında ki WebApiConfig.cs class’ında
config.Formatters.JsonFormatter.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented; config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
değişikliğini yaptığımız zaman artık Json veri dönüşümü sağlayabiliriz.
1 note · View note