Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

KONU BAŞLIKLARIMIZ; Dillerin Özellikleri Yazılım Gerçekleştirimi

Benzer bir sunumlar


... konulu sunumlar: "KONU BAŞLIKLARIMIZ; Dillerin Özellikleri Yazılım Gerçekleştirimi"— Sunum transkripti:

1

2 KONU BAŞLIKLARIMIZ; Dillerin Özellikleri Yazılım Gerçekleştirimi
Programlama Dilleri Dillerin Özellikleri Kod Çevrim İşlemi Yürütme Ortamı Kodlama Biçimleri

3 YAZILIM GERÇEKLEŞTİRİMİ
Yazılım mühendisliği ana aşamalarından çözümleme ve tasarım, aslında isterlerin bilgisayarın anlayabileceği şekle dönüştürülmesi için bir alt yapı sağlar. Mevlüt inan

4 Çözümleme ve tasarım, düşüncelerin makinelerin anlayabileceği hale getirilmesine yardımcı olurken, gerçekleştirim aşamasında, tasarım, programlama diline dönüştürülür.

5 Bilgisayara yaptırılması istenen görevleri ona tanıtabilmek için programlama dilleri kullanılır.

6 Yazılan kaynak kod daha sonra bilgisayar mimarisine uygun makine kodlarına dönüştürülerek uygun bir merkezi işlem birimi üzerinde koşturulurlar.

7 Gerçekleştirim aşaması sonunda, yürütülebilir kod veya dinamik kütüphane şeklinde yazılım birimleri elde edilir. Pek çok yerde bu birimlere program denmektedir.

8

9 Programlama Dilleri Yazılım mühendisliğinin diğer evreleri ne kadar nitelikli olursa olsun , gerçekleştirim, yani kodlama evresinde kullanılan programlama dili ve kodlama biçimi son ürünün hem niteliğini hem de bakım özelliğini etkiler.

10 Dillerin Tarihçesi 1960’larda yapısal programlama ortaya çıktı
Dillerin Tarihçesi 1960’larda yapısal programlama ortaya çıktı. Bu yöntemi destekleyen programlama dilleri ile nispeten karmaşık ve büyük programlar yazabilmek mümkün olmaktaydı.

11 Fakat yine de projeler belirli boyutları aştığında yapısal programlama yöntemi de yetersiz kalmakta ve projelerin denetimi zorlaşmaktaydı.

12 Programcılığa yaklaşımlar bilgisayarın icadından bu yana pek çok değişikliğe uğramıştır. Bunun en önemli nedenlerinden biri gittikçe karmaşıklaşan program isteklerine cevap verebilmektir.

13 İlk bilgisayar programları Assembly dili ile yazılmaktaydı
İlk bilgisayar programları Assembly dili ile yazılmaktaydı. Program boyutları büyüdükçe daha da üst düzey programlama dili FORTRAN’dır.

14 Çeşitli gereksinimler nedeniyle bilgisayar programlama tekniklerine 1980’lerde yeni bir yaklaşım daha eklenmiştir.

15 Günümüzde çok yaygın olan bu yazılım geliştirme tekniğine Nesneye Yönelik Çözümleme ve Tasarım ve bunun sonucunda ortaya çıkan programlama yöntemine de Nesneye Yönelik Programlama adı verilmiştir.

16 1980’lerin yaygın yüksek düzey dillerinden biri olan C programlama dili, etkinliği, programlama kuvveti ve kullanım kolaylıkları ile tanınmaktadır.

17 C++ ise C’nin nesneye yönelik uyarlamasıdır
C++ ise C’nin nesneye yönelik uyarlamasıdır. C’nin yeteneklerini taşıması yanında nesneye yönelimi de desteklemesi bu dili benzerleri içinde en yaygın ve önemli hale getirmektedir.

18 Ancak, C++’ı yalnızca yapısal bir dil olarak kullanmaya çalışmanın otoyolda birinci vitesle araç kullanmaya bezediği de kabul edilmelidir.

19 Günümüzde de çok yeni sayılabilecek, fakat çok yaygın bir dil olan JAVA daha çok internet uygulamaları ve taşınabilir programlama için ideal olarak görülmektedir.

20 Bunların yanında taşınabilirliği ve uyumluluğu sağlamak üzere HTML,XML gibi yapısal diller ve çeşitli özel amaçlı toplu iş tanımlama dilleri de yaygın bir şekilde kullanılmaktadır.

21 DİLLERİN GELİŞİMİ Bilgisayarın icadından bu yana çeşitli yazılım geliştirme projelerinde kullanılmış olan yüzlerce programlama dili bulunmaktadır. Tarihçesine göre bu diller beş ana nesil içinde toplanabilirler.

22 Programlama Dillerinin Gelişimi

23 a)Birinci Nesil Diller Assembly dili insanların daha rahat okuyabileceği ilk dil ortaya çıkmıştır.

24 Komut ve işlenen birimden oluşan kısa ifadeler halinde olan Assembly dili bilgisayarların merkezi işlem birimlerinin her türü için ayrı ayrı olabilirler.

25 b)İkinci Nesil Diller 1950’lerden sonra geliştirilmeye başlanmış, 1960’ların sonunda ortaya çıkan modern dillerin temelini oluşturmuşlardır.

26 İkinci nesil diller zengin kütüphaneleri, geniş kullanım alanları ile oldukça yaygın hale gelmişlerdir. Bu diller arasında FORTRAN, COBAL, ALGOL ve BASIC sayılabilir.

27 Bunlar arasında FORTRAN, kırk yıla yakın bir süredir özellikle matematik ağırlıklı kütüphaneleri nedeniyle problem çözme alanında ağırlıklı olarak kullanılmaktadır.

28 FORTRAN-66 ilk standart sürüm iken FORTRAN-77 standart sürüm olmuştur
FORTRAN-66 ilk standart sürüm iken FORTRAN-77 standart sürüm olmuştur. COBOL, ticari alanlarda veri işleme amaçlı olarak kullanılan belirli standartlara sahip bir dil haline gelmiştir.

29 ALGOL, üçüncü nesil dillere öncülük eden zengin veri tipleri ve yordamsal yapılara sahip bir dildir.

30 Avrupa’da özellikle akademik çevrelerde yaygın bir şekilde kullanılmış, ancak Amerika Birleşik Devletleri’ nde pek kabul görmemiştir. ALGOL-60 ve ALGOL-68 sürümleri ile daha güçlü hale getirilmiştir.

31 BASIC, özellikle kişisel bilgisayarlarda kolay programlama olanağı sağlamıştır. Ancak, çok çeşitli sürümleri nedeniyle fazla standart hale gelmemiştir.

