10 Nisan 2013 Çarşamba

2 Katmanlı Mimari

2 Katmanlı Mimari

  • Uygulama yazılımlarının donanım üzerinde performanslı çalışabilmesi için 2 katmanlı mimari geliştirilmiştir.
  • 2 katmanlı mimari Client-Server yapısını baz alır ve yazılımlar bu yapıya uygun olarak hazırlanır.
  • 2 katlı mimaride yazılımlar.
  1. Uygulama yazılımları
  2. Veri tabanı

Sunucu Bilgisayar


Sunucu Bilgisayar

  • Donanımları özeldir
  • Bir çok kullanıcı kullanabilecek şekilde tasarlanmıştır
  • İstemci ve ram yüksek kapasitededir.
  • İşletim kapasitesi Multi User VE multi tasking'dir
  • üzerinde bir çok uygulama çalışabir.

3 katmanlı Mimari


3 katmanlı Mimari

3 katmanlı mimari, bir istemci-sunucu mimarisidir. Adından da anlaşılacağı gibi 3 katmana sahiptir.

1. Sunum Katmanı (Presentation Layer)
2. Business Layer (İş Katmanı)
3. Data Layer (Veri Katmanı)

Sunum katmanı olan birinci katman, elde edilen verileri kullanıcıya göstermek için kullanılan bir yapıdır. Yani bunu bir arayüz olarak düşünebilirsiniz. İş katmanından verileri alıyor ve ekrana yazdırıyor.

İş katmanı ise, geçerlilik kontrolü, karar verme gibi işlemleri yapan katmandır.Aslında en çok işi yapan katman budur. Mesela, sunum katmanından gelen verilerin geçerli olup olmadığını kontrol ediyor olabilir.

Veri katmanı, veri tabanına erişimi olan katmandır. Veritabanında yapılabilicek olan yazma, silme, ekleme, değiştirme işlemlerini bu katman yapar. Bu katmana gelen parametreler, iş katmanından gönderilir.

İstemci bilgisayarlar

İstemci bilgisayar;

  • İstemci bilgisayar kullanıcılarının günlük hayatta kullandıkları bilgisayardır,
  • İstemcisi ve ram kapasitesi sınırlıdır.
  • Üzerinde bir çok uygulama çalışabilir
  • Performansı sahip oldugu kaynaklar kapasitesindedir.

Uygulama yazılımları

Uygulama yazılımları;

Bilgisayar üzerinde çalışacak olan uygulama yazılımlarının3 bileşeni vardır.
  1. Kullanıcı arayüzü
  2. Uygulama yardımı
  3. Veriler

Katman Mimarisi

Katman Mimarisi;

Katman mimarisi bilgisayarın üretimi ile ortaya çıkmıştır.Bizler yazılımları 3 Katmanı göz önüne alarak tasarlarız.
  1. Akılsız terminal katmanı
  2. Mini bilgisayar katmanı
  3. Ana bilgisayar katmanı

Spiral Modeli

Spiral Modeli;

Spiral yazılım modeli temel olarak 4 ana  bölüm içerir bunlar;
  • Planlama
  • Risk Yönetimi
  • Üretim
  • Kullanıcı değerlendirmeleri

Planlama;

Üretilecek ara ürün için işin planlanması,amaç ve altarnetilerin belirlenmesi bir önceki üretilen ürün ile tümleştirme planlaması faliyetlerini içerir.

Risk Yönetimi;

Altarnetifler değerlendirilir ve risk analizi yapılır.

Üretim;

Planlanmış ara ürünün geliştirildiği aşamadır.

Kullanıcı Değerlendirmesi;

Ara ürün hakkında kullanıcının test ve değerlendirmesi yapılır.

Şelale (Waterfall) Modeli


Şelale (Waterfall) Modeli;

