Tanımlayıcılar:
Programcı tarafından oluşturulurlar.
Programdaki değişkenleri, sabitleri, kayıt alanlarını, özel bilgi tiplerini vb. adlandırmak için kullanılan kelimelerdir.
Tanımlayıcılar, yerini tuttukları ifadelere çağrışım yapacak şekilde seçilmelidir.
İngiliz alfabesindeki A-Z veya a-z arasındaki 26 harf ile 0-9 arası rakamlar kullanılabilir.
Sembollerden sadece alt çizgi _ kullanılabilir.
Tanımlayıcı isimleri harfle veya alt çizgiyle başlayabilir.
Tanımlayıcı ismi, rakamla başlayamaz veya sadece rakamlardan oluşamaz.
Tanımlayıcılar boşluk karakterini içeremezler.
Anahtar Sözcükler
C dilinde 32 adet anahtar sözcük vardır ve hepsi küçük harfle yazılır. Anahtar sözcükler tanımlayıcı olarak kullanılamazlar.
31 Ekim 2016 Pazartesi
Diğer mühendislik alanlarında durum nasıl?
Diğer mühendislik alanlarında durum nasıl?
(Yazılımcıdan istenilenler diğer bir alandaki insanlardan istenseydi nasıl bir hikaye çıkardı.)
Sayın mimar;
Lütfen bana bir ev inşa ediniz.Ama tam olarak ne istediğimden emin değilim.Bu nedenle kendi taktirinizi kullanınız.
Evimde 2 ila 45 adet yatak odası olsun. Yatak odalarını kolaylıkla ekleyip kaldırabileyim bir şekilde planlayınız. Siz bana planları getirin ben nihaiyi kararları ona göre vereyim. Ayrıca her bir plan için tek tek maliyet dökümlerini de getirmeyi unutmayınız.Böylelikle bende bana uygun olanı seçebilirim.
Şunu da aklınızda tutun ben sonuçta maliyeti düşük olanı seçeceğim.Maliyeti şu anki evden daha düşük olmalı. Şu anda yaşadığım evde çeşitli aksilikler var(Mutfak ile ilgili sorunlarım var. Ben evde yürüdüğümde eşyalar sallanıyor ayrıca yalıtımda çok iyi değil.)
Ayrıca bu evi yıllık olarak tutmak istiyoruz yani önümüzdeki sene maliyeti daha düşük bir ev bulursak çıkarım haberiniz olsun. Tararımı yaparken de yıllık masrafları oldukça az tutun fazla paramız yok.
Lütfen en son malzemeleri kullanın ve en güzel şekilde tasarlamaya çalışın.Eğer böyle yaparsanız ev gerçekten çok güzel olur. Aaa unutmadan, mutfakta benim 1952 model Gibson buz dolabını barındıracak şekilde olsun.
Evin güvenliği bizim için çok önemli; kanunlar karşısında belirlenmiş yönetmeliklere göre evi hazırlayın yoksa olmaz. Benim eşimin annesi yılda en az bir kere bizi ziyarete gelir geldiğinde ev ile ilgili tasarım ve diğer konularda her hangi bir eksiklik bulmaya çalışacaktır aman dikkat edelim.
Eğer anneciğim her hangi bir yerini beğenmez ise o kısım ile ilgili değiştirme hakkımı elimde tutmak isterim. Lütfen şu anda beni küçük tararım ayrıntıları ile rahatsız etmeyin. Bu tasarım sizin işiniz karışmak istemem. Büyük resmi düşünün ona göre tasarlayın. Bu arada eşim yeşil renkli halıları sever tasarım buna da aklınızda tutun.Ev ile ilgili kaynak sorununu düşünmeyin. Sizin ilk önceliğiniz detaylı bir ev planı ve tanımlamaları oluşturmak. Tabi şunu da beklerim, ben tasarımı seçtikten sonra 48 saat içinde çatının ilk şekli oluşmuş olsun.
Evi tasarlarken önce ve sonra olabilecek isteklerimi göz önemde bulundurun. Bu evi satmak istiyorum o nedenle potansiyel alıcıları için cazip olmasını da dikkat edin.
Bizim yan komşularda evlerini geçen sene yenilediler onların evlerinin de çok güzel yönleri var. Onların ayrıca büyük bir yüzme havuzları var. İnanıyorum ki güzel bir tasarım ile maliyetleri yukarı çekmeden buna benzer bir yüzme havuzu yapabilirsiniz.
Tasarımları komple bir set olarak hazırlayın, yeni nesil inşaatçılık yöntemleri kullanabilirsiniz, bakın sizin için ne büyük bir kolaylık bu günlerde böyle anlayışlı müşteri bulmak çok zor. Ama tasarımla ilgili konuları değiştirmeyin yoksa maliyet artar aman maliyetlere dikkat.
Böyle bir proje üzerinde çalışmaktan çok mutlu olduğunuzu düşünüyorum. Bunun gibi tasarımları çok özgür bir şekilde yapılacak olmak ve yeni inşaat yöntemleri kullanmak güzel olsa gerek.
Unutmadan bu arada karım biraz önce söyledi evde olacak bu işlerden ötürü çok ses çıkmasın. Tabi mimar sissiniz nasıl olacağını da siz bizden daha iyi bilirsiniz.
Daha önceden inşaat yaptırma işine girdim ama olmadı umarım bu sefer olur.Eğer siz yapamazsanız başka bir mimar bulurum.
Belki de bu evi yenilemek yerine güzel bir tatil yapsam daha iyi olur neyse başladık bir kere beni bilgilendirin. Sizden haber bekliyorum.
Eğer yazılım içerisinde bir hata bulmuş ve diğerlerini keşfedemiyorsanız ne olur?
Parody “Ormanda bir ağaç düşerse gerçekten ses yapar mı?”
Görülemeyen hata hatamıdır?
Görülemeyen hatalara örtük(gizli) hata“latent bugs”
Görülemeyen hata hatamıdır?
Görülemeyen hatalara örtük(gizli) hata“latent bugs”
Bulunan bütün hatalar çözümlenemezmi ? Neden?
Yeterli bilgi birikimi eksikliği!
Bazen yeterli zaman yoktur!
Bazı son tarihler ertelenemez.
Bazen çok riskli olabilir!
Murphy’nin koduna dokunma
Buna değer mi!
Bazı ek özellikle bekleyebilir!
Neden bir sonraki sürüm için müşteriden ücret almayalım ki?
Kod ile ilgili bir hata olmaya bilir!
Tanımlama yanlışlığından olabilir
Bazen yeterli zaman yoktur!
Bazı son tarihler ertelenemez.
Bazen çok riskli olabilir!
Murphy’nin koduna dokunma
Buna değer mi!
Bazı ek özellikle bekleyebilir!
Neden bir sonraki sürüm için müşteriden ücret almayalım ki?
Kod ile ilgili bir hata olmaya bilir!
Tanımlama yanlışlığından olabilir
Birazda Terminoloji.
Verification: Biz ürünümü doğrumu yapıyoruz?
Yazılım şartnamedeki özellikleri ve tanımlamaları karşılanıyor mu?
Validation: Doğru ürünü mü yapıyoruz?
Ürün kullanıcı ihtiyaçlarını karşılıyor mu?
Kalite Güvencesi
Yöntem ve standartlar uygulayarak; yazılım sürecleri içinde meydana gelen hataları önle.
Yazılım Testine İlişkin
Murphy kanunu: (Eğer yazılım hatalı bir sonuç üretiyorsa bundan yazılımı üreten kişiler sorumludur ve bu sorunu onlar halletmelidir!
Bu kural Edward Murphy tarafından yazılım geliştirimi ile ilgili bir ölçü geliştirmek için ortaya atılmıştır.)
“Program testti, ancak hataların varlığını göstermek için kullanılır onların yokluğunda göstermek için değil!” Edsger Wybe Dijkstra
“Test ile hata bulabilirsin ama hala daha fazlası vardır”
Hatalar nerelerden kaynaklana bilir.
Programcılar kötü günleri olabilir.
Programcılar aynı hataları yapmak eğilimindedir.
Bazı hatalar buzdağının sadece ucu gibidir.
Boris Beizer yaklaşımı: Daha fazla yazılım daha fazla testti beraberinde getirir “pestisit paradoksu”. Bu nedenle Boris Beizer bağışıklık testleri kavramını ortaya attı. Çözüm sürekli yazılımın farklı bölgelerinde yazılım kullanımı ile ve test kodu ile yazılımları test edin.
Yazılım Testi ile ilgili zorluklar.
Kaç tane test case oluşturulmalı? (Cevabı o kadar kolaymı?)
Yazılımın mevcut olan bütün girişlerinin doğru olarak alındığından emin olup.
Bütün girişleri ve çıkışları kontrol etmek.
Tanımlamaların doğru olduğu bilinmesi
Yazılım üretiminin ilk safhasında oluşan isterler yorumlamaya açık olması
Yazılım içerisine alınan giriş sayıları çok fazla olması.
Yazılımda oluşturulan çıkış sayıları çok fazla olması.
Yazılım içerisinde oluşan yol (path) sayısı çok fazla olması.
Girişleri test etmedin ve bir hata ile karşılaştın ne olur?
(Risk:Güven kaybı,para,zaman,vb . Bu yüzden testi yapan kişi üzerinde baskı kodlayan kişiye göre daha fazladır.)
Yazılım geliştirmede isterler oldukça sıra dışı ve özgürdür.
(Rekabet çok fazladır, Yaşam döngüleri çok hızlıdır. Yazılımı değiştirme yazılımcılara dışarıdan bakan kişiler için “kolaydır.”)
Yazılım Testine İlişkin…
Yazılımın testi yazılım risk temelli olarak yapılmalıdır.
Daha fazla hata bulduğunda daha fazla test yapmalısın. (Ne Kadar? Kaç tane test case oluşturulmalı.)
Yazılım geliştiriciler arasında Yazılım testleri popüler değildir.
- Eğer yazılım içerisindeki bütün girişleri test edemez ise yazılım içerisinde risk almış olursun!
Daha fazla hata bulduğunda daha fazla test yapmalısın. (Ne Kadar? Kaç tane test case oluşturulmalı.)
- Bulunan bütün hataların düzeltildiği söylenemez. (Neden Bütün Hataları düzelttiğimiz söylenemez?)
Yazılım geliştiriciler arasında Yazılım testleri popüler değildir.
- Yazılım Test mühendisinin amacı: Hataları bulmak,Hataları erken safhalarda oluşmadan bulmak.Hataların düzeltildiğinden emin olmak.
- Popülerlik için ipuçları: Hataları erken bul.,Ani sinirlenme.,Kötü haberleri erkenden proje yöneticisine ulaştırma
- Yazılım kolay ve yönetilebilir olduğunda(parçaları birbirinden ayrılmış) yazılımı test etmek daha kolaydır. Aksi durumlarda test işlemi daha zordur.
- Günümüzdeki yazılımlar çok büyük ve karmaşık o nedenle test için
- Yöntemler
- Araçlar
Yazılım Test Modellileri ve Yazılım Geliştirme Modelleri
Yazılım geliştirme modelleri her zaman kullanılır mı?İdeal midir?
Plato’nun “ideal” ile ilgili ilginç benzetmeleri
"Fiziksel nesneler ve fiziksel olaylar, ideal veya mükemmel formların gölgeleridir. Onlar ölçeğine yaklaşabildiği kadar mükemmeldirler."
Plato’nun “ideal” ile ilgili ilginç benzetmeleri
"Fiziksel nesneler ve fiziksel olaylar, ideal veya mükemmel formların gölgeleridir. Onlar ölçeğine yaklaşabildiği kadar mükemmeldirler."
Waterfall modeli mükemmelidir?
Müşterinin ihtiyaçları hiçbir zaman tam olarak tanımlanamaz! Mükemmel olmamasının ikinci neden ise; bütün durumların gerçekleştirilmesi için yeterli zaman ve kaynak yoktur.
Bu nedenlerden dolayı sadece waterfall modeli değil hiç bir yazılım geliştirme modeli mükemmel değildir. Ancak yazılım geliştirmede seçilecek bir yazılım geliştirme modeli kullanılmalıdır.
Kaydol:
Kayıtlar (Atom)