32 Günümüzde ise bu dilim grafiksel gösterim amaçlı yeni bir sürümü VISUAL BASIC adıyla halen kullanılmaktadır.

33 c)Üçüncü Nesil Diller Bu nesil diller genellikle modern ve yapısal diller olarak adlandırılırlar. *Genel Amaçlı Yüksek Düzeli Diller *Nesneye Yönelik Yüksek Düzey Diller *Özel Amaçlı Diller

34 Genel Amaçlı Yüksek Düzeyli Diller Genel amaçlı ilk dil olarak ALGOL görülmektedir. Bundan sonra onu model olarak alan PL/I,PASCAL,MODULA-2,C ve ADA izlemiştir.

35 PL/I, gelişmiş veri yapıları, çok görevlilik desteği, karmaşık giriş/çıkış işlemleri ve listeleme işlevleri için geniş uygulama alanına sahiptir.

36 Bu dilden daha sonraları, PL/C isimli eğitim amaçlı, PL/M isimli mikroişlemcilerde kullanım amaçlı ve PL/S isimli sistem programlama amaçlı alt diller türetilmiştir.

37 PASCAL daha çok modern teknikleri öğretmek amacıyla 1970’ lerin başında geliştirilmiştir. Ancak, ortaya çıktıktan sonra oldukça geniş bir uygulama alanı bulmuştur.

38 MODULA-2 dili PASCAL’ ın gelişmiş bir hali olarak ADA dilinin bir alternatifini oluşturmuştur.

39 C programlama dili aslında işletim sistemleri için geliştirilmiştir
C programlama dili aslında işletim sistemleri için geliştirilmiştir. Ünlü Ünix işletim sistemi de C ile geliştirilmiştir. Günümüzde de en yaygın ve en güçlü diller arasındadır.

40 ADA, Amerikan Savunma Bakanlığı’ nın yazılım krizine çözüm olması amacıyla gömülü gerçek -zamanlı sistemler için geliştirilmiştir.

41 PASCAL diline benzer yapılar yanında, paketler , kalıplar, paralel görevcikler (task), kesme kurtarma ve hata yakalama yapıları gibi özellikleriyle günümüzde özellikle savunma alanında yaygın ve etkin bir şekilde kullanılmaktadır.

42 Nesneye Yönelik Yüksek Düzey Diller Nesneye yönelik çözümleme ve tasarımı desteklemek üzere geliştirilmiş dillerin sayısı çok artmıştır.

43 Ancak içlerinden yalnızca C++, Objective-C, SMALLTALK, EIFFEL, PASCAL ( Nesneye Yönelik Sürümü), JAVA dilleri uygulama alanı bulmuşlardır. Bunlardan da C++ ve JAVA günümüzün en yaygın dilleri arasındadır.

44 Bu dillerin ortak özellikleri sınıf tanımlamaları, kapsama ve kalıtım ile çeşitli nesneye yönelim özelliklerini desteklemeleridir.

45 C++’ ın üstünlüğü ve yaygınlığı her zaman geçerli iken JAVA dilinin yürütme anındaki başarım yetersizlikleri halen bir çok uygulama alanında kabul edilmez durumdadır.

46 Özel Amaçlı Diller Özel amaçlı diller, belirli bir uygulama tipi için tasarlanmış, alışılmışın dışında yapılara ve sözdizimlerine sahiptirler. Bu tür diller dar bir uygulama alanına sahiptirler.

47 Ancak, belirli bir uygulama tipinin gereksinimlerini karşılamak üzere geliştirildiklerinden, isterleri tasarıma ve tasarımı koda dönüştürme işlemi daha başarılı olmaktadır. En önemli diller arasında LISP,PROLOG ve APL sayılabilir.

48 LISP, simge ve listelerde ardışık bilgi işleme sağlamaktadır
LISP, simge ve listelerde ardışık bilgi işleme sağlamaktadır. Özellikle yapay zeka uygulamalarında, ağaç yapıları yardımıyla problem çözme amaçlı olarak kullanılır.

49 Özyineleme tekniği ile uzman sistemlerin ve bu sistemler için derleyicilerin geliştirilmesinde kullanılır.

50 LISP, bilgi tabanlı sistemlerin geliştirilmesi için gerekli olan kuralları, gerçekleri ve ilişkileri tanımla işlerini oldukça kolay hale getirmektedir.

51 PROLOG uzman sistemlerin geliştirilmesinde önemli yeri olan bir dildir
PROLOG uzman sistemlerin geliştirilmesinde önemli yeri olan bir dildir. Dil içinde bilgi tabanlı sitemler için gerekli olan kural, gerçek ve çıkarım tanımlamaları yanında standart veri yapıları da bulunmaktadır.

52 APL, diziler ve vektörlerle işlem yapmak için iyi bir gerçekleştirim aracıdır. Matematiksel problemlerin çözümlerinde bir miktar kullanım yeri bulmuştur.

53 d)Dördüncü Nesil Diller Birinci nesil diller makine komutları düzeyinde iken, ikinci ve üçüncü nesil dillerle gerçek anlamda bilgisayar programları oluşturmak olası hale gelmiştir. Dördüncü nesil dillerle de bu soyutlama, özellikle de veri soyutlaması daha da yükselmiştir.

54 Dördüncü nesil diller, kodlayıcı koşulları ve ona karşılık düşen yordamsal eylemleri tanımlamakta, aynı zamanda da bu işlemin sonucunu bir başka yordamsal ayrıntı içinde kullanabilmektedir.

55 Sorgulama Dilleri Veri tabanlarına erişmek , sorgulama ve raporlama yapmak üzere çeşitli diller geliştirilmiştir. DBASE III/IV,CLIPPER, DELPHI PARADOX bu diller arasında sayılabilir.

56 Bazı sorgulama dilleri de kullanıcının var olan veri tabanları üzerinde işlem yapabilmesini sağlarlar. SQL en yaygın olan dillerden biridir. Bazı dillerde İngilizce konuşma diline çok yaklaşmışlardır.

57 Kod Üreticiler Günümüzde yaygın bir şekilde kullanılan bilgisayar destekli yazılım mühendisliği araçları (UML, STP, SDL, MDA araçları gibi), grafik tabanlı kullanıcı arayüzü geliştirme araçları, iş dünyası için çeşitli araçlar C, C++, ADA gibi dillerde kod üretmektedirler. Üretilen bu kod uygun bir derleyiciden geçirilerek yürütülebilir kod elde edilmektedir.

