Bir dizi aşağıdaki gibi bildirildiğinde bir boyutlu (tek indisli) dizi olarak adlandırılır. Bu tip dizilere vektör denir.
int x[5];
Bir dizi birden çok boyuta sahip olabilir. Örneğin iki boyutlu y dizisi şöyle tanımlanabilir:
int y [5] [10];
İki boyutlu diziler matris olarak adlandırılır.
İlk boyuta satır, ikinci boyuta sütün denir. y matrisinin eleman sayısı 5x10=50 dir.
24 Ekim 2016 Pazartesi
17 Ekim 2016 Pazartesi
Ms Dos ile Basit Matrix Ekranı
Örnekteki Ms_Dos Komutların Anlamı
@echo off Cmd ekranındaki eski komutların görüntülenmesini engeller.
title Cmd ekranının başlık kısmındaki yazıyı değiştirir.
color Yazı rengini değiştirir.1 ile F arasındaki (Hexedecimal)sayılar verilebilir.Ör color c
pause
mode Ekran genişliğini ayarlar
:top
echo Ekrana yazı yazdırmak için kullanılır.
%random% Rasgele sayı oluşturmak için kullanılır.
goto top C dilinde kullanılan goto deyimi ile aynı şekilde kullanılır.
Burada :top kullanılarak sonsuz döngü oluşturulmuştur.
@echo off Cmd ekranındaki eski komutların görüntülenmesini engeller.
title Cmd ekranının başlık kısmındaki yazıyı değiştirir.
color Yazı rengini değiştirir.1 ile F arasındaki (Hexedecimal)sayılar verilebilir.Ör color c
pause
mode Ekran genişliğini ayarlar
:top
echo Ekrana yazı yazdırmak için kullanılır.
%random% Rasgele sayı oluşturmak için kullanılır.
goto top C dilinde kullanılan goto deyimi ile aynı şekilde kullanılır.
Burada :top kullanılarak sonsuz döngü oluşturulmuştur.
Güvenli yazılım geliştirilmesinin temel adımı.
Tehlikeleri erkenden fark et ve önlem al (Eğer yangından koruyorsan yangına dayanıklı materyal kullan.)
Dezavantajı maliyet,zaman
Tehlike meydana geldiğinde var olan prosedürleri uygula eğer yok ise proje ekibi ile prosedürleri oluştur.
Dezavantajı maliyet,zaman
Varsa deneyimlerden yararlanıp pratikleri uygula.(Her bir sistemin ihtiyaçları ve gereksinimleri farklı olduğunu unutma)
Dezavantajı Risk,maliyet,zaman,performans
Dezavantajı maliyet,zaman
Tehlike meydana geldiğinde var olan prosedürleri uygula eğer yok ise proje ekibi ile prosedürleri oluştur.
Dezavantajı maliyet,zaman
Varsa deneyimlerden yararlanıp pratikleri uygula.(Her bir sistemin ihtiyaçları ve gereksinimleri farklı olduğunu unutma)
Dezavantajı Risk,maliyet,zaman,performans
Hatalara Karşı
Hata toleransı = Kullanıcının rastgele bulduğu hatalardan ibaret olsun(Kodlayıcı yada test sorumlusu bulduğu bir hatayı göz ardı etmesin)
Buharlı motorları üreten mühendisler çok ağır masayı saatlerinde çalışıyorlardı(Onlarca sorun ortaya çıktı). Bu nedenle yazılım oluşturmada masayı saatleri belirle(Örnek Extreme Programming pratiği haftada40 Saat).
Yazılım mühendisinin proje bilgisi çok iyi olmalı.Oluşabilecek sıkıntıları erkenden fark edip ekibini kurtarmalı.
Buharlı motorları üreten mühendisler çok ağır masayı saatlerinde çalışıyorlardı(Onlarca sorun ortaya çıktı). Bu nedenle yazılım oluşturmada masayı saatleri belirle(Örnek Extreme Programming pratiği haftada40 Saat).
Yazılım mühendisinin proje bilgisi çok iyi olmalı.Oluşabilecek sıkıntıları erkenden fark edip ekibini kurtarmalı.
Nedenler
Yazılım Analojisi.
Yazılım analog N-sürümü programlama (NVP) denir:
Bizim N tane yazılım ekibimiz var. Her biriside yazılım ile ilgili ihtiyaçları bağımsız olarak kodluyorlar.
Her bir yazılım çalıştırılıyor ve bunların her biri bir oy alıyor.
NVP’lerin potansiyel sorunu nedir?
Tüm yazılım arızaları tasarım hatalarından kaynaklanmaz.
Genellikle, programcılar hataları yanlış yorumlayabilirler.
Gereksinimler; genellikle yanlış anlaşılır. Bu nedenle N ekipleri aslında doğru yorumu yapan grup sayıyı genellikle 0 yada 1 dir.
Algoritmayı Kurtarmak için temel olarak yapılması gerekenler.
Ortak hataları azaltmaz için algoritmayı parçalar halinde oluştur.
Kabul testlerini kodlayan kişi dışında bağımsız başka bir yazılımcıya oluştur.
Kodlama standartları belirle.
Yazılım analog N-sürümü programlama (NVP) denir:
Bizim N tane yazılım ekibimiz var. Her biriside yazılım ile ilgili ihtiyaçları bağımsız olarak kodluyorlar.
Her bir yazılım çalıştırılıyor ve bunların her biri bir oy alıyor.
NVP’lerin potansiyel sorunu nedir?
Tüm yazılım arızaları tasarım hatalarından kaynaklanmaz.
Genellikle, programcılar hataları yanlış yorumlayabilirler.
Gereksinimler; genellikle yanlış anlaşılır. Bu nedenle N ekipleri aslında doğru yorumu yapan grup sayıyı genellikle 0 yada 1 dir.
Algoritmayı Kurtarmak için temel olarak yapılması gerekenler.
Ortak hataları azaltmaz için algoritmayı parçalar halinde oluştur.
Kabul testlerini kodlayan kişi dışında bağımsız başka bir yazılımcıya oluştur.
Kodlama standartları belirle.
Mühendislik temelleri üzerinde çalışılmalı!
Kimse yenilik ve buluşların hayati olduğunu reddetmiyor, ama aynı zamanda mühendislik temeller üzerinde çalışmak gerekir:
Temel kuralları, ilkeleri ve yapısı
Değerlendirme kriterleri
Karşılaştırma yoluyla
Teorik sınırlarını ve yeteneklerini belirle
Üretim araçlarını belirle
Matematiksel modeller kullan ama gerçek dünyada örnekler üzerine kullanılacağını unutma.
Sorgulanan yeni yöntemler.
"Örgün yöntemlerde matematik vardır. Doğru matematik yöntemleri süreçleri iyileştirir. Bu nedenle, biçimsel yöntemler yazılım kalitesini arttıracaktır. “
Bunun doğru olduğunu net değil!
Hangi yöntem ile yazılım geliştirilecek?
Uygulayıcıların eğitim?
Siyasi konular? Maliyeti? Ölçek?
Aracı olgunluk ve uygunluğu?
Daha iyi sonuç sistemleri var mı? Güvenli? Daha küçük?
Büyük? Daha anlaşılır?
Temel kuralları, ilkeleri ve yapısı
Değerlendirme kriterleri
Karşılaştırma yoluyla
Teorik sınırlarını ve yeteneklerini belirle
Üretim araçlarını belirle
Matematiksel modeller kullan ama gerçek dünyada örnekler üzerine kullanılacağını unutma.
Sorgulanan yeni yöntemler.
"Örgün yöntemlerde matematik vardır. Doğru matematik yöntemleri süreçleri iyileştirir. Bu nedenle, biçimsel yöntemler yazılım kalitesini arttıracaktır. “
Bunun doğru olduğunu net değil!
Hangi yöntem ile yazılım geliştirilecek?
Uygulayıcıların eğitim?
Siyasi konular? Maliyeti? Ölçek?
Aracı olgunluk ve uygunluğu?
Daha iyi sonuç sistemleri var mı? Güvenli? Daha küçük?
Büyük? Daha anlaşılır?
Analogies
Buhar motorları teknolojisi kazan geliştirilme teknolojisinin gerisinde kaldı.
Yazılım ile olan ilişkisi………………………….....
Ne yapılmalı?
Zaman testleri yapılmalı ve iyi mühendislik ilkeleri kullanılmalı:
Doğrulama testleri, onaylama testleri yapılmalı. İkili ve üçlü kontrol sistemleri kullanılmalı.
Süreçleri durdurmadan süreçler üzerinde kontroller yapılmalı.
Yazılım Mühendisliği Temelleri.
Kazan patlamaların nedenleri; çok az bilimsel anlayış vardı. Benzer şekilde, Yazılım mühendisliği disiplini çok yeni ve biz hala temeller üzerinde çalışıyoruz.
İyi bir tasarım nedir?
Yazılım bileşenlerinin belirleme.
Güvenlik kritik sistemler.
Formüllerle ve resmi yöntemlerin rolü
Doğrulama ve onaylama
Sistem evrim
Sorunlar
Bilginin paylaşılmaması (Şirketlerin bilgi paylaşımlarından korkmaları.) Analitik veri yok yada çok az!!!
Bilgi teknolojisi çok hızlı ilerliyor. Bunun sonucu pek çok farklı alanda yazılımlar kullanılıyor. (İsterler artıyor karmaşıklık artıyor.)
Yazılımları kontrol etmek,değerlendirmek ve geliştirmek için çok kısa bir zamanımız var.
Yazılım ile olan ilişkisi………………………….....
Ne yapılmalı?
Zaman testleri yapılmalı ve iyi mühendislik ilkeleri kullanılmalı:
Doğrulama testleri, onaylama testleri yapılmalı. İkili ve üçlü kontrol sistemleri kullanılmalı.
Süreçleri durdurmadan süreçler üzerinde kontroller yapılmalı.
Yazılım Mühendisliği Temelleri.
Kazan patlamaların nedenleri; çok az bilimsel anlayış vardı. Benzer şekilde, Yazılım mühendisliği disiplini çok yeni ve biz hala temeller üzerinde çalışıyoruz.
İyi bir tasarım nedir?
Yazılım bileşenlerinin belirleme.
Güvenlik kritik sistemler.
Formüllerle ve resmi yöntemlerin rolü
Doğrulama ve onaylama
Sistem evrim
Sorunlar
Bilginin paylaşılmaması (Şirketlerin bilgi paylaşımlarından korkmaları.) Analitik veri yok yada çok az!!!
Bilgi teknolojisi çok hızlı ilerliyor. Bunun sonucu pek çok farklı alanda yazılımlar kullanılıyor. (İsterler artıyor karmaşıklık artıyor.)
Yazılımları kontrol etmek,değerlendirmek ve geliştirmek için çok kısa bir zamanımız var.
Buhar motorları kısa tarihi
İskenderiye’de Heron, 60 MS buhar gücünü kullanmayı denedi.
Thomas Savery ilk buhar gücü ile çalışan motoru üretti.
16-17 YY. buhar motorlarına olan ilgi arttı.
Newcomen 1700 yılında bu motorların yaygın kullanımını için bir silindir ve piston tasarladı.
1786, James Watt büyük Newcomen diye adlandırılan motoru üretti.
Bu arada İngiltere’nin kuzeyinde sanayi devrimi ile ilgili büyük bir potansiyel vardı. Watt and Matthew Boulton isimli üreticiler yeni motor tasarımlarını bu bölgede geliştirdiler (Ağır sanayi atılımı). 1800 yılında Watt’ın patent süresi sona erdi ve yüksek basınçlı buhar motorlarını isteyen herkes üretebilecek hale geldi. (HPSEs). İki tasarım geliştirildi. UK & USA. Ayrı kondansatörler yerine buharın direk pistonları itebilecek şekilde geliştirilmesi sağlandı.
İlk başarılı kullanım buharlı teknelerde oldu.
Oldukça başarılı idi.
Verimliydi, Ucuzdu.
Tekne yolculukları ucuzlamıştı.
Ekonominin büyümesini sağlamış ve tekne şirketleri bu işlerden büyük paralar kazanmışlardı.
BOOM!!!!
Buharlı teknelerdeki yolcular ve mürettabat havaya uçtu.
Tekne içerisindeki basınç miktarı olması gereken oranı aştı….
Sorun neydi?
Yeterli eğitimi olmayan kişiler tarafından kullanım.
Hızlı ve ucuz malzeme kullanımı ve üretimi.
Kötü eğitimli operatörler.
Kötü kalite kontrolü.
Niye böyle oldu?
Sadece para odaklı olarak üretim yapıldı.
Patlamadan sonra neler oldu?
USA’da akademisyenlerden ve mühendislerden oluşan bir grup. Kallite standartları belirlemeye çalıştı. UK’da Watt and Boulton şirketi bir erken uyarı sistemi geliştirdi. Ancak geliştirdikleri bu sistemi kendi buhar motorları sistemine adapte edemediler.
Buhar teknolojisi…
Bu teknolojinin zayıf noktası (Aşhil topuğu) kazanların buhar nedeni ile patlaya bilecekleri gerçeği.
Kazan teknolojisi buharlı motor teknolojisinin gerisinde kalmış olması.
Maliyeti uygun olmayan geliştirme çalışmaları yapılmış.
Süreç içerisinde
Yüksek basıncı altında çalışabilen, korozyona ve çürümeye dayanıklı malzeme kullanmaya ne gerek var;Ar-Ge çokta önemli değil.
Sonuç
Boom!!!
Buharlı kazanlar patlamaya devam etti.
Neden?
Mühendisler hala yüksek basınç altında kazanların ne şekilde çalışması gerektiğini bilmiyorlardı. Ayrıca tasarım mühendisleri, sistemlerinin kullanımının nasıl olacağı anlamadı: - Yükleme ortamı - Operatör eğitimi
- Açgözlülük, aşırı ve güven.
Peki kim suçlandı?
İşciler (Operatörler)
Peki kim suçlanmadı?
Tasarım Mühendisleri
Hükümetin müdahalesi
İşler çözümlenecek garantisi verildi.
Firmalar denetlenecek denildi.
Sonuç?
BOOM!!!
Sonrasında daha fazla buharlı motor üretildi.
1817 yılında UK’da komisyon kuruldu ve buharlı motorların tehlikeleri araştırıldı.
Komite kazanların daha fazla denetlenmesine karar verdi.
Ağır Kayıp
Sadece Amerika’da 1816 ile 1848 yılları arasında.
233 Kazan patladı
2562 İnsan öldü
2097 İnsan yaralandı
Yaklaşık $3,000,000 maddi kayıp oldu.
Araştırma
Philadelphia, the Franklin Institute 6 yıl patlamalar ile ilgili araştırma yapılır. USA devleti maddi olarak destekledi.
Araştırma Sonucunda
Üretimi düzenleyen bir mevzuat komite tarafından onaylandı.
Tararım için temel bazı kurallar geliştirildi.
Ölenlerin ailelerine tazminatlar verildi.
BOOM!!!
Patlamalar devam etti.
Toplumun hükümet üzerindeki baskısı arttı.
Ve mevzuata son şekli verildi!
Nihayet, 1852 yılında, ABD kongre vapur kazanları ile ilgili ağır şartlar gerektiren bir yasayı onayladı.Bu mevzuat ağır test şartlarını da içermekeydi.
Vapur kazan patlamaları azalmaya başlar! ... ancak güvensiz HPSEs hala lokomotif ve ağır sanayide kullanılıyor.
Daha sert standartları
Daha sonra, İngiltere'de parlamento standartları geliştiren bir tasarıyı onaylar.
1905 yılında, ölümlerin sayısı HPSE azalır. 14 Türkiye 383 Amerika Birleşik Devletleri En sonunda,
USA üretim ile ilgili standartları detaylandırır ve test işine daha fazla önem veren bir standart oluşturur.
Yazılımlarla olan ilişkisi???
Biz bilgisayar çağındayız artık.
Bunların güvenlik açısından kritik yazılımla ne ilişkisi var. Paralelik nedir? (Yazılımlar patlar mı?)
Thomas Savery ilk buhar gücü ile çalışan motoru üretti.
16-17 YY. buhar motorlarına olan ilgi arttı.
Newcomen 1700 yılında bu motorların yaygın kullanımını için bir silindir ve piston tasarladı.
1786, James Watt büyük Newcomen diye adlandırılan motoru üretti.
Bu arada İngiltere’nin kuzeyinde sanayi devrimi ile ilgili büyük bir potansiyel vardı. Watt and Matthew Boulton isimli üreticiler yeni motor tasarımlarını bu bölgede geliştirdiler (Ağır sanayi atılımı). 1800 yılında Watt’ın patent süresi sona erdi ve yüksek basınçlı buhar motorlarını isteyen herkes üretebilecek hale geldi. (HPSEs). İki tasarım geliştirildi. UK & USA. Ayrı kondansatörler yerine buharın direk pistonları itebilecek şekilde geliştirilmesi sağlandı.
İlk başarılı kullanım buharlı teknelerde oldu.
Oldukça başarılı idi.
Verimliydi, Ucuzdu.
Tekne yolculukları ucuzlamıştı.
Ekonominin büyümesini sağlamış ve tekne şirketleri bu işlerden büyük paralar kazanmışlardı.
BOOM!!!!
Buharlı teknelerdeki yolcular ve mürettabat havaya uçtu.
Tekne içerisindeki basınç miktarı olması gereken oranı aştı….
Sorun neydi?
Yeterli eğitimi olmayan kişiler tarafından kullanım.
Hızlı ve ucuz malzeme kullanımı ve üretimi.
Kötü eğitimli operatörler.
Kötü kalite kontrolü.
Niye böyle oldu?
Sadece para odaklı olarak üretim yapıldı.
Patlamadan sonra neler oldu?
USA’da akademisyenlerden ve mühendislerden oluşan bir grup. Kallite standartları belirlemeye çalıştı. UK’da Watt and Boulton şirketi bir erken uyarı sistemi geliştirdi. Ancak geliştirdikleri bu sistemi kendi buhar motorları sistemine adapte edemediler.
Buhar teknolojisi…
Bu teknolojinin zayıf noktası (Aşhil topuğu) kazanların buhar nedeni ile patlaya bilecekleri gerçeği.
Kazan teknolojisi buharlı motor teknolojisinin gerisinde kalmış olması.
Maliyeti uygun olmayan geliştirme çalışmaları yapılmış.
Süreç içerisinde
Yüksek basıncı altında çalışabilen, korozyona ve çürümeye dayanıklı malzeme kullanmaya ne gerek var;Ar-Ge çokta önemli değil.
Sonuç
Boom!!!
Buharlı kazanlar patlamaya devam etti.
Neden?
Mühendisler hala yüksek basınç altında kazanların ne şekilde çalışması gerektiğini bilmiyorlardı. Ayrıca tasarım mühendisleri, sistemlerinin kullanımının nasıl olacağı anlamadı: - Yükleme ortamı - Operatör eğitimi
- Açgözlülük, aşırı ve güven.
Peki kim suçlandı?
İşciler (Operatörler)
Peki kim suçlanmadı?
Tasarım Mühendisleri
Hükümetin müdahalesi
İşler çözümlenecek garantisi verildi.
Firmalar denetlenecek denildi.
Sonuç?
BOOM!!!
Sonrasında daha fazla buharlı motor üretildi.
1817 yılında UK’da komisyon kuruldu ve buharlı motorların tehlikeleri araştırıldı.
Komite kazanların daha fazla denetlenmesine karar verdi.
Ağır Kayıp
Sadece Amerika’da 1816 ile 1848 yılları arasında.
233 Kazan patladı
2562 İnsan öldü
2097 İnsan yaralandı
Yaklaşık $3,000,000 maddi kayıp oldu.
Araştırma
Philadelphia, the Franklin Institute 6 yıl patlamalar ile ilgili araştırma yapılır. USA devleti maddi olarak destekledi.
Araştırma Sonucunda
Üretimi düzenleyen bir mevzuat komite tarafından onaylandı.
Tararım için temel bazı kurallar geliştirildi.
Ölenlerin ailelerine tazminatlar verildi.
BOOM!!!
Patlamalar devam etti.
Toplumun hükümet üzerindeki baskısı arttı.
Ve mevzuata son şekli verildi!
Nihayet, 1852 yılında, ABD kongre vapur kazanları ile ilgili ağır şartlar gerektiren bir yasayı onayladı.Bu mevzuat ağır test şartlarını da içermekeydi.
Vapur kazan patlamaları azalmaya başlar! ... ancak güvensiz HPSEs hala lokomotif ve ağır sanayide kullanılıyor.
Daha sert standartları
Daha sonra, İngiltere'de parlamento standartları geliştiren bir tasarıyı onaylar.
1905 yılında, ölümlerin sayısı HPSE azalır. 14 Türkiye 383 Amerika Birleşik Devletleri En sonunda,
USA üretim ile ilgili standartları detaylandırır ve test işine daha fazla önem veren bir standart oluşturur.
Yazılımlarla olan ilişkisi???
Biz bilgisayar çağındayız artık.
Bunların güvenlik açısından kritik yazılımla ne ilişkisi var. Paralelik nedir? (Yazılımlar patlar mı?)
Yazılım ve Güvenliği Kritik Uygulamalar
Güvenliğin önemli olduğu pek çok yerde(Hataya tahammülün olmadığı yada çok az olduğu yerlerde), “safety-critical” güvenlik açısından kritik yazılımlar kullanmaktayız. Eğer bu yazılımlar doğru olarak çalışmaz ise çok büyük sıkıntılarla karşılaşa biliriz.
Bu yazılımların kullanıldığı yerlerden bazıları;
Nükleer reaktörler
Uçuş kontrol sistemleri
X-ray makinelerde yazılım kontrolörleri
Güvenlik öncelikli uygulamalarda; kapsamlı testler, kod incelemesi ve yazılım geliştirme yöntemleri daha titizlikle uygulanmalıdır. Şu ana kadar yapılan güvenlik öncelikli yazılımlardaki hata oranları diğer yazılımlara oranla daha düşüktür. Fakat bu yazılımların teknolojik olarak ve ekonomik olarak geliştirilmesi daha zordur. Bu yazılımları oluşturmak yıllar sürebilmektedir.
Nükleer reaktörler
Uçuş kontrol sistemleri
X-ray makinelerde yazılım kontrolörleri
Güvenlik öncelikli uygulamalarda; kapsamlı testler, kod incelemesi ve yazılım geliştirme yöntemleri daha titizlikle uygulanmalıdır. Şu ana kadar yapılan güvenlik öncelikli yazılımlardaki hata oranları diğer yazılımlara oranla daha düşüktür. Fakat bu yazılımların teknolojik olarak ve ekonomik olarak geliştirilmesi daha zordur. Bu yazılımları oluşturmak yıllar sürebilmektedir.
Kaydol:
Kayıtlar (Atom)