Yazılım Projesi Nasıl Hazırlanır ? |
Elektrikport Akademi
Bir yazılım projesi yapmak istiyoruz. Amacımız makinenin her dediğimizi yapması peki bunu nasıl mı yaptırırız ? Yazımızda...
28.02.2013 tarihli yazı 98205 kez okunmuştur.
Programlama her sisteme uygulanabilecek bir kavramdır. Beyaz eşyalara, makinelere, elektrikli araçlara her sisteme uygulanır. Çamaşır makinelerinde pamuklu, sentetik yıkama ayarları. Mikrodalga fırınlardaki bekleme süreleri ve bunun gibi her hangi bir sisteme programlama uygulanabilir. Şu an da kullandığınız bilgisayarın ya da telefonun da tüm yapısı programlama ile alakalıdır.
Bir problemi çözmek istiyoruz ve istediğimiz doğrultusunda verileri girerek makineyle iletişime geçiyoruz, kodlanan makinede bize istediğimizi yaptırıyor. Farklı farklı programlama dilleri var ancak amaç hep aynıdır. Makineye istediğini yaptırmak.
Programlama Süreci Şu Ana Başlıklarla İncelenir.
►Problemin Tanımlanması
►Gerekli Analizlerin Yapılması
►Programın Tasarlanması
►Programın Kodlanması
►Programın Değerlendirip Test Edilmesi
►Gerekli Dökümantasyonun Yapılması
Yazılım projesine başlanmadan önce bu yöntemler belirlenir. Üzerinde çalışılan projeye bağlı bu adımlar aylarca sürebilir.
Problemin Tanımlanması
Programı tanımlamamız verilenleri istenenleri bir köşeye yatırmamızla alakalıdır. Demek istediğim gerçekten müşterinin tam olarak ne istediğini anlamamışsanız. Daha sonraki proje adımlarını boşuna yapmış olacaksınız. İlk başta projenin sonucunde ne isteniyor onu çok iyi anlayıp kestirmek lazım. Bu proje tanımını yapmazsak bunca emek ziyan olur çünkü çalışan ama istenileni yapmayan bir program oluşturmuş oluruz. Sorulabilecek her soruyu projeyi isteyene sormalıyız gerek müşteriye gerek kendimiz yapıyorsak projeyi kendimize sormalıyız. Neyi amaçlıyorum ? Proje opsiyonlumu daha sonra esneklik kazanabilecek mi ? Yapılan hatalar rahatça çözülür mü ? Tasarımı nasıl olsun, fonksiyonlar nasıl olsun ? İlerde başka eklentiler de olacak mı ? Sorulabilecek her soruyu bu esnada sormak ve proje tanımını tam anlamıyla yapmak gerekmektedir. Aklımızda hiç bir şüphe ve anlaşılmadık durum kalmamalı ki biz hedefe doğru yoldan ilerleyelim.
Proje tanımını yaptıktan sonra problemleri çözmeye hazırız demektir. Daha sonra gereken analizleri yapmalıyız. Yazacağımız programı kim kullanacak ? Hangi yaş grubu, akademiyenler mi öğrenciler mi ? Teknik elemanlar mı yoksa sıradan vatandaş mı ? Önce programı kim kullanıcak onu belirlememiz ve analizini gerçekleştirmeliyiz.
Daha sonra maliyet analizi yapmalıyız bilirsiniz mühendisliği temel olayı bu. Maliyet analizi, eğer tam anlamıyla yapılmamışsa o projede büyük sıkıntılar doğabilir, proje geç bitebilir, yarım kalabilir, eksik kalabilir. Araştırmalarıma göre maliyet hesabı iyi yapılmadığı için bir çok proje yarım kalmıştır ve bu projeler yüzünden bir çok proje ekibi dağılmıştır. Sonuç olarak problemin tanımından sonra analizlerinide yapmak önem arzediyor.
Problemi tamamladık, analizlerini yaptık. Sıra geldi projenin tasarlanmasına.
Programlamasının akış diyagramını oluşturmak, yazacağımız kodlar için programın algoritmasını belirlemekten bahsediyorum. Algoritma bir programı yazmak için kullanıcağımız mantıki yoldur. En basit fonksiyonlar bile bir mantık çerçevesinde yapılır. Bu da bize algoritmeyı gerekli kılıyor. Algoritmayı nasıl yapacağımızın neleri tercih edeceğimizin belli başlı etkenleri vardır. Mesela ; program performansının ne kadar olduğu, kullanıcağımız sistem, güvenlik ve programın ne ölçüde kritik işler yapacağı gibi.
Algoritma belirlemek yanında program kodlarının parçalar halinde yazılacağının belirlenmeside önemlidir. Ayrı fonksiyonları kümeleyip daha sonra birleştirileceği planlanır. Kullanıcıdan inpur isteniyor mu program output verecek mi ? Random mı yapacak ? İlk başta hangi fonksiyon çalışacak, ne zaman duracak ? Fonksiyon sıraları ve bir çok kör noktada kalan mantık hataları ilk başta düşünülür ve bir süzgeçten geçirilerek. Programın tasarımı ortaya çıkmış olur. Programın tasarımı bittikten sonra sıra geldi programı kodlama işlemine.
Program tanımına ve tasarısına göre programı kodlarız. Verilenler istenenler derken elimizde şunlar var. Verilen olarak ; problemin tanımı, programın algoritması ve programlama dilinin kodları, istenenler ise projenin amacı, biliyorsunuz makine dediğimizi yapıcaktır. Kodlama işlemi çeşitli şekillerde yapılabilir. Algoritmamızı herhangi bir programlama diline uygulayabiliriz. Ancak işleyiş aynı da olsa programlama dilleri arasında farklar vardır. En yaygın programlama dillerini biliyorsunuz. C, C#, Java, Matlab, vs. Program dilimizi seçerkende projenin amacına uygun seçmeliyiz. Bunun için program dili nasıl seçilir yazımızı okumanızı tavsiye ederim. Kodlama aşamasında da algoritma izenerek işlem yapılır. Kullanıcıdan gereken verilerin alınması için bir kod yazılır. Bu verilerle fonksiyonun oluşması için bir kod daha yazılır daha sonra bu sonuç gerek ekrana yazdırılır gerekse farklı bir işlem yapılarak iletilir. Kodlama işi makine ile aramızdaki iletişimi oluşturur.
Kodlama kısmı bittikten sonra programımızı çalıştırırız. Büyük ihtimalle bazı hatalar olur. Mantık hataları ve syntax hataları gibi kodlama hataları olacaktır, hep olmuştur. Ancak unutmayın önemli olan hatasız kod yazmak değil hataları düzeltebilmektir. Gerekte kod yazmak için harcadığımız sürenin büyük bir kısmını hata ayıklamaya ayırırız. Bu hata ayıklama süreci işin en zor ve en sıkıcı kısmıda olsa asıl programlayıcı bu kısımda ortaya çıkar. Çünkü hatalardan arınmış bir program artık hazır demektir ve iş bitmiştir. Hatalardan ayrılmazsa eğer program hiç bitmemiş demektir pekte işe yaramaz, hep özürlü bir çalışma olarak kalacaktır. Bu durumda hata ayıklamada sabır gösteren ve bu işi beceriyle yapan yazılımcılar tercih sebebidir. Tam donanımlı mühendis olmak için yapılması gerekler yazısını bu linkten okuyabilirsiniz.
Programımız artık çalışıyor, tüm işlemler bitti. Problemi tanımladık ve analizini yaptık. Algoritmasını oluşturarak programı tasarladık. Kodları yazdık ve debugları ayıkladık. Temiz ve mantıklı çalışan bir program elde ettik. Sıra geldi ; Dökümantasyon hazırlamaya. Bu kısım proje hazırlama kısmı gibi yaptıklarımızı dökümana dökmek ilerde geliştirmek ve satışını gerçekleştirmek için gerekli olan kızımdır. Daha çok arşive ve pazarlamaya yönelik olur. Çünkü kaydı tutulmayan veriler kaybolup gider. Dökümantasyonunu hazırlayıp çalışmamızı sunabiliriz. İlk başta program hakkında genel bilgiler verilir, program ne amaçladı, ne tür veriler kullandı, ne tür formatlarda oluşturuldu, ne tür çıktılar üretti, algoritması çalışma biçimi akış diyagramı, performansı ve gelecek eklentiler, eksik yanları en zon bu program nasıl kullanılır ? Bu konular hakkında dökümanlar hazırlanır. Yazılım firmalarında bu işi yapan ayrı uzmanlar bulunur. Bu kişiler programı kontrol eder ve değişik platformlarda denerler. Program test edilir, bu işlerler rapor tutulur. Eksikler giderilmesi için yazılım ekibine gönderilir. Program tam anlamıyla tamamlandığında veriler dökümante edilir. Programlar baştan sona kadar tüm haliyle hazır hale getirilir. Artık paket bir program konumundadır.
Bu dökümantasyon kısmı da hata ayıklama süreci gibi pek dikkate alınmayan ve sevilmeyen kısımdır. Ancak asıl programı program yapan kısımlar, gelişmesini sağlayacak ve geleceğinin olduğunu ispatlayacak kısımlar bu kısımlardır. Daha çok zaman alsada kaliteli bir iş çaıkarmak için gerekli olan kısımlardır. Mesela, 5000 satırlı bir program yazdık ve bu programı aradan belli bir zaman geçtikten sonra yinelemek istiyoruz. Kodlara ek kodlar ekleyeceğiz programa bir kaç değişiklik yapacağız veyahut yeni özellikler ekleyeceğiz.
Eğer dökümantasyon yapmazsak bu işi çok uzun sürede yapabiliriz belkide yapamayız. Bu programı düzenlemek yerine tekrar yazmak bile daha kolay olabilir.
Ancak elimizde bir dökümantasyon varsa bu ekleme düzenleme işlerini çok kısa sürede tamamlayabiliriz. Üstelik dökümantasyonu olmayan bir başkasının yazdığı kodlar üzerinde çalışmakta çok zordur. Bu sebeple programın geleceği için dökümantasyon önemlidir. Sonuç olarak zaman kaybı olarak görülmemeli dökümantasyonu olmayan bir programın ilerde firma için büyük sorunlar çıkaracağını bilmeliyiz.
Bu yazı dizimizde adım adım programlama nasıl yapılır inceledik. Bir sonraki yazımızda " Kısa zamanda çok fonksiyonlu bir program nasıl yazılır ?" yazısını inceliyeceğiz.
Gerekli Analizlerin Yapılması
Proje tanımını yaptıktan sonra problemleri çözmeye hazırız demektir. Daha sonra gereken analizleri yapmalıyız. Yazacağımız programı kim kullanacak ? Hangi yaş grubu, akademiyenler mi öğrenciler mi ? Teknik elemanlar mı yoksa sıradan vatandaş mı ? Önce programı kim kullanıcak onu belirlememiz ve analizini gerçekleştirmeliyiz.
Daha sonra maliyet analizi yapmalıyız bilirsiniz mühendisliği temel olayı bu. Maliyet analizi, eğer tam anlamıyla yapılmamışsa o projede büyük sıkıntılar doğabilir, proje geç bitebilir, yarım kalabilir, eksik kalabilir. Araştırmalarıma göre maliyet hesabı iyi yapılmadığı için bir çok proje yarım kalmıştır ve bu projeler yüzünden bir çok proje ekibi dağılmıştır. Sonuç olarak problemin tanımından sonra analizlerinide yapmak önem arzediyor.
Programın Tasarlanması
Problemi tamamladık, analizlerini yaptık. Sıra geldi projenin tasarlanmasına.
Programlamasının akış diyagramını oluşturmak, yazacağımız kodlar için programın algoritmasını belirlemekten bahsediyorum. Algoritma bir programı yazmak için kullanıcağımız mantıki yoldur. En basit fonksiyonlar bile bir mantık çerçevesinde yapılır. Bu da bize algoritmeyı gerekli kılıyor. Algoritmayı nasıl yapacağımızın neleri tercih edeceğimizin belli başlı etkenleri vardır. Mesela ; program performansının ne kadar olduğu, kullanıcağımız sistem, güvenlik ve programın ne ölçüde kritik işler yapacağı gibi.
Programın Kodlanması
Algoritma belirlemek yanında program kodlarının parçalar halinde yazılacağının belirlenmeside önemlidir. Ayrı fonksiyonları kümeleyip daha sonra birleştirileceği planlanır. Kullanıcıdan inpur isteniyor mu program output verecek mi ? Random mı yapacak ? İlk başta hangi fonksiyon çalışacak, ne zaman duracak ? Fonksiyon sıraları ve bir çok kör noktada kalan mantık hataları ilk başta düşünülür ve bir süzgeçten geçirilerek. Programın tasarımı ortaya çıkmış olur. Programın tasarımı bittikten sonra sıra geldi programı kodlama işlemine.
Program tanımına ve tasarısına göre programı kodlarız. Verilenler istenenler derken elimizde şunlar var. Verilen olarak ; problemin tanımı, programın algoritması ve programlama dilinin kodları, istenenler ise projenin amacı, biliyorsunuz makine dediğimizi yapıcaktır. Kodlama işlemi çeşitli şekillerde yapılabilir. Algoritmamızı herhangi bir programlama diline uygulayabiliriz. Ancak işleyiş aynı da olsa programlama dilleri arasında farklar vardır. En yaygın programlama dillerini biliyorsunuz. C, C#, Java, Matlab, vs. Program dilimizi seçerkende projenin amacına uygun seçmeliyiz. Bunun için program dili nasıl seçilir yazımızı okumanızı tavsiye ederim. Kodlama aşamasında da algoritma izenerek işlem yapılır. Kullanıcıdan gereken verilerin alınması için bir kod yazılır. Bu verilerle fonksiyonun oluşması için bir kod daha yazılır daha sonra bu sonuç gerek ekrana yazdırılır gerekse farklı bir işlem yapılarak iletilir. Kodlama işi makine ile aramızdaki iletişimi oluşturur.
Programın Değerlendirilip Test Edilmesi
Kodlama kısmı bittikten sonra programımızı çalıştırırız. Büyük ihtimalle bazı hatalar olur. Mantık hataları ve syntax hataları gibi kodlama hataları olacaktır, hep olmuştur. Ancak unutmayın önemli olan hatasız kod yazmak değil hataları düzeltebilmektir. Gerekte kod yazmak için harcadığımız sürenin büyük bir kısmını hata ayıklamaya ayırırız. Bu hata ayıklama süreci işin en zor ve en sıkıcı kısmıda olsa asıl programlayıcı bu kısımda ortaya çıkar. Çünkü hatalardan arınmış bir program artık hazır demektir ve iş bitmiştir. Hatalardan ayrılmazsa eğer program hiç bitmemiş demektir pekte işe yaramaz, hep özürlü bir çalışma olarak kalacaktır. Bu durumda hata ayıklamada sabır gösteren ve bu işi beceriyle yapan yazılımcılar tercih sebebidir. Tam donanımlı mühendis olmak için yapılması gerekler yazısını bu linkten okuyabilirsiniz.
Gerekli Dökümantasyonun Yapılması
Programımız artık çalışıyor, tüm işlemler bitti. Problemi tanımladık ve analizini yaptık. Algoritmasını oluşturarak programı tasarladık. Kodları yazdık ve debugları ayıkladık. Temiz ve mantıklı çalışan bir program elde ettik. Sıra geldi ; Dökümantasyon hazırlamaya. Bu kısım proje hazırlama kısmı gibi yaptıklarımızı dökümana dökmek ilerde geliştirmek ve satışını gerçekleştirmek için gerekli olan kızımdır. Daha çok arşive ve pazarlamaya yönelik olur. Çünkü kaydı tutulmayan veriler kaybolup gider. Dökümantasyonunu hazırlayıp çalışmamızı sunabiliriz. İlk başta program hakkında genel bilgiler verilir, program ne amaçladı, ne tür veriler kullandı, ne tür formatlarda oluşturuldu, ne tür çıktılar üretti, algoritması çalışma biçimi akış diyagramı, performansı ve gelecek eklentiler, eksik yanları en zon bu program nasıl kullanılır ? Bu konular hakkında dökümanlar hazırlanır. Yazılım firmalarında bu işi yapan ayrı uzmanlar bulunur. Bu kişiler programı kontrol eder ve değişik platformlarda denerler. Program test edilir, bu işlerler rapor tutulur. Eksikler giderilmesi için yazılım ekibine gönderilir. Program tam anlamıyla tamamlandığında veriler dökümante edilir. Programlar baştan sona kadar tüm haliyle hazır hale getirilir. Artık paket bir program konumundadır.
Bu dökümantasyon kısmı da hata ayıklama süreci gibi pek dikkate alınmayan ve sevilmeyen kısımdır. Ancak asıl programı program yapan kısımlar, gelişmesini sağlayacak ve geleceğinin olduğunu ispatlayacak kısımlar bu kısımlardır. Daha çok zaman alsada kaliteli bir iş çaıkarmak için gerekli olan kısımlardır. Mesela, 5000 satırlı bir program yazdık ve bu programı aradan belli bir zaman geçtikten sonra yinelemek istiyoruz. Kodlara ek kodlar ekleyeceğiz programa bir kaç değişiklik yapacağız veyahut yeni özellikler ekleyeceğiz.
Eğer dökümantasyon yapmazsak bu işi çok uzun sürede yapabiliriz belkide yapamayız. Bu programı düzenlemek yerine tekrar yazmak bile daha kolay olabilir.
Ancak elimizde bir dökümantasyon varsa bu ekleme düzenleme işlerini çok kısa sürede tamamlayabiliriz. Üstelik dökümantasyonu olmayan bir başkasının yazdığı kodlar üzerinde çalışmakta çok zordur. Bu sebeple programın geleceği için dökümantasyon önemlidir. Sonuç olarak zaman kaybı olarak görülmemeli dökümantasyonu olmayan bir programın ilerde firma için büyük sorunlar çıkaracağını bilmeliyiz.
Bu yazı dizimizde adım adım programlama nasıl yapılır inceledik. Bir sonraki yazımızda " Kısa zamanda çok fonksiyonlu bir program nasıl yazılır ?" yazısını inceliyeceğiz.
Kaynak : Programlama Temelleri
YORUMLAR
Aktif etkinlik bulunmamaktadır.
- Dünyanın En Görkemli 10 Güneş Tarlası
- Dünyanın En Büyük 10 Makinesi
- 2020’nin En İyi 10 Kişisel Robotu
- Programlamaya Erken Yaşta Başlayan 7 Ünlü Bilgisayar Programcısı
- Üretimin Geleceğinde Etkili Olacak 10 Beceri
- Olağan Üstü Tasarıma Sahip 5 Köprü
- Dünyanın En İyi Bilim ve Teknoloji Müzeleri
- En İyi 5 Tıbbi Robot
- Dünyanın En Zengin 10 Mühendisi
- Üretim için 6 Fabrikasyon İşlemi
- DrivePro Yaşam Döngüsü Hizmetleri
- Batarya Testinin Temelleri
- Enerji Yönetiminde Ölçümün Rolü: Verimliliğe Giden Yol
- HVAC Sistemlerinde Kullanılan EC Fan, Sürücü ve EC+ Fan Teknolojisi
- Su İşleme, Dağıtım ve Atık Su Yönetim Tesislerinde Sürücü Kullanımı
- Röle ve Trafo Merkezi Testlerinin Temelleri | Webinar
- Chint Elektrik Temel DIN Ray Ürünleri Tanıtımı
- Sigma Termik Manyetik Şalterler ile Elektrik Devrelerinde Koruma
- Elektrik Panoları ve Üretim Teknikleri
- Teknik Servis | Megger Türkiye
ANKET