58 Türetme Diller Özellikle belirli alanların sorunlarını daha kolay ve etkin bir şekilde çözebilmek için bazı dillere eklemeler ve uzantılar yapılarak yeni diller türetilmektedir.

59 Bu dillerin kullanımı, diğer diller gibi olmakta, ancak bir önişleyici kullanılarak yeni dilde yazılan kodun daha standart bir dildeki kod haline dönüştürülmesi, sonrada bu üretilen kodun standart bir derleyici ile derlenip yürütülebilir kod üretilmesi ilkesine dayanır.

60 Bu şekilde normal dillerde bulunmayan birçok özellik, dilin yapıları arasına sokularak kodlayıcılara daha geniş işlevleri olan diller sunulmaktadır.

61 Örneğin; “Real-Time C++” (RTC++), C++ diline bir uzantı olarak paralel ve dağıtık programlama olanağı sunmaktadır. Bu tür diller, gerçek uygulamalarda ve piyasada fazla yaygın olmamakla beraber, araştırma ve akademik çalışmalarda kullanılmaktadır.

62 Diğer Diller Karar destek, prototipleme ve belirtim gibi çeşitli amaçlara hizmet diller de bulunmaktadır. Arayüz belirtim (CORBA-IDL), toplu iş tanımlama(script, batch file) gibi işlevleri yerine getirmede kullanılan diller olduğu gibi kişisel bilgisayarlarda yaygın bir şekilde kullanılan çalışma tabloları, veritabanı sistemleri de ayrı diller kullanmaktadırlar.

63 SGML ve onun daha basitleştirilmiş bir altkümesi olan XML daha çok internet dünyasında kullanılan HTML için bir standart getirmek üzere tanımlanmıştır. Bu diller insanların okuyabileceği türdeki verileri biçimlendirilmiş bir şekle getirmek için kullanılır.

64 XML yalnızca metin tabanlı veri tabanlı verileri düzenlemek ve sağlamak için etkin bir dildir. Onun dışında, makinenin okuyabileceği veriler(örneğin, kayan nokta sayılar) ve matematiksel hesaplamalar için kullanılmaz.

65 e)Beşinci Nesil Diller Geleceğe hükmedecek bu son nesil diller çeşitli araştırmalar halindedirler. Yürütülmekte olan bu araştırmaların sonuçları henüz yaygınlaşmamıştır. Bu tür diller yeni oluşumları kapsayacaklardır.

66 Örneğin nesneye yönelik programlamadan sonra gelişen yeni bir yaklaşım da konuya yönelik programlamadır. Yeni program dilleri, daha fazla kapsama yaratacak, belki de bizi ardışık düşünmekten kurtaracaktır.

67 DİLLERİN ÖZELLİKLERİ Programlama dillerinin karşılaştırmasında çeşitli özelliklerin ve yeteneklerin varlığı esas alınır. Dillerin özelliklerini genellemek ve bir kısmını da daha alt gruplar için mümkündür. MELEK İNTEPE

68 GENEL ÖZELLİKLERİ Programlama dillerinin genel özelliklerini şu şekilde özetleyebiliriz. Tasarımdan koda geçiş kolaylığı:Kurumsal olarak,iyi yapılmış bir ayrıntılı tasarımı koda çevirmek kolay bir işlemdir.Ancak bunun için programlama dilinin tasarımda öngörülen yapıları desteklemesi gereklidir.

69 Amaca uygunluk Uygulama alanının ve geliştirilecek yazılımın işlevsel ve başarım özelliklerine göre programlama dili seçimi yapılmaktadır.Bu seçim,tasarım sırasında da etkisini ortaya koyar.

70 Zira, dilin desteklemediği bir yapıyı tasarlamak ve kodlamaya çalışmak yerine, amaca uygun yapılara sahip bir dili seçerek onun özelliklerini tasarım sırasında kulanmak daha yararlı olacaktır…

71 Dilin etkinliği Yaygın programlama dilleri İngilizce üzerine kurulmuş olup konuşma diline yaklaştıkça hem yazılması hemde okunması kolaylaşır.

72 Derleyici etkinliği Aynı kaynak kod kullanılmasına rağmen her derleyici aynı nitelikte kod üretimi yapamaz. Programlama dilinden üretilen makine kodunun etkinliği yürütme sırasında ortaya çıkar.

73 Derleyiciler kaynak kodu çözümlemeden önce ne kadar iyi denetlerler ve üretilen makine kodunu ne kadar iyileştirirlerse o kadar başarılı sayılırlar.

74 Taşınabilirlik Bir programlama dili ile yazılan kaynak kodun değişik derleyicilerle, işletim sisteminin yeni sürümleriyle ve hatta başka makineler üzerinde sorunsuzca çalışması arzu edilir.

75 Ancak ne yazık ki, birçok derleyici üreticisi genel başarımı arttırmak uğruna bazı özel yapılar, bildirimler ve hatta anahtar sözcükler kullanılabilmektedirler.

76 İşletim sistemine özgü alt düzey çağrıların kaynak kod ile iç içe kullanılması ile taşınabilirlik özelliği azalabilir.

77 Geliştirme Araçları Bir programlama dilinin en özelliklerinden biri geliştirme sırsında kodlayıcıya sunduğu hizmetlerlede ölçülür.

78 Geliştirme araçlarının varlığı aslında derleyici üreticisi olan firmaya bağlıdır. Desteği az bir dilin etkinliğinin yüksek olmasını beklemek doğru olamaz.

79 Bakım Yazılım bakımının kolay olmasındaki en büyük etkenlerden biri , esnek bir tasarımın yanında, kaynak kodun niteliğidir.Kod, okunabilir, anlaşılabilir ve yeni tasarıma göre rahatça uyarlanabilir olmalıdır.

80 Tip kontrolü Programlamanın temelinde veri işleme yatar. Verilerde bilgisayar donanımın kullandığı temel tipler(karakter,tamsayı ve kayan nokta sayısı)haline dönüştürülerek kullanılırlar.

81 Programlama dilinin tip kontrolü yapma yeteneği güvenilir yazılım geliştirme için son derece gerekli bir özelliktir. Çünkü, insanlar hata yapmaya eğilimlidirler.

82 Elle yazılan kodlar tip kontrolü zayıf bir derleyicinin denetiminden geçip bazı durumlarda çalışsa bile genelde çökmeye mağdurdurlar.

83 Örneğin;C dilinde char ile int tipindeki değişkenleri birbirinin yerine kullanmak mümkündür.

84 Denetim yapıları Tüm programlama dilleri kodlayıcıya ardışık komutlardan , koşul testine göre dallanmalardan ve tekrarlardan oluşan mantıksal yapılar sunarlar.

