yazılım geliştirme

advertisement
YAZILIM GELİŞTİRME
1
1. Hafta
BİLGİSAYAR SİSTEMLERİ
Sistem Nedir?
Bilgi Sistemleri
Çevrimiçi Sistemler
Gerçek Zamanlı Sistemler
Bilgi Tabanlı Sistemler
Veritabanı Yönetim Sistemleri
Kişisel Bilgisayarlar
İletişim Sistemleri
Endüstriyel Sistemler
Kontrol Sistemleri
Sistem Yapıları
2. Hafta
PROJE İLE İLGİLİ TEMEL TANIMLAR
Proje Nedir?
Bilişim Projesi Nedir?
Yazılım Dünyasının Sorunu ve Çözüm Platformu
Projelerin Ortaya Çıkış Nedenleri
Projenin Tanımlanması- Onaylanması
Proje Yönetiminin Bileşenleri
Proje Yöneticisi, Nitelik, Görev ve Sorumlulukları
Proje Ekibi ve Seçiminde Dikkat Edilecek Noktalar
2
3. Hafta
YAZILIMDA KALİTENİN ANLAMI
Kalite Faktörleri (Doğruluk, Uyarlanabilirlik, Sınanabilirlik,
Güvenirlik, Bütünlük, Tekrar Kullanılabilirlik, Taşınabilirlik)
Yazılımda Kalite Güvencesinin Amaçları
Kalite Sistemi ve Kullanımı
Kalite Yönetimi
Dökümante Edilmiş Kalite Sistemi
Proje Kalite Planı
4. Hafta
YAZILIM GELİŞTİRME YÖNTEMBİLİMLERİ
(STANDARTLAR)
•
•
•
•
Tarihsel Gelişimi
Standartlar nasıl ve neden ortaya çıkmıştır?
ISO/IEC12207 standardının özellikleri
IEEE/EIA 12207
3
5. Hafta
PROJEDE YÜRÜTMENİN PLANLANMASI
Planlamanın Önemi
Yürütme Planında Olması Gerekenler
İş Paketlerinin Tanımlanması
Zaman Planlaması
Kaynak ve Maliyet Planlaması
Karşı Planlama
6. Hafta
PROJENİN YÜRÜTÜLMESİ (PLANIN UYGULANMASI)
Proje Yönetimi Araç ve Teknikleri (PERT/ CPM)
GANTT ve Ara Hedef (Milestone)Çizgeleri
Değerlendirme Toplantıları
Risk Yönetimi, Araç ve Teknikleri
Proje Dosyası
4
7. Hafta
İSTERLER
İsterler Belgesi (IEEE 830-1984 Yazılım İsterleri Anlatım
Kılavuzu)
İsterlerin Takip Edilmesi
8. Hafta
TASARIM SÜRECİ
Sistem Tasarımı
Ayrıntılı Tasarım
TASARIM METEDOJİLERİ
Yourdan Yapısal Geliştirme Metodu
Jackson Sistem Geliştirme Metodu
Nesne Yönelimli Tasarım (Object Oriented Design)
9. Hafta
YAZILIM GELİŞTİRME MODELLERİ
5
10. Hafta
YAZILIM GERÇEKLEŞTİRME
11. Hafta
YAZILIM TESTİ
Test ve Kalite Güvencesi
Test Metedojileri (Saydam ve Kara Kutu Testi)
Test Stratejileri (Birim – Entegrasyon – Sistem – Onaylama
Testleri )
Test Kontrolü ve Listesi (Plan – Yöntemler - Raporlar)
6
12. Hafta
YAZILIM BAKIMI
13. Hafta
KONFİGÜRASYON YÖNETİMİ
Konfigürasyon Yönetimine Giren Yazılım Elemanları
Konfigürasyon Kontrolü
Değişiklik Kaydı
Sürüm Kontrolü
Konfigürasyon Yönetim Dökümanları
7
14. Hafta
DEĞERLENDİRME ve DENETLEME
Teknik Değerlendirme
Yönetim Değerlendirmesi
PROJENİN BİTİRİLMESİ ve HAYATA
GEÇİRİLMESİ
Sınama
Kabul
Proje Bitirme Raporu
Projenin Kullanıcıya Teslimi (Eğitim – Çoğaltma – Yazılım
Kurulumu)
Projenin Hayata Geçirilmesi (Yazılım Desteği ve Gelişimi)
8
BPY Çalışma Grubu, Bilişim Projeleri Yönetim El Kitabı,TBD -1999
Erçelebi S., Taral S.,Yazılımda Kalite Güvencesi Kitabı,Tübitak MAM-1995
Gül K., Yazılımda Kalite, MÜ. TBMYO.Bitirme Projesi-2003
Hentzen W., The Software Developer’s Guide, Hentzenwerke Publishing-2002
Günesen E., Yazılım Profesyoneli 1, Bilge Adam-2005
Dr. Sarıdoğan E. M., Yazılım Mühendisliği, Papatya- 2008
9
1.DERS
BİLGİSAYAR SİSTEMLERİ
10
BİLGİSAYAR SİSTEMLERİ
1. SİSTEM NEDİR?
Dış etkilere göre düzenli bir şekilde etkileşen ya da birbirinden
bağımsız olarak belirli bir yapı oluşturan, belirli bir hizmeti görmek üzere veri
toplayan, işleyen veya üreten bir grup öğedir.
Bu tanımı, soyut tanımlamalardan biyolojik yapılara ve örgütsel
düzenlemelere kadar genişletmek mümkündür. Hangi alan içeresinde olursa
olsun bunlar ya birer sistemdir yada herhangi bir sistemin alt sistemleridir.
Günümüzdeki uzmanlık alanları genişlediği için, ihtiyaca göre
daraltmak gerekir. Ve her birimi kendi içerisinde değerlendirme ihtiyacı
duyulur.
11
BİLGİSAYAR SİSTEMLERİ
1.1. Sistem çeşitleri?
Kendi içerisinde iyi ayrılır.
Doğal sistemler : Canlı ve cansız olmak üzere ikiye ayrılır. Canlı sistemleri
evrende bildiğimiz tüm canlıları içine alır. Örneğin sinir sistemi, dolaşım
sitemi gibi. Cansız sistemlerde cansız varlıkların oluşturduğu sitemleri
kapsar. Örneğin güneş sistemi, yıldız sistemi gibi
İnsan yapısı sistemler: İnsanlar tarafından oluşturulan ve ortaya konulan
sistemlerdir. Örneğin iktisat sistemi, eğitim sistemi gibi
12
BİLGİSAYAR SİSTEMLERİ
2. BİLGİ SİSTEMLERİ
Var olan veya oluşturulan Bilgiyi işlemeye yönelik olarak kurulan
sistemlere Bilgi Sistemi (Information System), bu alanda kullanılan
teknolojiye de Bilgi Teknolojisi (Information Technology-IT) denilmektedir.
Genel olarak bilgisayar tabanlı oluşturulan otomatik sistemlerin
ortak özelliği bilgisayar donanımı, yazılım, veri, kullanım yöntemi ve insanın
bir arada olmasıdır.
13
BİLGİSAYAR SİSTEMLERİ
3. ÇEVRİMİÇİ SİSTEMLER
Çevrimiçi sistemler, dışarıdan alınan veriler işlenerek
sonuçları
gerekli yerlere iletilmesi olayıdır. Çevrim içi sistemler insan ile makine arası
iletişim söz konusu olduğundan ve insan beyninin hızından dolayı insanmakine ara yüzünün etkinliği ve çalışma hızı oldukça önemlidir. Bankaların
otomatik para çekme makineleri çevrimiçi sistemlere örnektir.
14
BİLGİSAYAR SİSTEMLERİ
4. GERÇEK ZAMANLI SİSTEMLER
Dış dünya ile etkileşim sağlayan, olayları izleyip anında çözümleyen,
karşılığında bir kontrol işlemi yapan ve bu işlemleri zaman kısıtlamalarına
bağlı olarak gerçekleştiren sistemler “gerçek zamanlı” olarak adlandırılır.
15
BİLGİSAYAR SİSTEMLERİ
Gerçek zamanlı bir sistemde zaman kısıtlaması vardır. Bu zaman
kısıtlaması milisaniye yada mikro saniye cinsindendir. Örneğin bir banka
sistemini ele alalım. Bu bankanın binlerce şubesinden milyonlarca işlem aynı
anda veya mikro saniye aralıklarla meydana gelmektedir. Arada meydana
gelen mikro saniyelik bir kopma sistemde ciddi veri kayıplarına sebep
olacaktır. Kopmanın uzaması durumunda sistem çökmeyle karşı karşıya
kalacaktır.
16
BİLGİSAYAR SİSTEMLERİ
Gerçek zamanlı sistemlere örnek olarak şunları verebiliriz:
 Banka müşteri kontrol sistemi
 Uçaklarda ve gemilerde bulunan radar sistemleri
 Bir nükleer reaktörünün kalbindeki ısı algılayıcıları ve işlem kontrol
