10.DERS Yazılım Gerçekleştirme

Benzer belgeler
Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ. 7.Hafta GERÇEKLEŞTİRME

Algoritmalar ve Programlama. Algoritma

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ Yazılım Mühendisliği Bölümü

Bilgisayar Programlama Dilleri

5. PROGRAMLA DİLLERİ. 5.1 Giriş

Yazılım Mühendisliği Bölüm - 3 Planlama

Dr. Fatih AY Tel: fatihay@fatihay.net

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Bilgisayar Programı Nedir?

4. Bölüm Programlamaya Giriş

BİLGİSAYAR ORGANİZASYONU

Program Nedir?(1) Programlamaya Giriş

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

Yazılım Mühendisliği 1

1 PROGRAMLAMAYA GİRİŞ

Veri Yapıları ve Algoritmalar

Algoritma ve Akış Diyagramları

BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR

Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir.

Öğr. Gör. Serkan AKSU 1

Bölüm 9. Altprogramlar ISBN

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

Ünite-3 Bilgisayar Yazılımı.

PROGRAMLAMA TEMELLERİ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

Bilgisayarda Programlama. Temel Kavramlar

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

Bölüm1. İlk Bilgiler ISBN

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

C PROGRAMLAMA DİLİ. Hedefler

Yazılım Mühendisliğine Giriş 4. Hafta 2016 GÜZ

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

SİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur.

JAVASCRIPT JAVASCRIPT DİLİ

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Akış Kontrol Mekanizmaları

Bilgisayar Temelleri ve Programlamaya Giriş Yard.Doç.Dr. Metin HASDEMİR İstanbul-2008 PROGRAMLAMAYA GİRİŞ

Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır.

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

BBS515 Nesneye Yönelik Programlama. Ders 1 Zümra Kavafoğlu

PROGRAMLAMA DİLLERİ. Programlama Dilleri Programlama Dillerinin Önemi Dilleri Sınıflandırılması Anlambilim BNF Notasyonu Kontrol Deyimleri

BEDEN EĞİTİMİ I: Haftalık ders 1 saattir (T-0 ) (U-l) (K-0).

Nesne Yönelimli Programlama

BLG 1306 Temel Bilgisayar Programlama

PASCAL PROGRAMLAMA DİLİ YAPISI

Bahar. BM 211 Programlama Dilleri 3 1

Algoritma ve Akış Diyagramları

11.DERS Yazılım Testi

TEMEL BİLGİSAYAR BİLİMLERİ

İrsaliye Modülü Dizayn Dökümanı. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 16 Eylül 04

PROGRAMLAMAYA GİRİŞ DERS 2

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA

NESNEYE YÖNELİK PROGRAMLAMA Temel Kavramlar

1.1. Yazılım Geliştirme Süreci

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

Nesne Yönelimli Programlama

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

C PROGRAMLAMA D İ L İ

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları

ALGORİTMA VE PROGRAMLAMA I

BİLGİSAYAR PROGRAMLAMA MATLAB

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

GÖMÜLÜ SİSTEMLER. Bilecik Şeyh Edebali Üniversitesi Gömülü Sistemler Ders notları-1

C# nedir,.net Framework nedir?

C++ Dersi: Nesne Tabanlı Programlama

Java Temel Özellikleri

Hata Ayıklamanın Ötesi... (Assertion) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 14 1

SQL e Giriş. Uzm. Murat YAZICI

HSancak Nesne Tabanlı Programlama I Ders Notları

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Yazılım Mühendisliğine Giriş 2018 GÜZ

KONTROL VE OTOMASYON KULÜBÜ

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

GÖRSEL PROGRALAMA HAFTA 2 PROGRAMLAMA DİLLERİNE GİRİŞ

BLG Sistem Analizi ve Tasarımı. Öğr. Grv. Aybike ŞİMŞEK

Windows Programlama Güz Dönemi

İşletim Sisteminin Temel İşlemleri

OMNET Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

12 TBT / WEB TASARIM ve PROGRAMLAMA ( Not 3 )

Programlama Nedir? Bir bilgisayar bilimcisi gibi düşünmek ve programlama ne demektir?

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

Giriş MİKROİŞLEMCİ SİSTEMLERİ. Elektronik Öncesi Kuşak. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Kuşak. Bilgisayar teknolojisindeki gelişme

BİLİŞİM TEKNOLOJİLERİ ALANI WEB TASARIMI KURS PROGRAMI

Bilgisayar Programlama MATLAB

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

BİLİŞİM TEKNOLOJİLERİ ALANI BİLGİSAYAR PROGRAMLAMA TEKNİKLERİ KURS PROGRAMI

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Dinamik Kodlama. [X] [X] Yeni Fonksiyon

Transkript:

10.DERS Yazılım Gerçekleştirme 1

Giriş: Bilgisayarlara yaptırılmak istenenleri, anlatabilmek için programlama dilleri kullanılır. Bir ihtiyaç veya konu doğrultusunda meydana getirilen tasarım önce programlama diline sonrada makine koduna dönüştürülerek çalıştırılır. Kod yazıcının iyi bir ürün çıkarmasında programlama dili seçimi önemli bir yer kaplar. 2