85 Klasik dillerin bazılarında hata yakalama düzenekleri ,paralel programlama yapıları , zaman deneyimli yapılar bulunmaktadır. Bunların yanında , dağıtık programlamayı ve gerçek zamanlılığı kendi yapıları ile destekleyen dillerde bulunmaktadır…

86 Nesneye Yönelik Dillerin Özellikleri
Alt gruplar için tanımlanabilen özelliklerden nesneye yönelik diller için kullanılan ayırt edici özellikler şunlardır:

87 Modülerlik: Yazılım, kendi üzerinde işlemler yapılmasına izin veren basit ve tutarlı arayüzlere sahip ayrı modüller halinde geliştirilir.

88 Veri soyutlama(abstraction): Nesneler hem verileri hem de onlar üzerindeki işlemleri kapsayan soyut veri tipleri şeklinde tanımlanırlar.

89 Otomatik bellek yönetimi: Sistem öz kaynaklarını kullanan nesneler işleri bitince onları otomatik olarak serbest bırakırlar.

90 Sınıflar: Sınıf, kendisinden nesnelerin yaratılan, fakat diğer basit tiplerden olmayan özel yapıda bir tiptir.

91 Katılım(inheritance): Bir sınıf temel sınıfın veri ve işlemlerinin bir kısmını yada tamamını devralarak türetilir. Bu türetimi çoklu ve tekrarlanan bir şekilde yapmak mümkündür.

92 Çokşekillilik(polymorphisın):
Bir nesne,yürütme anında,çeşitli sınıflardan yaratılmış başka nesneleri işaret edebilir,yürütme anında dinamik olarak başka nesnelerle bağlanabilir.

93 Bütün koşulları karşılayan dillere nesneye yönelik,yalnızca ilk dördünü karşılayan dillere ise nesneye dayalı adı verilmektedir.

94 Nesneye yönelik dillere örnek; SMALLTALK,C++,JAVA nesneye dayalı dillere örnek olarakda C,PASCAL ve ADA verilebilir.

95 Gerçek Zamanlı Dillerin Özellikleri
Zamansallığın kısıtlama derecesine göre gerçek zamanlı sistemlerin gerçekleştirilmesinde herhangi bir programlama dilinin kullanımı mümkün olabilir.

96 Ancak, görev kritik olan ve sıkı gerçek zamanlılık gerektiren sistemler için uygun özellikler taşıyan programlama dillerinin kullanılması daha yararlıdır.

97 Şimdi bu özellikleri kısaca görelim:
Kuvvetli tip kontrolü (strong typing) yazılımı geçersiz verilerden korumak için derece gerekli bir özelliktir.Derleme ve yürütme anında yapılan tip kontrolü ile tasarım sırasında beklenen veri büyüklükleri,tipleri ve sınırları denetim altında tutulur.

98 Geçersiz verilerin işleme girmesinin istenmemesinin durumunda hata üretilir ve bu hataların uygun şekilde düzeltilmesi beklenir.

99 Dinamik bellek yönetimi kısıtlı belleğe sahip sistemlerde,bilgi girişine göre belek ataması ve temizlemesi yapmak üzere gereklidir.Dil tarafından etkin bir bellek yönetimi ve atık toplama desteklenmelidir.

100 Parametre geçirme teknikleri yeteri kadar hızlı yapılmalıdır
Parametre geçirme teknikleri yeteri kadar hızlı yapılmalıdır.Örneğin,değer ile geçirme (pass-by-value) tekniğinde,yordam çağrısı sırasında nesne veya değişkenin tümü yığına kopyalanır.Bazı dillerde bu işlem kodlayıcıya saydam olmasına rağmen başarımı arttırır.

101 Hata yakalama ve kotarma(exception handling)
yazılımın bütünlüğünü bozmadan yürütme sırasında meydana gelebilecek hataların yakalanması ve durumun düzeltilmesi işlemidir.

102 Soyut veri türleri yardımıyla veriler ve işlevler beraberce kapsanarak bir değişken üzerindeki işlemin diğer değişkeni etkilememesi sağlanır.

103 Modüler yapıyı destekleme özelliği ile geliştirme sırasında kolaylık sağlanırken daha önce geliştirilmiş ve denenmiş modüllerin tekrar kullanımı mümkün olur.

104 Zaman belirtimi olanağı ile daha sağlam zaman yapılarını (kesin olarak belirli bir süre bekleme, belirli bir saatte uyanma gibi) kodlama sırasında oluşturmak mümkündür.

105 DİL SEÇİMİ Bazı durumlarda müşteri tarafından belirli bir dilin kullanımı zorunlu tutulabilir, yada başka teknik nedenlerden dolayı belirli bir dilin kullanılması gerekebilir.

106 Dil seçimi yapılırken aşağıda belirtilen ilkelerin dikkate alınmasında yarar vardır:
Özellikle görev kritik ve askeri alanlarda sistem güvenilirliğini zedelemeyecek diller kullanılmalıdır.

107 Yazılımın kullanılacağı bilgisayar ortamı, donanımın ve işletim sisteminin özellikleri dikkate alınmalıdır.

108 Seçilecek dilin yetenekleri algoritmik ve işlemsel karmaşıklık derecesini karşılayabilir olmalıdır.
Başarım gereksinimleri,dilin diğer özelliklerinden daha fazla önem taşıyabilir.

109 Veri yapılarının özellikleri ve karmaşıklık dereceleri seçilecek dilin yetenekleri arasında olmalıdır.

110 Yazılım geliştirme personelinin bilgi düzeyi seçilecek dil için önemli bir etkendir.
İyi bir derleyicinin ve geliştirme ortamının varlığı verimliliği arttırabilmek için dikkate alınmalıdır.

111 Seçilecek dil,yazılımın bakım aşamasında son derece önemli olan okunabilirlik ve anlaşılabilirlik özelliklerini desteklemelidir.

112 Dillerin uygulama alanları
Uzun yıllardır en güçlü ve en yaygın diller arasında C dili gösterilmektedir.Sistem yazılımlarında(işletim sistemi,ara katman,aygıt sürücü gibi)tercih edilen C’nin nesneye yönelik uyarlaması olan C++ da onun kullanıldığı pek çok alanda yaygın olarak kullanılmaktadır.

113 Eğitim dili olarak yaratılmış PASCAL ile birlikte,görsel programlama dilleri olan Visual BASIC,Visual C++,DELPHI gibi diller özellikle PC dünyasında yaygın olarak kullanılmaktadırlar.