düzeneklerini kontrol eden sistem
 Bir petrol platformundaki kuyunun basıncını denetleyen güvenlik sistemi
 Uçaklarda bulunan otomatik pilot sistemi
 Arabalarda bulunan fren sistemi
17
BİLGİSAYAR SİSTEMLERİ
Tepki süresine göre gerçek zamanlı sistemler 3 gruba ayrılabilir:
5.1.Gevşek Gerçek Zamanlı (Soft real-time) Sistemler
Belirli bir işi meydana getiren bir sistem, verilen süre içerisinde iş
tamamlanmazsa sistemde çökme meydana gelmez yalnızca performansı
düşer. Tepki süreleri bir saniyenin altındadır. Trafik kontrol sistemleri, telefon
yönlendirme sistemleri ve askeri komuta kontrol merkezlerindeki bilgi
sistemleri örnek verilebilir.
18
BİLGİSAYAR SİSTEMLERİ
5.2. Katı Gerçek Zamanlı (Hard real-time) Sistemler: Verilen sürede iş
bitirilmek zorundadır. Anlık yük, öz kaynakların meşgul olması ya da arıza
gibi nedenler hiçbir şekilde kabul edilemez. Sistemin başarması gereken bir
görevi vardır; başaramaması durumunda tüm sistemin çökmesi söz
konusudur. Kullanılan sistemlerin yaptığı işe göre de hayati tehlikeler
meydana getirebilir. Bunlara örnek olarak
uçakların otomatik pilot sistemleri ve
Nükleer santral sistemleri,
savaş uçaklarının
erken uyarı
sistemleri böyle sistemlerdir.
19
BİLGİSAYAR SİSTEMLERİ
5.3. Sıkı Gerçek Zamanlı (Firm real-time) Sistemler: Tepki süreleri birkaç
milisaniye düzeyindedir. Hassas deniz ve hava trafik kontrol sistemleri, askeri
komuta kontrol sistemleri, makine kontrol sistemleri örnek olarak verilebilir.
20
BİLGİSAYAR SİSTEMLERİ
KARAR DESTEK SİSTEMLERİ
Bilgisayarlar
aptal
bir
makine
olduğundan
insanoğlu
yönlendirmezse kendi başlarına bir işlem yapamaz ve olayın sonuçlarından
karar çıkartamaz. Fakat insan durumlar arasında farklılığı ortaya koyup
hesaplamalar yaparak karar almalarında yardımcı olurlar. Çalışma tabloları,
istatistik çözümleme sistemleri, çeşitli alanlarda ön kestirim yazılımları,
askeri strateji ile ilgili sistemler örnekler arasında gösterilebilir.
21
BİLGİSAYAR SİSTEMLERİ
Karar destek sistemlerinin ortak özellikleri veri toplama, işleme ve
sunmadır. Bu işlemleri yaparken de veriler
üzerinde matematiksel ve
istatistiksel algoritmalar çalıştırarak çeşitli sonuçlar elde eder.
Karar destek sitemlerinin bir başka türü de üst düzey yöneticilerin
kullandığı stratejik planlama sistemleridir.
22
BİLGİSAYAR SİSTEMLERİ
6. BİLGİ TABANLI SİSTEMLER
Bilgi tabanlı sistemler çok miktarda veriyi kullanarak belirli bir
görevi yerine getirirler. Bilgi tabanlı sistemlere uzman sitemlerde denilir.
Belirli bir uzmanlık alanında çalışan insanlara yardımcılık yapabilecek kadar
yüksek düzeyde veri sağlar. Belirsiz veya eksik verileri de
belirli
algoritmalara göre tamamlaya bilir.
23
BİLGİSAYAR SİSTEMLERİ
Uzman sistemlerde veriler uzmanların önceden kazanmış olduğu
verileri yorumlayarak sonuç çıkarabilir. Bir uzman sistem dar bir uygulama
alanında gerçekten bir uzman olarak davranır. Örnek uygulama alanları
arasında tıbbi tanı koyma, belirli bir cihazın arızasını bulma, meteorolojik
tahminler yapma uygulamaları sayılabilir.
24
BİLGİSAYAR SİSTEMLERİ
Uzman Sistemler:
Geleneksel yöntemlerle sistem kontrolünde,
sistemin matematiksel bir modeli çıkarılarak işleme başlanır. Fakat karmaşık
sistemlerde matematiksel ifade zorlaşmaktadır bazen de imkânsız hale
gelmektedir. Çünkü sistemi kontrol eden binlerce değişkeni sisteme sokmak
ve bunların etkilerini sonuca yansıtmak gerekir.
25
BİLGİSAYAR SİSTEMLERİ
Buna örnek olarak; füze atış düzeneği kurulmak istenirse ve hedefin
tam istenildiği noktaya düşmesini sağlayabilmek için klasik yöntemlerle
birçok değişkeni sisteme matematiksel olarak ifade etmemiz gerekir.
(Havanın ısısı, rüzgâr yönü, atış yapıldığı yerin denizden yüksekliği, kullanılan
maddenin cinsi ve ağırlığı vb.) Bulanık yöntemler sayesinde; uzmanların
kurulacak sistem hakkında fikirlerini programa dâhil ederek daha kısa yoldan
sonuca ulaşabiliriz.
26
BİLGİSAYAR SİSTEMLERİ
Yani uzman sistemler; belirli bir alanda, şimdiye kadar uzman kişiler
tarafından üstlenilen zor bir işlemi gerçekleştirebilmek için, sadece o alanla
ilgili bilgilerle donatılmış ve problemlere o alanın uzman kişisinin getirdiği
şekilde çözümler getirebilen, bilgi ve mantık çıkarımına dayanan bilgisayar
programıdır.
27
BİLGİSAYAR SİSTEMLERİ
7. VERİTABANI YÖNETİM SİSTEMLERİ (VTYS)
Veritabanı yönetim sistemleri (Database Manager System - DBMS)
veritabanlarını oluşturmak, değiştirmek, veri işlemek ve veri çıkarmak için
dizayn edilmiş yazılımlardır. Bir veri tabanı yönetim sistemi sayesinde birden
fazla veritabanı kontrol edilebilir ve farklı yazılımların sistemle iletişimi
sağlanabilir Farklı isimler altında da olsa aynı prensiple çalışan bir çok VTYS
yazılımı mevcuttur.
VTYS’ler sadece verinin tutulması ve yönetilmesi için kullanılmaz.
Kullanıcılar arasındaki koordinasyonu ve kullanıcılara tanımlanan izinleri de
kontrol eder.
28
BİLGİSAYAR SİSTEMLERİ
Yaygın olarak kullanılan Veritabanı yönetim sistemleri MYSQL,
Oracle ,MS SQL, MS Access dir.
Uygulama
Programları
Veritabanı
Kullanıcılar
VTYS
Veritabanı Yönetim Sistemleri
29
BİLGİSAYAR SİSTEMLERİ
7.1.Veritabanı yönetim sistemlerinin sağladığı yararlar:
Veri Tekrarı (“Data Redundancy”) : Aynı verinin sürekli tekrarlanmasını
önler. Aynı tablo içerisinde, farklı bilgisayarlarda vb..; Veri Tekrarı (“Data
Redundancy”) azaltılır ya da yok edilir.
Veri Tutarlılığı (“Data Consistency”): Bir yerde güncellenen veri başka yerde
güncellenmeden kalabilir ve bu durum veri tutarsızlığına (“Data
Inconsistency”) yol açar. VTYS’ler bu durumun önüne geçer.
30
BİLGİSAYAR SİSTEMLERİ
Veri Paylaşımı / Eşzamanlılık (“Concurrency”): Veri tabanı yönetim sistemi
(VTYS) kullanılmadığı durumlarda veriye sıralı erişim yapılır. Yanı birden çok
kullanıcı aynı anda aynı veriye erişemez. Bir VTYS’de programın gücüne göre
aynı veritabanlarına farklı kişiler erişim sağlayabilir.
Veri Bütünlüğü (“Data Integrity”): Bir tablodan bir kayıt silinirse, ilgili kayıt
diğer tüm tablolardan silinmelidir. Bu sağlandığı taktirde veri bütünlüğü
sağlanmış olur.
31
BİLGİSAYAR SİSTEMLERİ
Veri Güvenliği (“Data Security”): Verinin isteyerek ya da yanlış kullanım
sonucu bozulmasını önlemek için çok sıkı mekanizmalar mevcuttur. Veri
tabanına girmek için kullanıcı adı ve şifreyle korumanın yanı sıra kişiler
sadece kendilerini ilgilendiren tabloları ya da tablo içinde belirli kolonları
erişim sağlayabilir.
Veri Bağımsızlığı (“Data Independence”): Programcı, kullandığı verilerin
yapısı ve organizasyonu ile ilgilenmek durumunda değildir. Kullanıcı,
karmaşık veri gösterimleri ve algoritmalarla ilgilenmeden yapmak istediğini
kolayca yapabilir.
32
BİLGİSAYAR SİSTEMLERİ
8. KİŞİSEL BİLGİSAYARLAR
Kişisel bilgisayarlar daha çok bireysel kullanım amaçlarına hizmet
eden paket programları çalıştıran sistemlerdir. Kişisel masaüstü yayıncılık,
internet erişimi, kişisel kayıtların tutulması ve eğlence bu bilgisayarların
kullanım amaçları arasındadır.
Kendi başlarına bir sistem olarak değerlendirmek pek doğru olmaz;
ancak, çeşitli paket yazılımlar sayesinde günlük hayatı kolaylaştırıcı çok
önemli ve çok yaygın araçlar halindedir.
33
BİLGİSAYAR SİSTEMLERİ
9. İLETİŞİM SİSTEMLERİ
İletişim teknolojisinde donanım ve yazılım bir arada kullanılır.
İletişim sistemlerinin amaçlarını şu şekilde sıralayabiliriz;
 Bilgiyi işlemek
 Bilgiyi dağıtmak
 Farklı iletişim ortamları üzerinden bilgiyi ulaşılır hale getirmek