Şelale yönteminde yazılım geliştirme süreci analiz, tasarım, kodlama, test, sürüm ve bakım gibi safhalardan oluşur.Her safha, baslangıç noktasında bir önceki safhanın ürettiklerini bulur. Kendi bünyesindeki değişikler doğrultusunda teslim aldıklarını bir sonraki safhanın kullanabileceği şekilde degiştirir.



Şelale modelinin özellikleri;

  • Şelalenin her basamağında yer alan aktiviteler eksiksiz olarak yerine getirilir. Bu bir sonraki basamağa geçmenin şartıdır.
  • Her safhanın sonunda bir doküman oluşturulur. Bu yüzden şelale modeli doküman güdümlüdür.
  • Yazılım süreci lineardir, yani bir sonraki safhaya geçebilmek için bir önceki safhada yer alan aktivitelerin tamamlanmış olması gerekir.
  • Kullanıcı katılımı baslangıç safhasında mümkündür. Kullanıcı gereksinimleri bu safhada tespit edilir ve detaylandırılır. Daha sonra gelen tasarım ve kodlama safhalarında müşteri ve kullanıcılar ile diyaloga girilmez.

Şelale (Waterfall) Modeli Problemleri;

  • Safhaların birbirinden kesin olarak ayrı tutulmaları gerçekci değildir. Projelerde safhalar arasındaki bu sınırlar yok olabilir.
  • Teoride safhalar birbirlerini takip edeler. Projelerde bunun bazen mümkün olmadığını ve önceki safhalara geri dönülmek zorunda kalındığını görebiliriz.
  • Safhalar arası geri dönüş yetersizdir. Model değişikliğe açık değildir.
  • Müşteri gerensinimlerinin proje öncesi detaylı olarak kağıt üzerinde oluşturulması ilerde sorun yaratabilir. Müşteri gereksinimleri değişikliğe uğrayabileceği için, yazılım sisteminin de yapısal değişikliğe uğraması kaçınılmaz olabilir. Böyle bir durum maliyeti artırır, çünkü yeni ve değişen gereksinimleri implemente edebilmek için modelde yer alan safhaların birkaç kere uygulanması gerekebilir.
  • Sistemin kullanılır hale gelmesi uzun zaman alabilir.
  • Baslangıçta yapılan hataların tespiti çok uzun zaman alabilir. Bu hataların giderilmesi maliyeti yükseltir.
  • Modül implementasyonları için zaman tahminleri proje planlarını oluşturan yöneticiler tarafından yapılır. Teknik bilgiye sahip olmayan şahıslar tarafından yapılan bu tahminler çoğu zaman dogru değildir. Bu durum proje planlama sürecini negatif etkiler.

Yazılım nedir?

Yazılım nedir?

Yazılım; tanımlanmış bir işlevi yerine getiren,girdi ve çıktıları olan herhangi bir donanım üzerinde çalışan bilgisayar programı yada program ürünlerine yazılım denir.

Yazılım süreçleri;

  • Müşterinin ihtiyacının anlaşılıp  belgelendirmesi işlemi
  • Yapılacak işlerin nasıl yapılması gerektiğinden ziyade nelerin yapılacağını belirleme
  • Ölçülebilirlik
  • Test edilebilirlik
  • Tanımlanmış ihtiyaçlara ve seçeneklerle ilişki.
  • Sistem tasarımı için yeterli detay
  • Sistem gereksinimleri ve müşteri gereksinimleri
Müşteri gereksinimleri; müşterinin sistemden beklentisini müşterinin anlayacağı bir dil ile ifade etmektir
Sitem gereksinimleri ise,sistemden neler beklendiğini geliştiricilerin anlayacağı bir dille ifade etmektir

sistem nedir?

Sistem kısaca amaçlanan bir işi yapmak üzere  birlikte çalışan bileşesenler kümesidir.

Yazılım geliştirme modelleri

Yazılım geliştirme modelleri;