114 ADA(83 ve 95),C,MODULA-2 gerçek zamanlı sistemlerde, COBOL,LINK iş dünyası yazılımlarında ,FORTRAN bazı uygulamalarında ,PROLOG,LISP yapay zeka uygulamaları ve uzman sistemlerde daha fazla tercih edilmektedirler. Nesneye yönelik çözümleme ve tasarım kullanılması durumunda, SMALLTALK, Objective-C,C++ VE JAVA ön plana çıkmaktadır.

115 Bazen bir bilgisayarlı sistemin tamamında tek bir dil kullanmak mümkün olmayabilir. Örneğin, bir kontrol sistemi yazılımında ,C ile yazılmış aygıt sürücüler ADA veya C++ diliyle denetlenirken, grafiksel kullanıcı arayüzü için C veya C++ kullanılabilmektedir.

116

117 Çeşitli amaçlar için özel olarak geliştirilmiş fakat fazla yaygın olmayan yeni diller bazı geliştiriciler için fazla tercih edilmeyebilir.

118 Yazılımın geliştirilip doğru olarak çalıştırılabilmesi için iyi bir şekilde test edilmesi, ondan sonrada bakımın yapılabilir olması için , en başta kolay okunur ve anlaşılır olması, iyi değerlendirme yapılması gereklidir.

119 Yeni diller Günümüzde kullanılan bilgisayar sistemlerinin bilgi işleme ve zaman gereksinimleri tek işlemcili,mimarilerin sınırlarını aştıkça ilave gerçek zamanlılık yetenekleriyle donatılmış dağıtık bilgi işleme yöntemleri daha çekici hale gelmeye başlamıştır.

120 Gerçek zamanlı uygulamalar ve dağıtık bilgi işleme gibi birçok alanda güvenilirlik, doğruluk, sağlamlık, tasarım, geliştirme, test ve bakım kolaylığı göz önüne alındığında geleneksel programlama dillerinin yetersiz kaldığı görülmektedir.  

121 Nesneye yönelim kavramı yazılım modülleri için yüksek düzeyli bir soyutlama sağlayarak yazılımların tasarımı ve geliştirmesi kolaylaştırmaktır.

122 Bunların yanında, internet uygulamalarını daha kolay geliştirmeyi amaçlayan, özellikle ASCII metin üzerinde çok kuvvetli işler yapabilen özel diller de geliştirilmekte, hatta HTML,XML gibi diller oldukça yaygınlaşmaktadır.

123 Bu nedenle , geliştirmedeki teknik kolaylıklar yanında , dil seçiminin bakıma olan etkisi de unutulmamalıdır.

124 Kod Çevrim İşlemi Programlama dillerinin en önemli özelliklerinden biri de insan ile makine arasında n tür bir geçiş sağladığıdır. İnsanlar normal karakterlerle gösterilen yazı ve sayıları anlayabilirler. MERYEM ALTIN

125 Ancak bir bilgisayar yalnızca 0 ve 1 değerlerini alabilen ikili düzenden ,yani ”bit” lerden anlamaktadır. Dolayısıyla arada iletişimi sağlayacak bir çevirmene gereksinim vardır.

126 Normal olarak bir program ASCII biçimindedir
Normal olarak bir program ASCII biçimindedir. ASCII, insanların kullandıkları simge, harf ve rakamlar yerine onların sayısal karşılıklarını kullanılır. Bu kodlar 0 ile 255 arasındadır. Her bir karakter bir sekizli (byte) ile gösterilir.

127 Günümüzün gereksinimleri değerlendirildiğinde bu kadar karakterin yetmediği görülmüş ve iki sekizli ile gösterilen yeni ve daha evrensel bir kod sistemi de oluşturulmuştur. Halen birçok sistem,standart ASCII kullanmaktadır.

128 Derleyiciler Normal metin halinde yazılmış program içeren dosyalara kaynak kod adı verilir.

129 Derleyici (compiler)bu dosyada bulunan metni oluşturan ASCII karakterlerini dilin söz dizim kurallarına uygun olarak okur, hata yoksa bunları bilgisayarın anlayabileceği komutlardan oluşan makine diline çevirir.

130 Bu komutları da bilgisayarın işlemcisinin tanıyabilmesi için nesne koduna çevirir.

131 Bir projenin kaynak kodu birden çok dosya oluşabilir veya çeşitli kütüphanelere ait kod parçalarını da kullanıyor olabilir.

132 Bu durumda her bir bilgisayar donanımı ve işletim sistemine uygun bir derleyici ile ayrı ayrı derlenir ve meydana gelen nesne kodları yada dinamik kütüphaneler bağlayıcı(linkler)kullanarak bağlanır. Bu işlem sonunda yürütülebilir kod elde edilir.

133 Derleyicilerle birlikte kullanılan önemli terimlerden biri de derleme anı diğeri de yürütme anıdır .

134 Derleme anı ,kaynak kodun derlenmesi işlemi sırasında meydana gelen olaylar için, yürütme anı da yürütülebilir durumdaki kodun işlemci üzerinde koşturulması sırasında meydana gelen olaylar için kullanılır.

135 Yorumlayıcılar Bazı yazılımlar yorumlayıcı adı verilen özel altyapılarla birlikte kullanılırlar. Standart BASIC, LISP, PROLOG ve JAVA birer örnektir.

136 Bir yazılım çalıştırılmadan önce yorumlayıcının bilgisayara yüklenmesi ve onun içinden de kaynak kodun yüklenerek çalıştırılması gerekir.

137 Yorumlayıcı kaynak kodun satırlarını birer birer okuyarak işlemci komutları haline dönüştürür ve bu komutları uygular.

138 Bu nedenle derlenmiş koda göre daha yavaştır
Bu nedenle derlenmiş koda göre daha yavaştır. Yorumlayıcının kodun tamamını okumasından dolayı, bir yazılımın tamamen doğru çalıştığını anlayabilmek için her parçasının çalıştırılarak yorumlayıcıdan geçmesi sağlanmalıdır.

139 Özellikle büyük projelerde yorumlayıcı ile geliştirilen yazılımlarda hata ayıklaması oldukça güçtür.

140 Günümüzde , bu tür dilleri belirli işlemciler için doğrudan çalıştırmaya yarayabilecek derleyiciler de geliştirilmiştir. Bu şekilde, klasik diller gibi nesne kodu da üretilebilmektedir.

141 Geliştirme Ortamı Yazılım geliştirmek için ilk sahip olunması gereken, uygun bir geliştirme ortamıdır. Ana sistem olarak da adlandırılan bu sistemin yanında geliştirilen yazılımın test edilmesi için bir test sistemi ve gerçek sistem yani hedef sistem bulunmalıdır.

