32. Hafta: Yazılım Geliştirme Sürecini Tanıma ve Proje Planlama

Daha önce yazılım geliştirme sürecinin ne olduğunu, nasıl çalıştığını ve hangi adımlardan oluştuğunu öğrendik. Şimdi bu süreci blok tabanlı bir ortamda nasıl planlayacağımızı adım adım ele alacağız.

📌Kazanım:
BTY.5.6.4. Blok tabanlı ortamda yazılım geliştirme sürecini yönetebilme
a) Blok tabanlı ortamda Yazılım geliştirme sürecini planlar.
Süre: 2 Ders Saati

🎯 Bu Konuda Neler Öğreneceğiz?

  • Blok tabanlı ortamda yazılım geliştirme sürecini planlamanın neden önemli olduğunu anlayacağız.
  • Bir program yazmadan önce problemi nasıl tanımlayacağımızı öğreneceğiz.
  • Programın giriş (input) ve çıkışlarını (output) nasıl belirleyeceğimizi keşfedeceğiz.
  • Problemi çözmek için gerekli algoritmayı adım adım nasıl tasarlayacağımızı göreceğiz.
  • Algoritmamıza uygun hangi blokları kullanmamız gerektiğini planlayacağız.
  • Programımızı yazmadan önce nasıl bir test planı hazırlayacağımızı öğreneceğiz.

Daha önce yazılım geliştirme sürecinin ne olduğunu, nasıl çalıştığını ve hangi adımlardan oluştuğunu öğrendik. Şimdi bu süreci blok tabanlı bir ortamda nasıl planlayacağımızı adım adım ele alacağız.

Bir program yazmadan önce ne yapacağını planlamak, tıpkı bir ev inşa etmeden önce mimari çizmek gibidir. Plansız başlayan bir programcı, ilerleyen adımlarda büyük hatalarla karşılaşır. O yüzden planlama, yazılım geliştirmenin en kritik adımıdır.


🧩 Blok Tabanlı Ortam Nedir? (Kısa Hatırlatma)

Blok tabanlı ortamlar, kod yazmak yerine hazır blokları bir araya getirerek program oluşturmamıza olanak tanır. Bu ortamlarda yazılım geliştirirken de gerçek programcılar gibi bir süreç izleriz:

  1. Problemi anlarız
  2. Çözümü planlarız
  3. Blokları kullanarak kodlarız
  4. Test ederiz
  5. Hataları düzeltiriz

Bu yazıda 2. adım: Planlama üzerine yoğunlaşacağız.


📋 Yazılım Geliştirme Sürecini Planlamak Ne Demektir?

Planlama; bir programı yazmadan önce ne yapacağını, hangi adımları izleyeceğini ve hangi araçları kullanacağını önceden düşünmek demektir.

Bir plan yaparken şu soruları kendimize sorarız:

  • Ne yapmak istiyorum? (Programın amacı)
  • Kullanıcı ne yapacak? (Giriş / Çıkış)
  • Hangi adımlar izlenecek? (Algoritma)
  • Hangi blokları kullanacağım? (Araçlar)
  • Nasıl test edeceğim? (Deneme)

🗺️ Planlama Adımları — Blok Tabanlı Ortamda

1. Adım: Problemi Tanımla

İlk olarak yazmak istediğin programın amacını net bir şekilde belirle.

📌 Örnek: “Kullanıcıdan iki sayı alarak toplamlarını ekranda gösteren bir program yazmak istiyorum.”

Amacı net belirlemeden kod yazmaya başlamak, nereye gideceğini bilmeden yola çıkmaya benzer.

2. Adım: Giriş ve Çıkışları Belirle

Programına ne girecek (giriş/input) ve programdan ne çıkacak (çıkış/output)?

Giriş (Input)Çıkış (Output)
Kullanıcının adı“Merhaba, [ad]!” mesajı
İki sayıBu sayıların toplamı
Bir sayıSayının çift mi tek mi olduğu

3. Adım: Algoritmayı Tasarla

Algoritma; problemi çözmek için izlenecek sıralı adımlardır. Blok tabanlı programlamada kod yazmadan önce algoritmayı kağıda veya akış şemasına dökmek çok faydalıdır.