Yazılım geliştirme ihtiyaçlarının  giderek büyümesi,yazılım geliştirme faliyetlerinde kullanılmak üzere metotların gelişiminide ortaya çıkarmıştır.

Uygun yazılım modellerinin kullanılması yazılımın;
  • Daha emniyetli
  • Doğru ve anlaşılabilir
  • Test edilebilir
  • Bakım yapılabilir
  • Daha kısa süre
  • Daha az bütçe
  • Daha az hata
olması yazılımın gelişmesinde önemli rol oynar.Bunun için sürekli yeni metotlar ve teknolojiler,modeller ortaya çıkmıştır.

Yazılım geliştirme modelleri;

  1. Şelale modeli
  2. Spiral model
  3. Artımlı geliştirme modeli
  4. Döngüsel model
  5. Evrimsel geliştirme modeli,

Modellemenin amacı

Modellemenin amacı

Yazılım modellemenin amacı;

Modelleme ile 4 amacı gerçekleştiriyoruz.
  1. Modeller geliştirdiğimiz sistemi görselleştirmede bize yardım eder.
  2. Modeller sistemin yapısal veya davranışsal yapısını belirtmeye izin verir.
  3. Modeller sistemi oluşturken kullanabileceğimiz şablonlar sağlar
  4. Modeller aldığımız kararı dökümante etmemizi sağlar.

Modelleme nedir?

Modelleme nedir?

Modeleme;

Modelleme yazılım organizasyonu  sağlayan bir bileşendir.
  • Modelleme gerçeğin basitleştirilmiş halidir.
  • Modelleme sistemin karmaşıklığını,Çözümlemede kullanılan en eski ve en etkili yöntemdir.
  • Bir sistem modellenirken farklı bakış açılarıyla defalarca incelenir.
  • Hiç bir model gerçek sistemin tamamını tümüyle içermez.
  • Modelleri geliştirdiğimiz sistemleri daha iyi anlayabilmemiz için oluşturuyoruz.
  • Bir model; yapısal veya davranışsal olabilir;
  • Yapısal modellemede sistemin organizasyonu vurgulanırken davranışsalda  sistemin dinamiği vurgulanır...

Model nedir?

Model nedir?

Model nedir?
Model gerçek dünyadaki bir olayın  veya sistemin soyutlanması,basitleştirilmesi veya kavramsallaştırılmasıdır.
  • Model gerçeğin maketidir.
  • Model Karmaşık yapıları daha iyi anlamamızı sağlar
Örneğin Bir evin gerçeğini göstermek yerine  maketini yani modelini yaparak o evi görebiliriz.

7 Nisan 2013 Pazar

C# 32 ile 255 arası ASCII tablosu listeleme

C# 32 ile 255 arası ASCII tablosu listeleme

namespace ascii_kod_tablosu
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            listBox1.Font = new Font("Times New Roman", 12, FontStyle.Bold);
            listBox1.MultiColumn = true; //Sütünların çoklu olması sağlanır.

            int i;
            for (i = 32;i<=255; i++) //Döngüden sonra noktalı virgül konulmaz!
         listBox1.Items.Add(Convert.ToString(i)+" = "+(char)i);
            //Convert.ToString(i) yerine i.ToString kullanılabilir.
        }

    }

2 Nisan 2013 Salı

Matematiksel Fonksiyonlar; pow() sqrt() abs() base_convert() fmod() round() floor() ceil() rand() deg2rad() sin() cos() tan() pi() exp()


Matematiksel Fonksiyonlar;

  • pow()
  • sqrt()
  • abs()
  • base_convert()
  • fmod()
  • round()
  • floor()
  • ceil()
  • rand()
  • deg2rad()
  • sin()
  • cos()
  • tan()
  • pi()

  • exp()

Php'de Değişken nedir? Php'de Değişken tanımlaması nasıl yapılır? Php'de Değişkenin mantığı nedir?