142 Ana sistem tüm geliştirme etkinliklerinin yürütüldüğü ve bazen de testlerin yapıldığı bir yada daha fazla bilgisayardan oluşan bir sistemdir.

143 Profesyonel Anlamda Bir Ana Sistemde Aşağıdaki Öğeler Bulunmalıdır:
Sunucu: Ana sistem bir ağ şeklinde ise yeterli özelliklere sahip bir bilgisayar dosya sunucusu olarak kullanılmalıdır. Sunucu üzerinde herbir proje için yeterli miktarda alan ayrılmalı, farklı projelerin kaynak kod ve yazılım geliştirme dosyaları birbirlerine karıştırılmamalıdır.

144 Çalışma Alanları: Herbir geliştirici için uygun büyüklükte ayrı birer çalışma alanı ayrılmalı, ortak ve paylaşılır alanlar tanımlanmalı, erişim hakları düzenlenmelidir.

145 Kişisel çalışma alanları herbir proje için ayrı ayrı tutulmalıdır
Kişisel çalışma alanları herbir proje için ayrı ayrı tutulmalıdır. Eğer ortak geliştirme yapılıyorsa, kişisel dizinler yerine proje dizinleri kullanılmalıdır.

146 Proje Alanları: Her proje için ayrı ayrı geliştirme ve üretim dizinleri tutulmalıdır. Geliştirme dizinleri geliştiricilerin kaynak kod dosyalarını sürekli olarak değiştirdikleri, derlemelerin yapıldığı dizinlerdir.

147 Genellikle ana sistemde testler yapılabiliyorsa böyle bir dizin kullanılır. Üretim dizinleri yalnızca sistem yöneticisinin erişebildiği, geliştirilmesi tamamlanmış ve test sisteminde sınanmaya hazır hale gelmiş yazılım birimlerinin bulunduğu dizinlerdir.

148 Metin Düzenleyici: Geliştirme ortamında en az iki tür metin düzenleyici kullanılmalıdır. Bunlardan biri kod yazımı için çeşitli özelliklere sahip metin tabanlı kod düzenleyici, diğeri de belgelendirmede kullanılacak ofis türü uygulamalarıdır.

149 Derleyici: Geliştirme için en temel araç derleyicidir
Derleyici: Geliştirme için en temel araç derleyicidir. Seçilen programlama diline, bilgisayar donanımı ve işletim sistemine göre derleyiciler farklıdırlar.

150 Eğer derlenen yazılım aynı ana sistem üzerinde test edilecek ve yeni aynı türde bir hedef sistemde kullanılacaksa tek bir derleyici yeterli olacaktır.

151 Kütüphaneler: Yazılım geliştirme ortamında tekrar kullanımı destekleyerek zaman tasarrufu sağlayan önemli bir etken kütüphane kullanımıdır.

152 Dada önce geliştirilen ve tekrar kullanımı mümkün olan modüller, kod parçaları, derleyici ile birlikte gelen standart kütüphaneler geliştiricilerin rahatça ulaşabileceği ortak bir alanda tutulmalıdır.

153 Düzenleşim Yönetim Sistemi: İdeal bir geliştirme sisteminde mutlaka bir düzenleşim yönetim sistemi bulunmalıdır.

154 Eğer özel bir düzenleşim aracı yoksa, işletim sisteminin sağladığı çeşitli kısıtlayıcılık özellikleri ve toplu iş yürütme dosyaları kullanılarak basit bir sistem oluşturulmalıdır.

155 Yükleme Araçları: Geliştirilen yazılım birimlerini test sistemi veya hedef sisteme yüklemek üzere, üretim dizinlerinde bulunan yazılım birimlerini ağ üzerinden aktarmaya veya herhangi bir taşıyıcı ortam toplu iş dosyası olabileceği gibi bir veritabanı yönetim sistemine bağlı olarak çalışan özel araçlar da olabilir.

156 Yazılım Mühendisliği Araçları: Günümüzde pek çok yazılım geliştirme aracı bulunmaktadır. Bunlar yardımıyla, belli bir yazılım mühendisliği yöntem bilimi kullanılarak çözümleme ve tasarım yapılabilir, hatta otomatik olarak kaynak kod üretilebilir.

157 Destekleyici Araçlar: Bazı geliştirme ortamları tümleşik bir yapıda olup işlevleri yerine getirebilirler. Ayrık yapıdaki sistemlerde, temel geliştirme öğelerine ek olarak, hata ayıklayıcılar, arındırıcılar, test programları, metin düzenleyiciler, resim düzenleyiciler, ofis uygulamaları bulunabilir.

158 Geliştirilen yazılımın ilk testleri mümkünse ana sistem üzerine yapılmalıdır. Bu şekilde hedef sistem meşgul etmeden küçük hataların bulunması sağlanabilir.

159 Hedef sisteminin bir benzeri olarak bir test sistemi kullanılabiliyorsa bu yazılım geliştirme işleminin daha sağlıklı yürütülmesine yardımcı olur.

160 Test sistemi hem donamım hem de yüklü işletim sistemi ve yazılımlar bakımından hedef sistem ile aynı ya da yakın benzerlikte olmalıdır.

161 Hedef sistem ise tüm yazılımın gerçekten üzerinde koşacağı ana sistemdir.

162 Bazen ana, test ve hedef sisteminin üçü aynı geliştirme yerinde oluşturulabilir. Bazen de hedef sistemi kullanmak son aşamaya kadar mümkün olmayabilir.

163 Örneğin; bir hidroelektrik santralı denetleyecek hedef sistem ,geliştirme yerinden çok uzaklarda olabilir. O taktirde, onun bir benzeri olan test sistemi kullanılmak zorundadır.

164 YÜRÜTME ORTAMI Yazılımlar ya tek bir bilgisayar üzerinde yada birbirleriyle iletişim halinde olan bilgisayarlar üzerinde koşarlar. Tek bilgisayardaki yürütme ortamı genellikle işletim sistemidir. EMİNE DEMİR

165 Bazen, bunun üzerinde bir başka katman daha konarak daha etkin çoklu programlama ortamı yaratılır (Java Virtual Machine bunlardan biridir).Dağıtık bilgi işlemeyi destekleyen çeşitli yazılım mimarileri vardır.

166 Özellikle bir yerel alan ağı üzerindeki uygulama yazılımlarının bir arada ve uyum içinde çalışmasını sağlayan, onları alttaki bilgisayar ve ağ yapısından ayıran ara katman yazılımlarına daha önce değinmiştik.