Verinin ses ve görüntü formatının aktarımında yazılıma ihtiyaç
vardır. Ses ve görüntü gerçek zamanlı olarak sayısal hale getirilmekte,
sıkıştırılarak uzak mesafelere çeşitli ortamlar üzerinden taşınmakta ve sonra
tekrar çözülerek hizmete sunulmaktadır.
34
BİLGİSAYAR SİSTEMLERİ
10. ENDÜSTRİYEL SİSTEMLER
Ticari amaçlı iş denetimi, bir sistemin denetimi, fabrika
otomasyonu bilgisayar uygulamalarının önemli alanlarındandır. Günümüzde
pek çok endüstriyel sistem çeşitli kurallara göre bilgi işleyen ve sonuçlarını
çeşitli makinelere uygulayan sistemlerdir.
35
BİLGİSAYAR SİSTEMLERİ
11. KONTROL SİSTEMLERİ
Çeşitli sistem ve alt sistemleri bir mantık ile birleştiren ve bir
merkezden idare edilmesini sağlayan otomasyon sistemleridir. Sistem
içerisinde bulunan algılayıcılarla veriler toplanır ve belirli algoritmalarla bu
veriler değerlendirilerek bir sonuç çıkarılır. Çıkarılan sonuçlara göre de
sistemin ilgili yeri kontrol altına alınır.
36
BİLGİSAYAR SİSTEMLERİ
12. SİSTEM YAPILARI
Bilgisayar sistem yapıları donanım özellikleri ve yazılım açısından üç
türe ayrılabilir;
 Ana(host) sistem,
 Hedef(target) sistem,
 Test sistemidir.