Php'de Değişken nedir? Php'de Değişken tanımlaması nasıl yapılır? Php'de Değişkenin mantığı nedir?

Değişkenler, verileri bellekte tutmak için kullanılır. Her tanımlanan değişken, bellektebelli bir yer ayrılmasına neden olur. Değişkenin içerisine programın herhangi bir yerindefarklı değerler atanabilir. İçerisinde değer bulunduran bir değişkene yeni bir değer atandığında eski değer kaybolur, yerine bu yeni değer tutulur. ‘Değişken’ adını da bu yüzden alır.
Örnek olarak boş bir bardak düşünün. İçindeki madde su, meyve suyu veya kola olabilir. Önemli olan bardağın kendisidir. İçindeki ise bardağın içerdiği maddedir. Yani bardağı bir değişken içindeki maddeyi de değişkenin değeri olarak düşünebiliriz.


Değişkenler tanımlanırken değişken isminin başına “$” (dolar işareti) konulur.Değişkenler (ç, ğ, ü, ö, ş ı, İ gibi Türkçe karakterler hariç) bir harf ya da ‘_’ işareti ile başlayabilir. Değişken adı içerisinde rakam bulunabilir fakat değişken adı rakamla başlayamaz. Ayrıca değişken içerisinde ‘_ ’ işaretinden başka işaret kullanılmaz Değişkenlere atama yapılırken daha sonra göreceğiniz atama operatörü olan “=” (eşittir) işareti kullanılır. Değişken tipi belirlemeden değişkene direkt olarak değer atayabiliriz.
 Doğru Değişken tanımlama Örnekleri;
$sayi_1 = 453;
$isim = “Hasan”;
$boy = 1.78;
Yanlış Tanımlama Örnekleri;
$1sayi= 453; (değişkenler rakamla başlayamaz)
$isim% = “Hasan”; (değişkenler içinde ‘_’ işaretinden başka işaret kullanılmaz)
$maaş=1000; //’ş’ (Türkçe karakter kullanılamaz)
$Soyad=Ünlü (değişken içine Türkçe karakter atanabilir fakat bütün karakter
değişkenler çift tırnak içine yazılmalıdır. “Ünlü” gibi.)

15 Mart 2013 Cuma

Php'den Mysql e bağlantı komutu-hasanüye


Php'den Mysql e bağlantı komutu

$baglanti=mysql_connect("localhost","root","root") or die("mysql e bağlantı kurulamadı");
mysql_select_db("php_proje",$baglanti)or die("veritabanına bağlantı kurulamadı");
mysql_query("set names 'latin5'");
mysql_query("set character set latin5");
mysql_query("set collation_connection= 'latin5_turkish_ci'");

Php'den dosyaya resim yükleme komutları


Php'den dosyaya resim yükleme komutları


<?php

if($_POST)
{
if($_FILES["resim"] ["size"]<1024*1024)
{
if($_FILES["resim"] ["type"]=="image/jpeg")
{
$aciklama=$_POST["aciklama"];
$dosyaadi=$_FILES["resim"] ["name"];
$uret=array("as","rt","ty","yu","fg");
$uzanti=substr($dosyaadi,-4,4);
$sayi_tut=rand(1,10000);
$yeni_ad="dosyalar/".$uret[rand(0,4)].$sayi_tut.$uzanti;
if(move_uploaded_file($_FILES["resim"] ["tmp_name"],$yeni_ad))
{
echo 'dosya başarıyla yüklendi';
}
else
{
echo 'dosya yüklenemedi';
}
}
else
{
echo 'Lütfen jpeg formatında resim yükleyiniz';
}
}
else
{
echo 'Dosya boyutu 1 mb dan yüksek';
}
}
?>
<form action"" method="post" name"form1" enctype="multipart/form-data">
<input type="file" name="resim"/><br/>
<input type="text" name="aciklama"/><br/>
<input type="submit" name="gonder" value="Kaydet"/></form>
</form>