167 Aynı zamanda tek bilgisayarlı sistemlerde de kullanılabilen bu tür yazılımlar için tanımlanmış standartlardan bazılarını kısaca tanımlayalım :

168 CORBA (Common Request Broker Architecture)
Uluslar arası boyutta yazılım ve donanım sağlayıcılarından oluşan Oject Managemnt Group (OMG) adlı ticari olmayan bir örgüt tarafından ortaya konan bir endüstriyel bir standarttır.

169 Ticari firmalar,çeşitli isteklere göre belirlenip yayınlanmakta olan bu mimari standardına uygun olarak kendi yazılım ürünlerini geliştirmekte ve piyasaya sürmektedirler.

170 Bu şekilde yerel bilgisayar ağı mimarisinden ve donanımdan bağımsız olarak, dağıtık nesneye yönelik programlama yapabilme olanağı getirilmektedir.

171 Uygulama yazılımları birer CORBA nesnesi olarak tanımlanır ve standart bir dil olan Arayüz Tanımlama dili (Interface Definetion Language-IDL) ile arayüzleri hazırlanır. IDL arayüz dosyası, bir nesnenin kullanılabilmesi için sunucunun sağladığı veri çeşitlerini, yöntemleri ve işlemleri açıklar.

172 Bu arayüzler daha sonra C++,JAVA,ADA gibi çeşitli yüksek düzey programlama dillerine çevrilerek kullanılırlar.

173 Bir CORBA nesnesi diğer nesnelerin yerlerini, geliştirme dil ve şekillerini bilmeden onların arayüzlerinde tanımlanmış işlemlerini kullanırlar.

174 Her nesne mimarinin kalbi olan Nesne İsteme Aracısı (Object Request Broker- ORB) ile haberleşmektedir. ORB çeşitli üretici firmalar tarafından geliştirilmiş olabilir.

175 Ancak nesneler standart bir arayüz kullandıklarından ORB değişikliği uygulama yazılımını etkilememektedir. ORB'un sağladığı çeşitli temel işlevler yanında OMG tarafından yararlı görünen nesne servisleride standart hale getirilmiştir .

176 İnternet Inter-ORB protocol (IIOP) CORBA internet üzerindeki geniş dağıtık uygulamalara erişimi sağlayan bir açık protokoldür.

177 Bu protokol TCP/IP üzerine kurulur ve ORB lar arası iletişimi sağlar
Bu protokol TCP/IP üzerine kurulur ve ORB lar arası iletişimi sağlar. IIOP farklı makineler üzerindeki nesnelerin haberleşmelerini sağlayarak bilgisayar ağı kavramını büyük boyutlara kadar genişletebilir.

178 Halen mart 2004 tarihli CORBA 3
Halen mart 2004 tarihli CORBA 3.0 belirtimi yürürlükte olup bu konudaki son sürümler ve ilgili diğer belirtimler (IDL,CCM) adresinde bulunmaktadır.

179 DDS OMG tarafından oluşturulan bir diğer belirtimde Data Distribution service (DDS sürüm 1,2,, ocak 2007) adını taşımaktadır. Bu standartta, "veri-merkezli yayınla abone ol (DCPS)" ve "Veri yerel tekrar birleştirme katmanı" (DLRL)" tanımlanmaktadır.

180 DCPS,belirli yöntemlerle yayınlanan topic adı veri parçalarını yaymak, yayılan bu verilere belirli kurallara göre abone olup okumak yöntemine dayanmaktadır.

181 Bu şekilde gerçek zamanlı bir program, bir diğerinin yayınladığı bilgilerden yalnızca kendi ilgilendiklerine ulaşabilir; iletişim, platformdan bağımsız,etkin,nitelikli ve güvenilir olarak sağlanır.

182 DCPS,uygulama alanlarına belirli tipte verilerle işlem yapmak için arayüz sağlar.

183 DLPL ise yayınlanan verilerin otomatik olarak toplanıp uygulama tarafından istenildiğinde okunabilir hale getirilmesini sağlar.

184 DDS, verilerin hem yerel bilgisayarda, hemde ağ üzerinde ilgilenen abonelere ulaştırılmasını sağlayan bir ara katman belirtimidir. Bu belirtime uyan yazılımlar birbirleri ile rahatça haberleşebilirler.

185 HLA Yüksek Düzey mimari (HİGH Level Architecture-HLA),gerçekleştirilen benzetim modelleme ve benzetim mimarisidir.

186 HLA, eğitim, çözümleme,mühendislik, eğlence ve askeri uygulamalar gibi geniş bir uygulama alanına sahiptir.

187 HLA herhangi bir yazılım tekniği olmadığı gibi,herhangi bir paket yazılımı veya programlama dilini kullanmayıda zorlamaz.

188 HLA, değişik model ve benzetimlerin birbirleriyle daha çok C4I (Command, Control, Communication, Computers and intelligence) sistemleri ile birlikte çalışabilmeleri ve tekrar kullanabilmeleri için geliştirilmiş bir yapıdır.

189 ABD savunma modelleme ve benzetim ofisi (Defense Modellik and Simulation office-DMSO) yönetiminde ,Amerikan savunma başkanlığı bünyesinde geliştirilen ve bakımı yapılan benzetim yazılımlarının birlikte çalışabilmelerine ve tekrar kullanılabilmelerine destek vermek amacıyla oluşturulmuş olan HLA standartı , Ekim 2000'de IEEE tarafından açık bir standart ( IEEE standard 1516) olarak kabul edilmiştir.

190 HLA, Özellikle Aşağıdaki Uygulama Alanları İçin Geliştirilmiştir:
- Analitik benzetimler -Eğitim amaçlı benzetimler -Askeri sistemler ve C4I arayüzleri -Test ve değerlendirme amacıyla kullanılan benzetimler -Mühendislik amacıyla kullanılan benzetimler -Üretim sistemlerinin benzetimleri -Eğlence dünyası için dağıtık oyunlar

191

192 FEDERASYON Federe olarak adlandırılan benzetim nesnelerinin bir amaca yönelik olarak biraraya getirildiği yapıya federasyon adı verilmektedir.

193 Benzetimler haricinde veri toplama ve izleme yapan destek uygulamalarıda federe olaraka adlandırılırlar.

194 Federasyon kuralları ,bir HLA federasyonunun içindeki benzetimlerin düzgün etkileşimini sağlayan ve sorumluluklarını belirleyen kurallardır.

195 Ayrıca gerçek sistemler veya platformlarda HLA'nın sağladığı esnek yapı sayesinde kurallara uyarak birer federe şeklinde federasyonlara katılabilirler.