37
BİLGİSAYAR SİSTEMLERİ
12.1. Ana Sistem
Ana sistemler yazılım geliştirmek üzere hazırlanmış sistemlerdir.
Ana sistemlerde aşağıdaki özelliklere sahiptir;
 Yüksek bellek kapasitesine,
 Bilgi alışverişinde bulunabilmeleri için birbirlerine bağlanmasını
sağlayan network sistemi,
 Bilgisayar donanımının yönetilebilmesi için uygun bir işletim sistemi,
 Yazılım kaynak kodunun yazıldığı metin düzenleyiciler, sözcük
işlemciler, derleyiciler, hata ayıklayıcılar, kütüphaneler, yazılım
geliştirme yardımcıları bulunur.
38
BİLGİSAYAR SİSTEMLERİ
12.2. Hedef Sistem
Bilgisayar tabanlı sistemlerin sahada kullanmak üzere hazırlanmış
şekline hedef (target) sistem denir. Hedef sistemler gömülü sistem şeklinde
veya özel (dedicated) sistem şeklinde de olabilir.
Özel sistemler, normal kişisel bilgisayarlar gibi giriş/çıkış üniteleri
bulunan (klavye ve monitöre sahip) bir işletmenin yalnızca belirlenen amaç
doğrultusunda kullanıldığı sistemlerdir. Bu tür sistemlerde üzerlerine özel
olarak yüklenmiş yazılım çalışır. Örneğin bir bankaya ait ATM’de sadece
bankacılık işlemleri yapılır.
39
BİLGİSAYAR SİSTEMLERİ
12.3. Test Sistemi
Hedef sistem meydana gelmeden önce hedef sisteminin işlevsel
olarak tam benzeri olup yazılım geliştirme sırasındaki testlerde kullanılır.
Eğer hedef sistem çok özel donanımlar gerektiren ve yüksek maliyete sahip
bir sistem ise hedef sistemin bütün özelliklerini taşıyan ve düşük maliyetli
bilgisayarlar veya donanımlar
kullanılır. Daha sonra sistem oluşturması
bittiği zaman ihtiyaca yönelik hedef sistem oluşturulur.
40
BİLGİSAYAR SİSTEMLERİ
13. Sistem Bileşenleri
Bir bilgisayarlı sistemi oluşturan ana bileşenler en temel şekliyle,
 Donanım
 Altyapı yazılım
 Uygulama yazılımlarından oluşur.
