@
7805 Öncelikle bir şeyler üretme çabanız için tebrik ederim. Size verilen yanıtların hiçbirisi sizi hedefinizden döndürmesin, moralinizi bozmasın. Bilgilerine başvurduğunuz kişiler, kendi geçmiş deneyimlerini baz alarak size yanıt üretirler.
@
7805 : "bunlara yönelik kasa takip uygulaması yapsak bunuda bir laptop veya tabelete kurup ellerine versek bence baya pratik olur dün akşam benzer bir uygulama buldum ordan yola çıkarak bir kasa takip yazılımı yapsak daha ilgilerini çekeceğini düşünüyorum."
Bir yazılım projesine başlamadan önce, yazılım projesi yaşam döngüsü aşamalarına (SDLC) göz atmakta fayda var;
1- Requirement Gathering and Analysis / Gereksinimlerin belirlenmesi, toparlanması ve detaylı analiz edilmesi gerekir. (İhtiyaç tespiti, hedef kitle, projenin başarılı oldu denilmesi için gereken kriterler, bütçe, maliyetlendirme, lisans masrafları, geliştirici kaynak masrafları)
2- Design / Projenin tasarımı, şekillendirmesi (Teknoloji seçimi, platform seçimi, uygulanacak çözümlerin belirlenmesi, yayınlama masrafları, sürdürebilirlik masrafları)
3- Coding or Implementation / Kodlama veya implementasyon (Proje kurgusu tamam olunca, hangi platformlara yanıt verecek, hangi çözümler uygulanacak, hangi arayüzlerde hangi işlemler ne şekilde çözümlenecek, ve bu sorucukların yanıtlarına göre kod geliştirme)
4- Testing / Test (önce geliştirici testi, kanarya sürüm, sonra kapalı devre alpha-beta testleri, sonra son kullanıcı testleri ve aktif kullanıma hazır hale getirme)
5- Deployment / Yayınlama (uygulamanızın hedef platformu/platformları, hedef kitlesi ve kullanıma erişimi için hangi çözüm nerede ne şekilde yayınlanacak, nasıl ek maliyetler oluşacak veya azalacak, yayınlama otomatik mi manuel mi gerçekleşecek vb.)
6- Maintenance / Muhafaza (@
mrmarman hocamın bahsettiği emeklilik planınız sonrasında veya aktif kod yazmayı bıraktığınızda yaptığınız projenin desteğinin kesilmemesi, güncel mevzuata veya ihtiyaçlara yanıt verebilir olmasının sağlamak, dokümantasyon geliştirmek, clean code kurallarına uymak, kodlama altyapı mimarisini dünya standartlarına göre belirlemek)
Bu aşamalar ve parantez içlerindeki sorulara bakarak nasıl bir yol çizmeniz gerektiği ile ilgili aklınızda fikirler oluşacağı kanaatindeyim. Konuyu netleştirmek adına, seçeceğiniz veritabanının neredeyse hiçbir önemi yok. Yapacağınız çözümü belirlemeden teknoloji ihtiyaç listesi hazırlayıp toparlamak doğru yaklaşım olmaz. Bir ev taşıma planınız var, eşyalar ve iki ev arası mesafe belirli değil, bunu lüks bir otomobil ile taşıyabilirsiniz, ihtiyaçlarınıza daha uygun kamyonet, kamyon, tır gibi seçenekleri de değerlendirebilirsiniz. Kamyon olarak hangi marka olsun? gibi oluyor. Taşınma tarihi, aboneliklerin açılması kapatılması, eşyaları taşımak, resmi işlemleri halletmek, işin finans boyutunu ele almak gibi konular elzem ve daha önemli.
Bana sorarsanız niye Delphi? ile başlarım. Laptop ve tablete "kurulum" dediğiniz anda hem desktop hem mobile desteği gerekiyor. Peki ya web tabanlı yaparsanız? Tüm cihazlar buna yanıt verebilir. Bu durumda, ihtiyaçları belirledikten sonra tüm ihtiyaçlar için en doğru teknolojinin hangisi olacağına bir sonraki adımda (2. adım) karar verin.
Ek-1: @
mrmarman hocamın değerli yorumu altın niteliğinde. O yoruma bonus olarak ekleyebileceğim tek şey;
kamu veya özel sektör, hiç önemli değil, bulunduğunuz poziyon ve görev tanımı ile üreteceğiniz katma değerin size ve çatısı altında çalıştığınız tüzel kişinin buna ne kadar ihtiyacı olduğunu belirlemek olacaktır.