196 YÜRÜTME ALT YAPISI Yürütme alt yapısı ,dağıtık bir işletim sistemi gibi çalışarak farklı platformda koşan federelerin etkileşimi ve tüm federasyonun yönetimi için gerekli olan destek işlevlerini sağlar..

197 Yürütme sırasında federeler arasındaki tüm veri iletişimi ve etkileşimler yürütme alt yapısı üzerinden yürütülür.

198 Yürütme altyapısı benzetimlere sağlanan servisleri ve bu servislere federeler tarafından nasıl ulaşacağını belirler. Ayrıca federeler tarafından alt yapıya sağlanması gereken çağrı yordamlarını tanımlar.

199 ARAYÜZ TANIMLAMASI Arayüz tanımlaması ,federelerin ve yürütme alt yapısı'nın birbirleri ile iletişim sırasında kullanılacak standart yöntemleri belirler.

200 Bu Yöntemler Toplam 6 Yönetim Alanına Bölünmüştür Bunlar:
Federasyon yönetimi Bildirim yönetimi Nesne yönetimi Ait olma yönetimi Zaman yönetimi Veri dağıtım yönetimi

201 TİCARİ ARA KATMANLAR Çeşitli yazılım firmalarının ,araştırma kurumlarının ve üniversitelerin geliştirdiği çok sayıda ara katman ürünleri bulunmaktadır.

202 Bunların bir kısmı belirli bir işletim sistemini destekleyerek başarımını en üst düzeye çıkarmakatadırlar. Bir kısmıda daha geniş kapsamlı olarak sunulmaktadır.

203 Birçok ürün aşağıdaki ortak özellikleri desteklemektedir;
Geniş çaplı iletişimin gerektiği durumlarda ,internetin küresel erişim gücünü kullanabilecek uygulama geliştirme yeteneği,

204 Yazılım geliştiricilerin yenden eğitimine gerek duyulmadan,hızlı bir şekilde yeni geliştirme yapabilme ve ürünü pazara çabuk sunabilme ,

205 Tüm işlevselliğin en az kod yazarak sağlanması,
İşlevsel olarak tüm katmanların halen kullanılan herhangi bir sistemle uyum içinde çalışabilme yeteneği,

206 Bilgi işlem uzmanlarına yazılım öğelerinin iletişimi ile uğraşmak yerine iş problemlerini çözme zamanı sağlanması.

207 Programlama dilinden ve donanımdan bağımsızlık,
İstenen dağıtık ve paralel uygulamayı kolaylıkla oluşturma,yönetme ve gerektiğinde değiştirebilme.

208 Ticari ara katmanlar çok çeşitli amaçlar taşıdıkları ve genellikle özel olarak geliştirildikleri için burada daha fazla ayrıntıya giremeyeceğim.

209 KODLAMA BİÇİMLERİ Tasarım ne kadar iyi yapılırsa yapılsın onu hayata geçiren işlem kodlamadır. Günümüzde kodlama,yazılım geliştirme sürecinin hala büyük emek getiren ,önemli fakat bazıları için biraz can sıkıcı evresidir.

210 Birçok dosya ile uğraşmak ,binlerce satır kod yazmak ,bunları doğru yazmak, derleyeciden başarıyla geçirmek test etmek ve sonunda da doğrulamak büyük emek getirir.Bu emeğin bazı biçimlere uyulması, bazı kurallara dikkat edilmesi gereklidir.

211 KODALMA DİLİ Yazılım geliştirmede Türkçe yada bir başka dil kullanımı çoğu zaman tartışma konusudur. Belgelendirme ve kodlama da hangi dilin kullanılacağını bazen müşteri belirler bazende yönetimin kararı uygulanır.

212 Tamamen yurt içinde kalıcak ve türk personel tarafından geliştirilecek yazılımın tüm belgelendirmesi ve kodlaması türkçe yapılabilir.

213 Yabancı kişilerin katılım sağladığı ortak yazılım geliştirme projelerinde ortak anlaşılabilinen bir dil kullanılmalıdır.

214 Günümüzde kullanılan yaygın programlama dillerinin tamamı ingilizce anahtar sözcükler içermekte ve yalnızca ingiliz alfabesini desteklemektedir.Hatta PASCAL,ADA gibi bazı dillerin söz dizimi dahi ingilizce konuşma diline yaklaşmıştır.

215 Türkçenin bozulmasına engellemek amacıyla kaynak kodun ingilizce olarak yazılması daha tutarlı olmaktadır. Türkçe harfleri destekleyen dil veya derleyici kullanmak başka ortamlara taşınabilirliği büyük ölçüde azaltmaktadır.

216 Hatta bazı işletim sistemleri türkçe dosya dosya isimlerinde bile sorun çıkartmaktadırlar. Öte yandan pek çok yazılım mühendisliği destek gereci türkçe dilini henüz desteklememektedir.

217 Eğer kodlamada türkçe kullanılacaksa ,olabildiğince türkçe karakter içermeyen sözcüklerin seçilmesine dikkat edilmelidir.

218 Anlam karmaşasına engel olunmalıdır
Anlam karmaşasına engel olunmalıdır. bu durumda karşılaşabilinecek bir başka sorunda özel isim ve kısaltma karmaşasıdır.

219 Örneğin; Belgelerde isterlerden tasarım sonuna kadar kullanılan türkçe harfi içeren bir kısaltma, kodlama sırasında bir başka anlam ifade etmesi olası bir isme dönüşmek zorundadır. Yine koda yakınlığı sağlanabilmesi için tasarımında aynı dilde yapılması gerekir.

220 Bu amaçla gerekirse bir dönüşüm tablosu kullanılmalıdır
Bu amaçla gerekirse bir dönüşüm tablosu kullanılmalıdır. Hangi aşamada hangi dilin kullanılması yönetim tarafından alınması gereken önemli bir karardır.

221 KOD BELGELEMESİ Tasarım her nekadar iyi belgelenmiş olsada, kaynak kodun içinde yapılan belgeleme en kullanışlı ve en doğru olanıdır.Bu belgeleme işlemi içinde , tanımlayıcı isimlerinin seçilmesi, açıklamalar ve görsel yapı yer alır.

222 HAZIRLAYAN Öğr. Gör Mevlüt İNAN

223 Bizi Sabırla Dinlediğiniz İçin Teşekkürler Ederiz…


"KONU BAŞLIKLARIMIZ; Dillerin Özellikleri Yazılım Gerçekleştirimi" indir ppt

Benzer bir sunumlar


Google Reklamları