} else { // no, continue to move up for insertion point System.out.println("Values " + data[currentIdx - 1] + " and " + data[currentIdx] + " are right order."); dataPrint(); } } ceilingIdx++; // additional element got sorted dataPrint();
System.out.println("Bubbling to slot " + ceilingIdx + " done.");
} System.out.println("sort() completed");
} public static void main(String argv[]) { System.out.println("BubbleSort.main() entered");
BubbleSort bubbleSort = new BubbleSort();
bubbleSort.sort();
System.out.println("main() completed"); } }
Anlamsal bilgi - nesne sınıflarının ifadesi (programlamada),örgüt yapısı… gibi kavramsal bilgiler
Anlamsal bilgi - nesne sınıflarının ifadesi (programlamada),örgüt yapısı… gibi kavramsal bilgiler
Anlamsal bilgi öğrenme ve deneyim yolu ile kazanılıyor
Bu bilgiler yapısal biçimde bellekte tutuluyor
Sentaktik bilgi-tasvir etme ayrıntıları hakkında bilgiler –Java’da nesne nasıl gösteriliyor, hangi standart fonksiyonlar kullanılır, “=“ veya “:=“ simgelerinden hangisi kullanılmalıdır…
Bilgi işlem kavramları – iterasyon, döngü,nesne …kavramları
Bilgi işlem kavramları – iterasyon, döngü,nesne …kavramları
Problem (sorun) kavramları - algoritmik – özgü bir meseleni nasıl çözmeli
Yazılım geliştirme yeteneği, yeni bilgileri mevcut bilgisayar ve mesele bilgileri ile bütünleştirmek ve yaratıcı problem çözümlerini geliştirmek
Sorun çözme dile bağımlı değildir
Deneyim ve etkin öğrenme yolu ile anlamsal bilgi kazanılması
Deneyim ve etkin öğrenme yolu ile anlamsal bilgi kazanılması
Sentaktik bilgi ezberleme gerektiriyor.
Yeni sentaktik bilgiler, mevcut sentaktik bilgileri engelleye biler
Deneyimli programcının, farklı programlama dillerinin sentaksis- lerini biri-birine karıştırması
Farklı türden (bilgisayar, görev, alan, kurum) olan bilgilerin bütünleşmesini gerektiriyor
Farklı türden (bilgisayar, görev, alan, kurum) olan bilgilerin bütünleşmesini gerektiriyor
Çözümün anlamsal modelinin geliştirilmesi ve sonra bu modelin denenmesi
Modelin programlama dilinde ifadesi
Yöneticinin önemli görevi, proje üzerinde çalışanları motive etmektir
Yöneticinin önemli görevi, proje üzerinde çalışanları motive etmektir
Motivasyon karmaşık kavramdır. Aşağıdakilere dayanan çeşitli motivasyon türleri bulunmaktadır
Temel ihtiyaçlar (gıda, barınak…)
Personel ihtiyaçları (saygı,itibar…)
Sosyal ihtiyaçlar (grubun bir parçası gibi kabul edilme)
Motivasyon, ihtiyaçların sağlanmasına bağlıdır
Motivasyon, ihtiyaçların sağlanmasına bağlıdır
Bilgisayar mühendisleri ve öğretmenler için psikoloji, güvenlik ve temel ihtiyaçların sağlanması varsayıla bilir
Sosyal, kaygı ve kendini ifade edebilme ihtiyaçları yöneticilik bakış açısından daha önemlidir
Sosyal
Sosyal
Toplumsal özgürlüğün sağlanması
Resmi olmayan iletişimlere izin verilmesi
Saygı
Başarıların takdiri
ödüllendirme
Kendini ifade edebilme
Öğrenme-insanlar her zaman daha çok öğrenmek ister
Sorumluluk
İhtiyaç türleri hiyerarşisi basit biçimde verilse de genelde çok daha karmaşıktır
İhtiyaç türleri hiyerarşisi basit biçimde verilse de genelde çok daha karmaşıktır
Motivasyon farklı personel türlerini de dikkate almalıdır:
İşe yönelik
Kendine yönelik
Etkileşime yönelik
İşe yönelik
İşe yönelik
İşin yapılması için motivasyon işin ta kendisidir
Kendine yönelik
İş, bireysel amaçlara (zengin olmak, tenis oynamak, seyahat etmek…) ulaşmak için bir araçtır
Etkileşime yönelik
Önemli motivasyon, meslektaşların varlığı ve onların faaliyetleridir. İnsan, işe gitmeyi sevdiği için işe geder
Bireysel motivasyon her türden motivasyonu içere biler, fakat bir motivasyon türü her zaman hakimdir
Bireysel motivasyon her türden motivasyonu içere biler, fakat bir motivasyon türü her zaman hakimdir
Bir motivasyon türünden diğerine geçiş
İnsanlar yalnız personel etkenine göre değil, grubun ve kültürün bir parçası olarak da motive edilmelidirler
(İnsan o sebepten işe gidiyor ki, birlikte çalıştığı insanlar onun motive olmasını sağlıyorlar)
Çoğu yazılım mühendisliği girişimi grup girişimidir
Çoğu yazılım mühendisliği girişimi grup girişimidir
Pek çok ciddi yazılım projeleri için iş-zaman çizelgelemesinin, yalnız çalışan personel tarafından geliştirilmesi mümkün olmaya bilir
Grup etkileşimi, grubun başarımının anahtar belirleyicisidir
Grup tertibinde (composition) çok esnek davranmak mümkün değil
Yöneticiler, elleri altında olan insanlarla en iyisini yapmaya çalışmalıdırlar
Aynı motivasyonu paylaşan üyelerden grup oluşturmak çok zordur
Aynı motivasyonu paylaşan üyelerden grup oluşturmak çok zordur
İşe yönelik – her kes kendi işini öne çekip yapmak ister
Kendine yönelik – her kes ağa olmak ister
Etkileşime yönelik- çok muhabbet, az iş
En etkili grup tüm türlerin dengeli katılımı ile oluşuyor
Dengeyi oluşturmak zor ola biliyor, çünkü, mühendislerin pek çoğu işe yöneliktir
Karar alma sürecine tüm üyelerin katılımı grubu etkiler
Liderliğe saygı ile ulaşılır, makam veya unvanla değil…
Liderliğe saygı ile ulaşılır, makam veya unvanla değil…
Teknik ve yönetimsel liderlik
Demokratik liderlik, otokratik liderlikten daha etkilidir
Tekniksel yeteneğe dayalı meslekte yükselme yolu her zaman desteklenmelidir
Bağlılığı yüksek gruplarda üyeler için grup, onun ayrı-ayrı bireylerinden daha önemlidir
Bağlılığı yüksek gruplarda üyeler için grup, onun ayrı-ayrı bireylerinden daha önemlidir
Bağlılığı yüksek grupların artı yönleri:
Grubun kalite standartları geliştiriliyor
Grup üyelerinin yakın olması ile çekingenlik sonucu doğa bilecek bilgisizlik azalıyor
Grubun tüm üyeleri biri-birinden öğreniyor ve diğerlerinin çalışmaları hakkında bilgi ediniyorlar
Bencil olmayan programlamada, her bir üye diğerinin programının daha iyi olmasına çaba gösteriyor
Bağlılığın oluşturulmasında, grup içinde örgütsel kültür, personel türleri gibi etkenlerin önemi büyüktür
Bağlılığın oluşturulmasında, grup içinde örgütsel kültür, personel türleri gibi etkenlerin önemi büyüktür
Bağlılığı
Sosyal etkinlikler
Grup kimliğinin geliştirilmesi
Bir mekanda çalışma gibi faaliyetler güçlendiriyor
Bilgi paylaşımı, grubun tüm üyelerinin, kendilerini grubun bir parçası hissetmelerini sağlamak için en basit yoldur
Grup üyeleri, bağlılığı yüksek gruplara sadakatli olmağa meyillidirler
Grup üyeleri, bağlılığı yüksek gruplara sadakatli olmağa meyillidirler
‘Grup düşüncesi (Groupthink) , tekniksel ve örgütsel yönlere bakmaksızın grubun korunmasıdır
Dış katılımcılarla grubu güçlendirmekle, yönetici grup düşüncesinin önüne geçmelidir
İyi iletişim, etkili grup çalışması için çok mühimdir
İyi iletişim, etkili grup çalışması için çok mühimdir
İş gereği, karar oluşturma ve önceki kararların iyileştirilmesi için bilgi alış-verişinde bulunula bilir
İyi iletişim, grup üyelerinin bir-birini anlamasına yardım etmekle, grup içi bağlılığı güçlendirir
Aynı türden olanlar
Aynı türden olanlar
Aynı personel türünden çok kişinin olması sorun yarada bilir
Farklı cinsler
Yalnız erkeklerden (veya bayanlardan) oluşan gruplarda grup içi iletişim güçlü olmaya bilir
İletişim yolları
Merkezleşmiş iletişimler etkili olmaya bilir
Yazılım mühendisliği grubu nispeten küçük olmalıdır (< 8 üye)
Yazılım mühendisliği grubu nispeten küçük olmalıdır (< 8 üye)
Büyük proje çoklu küçük projelere bölünmelidir
Küçük timler gayri-resmi, demokratik yolla oluşturula bilir
Grup bir bütün olarak çalışıyor ve sistemi etkileyecek kararlar üzerinde uzlaşmaya varıyor
Grup bir bütün olarak çalışıyor ve sistemi etkileyecek kararlar üzerinde uzlaşmaya varıyor
Grup lideri, grubun dışarı ile iletişimini sağlar,
Görülecek işler grupta tartışılır ve grup üyeleri arasında, deneyimlerine ve yeteneklerine göre paylaştırılır
Bu yaklaşım, grubun tüm üyelerinin deneyimli ve yetenekli olduğu hallerde başarılı sonuçlar vere bilir
Aşırı programlama grupları, demokratik örgütlenmeye örnektir
Aşırı programlama grupları, demokratik örgütlenmeye örnektir
Aşırı programlama gruplarında bazı ‘yönetici’ kararları grup üyelerine devrediliyor
Programcılar çiftler halinde çalışıyorlar ve yazdıkları kodlara göre ortak sorumluluk taşıyorlar
Projede çalışacak insanların seçilmesi başlıca yöneticilik görevlerindendir
Projede çalışacak insanların seçilmesi başlıca yöneticilik görevlerindendir
İnsanların seçilmesi kararı genellikle aşağıdakiler esasında veriliyor:
Aday tarafından sağlanan bilgi (onun özgeçmişi ve ya CV’si)
Mülakat, görüşme yolu ile edinilen bilgi
Adayı iyi tanıyan birileri tarafından tavsiye
Bazı şirketler psikoloji veya istidat (aptitude) sınavları yapıyorlar
Bu sınavların gerçekten yararlı olup olmadığı hakkında ortak fikir yoktur
Çalışma yerinin özelliklerinin bireysel verimliliğe önemli etkisi bulunmaktadır
Çalışma yerinin özelliklerinin bireysel verimliliğe önemli etkisi bulunmaktadır
rahatlık
Özellik,yalnızlık
yararlılık
Sağlık ve güvenlik gerekçeleri dikkate alınmalıdır
aydınlatma
ısınma
mobilya
Her bir personel, çalışmasının kesilmeyeceği çalışma ortamı ister
Her bir personel, çalışmasının kesilmeyeceği çalışma ortamı ister
İnsanlar doğal aydınlanması olan odalarda çalışmak ister
Bireyler çeşitli yollarla çalışma ortamlarını kendileri için daha uygun ortama dönüştürmeye çalışırlar
İnsanların, müdahale olmadan çalışa bilmelerine olanak sağlayan özel çalışma alanları
İnsanların, müdahale olmadan çalışa bilmelerine olanak sağlayan özel çalışma alanları
Personel için bireysel çalışma odalarının tahsis edilmesi verimliliği yükseltir
Bununla birlikte, resmi ve gayri-resmi toplantıların yapılması için grup üyelerine ortak alanlar da gerekmektedir
Yazılım geliştirme sürecine katılmış insanların gelişmesini yönetmek için çerçeve modeli
Yazılım geliştirme sürecine katılmış insanların gelişmesini yönetmek için çerçeve modeli
Modelin 5 aşaması
Başlangıç . Önceden belirli yöntemlerle insan kaynaklarının yönetimi
Yöntem geliştirme. Yeteneği yükseltmek için yöntemler geliştirilmesi
Tanımlama Kurumda insan yöneticiliğinin standartlaştırılması
Yöneticilik İnsan kaynakları yönetimi için hedeflerin belirlenmesi
Optimalleştirme . Bireysel yeteneklerin ve işgücü motivasyonunun yükselmesi ile bağlı sürecin devam ettirilmesi