Bilişim Teknolojileri ve Yazılım 5. Sınıf Konu anlatımı

Ünite 06 Yazılım Tasarımı ve Programlama Konu 4/4

Blok Tabanlı Ortamda Yazılım Geliştirme

Blok tabanlı ortamlarda özgün yazılım fikirlerini planlama, tasarlama, kodlayarak oluşturma ve belirlenen ölçütlere göre değerlendirme sürecini inceleyen ders notudur.

Kazanımlar

BTY.5.6.4 Blok tabanlı ortamda yazılım geliştirme sürecini yönetebilme

  1. a Blok tabanlı ortamda yazılım geliştirme sürecini planlar.
  2. b Blok tabanlı ortamda yazılımı tasarlar.
  3. c Blok tabanlı ortamda yazılımı oluşturur.
  4. ç Blok tabanlı ortamda oluşturulan yazılımı değerlendirir.

Konu araçları5 araç

Konu bölümleri

Yazılım Geliştirme Süreci ve Planlama

Yazılım geliştirmeye başlamadan önce tüm bileşenlerin kâğıt üzerinde planlanması gerekir.

Süreç aşamaları;

  • Yazılım geliştirme planlama, tasarım, oluşturma ve değerlendirme olmak üzere dört temel adımdan oluşur.
  • Planlama yapılmadan rastgele kod blokları dizmek yazılım hatalarına neden olur.

Planlama ögeleri;

  • Planlama aşamasında yazılımın amacı ve hedef kullanıcısı açıkça tanımlanır.
  • Yazılımda yer alacak karakterler, objeler ve sahne düzeni önceden kurgulanır.
  • Kullanıcının etkileşim kuracağı klavye, fare veya dokunmatik kontrol yöntemleri belirlenir.

Not Planlama aşaması kâğıt üzerindeki çalışma formları kullanılarak tamamlanabilir.

Dikkat Yazılım geliştirmek sadece rastgele kod bloğu eklemek değildir; planlama yapılması şarttır.

Blok Tabanlı Yazılım Tasarımı

Tasarım aşaması, yazılımın görsel ve mantıksal yapısını kodlama öncesinde şekillendirir.

Tasarım bileşenleri;

  • Karakterlerin dış görünüşü ve duruş biçimleri için kostümler tasarlanır.
  • Karakterin farklı kostümlerinin sırayla değişmesi ekranda animasyon oluşturur.
  • Yazılımın geçtiği mekanı temsil etmek için uygun sahne ve arka plan seçilir.
  • Kod bloklarının mantıksal sıralaması kodlamadan önce taslak akış şeması ile kurgulanır.

Blok Tabanlı Ortamda Yazılımı Oluşturma ve Kodlama

Yazılımı oluşturma aşamasında tasarlanan ögeler blok kodlarla yürütülebilir hale getirilir.

Blok kodlama ögeleri;

  • Blok tabanlı kodlama görsel komut bloklarının birleştirilmesiyle sözdizimi hatasını önleyen yöntemdir.
  • Yazılımın başlaması için yeşil bayrak veya tuş basımı gibi başlangıç olayları kullanılır.
  • Karakterlerin konumunu değiştirmek ve yönlendirmek için hareket komutları birleştirilir.
  • Şarta bağlı durumlar için Eğer... ise karar blokları, tekrarlar için döngüler tercih edilir.
  • Anlık değişen puan ve süre verileri değişken blokları ile hafızada tutulur.

Not Blokların yapboz gibi birbirine geçmesi mantıksal sıra hatalarını fark etmeyi kolaylaştırır.

Yazılımı Değerlendirme, Test Etme ve Paylaşma

Tamamlanan bir yazılımın kalitesini artırmak için test ve değerlendirme yapılması gerekir.

Değerlendirme kriterleri;

  • Yazılımlar çalışırlık, kullanışlılık, estetik ve toplumsal fayda ölçütlerine göre test edilir.
  • Kullanıcının zorlanmadan kullanabildiği tasarımlar kullanıcı dostu olarak adlandırılır.
  • Düzenli menüler, hızlı çalışma ve hatasız yapı yüksek yazılım kalitesi sağlar.

Geri bildirim ve iyileştirme;

  • Yazılımların arkadaşlarla paylaşılması ve akran değerlendirmesi yapılması eksikleri görmeyi sağlar.
  • Alınan geri bildirimler doğrultusunda yazılımın güncellenmesi yaşam döngüsünün temel parçasıdır.

Dikkat Yazılım bittiğinde süreç sonlanmaz; test etme, değerlendirme ve iyileştirme aşamaları zorunludur.

Detaylı konu anlatımı

Yazılım Geliştirme Süreci ve Planlama