Bu bileşenlerin ayrı ayrı temin edilmesi ya da geliştirilmesi sistemin
çalışması anlamına gelmeyecektir. Sistemin çalıştırılabilmesi için mutlaka
tümleştirme veya bütünleştirme(integration) yapılması, ek olarak da el ile
yapılması gereken işlemlerin(manual operations) tanımlanması gereklidir.
41
BİLGİSAYAR SİSTEMLERİ
42
BİLGİSAYAR SİSTEMLERİ
14. BİLGİ İŞLEMENİN TEMELLERİ
En temel bilgi işleme yöntemi tek bir bilgisayar işlemcisi üzerinden
bir programın ardışık olarak yürütülmesi temeline dayanır. Günümüzdeki
pek
çok
işletim
sisteminde
birden
fazla
programı
aynı
anda
çalıştırabilmektedir.
Giriş/çıkış işlerinin yoğun olduğu uygulamalarda, programlar
işlemciyi daha az kullanmakta, giriş/çıkış birimlerinden gelen verilerin
bitmesini beklemektedir. Bu bekleme süresinin boşa gitmesini önlemek için
işlemci üzerinde aynı anda birden fazla program çalıştırmayı sağlayan işletim
sistemleri geliştirilmiştir.
43
BİLGİSAYAR SİSTEMLERİ
15. YAZILIM MİMARİLERİ
Bilgisayarların ilk ortaya çıktığı yıllarda yazılım yalnızca bir tek
işlemci üzerinde çalışmaktaydı. Daha sonraları yapılan bilgisayarlar çok
sayıda kişiye aynı anda hizmet verebilmeye özelliğine sahip olmuştur.
Üretilen bu bilgisayarlarda birden fazla yazılım tek bir bilgisayarda
zaman paylaşımlı olarak çalıştırılmasına olanak sağladı.
44
BİLGİSAYAR SİSTEMLERİ
Ancak kullanıcı sayısı gün geçtikçe artması karşısında cevap
veremez konuma geldi. Bundan dolayı paylaşılır diskler ve dizinlerden oluşan
mimariler kullanılmaya başlandı.
Bu mimarilerde yazılımlar kullanıcıların kullandıkları kişisel
bilgisayarlarda çalışmakta ve bir ağ üzerinden ortak eriştikleri dosyalar
vasıtasıyla paylaşılmaktadır.
Günümüze gelindiği zaman daha esnek ve yüksek başarı sağlayan
çeşitli mimariler ortaya konulmuştur.
45
Download