Dillerin Gelişimi Bilgisayarların ortaya çıkmasından bu yana yazlım geliştirme süreçlerinde bir çok çeşit programlama dili kullanılmıştır. Budiller beş ana nesil içerisinde gruplandırılabilir. 3

Birinci Nesil Diller Birinci nesil diller makine düzeyinde kodlamayı içermektedir. Yani bilgisayarların anladığı 0 ve 1 lerden oluşmaktadır. Sonrasında insanların kodlara anlam vererek Assembly denilen kod grupları ortaya çıkmıştır. Assembly belirli işleri yapan kodlardan oluşmaktadır. 4

5

İkinci Nesil Diller Bu diller 1950 den sonra gelişmeye başlamıştır. 1960 sonrasında ortaya çıkan modern dillerin temelini oluşturmaktadır. Bunlar arasında, FORTRAN COBOL ALGON BASIC Bu diller arasında matematik ağırlıklı kütüphaneleri sahip olmasından dolayı günümüzde de kullanılmaktadır. 6

Üçüncü Nesil Diller Bu nesil diller genellikle modern ve yapısal diller olarak adlandırılır ve üç gruba ayrılır. Genel amaçlı yüksek düzey diller: bu diller, mühendislik, bilim, gömülü sistemler ve kontrol sistemi geliştirilmesinde yaygın olarak kullanılmaktadır (PL/1,PASCAL, MODULA-2,Cve ADA vb) Nesneye yönelik yüksek düzey diller: Nesneye yönelik çözümleme ve tasarımı gerçekleştirmek üzere geliştirilmiş dillerdir. (C++, SMALLTALK, PASCAL(nesneye yönelik sürümü) ve Java) Özel Amaçlı diller: Belirli bir uygulama tipi için tasarlanmış dillerdir. 7

Dördüncü Nesil Diller Yordamsal olan ve olmayan yapıları birleştirici özelliklere sahip dillerdir. Diğer bir ifade ile kodlayıcı, koşulları ve onlara karşılık gelen yordamsal eylemleri tanımlamakta, aynı zamanda bu işlemin sonucunu bir başka yordamsal ayrıntı içinde kullanılabilmektedir. Bu nesil dilleri birkaç grup altında birleştirebiliriz. 8

Sorgulama Dilleri: veritabanı yönetimi uygulama alanlarında kullanılmaktadır. Kod üreticiler: Kod üreticileri kullanıcının daha üst düzey yapı ve anahtar sözcüklerle daha az miktarda kod yazarak sözdizimini üretmesidir. Türetme diller 9

Beşinci Nesil Diller Gelecekte yaygın olarak kullanılacak dillerdir. Şu anda araştırma aşamasındadır. Örneğin nesneye yönelik programlamadan sonra gelişen yeni bir yaklaşım da konuya yönelik programlamadır. 10

Programlama Dilleri: Geliştirilecek Uygulamaya yönelik olarak kullanılacak Programlama Dili seçilmelidir. Veri İşleme yönelik Uygulamalar (Cobol, Görsel Programlama Dilleri ve Veri Tabanları) Hesaplama ağırlıklı Uygulamalar (Fortran, C, Paralel Fortran ve C) Süreç ağırlıklı uygulamalar (Assembly, C) Sistem programlamaya yönelik uygulamalar (C) Yapay Zeka Uygulamaları (Lisp,Prolog) 11

Hazır Program Kütüphaneleri: Hemen hemen tüm programlama platformlarının kendilerine özgü hazır kütüphaneleri vardır Pascal *.tpu C *.h Java *.jar Günümüzde bu kütüphanelerin temin edilmesi internet üzerinden kolayca yapılabilmektedir. 12

CASE Araç ve Ortamları Günümüzde bilgisayar destekli yazılım geliştirme ortamları oldukça gelişmiştir. CASE araçları yazılım geliştirme sürecinin her aşamasında üretilen bilgi ya da belgelerin bilgisayar ortamında saklanmasına ve bu yolla kolay erişilebilir ve yönetilebilir olmasına olanak sağlayan bir yapıdır. 13

Kodlama Stili Yazılım hangi platformda geliştirilirse geliştirilsin belirli bir düzende kodlanması, yazılımın yaşam döngüsü açısından önem kazanmaktadır. Etkin kod yazılım stili için kullanılan yöntemler aşağıda verilmiştir.: Açıklama Satırları Kod Yazım Düzeni Anlamlı İsimlendirme Yapısal Programlama Yapıları 14

Açıklama Satırları Yazılan program belirli bir süre geçildikten sonra anlaşılması zorlaşır. Veya başka kollayıcıların yazılan kodu anlamasında sıkıntı oluşabilir. Bu sorununları ortadan kaldırabilmek için program kodlayıcı gerekli açıklama satırlarını programına eklemek zorundadır. 15