Yazılım Geliştirme Süreci

Yazılım geliştirme süreci, bir yazılımın fikir olarak planlanması, tasarlanması, kodlanarak oluşturulması ve test edilip değerlendirilmesi aşamalarının bütünüdür. Rastgele kod bloklarını ekrana dizerek başarılı bir yazılım geliştirilemez. Planlama yapmak zaman kaybını önler ve karmaşık problemleri düzenli çözmeyi sağlar.

Planlama Aşaması

Planlama, yazılım geliştirme yaşam döngüsünün ilk adımıdır. Kodlamaya geçmeden önce yazılımın ne amaçla yapılacağı ve kimler tarafından kullanılacağı kâğıt üzerinde netleştirilir.

Planlama sürecinde yazılımın amacı, hedef kullanıcısı, kullanılacak karakterler, objeler, sahne düzeni, kontrol yöntemleri ve koşullar tek tek tanımlanır.

Planlama Bileşenleri

Hedef kullanıcı, yazılımı kullanması beklenen kişi veya kitleyi ifade eder. Okul kütüphane kayıt yazılımı ile bir eğitici oyunun hedef kullanıcıları birbirinden farklıdır.

Karakter ve objeler, yazılım içinde etkileşime giren aktif veya pasif ögelerdir. Karakterler bir aktör veya hayvan olabilirken, objeler toplanacak puan ögeleri veya engellerdir.

Kontrol yöntemleri, kullanıcının yazılımla etkileşim kurma biçimidir. Blok tabanlı yazılımlar klavye yön tuşları, fare tıklamaları veya dokunmatik ekran hareketleriyle kontrol edilebilir.

Blok Tabanlı Yazılım Tasarımı

Tasarım Aşaması

Tasarım, planlanan yazılım bileşenlerinin görsel ve mantıksal taslaklara dönüştürüldüğü aşamadır. Kodlama ortamına geçmeden önce karakterlerin görselleri, sahneler, sesler ve kod akışları kurgulanır.

Karakter ve Kostüm Tasarımı

Kostüm, bir karakterin farklı durumlardaki görsel görünümüdür. Karakterlerin yürüme, zıplama veya konuşma hareketlerini göstermek için birden fazla kostüm tasarlanır.

Bir karakterin farklı kostümleri kod bloklarıyla sırayla değiştirildiğinde ekranda hareket hissi ve animasyon oluşur.

Sahne ve Ses Tasarımı

Arka plan, yazılımın geçtiği mekanı gösteren sahne görselidir. Bir kaçma oyununda orman veya deniz altı arka planı tercih edilirken, duyuru panosu yazılımında bir okul görseli seçilebilir.

Sahnelerle uyumlu sesler ve efektler tasarlanarak kullanıcının yazılımla kurduğu etkileşim güçlendirilir.

Taslak Akış Şemaları

Taslak akış şeması, kodlama öncesinde kod bloklarının dizilimini ve mantıksal akışını kâğıt üzerinde gösteren planlama aracıdır.

Kod bloklarının taslak dizilimleri kâğıt üzerinde kurgulanarak mantık hataları kodlama öncesinde fark edilir.

Blok Tabanlı Ortamda Yazılımı Oluşturma ve Kodlama

Blok Tabanlı Kodlama

Blok tabanlı kodlama, komutların metin yazmak yerine önceden hazırlanmış görsel kod bloklarının sürüklenip birbirine geçirilmesi esasına dayanan yazılım geliştirme yöntemidir. Bu yöntem sözdizimi hatası yapma riskini ortadan kaldırır.

Başlangıç ve Hareket Blokları

Başlangıç olayları, yazılımın ne zaman ve nasıl çalışmaya başlayacağını belirleyen tetikleyici bloklardır. Yeşil bayrağa tıklandığında veya bir tuşa basıldığında çalışan bloklar başlangıç olaylarına örnektir.

Hareket komutları, karakterlerin sahnede adım atmasını, yön dönmesini veya belirli koordinatlara gitmesini sağlayan bloklardır.

Karar Yapıları ve Döngüler

Karar yapıları, belirli bir koşula göre farklı komutların çalıştırılmasını sağlar. Blok tabanlı ortamda "Eğer ... ise" blokları kullanılır. Örneğin karakter ekrandaki nesneye dokunuyorsa puan artırılır.

Döngüler, aynı komut bloklarının tekrar tekrar çalıştırılmasını sağlar. Sürekli tekrar eden veya belirli sayıda çalışan döngü blokları kodların verimli yazılmasını sağlar.

Değişken Blokları

Değişken, yazılım çalışırken değişen skor veya süre gibi değerleri saklamak için kullanılan bellek alandır. Blok tabanlı ortamda değişken oluşturularak ekranda puan veya süre takibi yapılır.

Yazılımı Değerlendirme, Test Etme ve Paylaşma

Yazılımı Değerlendirme ve Test Etme

Yazılım değerlendirmesi, oluşturulan yazılımın belirlenen ölçütlere göre test edilmesi ve geliştirilmesi sürecidir. Kodlama bittiğinde süreç sonlanmaz; test ve değerlendirme aşamaları zorunludur.

Değerlendirme yapılırken "Yazılım amacına uygun çalışıyor mu?", "Kodlama hatası var mı?", "Görsel ve ses ögeleri dengeli mi?" sorularına cevap aranır.

Kullanıcı Dostu Arayüz

Kullanıcı dostu, kullanıcının zorlanmadan, kolayca ve sezgisel olarak kullanabildiği yazılım ve arayüz tasarımıdır.

Kullanıcı dostu bir yazılım düzenli menülere, hızlı çalışma yapısına ve dengeli görsellere sahiptir. Karışık menülü ve sık hata veren yazılımlar kullanıcı dostu değildir.

Toplumsal Fayda ve Akran Değerlendirmesi

Afet yardımı koordinasyonu, gıda israfını önleme veya çevre kirliliği gibi toplumsal sorunlara yönelik yazılımlar geliştirmek bilişim teknolojilerinin faydalı kullanımını sağlar.

Akran değerlendirmesi, üretilen yazılımların arkadaşlar tarafından incelenmesi ve geri bildirim verilmesidir. Gelen geri bildirimler doğrultusunda yazılımdaki hatalar giderilir ve ürün iyileştirilir.

Konuyu anlama alıştırmaları

Yazılım Geliştirme Süreci ve Planlama

Günlük Hayattan Bul: Okul yaşamında karşılaşılan bir sorunu çözmek amacıyla geliştirilebilecek bir yazılım fikri ve bu yazılımın hedef kullanıcısını belirleyiniz.

Blok Tabanlı Yazılım Tasarımı

Hayal Et: Bir karakterin koşma hareketini blok tabanlı bir ortamda gerçekçi göstermek için kostümlerinin ve sahnelerinin nasıl tasarlanması gerektiğini canlandırınız.

Blok Tabanlı Ortamda Yazılımı Oluşturma ve Kodlama

Dene: Bir oyun karakterinin klavyedeki yön tuşlarıyla hareket edip engellere çarptığında puan kaybetmesi için hangi blok gruplarının birleştirilmesi gerektiğini uygulayarak inceleyiniz.

Yazılımı Değerlendirme, Test Etme ve Paylaşma

Sen Olsan? İki farklı eğitici oyunu incelerken birinin menülerinin çok karışık ve yavaş, diğerinin ise sade ve hızlı olduğunu görseniz hangisini tercih eder ve nedenini nasıl açıklarsınız?

Özet

  • Yazılım Geliştirme Süreci: Fikir aşamasından test edilip değerlendirilmesine kadar geçen tüm adımların bütünüdür.
  • Planlama Aşaması: Yazılımın amacı, hedef kullanıcısı, karakterleri ve kontrol yöntemlerinin belirlendiği ilk adımdır.
  • Blok Tabanlı Kodlama: Görsel kod bloklarının birleştirilmesiyle sözdizimi hatasını engelleyen yazılım geliştirme yöntemidir.
  • Kostüm: Karakterlerin farklı durumlardaki görsellerini ifade eden ve animasyon oluşturan yapıdır.
  • Taslak Akış Şeması: Kod bloklarının mantıksal sıralamasını kodlama öncesinde kâğıt üzerinde gösteren çizimdir.
  • Başlangıç Olayları: Yeşil bayrak veya tuş basımı gibi yazılımın çalışmasını başlatan tetikleyici bloklardır.
  • Değişken: Skor, süre veya can gibi anlık değişen verileri bellekte saklayan yapıdır.
  • Kullanıcı Dostu: Kullanıcının zorlanmadan, kolayca ve sezgisel biçimde kullanabildiği arayüz tasarımıdır.
  • Akran Değerlendirmesi: Üretilen yazılımların arkadaşlar tarafından test edilerek geri bildirim sunulması sürecidir.

Düşün ve yorumla

Sence bilişim teknolojilerini kullanarak çevremizdeki toplumsal veya çevresel bir soruna çözüm üreten bir yazılım tasarlamak hayatımızı nasıl kolaylaştırır?

…soru

Kavrama testi

Ne kadar anladın?

Kavrama testiyle kendini dene. Yarım bıraktığın test kaldığın yerden devam eder.