Video uygulaması için TIKLAYINIZ

14 Mart 2013 Perşembe

Bilgisayarın dili ve programlanışı



Bilgisayar programı nedir ?
Bilgisayarın çalışma temelinde işletim sistemi adı verilen ve bilgisayarın çalışabilmesi için gerekli veriler, komutlar ve dosyaları içeren ana program vardır. Bilgisayar açıldığı zaman harekete geçen ve otomatik olarak yüklenen dosyalar ve komutlar, kullanıcının bilgisayarda işlem yapabilmesini sağlayan zemini oluştururlar. İşletim sistemine bilgisayarın ruhu diyebiliriz. Dos, Windows, Linux, Zenix gibi farklı işletim sistemleri mevcuttur. İşletim sistemi de temelde bir bilgisayar programıdır ve bilgisayarın hangi durumda nasıl davranması gerektiğini bildiren komutlar içerir. Bilgisayar komutlarla hareket eder, bilgisayar programları da bilgisayara komut veren ve belli durumlarda belli şekilde çalışmasını düzenleyen, işlemleri sıraya koyan, belli yapılar oluşturabilen komut dizilimleridir.

Programlama Dili Nedir ?




Bilgisayar genel olarak iki kısımdan oluşur. Yazılım(Software) ve Donanım(Hardware). Bilgisayarı oluşturan fiziksel parçalar(Monitör, Klavye, Ana Kart, Hard Disk vb..) bilgisayarın donanım kısmını oluşturur. Bilgisayarın çalışmasını sağlayan işletim sistemi, işletim sistemi üzerinde oluşturulan diğer programlar, bilgisayarın içerisinde bulunan dosyalar vb.. ise yazılım kısmını oluşturur. Programlar programlama dilleri ile oluşturulur. Assembler, Basic, Cobol, Fortran, Pascal, Visual Basic, C, C++ birer programlama dilidir ve her birinin farklı komutları ve kuralları mevcuttur. Programlama dilleri farklı özelliklere sahiptir ve farklı amaçlar için farklı programlama dillerinin kullanılması daha uygundur. C dili matematiksel işlemler, mühendislik ve sistem yazılımlarında daha uygunken, HTLM dili ile internet sayfaları tasarlanır. ASP veya PHP ile internet üzerinden veritabanı uygulamaları geliştirilebilir. Java ve .net(datnet) programlama dilleri yine web(internet) tabanlı programlama dilleridir ve internet üzerinde çok değişik amaçlı uygulamaların hazırlanmasında kullanılırlar. Bu diller ile oluşturulan ****** dosyaları HTML dilinden farklı olarak kullanıcının ulaşabileceği açık kod uygulamaları değildir. Database veya veri tabanı denen ve bilgilerin saklanması, depolanması, sınıflandırılması ve sorgulanmasında büyük kolaylıklar sağlayan diller de (SQL- Structured Query Language, Oracle ) kısmen programlama dili kısmen de database programları olarak kabul edilebilir.

Programlama dilleri ile bilgisayarda çok çeşitli amaçlarla kullanılabilecek programlar oluşturulur. Programlama dillerini insan ile bilgisayar arasında iletişim kuran, insan dilini bilgisayar diline çeviren iletişim kanalı olarak da tanımlayabiliriz. Bilgisayarın kayıt mantığının temelinde elektronik olarak bitler şeklinde yazılan sıfır(0) ve bir(1) den oluşan elektronik veya elektro manyetik kayıt ortamlara veya geçici belleklere yazılan bilgiler vardır(Hard disk, ram, rem bellek vb..). Bu bitlerden oluşan kayıtlar yorumlanarak anlamlı komutlara dönüştürülür. Programlama dilleri ile daha anlaşılır olarak kodlanan komutlar derlenip yorumlanarak daha alt düzeyde elektronik olarak işlenebilen komutlara dönüştürülür.