💡 Örnek Algoritma: “İki sayının toplamını bulan program”

  1. Programı başlat
  2. Kullanıcıdan birinci sayıyı al
  3. Kullanıcıdan ikinci sayıyı al
  4. İki sayıyı topla
  5. Sonucu ekranda göster
  6. Programı bitir

4. Adım: Hangi Blokları Kullanacağını Planla

Algoritmayı belirledikten sonra, bu adımlar için hangi blok kategorilerini kullanacağını düşün.

Yapılacak İşlemKullanılacak Blok Türü
Kullanıcıdan veri almakAlgılama / Soru Sorma Blokları
Toplama / çarpma işlemi yapmakOperatörler Blokları
Sonucu ekranda göstermekGörünüm / Söyle Blokları
Veri saklamakDeğişkenler
Koşul kontrolü (eğer … ise)Kontrol Blokları

5. Adım: Test Planı Yap

Programı yazmadan önce nasıl test edeceğini de planla. Hangi girişleri deneyeceksin? Hangi sonuçları bekliyorsun?

🔬 Örnek Test Planı:

  • Giriş: 5 ve 3 → Beklenen Çıkış: 8
  • Giriş: 0 ve 10 → Beklenen Çıkış: 10
  • Giriş: -4 ve 4 → Beklenen Çıkış: 0

📝 Planlama Aracı: Yazılım Geliştirme Formu

Bir programı planlarken şu formu doldurabilirsin. Bu form sana sistematik düşünmeyi alışkanlık haline getirir:

BölümSenin Cevabın
Programın Adı
Programın Amacı
Girişler (Input)
Çıkışlar (Output)
Algoritma Adımları1. … 2. … 3. …
Kullanılacak Bloklar
Test Senaryoları

🎯 Gerçek Bir Örnek: Adını Soran Program

Şimdi öğrendiklerimizi gerçek bir örneğe uygulayalım. Aşağıda “Kullanıcının adını sorup selamlayan bir program” için hazırlanmış planlama tablosu yer almaktadır.

Programın AdıSelam Programı
Programın AmacıKullanıcının adını öğrenerek kişisel bir selam vermek
GirişKullanıcının adı (metin)
Çıkış“Merhaba, [ad]! Hoş geldin!” mesajı
Algoritma1. Kullanıcıya “Adın ne?” diye sor
2. Cevabı bir değişkende sakla
3. “Merhaba, [ad]!” mesajını ekranda göster
Kullanılacak BloklarAlgılama → “Cevabını sor” bloğu, Değişkenler, Görünüm → “Söyle” bloğu
TestGiriş: “Ali” → Beklenen: “Merhaba, Ali!”

⚠️ Planlama Yaparken Dikkat Edilecekler

  • ✅ Amacını net yaz, belirsiz bırakma.
  • ✅ Girişleri ve çıkışları karıştırma.
  • ✅ Algoritmayı sıralı ve eksiksiz yaz.
  • ✅ Her adımda “neden?” sorusunu sor.
  • ❌ “Fikir kafamda var, yazmama gerek yok” deme — yazılı plan seni korur!
  • ❌ Test planını atlama — hata erken bulunursa çok daha kolay çözülür.

🔁 Özet

Bu derste blok tabanlı ortamda yazılım geliştirme sürecini planlamanın nasıl yapıldığını öğrendik. Öğrendiklerimizi şöyle özetleyebiliriz:

  1. Problemi tanımla — Programın ne yapacağını belirle.
  2. Giriş ve çıkışları belirle — Neyin gireceğini, neyin çıkacağını yaz.
  3. Algoritmayı tasarla — Adımları sıralı olarak planla.
  4. Kullanılacak blokları belirle — Hangi blok kategorileri işe yarayacak?
  5. Test planı yap — Hangi değerlerle test edeceksin?

🌟 Unutma! İyi bir programcı, kod yazmadan önce düşünen programcıdır. Planlama olmadan yazılan kod, temeli olmayan bir bina gibidir — bir süre sonra çöker!


[notebook_slider url=”https://bilisimdost.com/wp-content/uploads/2026/04/5-32-bilgikarti-orjinal.csv”]

[notebook_quiz url=”https://bilisimdost.com/wp-content/uploads/2026/04/5-32-sinav.csv”]

Bir Cevap Yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir