Full Transcript

PROF. DR. İBRAHİM ARPACI İnsan Bilgisayar Etkileşimi  İnsan Bilgisayar Etkileşimi, etkileşimli (interactive) teknolojilerin tasarımı, değerlendirmesi ve uygulaması ile ilgilenen disiplinler arası bir çalısma alanıdır.  İnsan Bilgisayar Etkileşimi çalışma alanı, insan ve bilgisayar arasındaki et...

PROF. DR. İBRAHİM ARPACI İnsan Bilgisayar Etkileşimi  İnsan Bilgisayar Etkileşimi, etkileşimli (interactive) teknolojilerin tasarımı, değerlendirmesi ve uygulaması ile ilgilenen disiplinler arası bir çalısma alanıdır.  İnsan Bilgisayar Etkileşimi çalışma alanı, insan ve bilgisayar arasındaki etkileşimi konu edinmesinden dolayı insan davranışı, psikoloji, bilişsel bilimler, bilgisayar teknolojileri ve yazılım mühendisliği yanında ergonomi, grafik ve endüstriyel tasarım, sosyoloji, antropoloji ve egitim bilimleri gibi alanlarla da ilişkili bir çalışma alanıdır. 2 İnsan Bilgisayar Etkileşimi  İnsan Bilgisayar Etkileşimi (İBE) sisteminin dört ana bileşeni vardır: kullanıcı, görev (task), araç/arayüz (tool), bağlam (context). İBE çalışmalarında kullanıcıların kullandıkları araçlarla belirli işleri yaparken elde edilen gözlem sonuçları, alışkanlık vb. etkilerle birlikte değerlendirilir ve bu veriler etkileşimli sistemlerin geliştirilmesi sürecinde kullanılır. 1945'te Vannevar Bush'un teorik analog bilgisayar fikrini (MEMEX: memory extender) ortaya atmasından sonra Shackel İBE alanında görülen ilk çalışmaları gerçekleştirmiştir [2]. “International Journal of Man-Machine Studies” adlı süreli yayın 1969 yılında kurulmuş, 1970'li yıllarda “kullanıcı dostu” (user-friendliness) kavramı ortaya atılmış, 1976 yılında NATO 'man-computer interaction' konulu bir çalıştaya sponsor olmuştur. Weinberg ve Shneiderman bu yıllarda konu ile ilgili ilk kitapları yayınlamışlardır [3, 4]. 1982 yılında ACM (Association for Computing Machinery) SIGCHI (Special Interest Group on Computer-Human Interaction) ve CHI (International Conference for Human-Computer Interaction) konferanslarını başlatmıştır. 1980'lerin sonlarında İnsan Bilgisayar Etkileşimi alanında dört büyük yayın hayatını sürdürmektedir. Bu dönemde ilk endüstriyel İnsan Bilgisayar Etkileşimi Laboratuvarları kurulmaya başlanmış, 1990'lı yıllarda web teknolojilerinin gelişmesiyle İBE çalışmaları önemini artırmış ve teknik/tasarımcı merkezli tasarımlar yerine kullanıcı merkezli tasarımlar öne çıkmaya başlamıştır. 90'ların sonlarına doğru üniversitelerde ilk İBE akademik programları başlatılmıştır (örnek: Carnegie Mellon University, Indiana University). 3 İnsan Bilgisayar Etkileşimi çalışmalarının çerçevesi  İnsanların teknoloji kullanımını etkileyen özellikleri nelerdir?  Teknolojinin insanların teknolojiyi kullanımına etki eden yönleri nelerdir?  İnsanlar etkileşimli yeteneklerini nasıl edinir ve kavramlaştırır?  İnsanların ihtiyaçlarını teknik olanaklarla nasıl eşleştiririz?  Kullanılabilir (usable) teknolojiler nasıl tasarlanabilir?  Teknoloji organizasyonları nasıl etkiler? 4 Ders Konuları Temel Kavramlar Temel Teoriler Kaynak Behaviorism (Watson, Pavlov, Skinner) Cognitivism (Gagne, Koffka) Constructivism (Piaget, Vygotsky) Humanism (Maslow) Tasarım ve Teknoloji Tasarım Teorileri Gagné’s Information Processing Theory Schema Theory Mayer’s Cognitive Theory of Multimedia Learning Tasarım İlkeleri Tasarım Modelleri Dick and Carey (1990) the Systematic Design of Instruction Keller’s ARCS Model of Motivational Design (Keller, 1987) The ASSURE Model (Heinich, Molenda, Russell, & Smaldino, 1999) The ADDIE Model (Florida State University, 1975) Yazılım Tasarımı Teknoloji Entegrasyonu Diffusion of Innovations Theory of Reasoned Action (TRA) Theory of Planned Behavior (TPB) Technology Acceptance Model (TAM) Unified Theory of Acceptance Use of Technology (UTAUT) Proje Yönetimi Technology-Organization-Environment (TOE) Framework Project Management 5 TEMEL KAVRAMLAR İnsan-Bilgisayar Etkileşimi kavramını açıklayabilme. Teknoloji kavramını açıklayabilme. Bilgi kavramını açıklayabilme. Bilişim sistemleri kavramını açıklayabilme. 6 İnsan-Bilgisayar Etkileşimi  İnsan bilgisayar etkileşimi, insanların bilgisayarlar ile etkileşimini inceler. Disiplinlerarası bir alandır.  İnsan bilgisayar etkileşimi ile ilgili dallar;  Bilgisayar Bilimleri  Tasarım  Kullanılabilirlik, kullanım kolaylığı (ing. usability)  Psikoloji  Yapay Zeka  Ergonomi  Bilişsel Bilimler  Anlambilim  İletişim Bilimleri 7 Temel Kavramlar  Veri: İşlenmemiş, ham bilgi  Enformasyon: Tasnif edilmiş veri. Verinin ilişkili bağlantılar sonucunda yarı anlam kazanmış hali.  Bilgi: İşlenmiş ve karar vermeye yardımcı olacak haldeki veri. 8 Bilim  Doğruluğu bilimsel yöntemler ile kanıtlanmış bilgi.  Bilimsel araştırma yöntemleri:  Betimsel  Nedensel  Korelasyonel  Deneysel 9 Bilgisayar Bilgisayar: Veriyi işleyerek bilgiye dönüştürmeye yarayan giriş-çıkış-işleme ve saklama birimlerinden oluşan yazılım ve donanımların bütünü. Bilgi Sistemi: Kullanıcının ihtiyacını karşılamak üzere birlikte çalışan bütün yazılım, donanım, veri ve süreçler. 10 Bilişim Sistemleri  Planlama, izleme, koordine etme, karar verme gibi yönetimsel faaliyetleri desteklemek için bilginin elde edilmesini, saklanmasını, yayılmasını ve uygulanmasını sağlayan entegre bileşenler. 11 Teknoloji  Teknoloji: Bilimin karşılaştığımız sorunlara uygulanmasıdır (Alkan, 1987).  Hayatta karşılaştığımız sorunların çözümünde bilimsel bilgi ve diğer sistematik bilgilerin işe koşulmasıdır.  Hayatta karşılaşılan problemleri çözmek için bilim ve tecrübenin uygulanması neticesinde geliştirilen araç ve yöntemler. 12 İnsan-Bilgisayar Etkileşimi  İnsan bilgisayar etkileşimi, insanların bilgisayarlar ile etkileşimini inceler. Disiplinlerarası bir alandır.  İnsan bilgisayar etkileşimi ile ilgili dallar;  Bilgisayar Bilimleri  Tasarım  Kullanılabilirlik, kullanım kolaylığı (ing. usability)  Psikoloji  Yapay Zeka  Ergonomi  Bilişsel Bilimler  Anlambilim  İletişim Bilimleri 13 GESTALT PSİKOLOJİSİ (Gestalt: Almanca şekil, form) Algısal organizasyona ilişkin kurallar prensipler içerir. Benzerlik Kuralı: Benzer kavram ve şekillerin bir bütün olarak gruplanması. Yakınlık Kuralı: Mekân ve zaman olarak yakın olan elemanların bir bütün olarak gruplanması. Simetri Kuralı: Simetrik cisimlerin birbirinden uzakta bile olsa gruplanması. Süreklilik Kuralı: Ses ve sözcükler arasındaki boşlukların anlamlı bir şekilde bütünleşip bir süreklilik oluşturmasıdır. Kapalılık Kuralı: Boşlukların anlamlı bir bütün oluşturması. Aynı Yön Kuralı: Aynı yönü gösteren elemanların gruplanması. -Bu kurallar ekran ve sayfa tasarımında kullanılır. -İnsanların bütün ile onu oluşturan parçalar arasındaki ilişkiyi nasıl algıladıklarını inceleyen akımdır. Parça-bütün ilişkisi= Fil Hikâyesi. 14 The Up 15 SELF-DETERMINATION (Öz Belirleme) TEORİSİ (DECI & RYAN, 2000) 16  MOTİVASYON İNANÇLARI  Hedef yönelimi (İçsel – dışsal)  Görev değeri  Kontrol inançları  Öz yeterlilik  Sınav kaygısı • ARCS MODELİ (KELLER, MOTİVASYONU ETKİLEYEN 4 FAKTÖR) Attention Dikkat - Algısal uyarılma Relevance İlgi - İhtiyaca uygunluk Confidence Güven - Öz yeterlilik, öğrenci kontrolü Satisfaction Ödül - Pozitif/Negatif Sonuçlar 17 ‫نكته‬ ‫رضاء‬ ‫اﻟﺘﻨﺎﻗﺾ و‬ ‫اﻟﺘﺒﺎﯾﻦ‬ ‫اﻟﻌﻮدة‬ ‫ﻧﻤﻮذج‬ ‫ﻣﻼﺋﻤﺔ اﻟﺪاﻓﻊ‬ ‫ﻣﻌﺮﻓﺔ‬ ‫‪18‬‬ ‫ﻗﯿﻤﺔ اﻟﺤﻀﻮر‬ PROF. DR. İBRAHİM ARPACI TASARIM İLKELERİ  TASARIM: Yazılım geliştirme sürecinde (çizimler, algoritmalar, diyagramlar, ara yüzler vb.) şekil ve grafiklerin meydana getirilmesidir. 20 Çoklu Ortamla Öğrenmenin Bilişsel Kuramı Seçilen Sözcükler Çoklu ortam sunumu Sözcük Düzenlenen Sözcükler Duygusal kayıt Bütünleştirme Çalışan bellek Kulaklar Sesler Uzun süreli bellek Sözel Önbilgiler Resim Gözler imgeler Görsel Seçilen Sözcükler Düzenlenen İmgeler Çoklu ortamla öğrenmenin bilişsel modeli 21 Çoklu Ortamla Öğrenmenin Bilişsel Kuramı Çoklu ortamla öğrenmenin bilişsel kuramı varsayımları; Varsayım İki kanal Sınırlı kapasite Aktif İşleme ‫فيديو‬ Tanım İnsanlar görsel ve işitsel veri işlemek için ayrı kanallara 2 sahiptir. Her kanalın birim zamanda işleyebileceği veri miktarı sınırlıdır. İnsanlar, seçilen veriyi ilgili zihinsel yapılar ile organize eder ve önceki zihinsel yapılar ile bütünleştirerek aktif öğrenirler. 22 2 Çoklu Ortamla Öğrenmenin Bilişsel Kuramı Aktif İşleme Varsayımı Zihinsel Yapıları oluşturmada kullanılan yaklaşımlar Adı Süreç Tanım Neden- sonuç ilişkilerini 2 açıklama Karşılaştırma İki veya daha çok öğenin farklı boyutlarda karşılaştırılması Gösterimi Akış diyagramları Matrix Genelleme Olayların listelenmesi Dallanan ağaç Listeleme Olayların listelenmesi Liste Sınıflama Bir alana ait küme ve alt kümelerin çözümlenmesi Hiyerarşi Örnek Kulağın nasıl çalıştığının açıklanması Yaklaşımları öğrenen ve öğretici açısından karşılaştırılması Bir hastalığın kanıtlarla sunulması Çoklu ortam tasarım ilkelerinin listelenmesi Canlıların sınıflandırılması 23 Çoklu Ortamla Öğrenmenin Bilişsel Kuramı Aktif İşleme Varsayımı Aktif öğrenmenin bilişsel işlemleri İsim Seçme Tanım Öğrenenin; çoklu ortam mesajı içinde ilgili sözcük ve resimlerle sözcük ve imge tabanı oluşturmak için dikkat göstermesi. Örnek Öğrenenin, seslendirilen bir animasyonda her adımdaki sözcük ve resimlere dikkat etmesi Düzenleme Öğrenenin; seçilen sözcükler arasındaki resimler arasındaki tutarlı görsel modeller oluşturmak için iç bağlantılar kurması. Öğrenenin; sözcükler ve resimler için neden-sonuç ilişkilerini düzenlemesi. Öğrenen; sözel ve resimli bağlar içinde gerekli adımları atarak bağlantı kurar. Bütünleştirme Öğrenenin; sözel resimli modeller ve ön bilgileri dışsal bağlantılar oluşturması. 24 Çoklu Ortam Tasarım ilkeleri 25 Çoklu ortam tasarım ilkeleri A ‫اقراء‬ Konu Dışı İşlemleri Azaltma İlkeleri 1 Tutarlılık İlkesi • Konu dışı materyalleri öğretim tasarımı dışında tutulduğunda öğrenme daha iyi olur. • Konu ile alakası olmayan, birbirinden farklı materyallerin kullanılması öğrenenler üzerinde farklı anlamalara, kavram kargaşasına, konu dışına sapmalara neden olabilir. 26 3 A Konu Dışı İşlemleri Azaltma İlkeleri 2 Dikkat Çekme İlkesi • Önemli sözcük ve resimler vurgulandığında öğrenme daha iyi olur. • Öğrenenin dikkatini dersteki anahtar ögelere, kavramlara çeker ve bu ögeler arasında bağlantılar kurmasını sağlayarak konu dışı işlemleri azaltırız. • Dikkat çekme aslında yeni bir şeyler öğretmiyor, sadece anlatılmak istenen konunun daha iyi algılanmasını sağlıyor. 27 3 A Konu Dışı İşlemleri Azaltma İlkeleri 3 Gereksizlik İlkesi • Öğrenme açısından resimlerin ve sözlü anlatımın birlikte kullanıldığı durumlar; resim, sözlü anlatım ve metnin birlikte kullanıldığı durumlara göre daha iyi sonuçlar vermektedir. • Aynı anda yazı, resim ve sesli anlatım olursa görsel bilişsel kanala fazla yükleme olacaktır. • Örneğin; öğrenenler, ekrandaki resim ve yazı arasında bağ kurmaya çalışacağı için bilişsel yüklenme fazla olur. 28 3 A Konu Dışı İşlemleri Azaltma İlkeleri 4 Konumsal Yakınlık İlkesi • Birbiri ile ilişkili metinlerin ve resimlerin sayfada yada ekran üzerinde birbirlerine yakın olması durumunda öğrenme daha iyi olur. • Anlatılan konu ile ilgili resim ve metinlerin birbirine yakın konumda aktarılması gerekir. Aksi taktirde konuyu anlama oranı düşecektir. 29 3 A Konu Dışı İşlemleri Azaltma İlkeleri 5 Zamansal Yakınlık İlkesi • Birbirleriyle ilişkili metinlerin ve resimlerin aynı anda (eşzamanlı) sunulduğu ortamlarda öğrenme, ilgili metin ve resimlerin birbiri ardı sıra (ardışık) sunulduğu ortamlara göre daha iyi olur. • Birbirleriyle ilişkili metinlerin ve resimlerin aynı anda (eşzamanlı) sunulduğunda çalışan bellekte aynı zamanda tutabilecekleri ve birbiri arasında zihinsel bağlantılar kurabileceklerdir. 30 3 B Temel Süreçleri Yönetme İlkeleri 1 Parçalara Bölme İlkesi • Konunun uygun biçimde bölümlere ayrıldığı durumlarda öğrenme, konunun bölümlere ayrılmadan verilmesine göre daha iyi olur. • Örneğin; 2 saatlik bir dersi iki saat işlemek yerine 1+1 parçalara bölüp de öğrenenlere aktarmak, öğrenme açısından çok faydalı olacaktır. • Aksi takdirde bütün olarak aktarılırsa öğrenenlerin konu ile alakası bir süre sonra kesilecek ve ders amacına ulaşamayacaktır. 31 3 B Temel Süreçleri Yönetme İlkeleri 2 Ön-Alıştırma İlkesi • Öğrenilecek anahtar kavramlar ve bu kavramların özellikleri önceden bilindiğinde öğrenme daha iyi olur. • Öğrenenlere konuyu aktarmadan önce konunun akışını aktaran bir modelleme yapılabilir. 32 3 B Temel Süreçleri Yönetme İlkeleri 3 Biçim İlkesi • Resim ve anlatımın birlikte sunulduğu ortamlarda öğrenme; resim ve yazının birlikte sunulduğu ortamlara göre daha iyi olur. • Yazının ve animasyonun birlikte sunulması, öğrenenin bilişsel sistemine gözleri aracılığı ile girerler ve bu da görsel sistemde aşırı yüklemeye neden olur. 33 3 C Üretici Süreçleri Geliştirme İlkeleri 1 Çoklu Ortam İlkesi • Resim ve yazının birlikte sunulduğu ortamlarda öğrenme, sadece yazıdan oluşan öğrenme ortamlara göre daha iyi olur. Dikdörtgen Kare Üçgen Çember 34 3 C Üretici Süreçleri Geliştirme İlkeleri 2 Kişileştirme İlkesi • Günlük dil kullanılan ortamlarda öğrenme akademik dil kullanılan ortamlara göre daha iyi olur. 35 3 C Üretici Süreçleri Geliştirme İlkeleri 3 Ses İlkesi • Sözlü anlatımın insan sesi ile verilmesi durumunda öğrenme, makine sesi ile verilmesine göre daha iyi olur. 36 3 C Üretici Süreçleri Geliştirme İlkeleri 4 Resim İlkesi • Konuşan kişinin resminin görülmesi, öğrenmenin daha iyi olmasını sağlamaz. 37 Asch Deneyi 38 PPT Sunu Tasarımı  Seçilen renklerin gözü yormamalı (zemin ve yazı rengi birbirine zıt), slaytlarda fazla sayıda renk ve desen kullanılmamalı, önemli hususlara sarı renkle dikkat çekilmeli,  Yazı ve resim birlikte kullanılacaksa insanlar dikkatlerini sağa odakladıklarından, yazı sağa ve varsa resim ve şekiller sola yerleştirilir. 39 Sunumun Düzeni  Fontlar ve büyüklükleri  Tüm sunum boyunca tutarlı font  Başlık en az 28, yazılar 22 punto  7 x 8 kuralı  Her slaytta en fazla 7 satır  Her satırda en fazla 8 kelime 40 Renk Seçimi  Zıt renkler kullanın  Kırmızı, sarı ve turuncu arka plan renkleri göz yorar.  Koyu arka plan üzerine beyaz karakter, dinleyiciler uzaktaysa kullanılmamalıdır. 41 TASARIM MODELLERİ Tasarımı modellerini sıralayabilme. ADDIE modelini açıklayabilme. Tasarımının temel aşamalarını açıklayabilme. Tasarımı modelleri arasındaki farkları açıklayabilme. 42 ÖĞRETİM TASARIMI MODELLERİ Çekirdek Modeller ADDIE; Gagne, Briggs ve Wager (1988) Doğrusal Modeller Esnek Modeller Dick & Carrey (1985) Kemp, Morrison ve Ross (1994); ASSURE Water Fall Evolutionary Sezgisel Modeller Hızlı Prototipleme Etkileşimli Modeller Amerikan Hava Kuvvetleri Modeli (1975) Prototyping Incremental Bileşik Modeller Seels & Glasgow (1990) 43 ‫فيديو رابط في املاك‬ ‫‪44‬‬ Dick ve Carey Modeli 45 46 Sezgisel Modeller: Hızlı Prototipleme 47 Etkileşimli Modeller 48 YAZILIM TASARIMI Tasarımı modellerini sıralayabilme. Tasarım modellerini açıklayabilme. Tasarım modellerinin temel aşamalarını açıklayabilme. Tasarımı modelleri arasındaki farkları açıklayabilme. 49 YAZILIM SÜREÇLERİNİN GENEL ADIMLARI • • • • • Çözümleme (Analysis) Tasarım (Design) Gerçekleme (Implementation) Sınama (Testing) Bakım (Maintenance) ÇÖZÜMLEME • • • Çözümleme: Bir şeyi anlayabilmek için parçalarına ayırmak. Gerçeklenecek sistemi anlamaya yönelik çalışmalardan ve üst düzey planlama eylemlerinden oluşur. • Uygulama alanı • Kullanıcı gereksinimleri • Program parçaları arasındaki üst düzey ilişkiler ve etkileşimler(NYP'deki parçalar: sınıflar ve nesneler) “Bir sorunu anlamadan çözemezsiniz.” YAZILIM SÜREÇLERİNİN GENEL ADIMLARI • • • • • Çözümleme Tasarım Gerçekleme Sınama Bakım TASARIM • • • Tasarım: Bir araştırma ve/veya geliştirme sürecinin çeşitli dönemlerinde izlenecek yol ve işlemleri tasarlayan çerçeve. Çözümleme ile anlaşılan sorun tasarım aşamasında kağıt üzerinde (!) çözülür. Yazılım  Tasarıma yönelik şemalar (NYP'de bazı tür UML şemaları), elektronik  devre şemaları, mimari  kat planları GERÇEKLEME • Eldeki tasarım, bir programlama dili ile kodlanır. YAZILIM SÜREÇLERİNİN GENEL ADIMLARI • • • • • Çözümleme Tasarım Gerçekleme Sınama Bakım SINAMA • Sınama neden önemlidir? • Yazılım sürecinde ilerledikçe, ortaya çıkabilecek hataların giderilme maliyeti üstel olarak artar. • Aksi gibi, hataların büyük çoğunluğunun kökenleri isteklerinbelirlenmesi ve tasarım aşamalarındaki sorunlara dayanır. • Bu yüzden: Erkenden, sık sık ve kolay sınama yapın. YAZILIM SÜREÇLERİNİN GENEL ADIMLARI • • • • • Çözümleme Tasarım Gerçekleme Sınama Bakım BAKIM • Yazılımın faaliyete geçirilmesinden sonra sistemde yapılan değişikliklerdir. • Yazılım hatalarının düzeltilmesi: • Kodlama hataları • Tasarım hataları (!) • Gereksinim ve analiz hataları (!!) • Sistemin işlevlerini değiştirme veya işlevlere eklemeler/çıkarmalar, • Yazılımın farklı bir ortama taşınması (programlama dili, işletim sistemi, donanım, iklim, vb.) (porting) YAZILIM SÜREÇLERİNİN GENEL ADIMLARI • • • • • Çözümleme Tasarım Gerçekleme Sınama Bakım BAKIM • Yeniden mühendislik (Refactoring / Software re-engineering) • Teknik bakış açısı: Yazılımın işlevini değiştirmeden iç yapısını değiştirmek. • Olası eylemler: • Yazılımın belgelendirilmesi • Tasarımın iyileştirilmesi/değiştirilmesi • Yazılımın farklı bir ortama taşınması YAZILIM GELİŞTİRME SÜREÇ (MODEL)LERİ • • • Yazılım geliştirme bir süreç olarak ele alınmalıdır. • Süreç: Önceden belirlenmiş adımlardan oluşan iş akışı. Süreç modelleri, yazılım geliştirme sürecinin yapısını ve adımlarını belirler. • Önceden ve iyi planlanmış bir süreç, zamanında ve ‘kaliteli’ bir ‘ürün’ elde edilmesini sağlar. Çeşitli modellerin kendine özgü avantaj ve dezavantajları vardır. • Gerçeklenecek projeye uygun modelin seçilmesi gerekir. ŞELALE MODELİ • Ardışıl Model / Şelale Modeli (Sequential / Waterfall) • Adımlar: Çözümleme → Tasarım → Kodlama → Sınama → Bakım. • Bir adımın tamamlanmasından sonra diğerine geçilir. • Eksiklikler veya hatalar fark edilirse bir önceki adıma geçilir. • Artılar: • En eski model, yaygın kullanımda. • İyi tanımlanmış adımlar. Eksiler: • Son ürünün eldesi uzun süreceğinden müşteri sabırlı olmalıdır. • Adımları geride bıraktıkça, ilerleyen aşamalarda karşılaşılan hataların düzeltilmesi üstel olarak zorlaşmaktadır. • Bir çok ‘müşteri’ de gereksinimleri eksiksiz ve kesin belirtmekte zorlanmaktadır. Sonuç: Hiç model kullanmamaktan iyidir! • Önceden bir çok kez başarıya ulaştırılmış projelere benzer yeni projelerin yürütülmesi için kullanılabilir (rutin projeler). • • ÖN ÜRÜN MODELİ • Ön ürün modeli / Prototip modeli • Adımlar: Müşteriyi dinle – Ön ürün oluştur – Müşteri ön ürünü dener – • Artılar : • Kullanıcı gereksinimlerinin daha iyi elde edilmesi. • Kullanıcının erkenden ürünü değerlendirmeye başlayabilmesi. • Eksiler : • Ön ürün mükemmel değildir. • Eksik ürün zaman ve maliyet kısıtlamaları nedeniyle olgunlaşmadan canlı kullanıma alınabilmektedir. • Sonuç: Prototip oluşturmayı başlı başına bir model olarak kullanmamalı, daha olgun bir modelin analiz aşamasında kullanılacak bir araç olarak ele almalı ve prototip ürünü silip atmalı. HIZLI UYGULAMA GELİŞTİRME (RAD: Rapid Application Development) • • Kısa geliştirme çevrimleri üzerinde duran artımsal bir model. Ön koşullar: • Uygulamanın yaklaşık/ortalama 3 aylık bölümlere ayrılabilmesi, • Yeterli sayıda bölümün eşzamanlı ilerlemesinin sağlanabilmesi, • Yazılımın bileşenlerden kurulabilmesi. • Artılar: • Bu sürece uygun yazılım projelerinde verimliliğin artması. Eksiler: • Büyük ölçekli çalışmalarda yeterli sayıda bölümü eşzamanlı ilerletebilecek sayıda çalışanın bulunamaması. • Çalışanlar hıza uyum sağlayabilmelidirler. • Yüksek teknik risklere uygun değil. Sonuç: • Prototip geliştirmede kullanılması veya ana fikirlerinin diğer süreçlere uygulanması yerinde olacaktır. • • BİLEŞEN TABANLI (Component Based) UYGULAMA GELİŞTİRME • • Uygulamanın hazır yazılım bileşenlerinden oluşturulmasını öngörür. Aşamaları: • Konu alanı mühendisliği (Domain Engineering) • Aday bileşenlerin sınıflandırılması ve seçilmesi (Qualification) • Seçilen bileşenlerin kendi yazılımımıza uyarlanması (Adaptation) • Bileşenlerin bir araya getirilmesi (Composition) • Artılar: • Yeniden kullanımın özendirilmesi (azalan giderler?) • Eksiler: • Uygun bileşenlerin bulunması gerekliliği (her zaman bulunmaz) • Bileşenlerin uyarlanması gerekliliği (göründüğü kadar kolay olmayabilir) • Sonuçlar: • Özellikle hızlı uygulama geliştirme olmak üzere, ana fikirleri çeşitli süreçlere uygulanabilir. ARTIMSAL / YİNELEMELİ MODELLER • Artımsal / Yinelemeli Modeller (Incremental / Iterative) • Adımlar: Analiz – Tasarım – Kodlama – Sınama – • • • • • Bakım Gereksinimler önemlerine ve birbirine bağımlılıklarına göre sıralanarak her yinelemede bunların bir kısmı tamamlanır. Artılar : • Ön ürün modeli ve ardışıl modelin güçlü yönlerini kendinde toplayarak dezavantajlarını geride bırakmıştır. • Nesneye yönelik programlama metodolojisi ile uyum içerisindedir. Eksiler : Yazılımın küçük artımlarına fazla yoğunlaşmak, sistemin geneline bakıldığında kolayca görülebilecek sorunların gözden kaçmasına neden olabilir. Sonuçlar: • Sistemin genelini göz ardı etmemek şartıyla güçlü bir modeldir. Örnekler: Spiral Model ve Kazan-Kazan Modeli SARMAL (Spiral) MODEL Müşteri ile İletişim: Gereksinimlerin Belirlenmesi Planlama: Kaynaklar, zamanlama, yapılacaklar, vb. Risk Analizi: Teknik, mali ve politik riskler Çözümleme ve Tasarım Müşteri Tarafından Ürünün Değerlendirilmesi Gerçekleme ve Kurulum: Kullanıcı eğitimi, dokümantasyon, vb. dahil. Kazan-Kazan Modeli (WINWIN Model) Kazanma Durumlarının Belirlenmesi İlgililerin (paydaşlar) Belirlenmesi Uzlaşma ve Seçeneklerin Belirlenmesi Seçeneklerin Değerlendirilmesi ve Risklerin Çözülmesi İlgililer Tarafından Değerlendirmeler • Gerçekleme ve Kurulum Paydaş: Yazılımın başarısı ve başarısızlığının etkileyeceği kişi ve kurumlar. ÇEVİK (Agile) SÜREÇLER • Değişen gereksinimler, teknik riskler gibi önceden belirlenemeyen durumlara ve yazılım ürününü etkileyebilecek her tür değişikliğe karşı esneklik sağlayan süreçlerdir. • • • • Bireyler ve etkileşimler Çalışan yazılım Müşterinin sürece katılımı Değişikliklere uyum sağlamak • Çevik süreçler, sağ taraftaki maddelerin yararını kabul etmekle birlikte, sol taraftaki maddelere daha çok önem vermektedir. • Bir ilerleme olmaksızın yalnızca sürekli uyum sağlamak başarı değildir. • Yazılımın artımsal gelişimi • Müşteriye erken ve sık ürün teslimi • Başarımın birincil ölçütü doğru çalışan yazılımdır. • • • • Süreçler ve gereçler Ayrıntılı belgeler Sözleşme pazarlığı Bir planı izlemek ÇEVİK (Agile) SÜREÇLER • Çevik süreci yürütecek ekibin özellikleri: • Yüz yüze görüşme, en etkili bilgi aktarım yoludur. • Takım üyeleri çevik yaklaşım hakkında eğitilmelidir. • Ekip üyelerinin ortak amacı, çalışan yazılım üreterek müşteriye zamanında teslim etmek olmalıdır. • Ekip üyeleri birbirleriyle ve müşteriyle işbirliği içinde olmalıdır. • Ekip üyeleri karşılıklı saygı ve güven içerisinde olmalıdır. • Ekipler hem teknik, hem de tüm proje hakkında kararlar verebilmelidir. • Boşuna harcanan çaba yoktur: Çözülen bir sorun gereksizleşse bile, çözüm sürecinde edilen deneyim ekibe ileri aşamalarda yararlı olabilir. • Kendi kendini düzenleme: • Ekibin kendisini yapılacak işe göre uyarlaması, • Ekibin kullanacağı süreci yerel ortama uyarlaması, • Üstünde çalışılan artımsal yazılım parçasını teslim etmek içingerekli çalışma zamanlamasını ekibin kendisinin belirlemesi. ÇEVİK (Agile) SÜREÇLER • • Çevik süreçlerin dezavantajları: • Uygun olmayan ekiple çevik çalışılamamaktadır. • Kalabalık ekip veya büyük ölçekli projeler için uygun görülmemektedir. • Bir dış denetleyicinin dahil olduğu ve ayrıntılı kurallarıngerektiği denetlemelerin zorunlu olduğu projelerde yetersiz kalmaktadır. • Çevik çalışmak disiplinsizlik olarak yorumlanmamalıdır. Çevik Süreç Örnekleri: • Aşırı Programlama (XP: Extreme Programming) • Scrum ÇEVİK (Agile) SÜREÇLER • • Aşırı Programlama (XP) • Adımlar: Planlama – Tasarım – Kodlama – Sınama Artımsal Ürün Planlama: • Müşteri, kullanıcı öyküleri oluşturur. • Müşteri, öyküleri önemine göre derecelendirir. • Yaklaşık 3 haftada gerçeklenemeyecek öyküler varsa, ekip müşteriden bunları alt öykülere bölmesini ister. • Ekip ve kullanıcı, öykülerin sıradaki artımsal ürüne nasıl ekleneceğine karar verir: • Ya önce yüksek riskli öyküler gerçeklenir, • Ya da önce yüksek öncelikli öyküler gerçeklenir. • Her olasılıkta tüm öyküler kısa sürede (birkaç hafta) gerçeklenmelidir. ÇEVİK (Agile) SÜREÇLER • • Aşırı Programlama (XP) • Adımlar: Planlama – Tasarım – Kodlama – Sınama Artımsal Ürün Planlama (Devam): • İlk artımsal ürün projenin hızını ölçme amacıyla değerlendirilir: • Eldeki artımın hızına göre sonraki artımların teslim tarihleri belirlenir. • Aşırı sözler verildiği ortaya çıkarsa artımsal ürünlerin içeriği de yeniden kararlaştırılabilir. • Süreç ilerledikçe müşteri yeni öyküler ekleyebilir, eski öykülerin önceliğini değiştirebilir, öyküleri farklı şekillerde bölüp birleştirebilir, bazı öykülerden vazgeçebilir. • Bu durumda ekip kalan artımları ve iş planlarını uygun biçimde değiştirir. ÇEVİK (Agile) SÜREÇLER • • Aşırı Programlama (XP) • Adımlar: Planlama – Tasarım – Kodlama – Sınama Artımsal Ürün Tasarım: • Basit tasarım karmaşık gösterimden üstündür. (KISS: Keep It Simple, Stupid!) • CRC (Class-Resposibility-Collaboration) kartları ile yazılımın sınıf düzeyinde incelenmesi. • Karmaşık bir tasarımdan kaçınılamazsa işlevsel bir ön gerçekleme yapılır (Spike solution). • Refactoring teşvik edilir. • Bu aşamanın ürünleri CRC kartları ve ön gerçeklemelerdir (başka ürün yok). YAZILIM GELİŞTİRME SÜREÇLERİ ÇEVİK (Agile) SÜREÇLER • Örnek CRC kartı: Sınıf adları Sınıf: Satış Kasada yapılan ödemeyi simgeleyen sınıf. Üst Sınıf(lar): Yok Alt Sınıf(lar): Yok Sorumluluk: İşbirlikçi: Satışın yapıldığı tarih ve saati saklamak Yapılan ödeme tutarını saklamak Ödeme Satılan malların listesine erişim Mal ÇEVİK (Agile) SÜREÇLER • Aşırı Programlama (XP) • Adımlar: Planlama – Tasarım – Kodlama – Sınama Artımsal Ürün • Kodlama: • Önce birim sınamaları hazırlanır. • Programcı tarafından yapılan, sınıfların (NYP'de; yapısal'da fonksiyonlar, vb.'lerin) temel işlevselliklerini sınama amaçlı kod. • Sadece sınavı geçmeye yarayan kod yazılır (KISS). • Çift kişi ile kodlama: • Bir programcı eldeki sorunu çözerken diğeri çözümün genel tasarıma uygunluğunu gözetir ve kodlamanın takımın karar verdiği ölçütlere (kalite, vb.) uygunluğunu denetler. • Sınama: • Birim sınamalarının otomatik çalıştırılması. • Müşterinin artımsal ürünü denemesi. ÇEVİK (Agile) SÜREÇLER • Scrum: • Adımlar: Görev Listesi – Koşu – İşlev Gösterimi • Görev Listesi = Kullanıcı öyküleri. • Önceliklendirilmiştir. Koşu: • Görev listesinin maddelerinden biri seçilir ve önceden belirlenmiş kısa bir süre içerisinde (Ör. 1-4 hafta) gerçeklenir. • Koşu süresince ekibin her gün yaptığı kısa (Ör. 15dk) toplantılar: • Proje lideri yönetir. • Cevaplanmaya çalışılan üç ana soru: • Son toplantıdan bu yana ne yaptınız? • Karşılaştığınız engeller nelerdir? • Yarınki toplantıda neleri başarmayı hedefliyorsunuz? İşlev Gösterimi: Müşterinin en yeni işlevi veya o ana dek gerçeklenen tüm işlevleri sınaması. • • ÇEVİK (Agile) SÜREÇLER • Çevik Modelleme • Bir amaç için modelleme yapın: • Neyi, kime, hangi düzeyde anlatmak istiyorsunuz? • Buna göre uygun modelin ve ayrıntılandırmanın seçimi . • İçerik sunumdan daha önemlidir. • Gerekli bilgiyi içermeyen hatasız model işe yaramaz! • Kullandığınız modelleme yolunun özünü ve modellerinizi oluşturmak için kullanacağınız araçları iyi öğrenin. • DİKKAT: Önemli olan dengeyi korumaktır. • Çevik çalışacağız diye serseri programcı olmayın. • Disiplinli çalışacağız diye sırtınızda tuğla çuvalı taşımayın. SÜREÇ SERTİFİKASYONU • • • • • Olgunlaşmış bir yazılım geliştirme sürecine sahip olmayan bir yazılım firması, projelerini başarı ile sonuçlandıramaz. Bir yazılım firması, süreçlerinin yeterliliğini bağımsız kurumlara onaylatmayı seçebilir. Gerekli olduğu durumlar: • Bazı büyük müşteriler sertifikalı yazılım firmaları ile çalışmayı şart koşarlar. Gereksiz olduğu durumlar: • Çok küçük şirketler ve/veya projeler için ek yük olarak görülebilir. Güncel model ve standartlar: • CMMI: Capability Maturity Model Integration (kurumsal) • SEI tarafından önerilmiştir (Software Engineering Institute of Carnegie-Mellon University) • PMI: Genel amaçlı bir proje yönetimi yaklaşımı (bireysel) • ISO 9001:2015 standartları (Genel) (kurumsal) • ISO/IEC 90003:2018 (Yazılım geliştirmeye özel) • Ulusal belgelendirici firma: Denetik (Ulusal otorite: TÜRKAK, kamu) • Genel vs. Özel (Peynir mi üretiyoruz?) CMMI DÜZEYLERİ • CMMI düzeyleri: • 0. Düzey: Yürütülmeyen (Level 0: Incomplete). • 1. Düzey: Giriş düzeyi (Level 1: Initial/Performed). İş şansa ve anahtar kişilere kalmış. Etkinliklerin tümü yürütülüyor ama bunlarıntanımlanması için hiçbir sistematik girişim yoktur, her seferinde farklılaşabilirler. • 2. Düzey: Yönetilen/Yinelenebilir (Managed/Repeatable). Temel planlama ve izleme yöntemleri kullanılarak, önceki projelerdeki başarılar yeni projelerde tekrarlanılabilir. • 3. Düzey: Tanımlanmış (Defined). Kişi ve risk yönetimi ile projenin yönetimi iyileştirilir. Tüm organizasyonda standart süreçler tanımlanmıştır • Büyük müşteriler en az bu düzey yazılım evleri ile çalışmak ister. • 4. Düzey: Nicel Yönetilen (Quantitatively Managed). Süreç ve yazılım ölçütleri kullanılarak kalite yönetimine geçilir. İlerleme sürekli izlenir, bütçe ve zaman hedeflerinden sapmalar erkenden belirlenerek gerekli önlemler alınır. • 5. Düzey: İyileştirilmiş (Optimized). Süreç yönetimi geçmiş deneyimlerin ışığında sürekli iyileştirilir. CMMI DÜZEYLERİ • • • CMMI, her düzeyde belli süreç alanlarının kapsanıyor olmasını ister. • Süreç alanları belli hedeflere ulaşmak için beklenen uygulamalardır. • Her firma gerekli süreç alanlarını kendine özgü süreçlerle kapsar. CMMI türleri: • CMMI-DEV (Development): Yazılım geliştirme • CMMI-SVC (Service): Hizmet sunumu ve yönetimi • CMMI-ACQ (Acquistion): Ürün ve hizmet alımı • Bu üç alan, CMMI v2.0 ile (2018) tek bir olgunluk modeli altında birleştirilmiştir. CMMI Level 3+ sertifikası almış kamu ve özel kurumlarımıza örnekler: • MilSoft (Level 5) • TÜBİTAK BİLGEM Yazılım Teknolojileri Araştırma Enstitüsü (Level 5) • Huawei Türkiye (Level 5) • ASELSAN (Level 3) • Cybersoft (Level 3) • Havelsan (Level 3) • Koç Sistem (Level 3) • Ayrıntılar: https://sas.cmmiinstitute.com/pars/pars.aspx TEKNOLOJİ ENTEGRASYONU Diffusion of Innovations (DOI) Theory of Reasoned Action (TRA) Theory of Planned Behavior (TPB) Technology Acceptance Model (TAM) Unified Theory of Acceptance and Use of Technology (UTAUT) Technology-Organization-Environment (TOE) Framework 77 Diffusion of Innovations (DOI) 78 Theory of Reasoned Action (TRA) 79 Theory of Planned Behavior (TPB) 80 Technology Acceptance Model (TAM) 81 Unified Theory of Acceptance and Use of Technology (UTAUT) 82 Technology-Organization-Environment (TOE) Framework 83

Use Quizgecko on...
Browser
Browser