Kod Yazım Düzeni Programın okunabilirliğini artırmak ve anlaşıla bilirliğini kolaylaştırmak amacıyla açıklama satırlarının kullanımının yanı sıra, belirli bir kod yazım düzeninin dekullanılması gerekmektedir. for (i:=1 ; 50<i; i++) {a=1;a=a+c;} for (i:=1 ; 50<i; i++) { a=1; a=a+c; if (a<5) { c++; a=a+c; } } //Kötü kodlanmış //iyi kodlanmış 16

Anlamlı İsimlendirme Kullanılan tanımlayıcıların (değişken adları, dosya adları, veri tabanı tablo adları, fonksiyon adları, yordam adları gibi) anlamlı olarak isimlendirilmeleri anlaşıla bilirliği büyük ölçüde etkilemektedir. 17

Anlamlı İsimlendirme dikkat edilecek hususlar Karmaşıklığa yol açabilecek veya başkası tarafından okunduğunda anlaşılmayı güçleştirecek isimler kullanılmamalıdır. Evrensel bir değişken veya sınıf ismi aynı zamanda yerel olarak kullanılmamalıdır. Proje boyunca aynı isimlendirme yöntemi kullanılmalıdır. 18

Bazı dillerde büyük küçük harf duyarlılığı olunabilir. Bu duruma uygun isimlendirme yöntemi seçilmelidir. Uzun isimlendirmeden mümkün olduğunca kaçınılmalıdır. Değişken veya nesnelerde birden fazla sözcük kullanılacaksa _ işareti ile ayrılmalıdır. İsimlerin baş harfi rakam olmamalıdır. İsimlendirmede Türkçe karakter kullanılmamalıdır. 19

Yapısal Programlama Yapıları Yapısal programlama yapıları temelde içinde goto komutlarının bulunmadığı, tek giriş ve tek çıkışlı öbeklerden oluşan yapılardır. Bunlar temelde; Ardışıl işlem yapıları, Koşullu işlem yapıları, Döngü yapıları. Teorik olarak herhangi bir bilgisayar programının sadece bu yapılar kullanılarak yazılabileceği kanıtlanmıştır. 20

Olağandışı durum Çözümleme Olağandışı durum, bir programın çalışmasının, geçersiz ya da yanlı veri oluşumu ya da başka nedenlerle istenmeyen bir biçimde sonlanmasına neden olan durum demektir. Genelde kabul edilen; program işletiminin sonlandırılmasının bütünüyle program denetiminde olması gerekmektedir. Ama programda yapılan hatalar istemsiz sonlanmalara sebep olabilir. 21

Kod Gözden Geçirme Bir gazetede hiç bir yazı editörün onayı alınmadan basılamayacağı gibi, kod gözden geçirme olmadan dayazılım sistemi geliştirilemez. Kod gözden geçirme ile program sınama işlemleri birbirlerinden farklıdır. Kod gözden geçirme, programın kaynak kodu üzerinde yapılan bir işlemdir ve bu işlemlerde program hatalarının %3-5 lik bir kısmını yakalanabilmektedir. 22

Etkinlikler: Bilgisayara sistemlerinin etkinliği tanımlanan işi amacına uygun hız ve güvenlikle en ekonomik şekilde karşılanması ile değerlendirilir. Bunun için öz kaynaklar iyi bir şekilde kullanılması gerekir. Bilgisayar sistemlerinin öz kaynakları; bilgi işleme kapasitesine sahip makineler, bunların işlemcilerin zamanları, bellekleri ve saklama alanlarıdır. 23

PROGRAMLAMA STANDARTLARI Kodlamanın içermesi gereken ana özellikler: 1. Her modül başlangıcında aşağıdaki kayıt bilgilerinin olması gerekmektedir. Programcının ismi, Modülün tamamlandığı tarih, Modülün çağırdığı diğer modüller, Bu modülün hangi modüller tarafından çağrıldığı, Kullanılan değişkenlerin bir listesi, Modülün ne iş yaptığı ve tasarım dokümanları bölümlerine referans bilgileri. 24

2. İyi bir programlama standartı kodun fiziksel olarak sayfa üzerinde nasıl görüneceğini tarif etmelidir. 3. Maximum iç döngülerin sayısı. 4. Değişkenlerin isimlendirilmesinde hangi stratejilerin takip edileceği, max. değişken isimleri uzunlukları, isimlemede tasarım ile olan bağlantı açıklanmalıdır. 25

5. Aritmetik ifadelerde kullanılabilecek max. +,-, ve * işlemlerinin sayısı. 6. Bir modülün içerebileceği max. Satır sayısı. 7. Modüller idealde tek bir fonksiyon veya işlem içermelidir. Eğer birden fazla içermesi gerekiyorsa bunların sayısı ve hangi durumlarda bunun gerçekleşebileceği belirtilmelidir. 26

Programlama aşamasında üretilecek dökümanlar: Yazılım kurma ve kullanma kılavuzu, Yazılım versiyon dokümanlarıdır. Bu dokümanların teknik değerlendirilmeleri yapılmalı ve yayımlanmadan önce yetkili personel tarafından onaylanmalıdır. 27