YAZILIM İSTERLERİ ÇÖZÜMLENMESİ İSTER(REQUİREMENT) NEDİR? -İster kelime anlamı olarak gereksinim anlamına gelmektedir. -Kullanıcı tarafından bir problemi çözmek için veya hedefi gerçekleştirmek için ihtiyaç duyulan yetenek veya durumlardır. -Türleri ve alanları vardır. -Bir işte öncelikle neler yapılacağına karar verilmelidir. -Bu müşterinin ihtiyaçları doğrultusunda olmalıdır. -Belirli bir belgeye dökülmeli ve bu belge geçerli sayılabilir olmalıdır. -Gereksinimlerin; ölçülebilir, test edilebilir, tanımlanmış ihtiyaçlarla ve seçeneklerle ilişkili olmalıdır, sistem tasarımı için yeterli detay içermesi gerekir. Gereksinimler işlevsel ve işlevsel olmayan olarak 2 ye ayrılır. İster Mühendisliği Ve Türleri -Tüm hizmet ve kısıtlamaların belirlenmesi, çözümlenmesi, belgelendirilmesi ve kontrolü sürecine ister mühendisliği denir. -Kullanıcı İsterleri basit ve anlaşılır olmalıdır. -Sistem İsterleri detaylı ve teknik elemanlarca okunabilir olmalıdır. İsterler neden önemlidir ve uygulama alanları -İsterler yapılacak hataların ve aksaklıkların önceden belirlenmesi ve aşırı maliyet ve zaman kaybına engel olmak
için önemli bir alandır. -İşlevsel olan ve olmayan olarak ikiye ayrılır. -İşlevsel olanların incelenmesi zordur belirli bir matematiğe bağlıdır. İşlevsel olmayanlar ise daha yüzeyseldir. Yazılım İsterlerinin Çözümlemesi -Bu aşamalar öncelikle isterlerin belirlenmesi ile başlayacak. -Sonra çözümleme yollarına girilecek -Bu yöntemlerden bahsedilerek örneklendirmeler yapılacak. Şekil 1.Gereksinim İsterlerin belirlenmesi -Sistemin başarısı sistemden ne istenildiğinin en net şekilde anlaşılması ile doğrudan bağlantılıdır. -Düzeylere ayrılmış isterlerin belirtimi(belge) olarak çıkartılmalıdır. -Bazi aksi durumlarda isterler değişebilir, bunlara hazırlıklı olunmalıdır.
İster Analizi -Farklı birçok zorlukla karşılaşılabilir. -Gereksinimlere cevap olabilmeli -Tekrar gözden geçirilmeli -Tasarıma geçebilecek bir prototipe sahip olmalı Çözümleme Yöntemleri Problemin anlaşılması Problemin çözümlenmesi Modelleme Belirtim Gözden Geçirme -Bunları yapan kişi belirli bir deneyime sahip olan kişiye çözümleyici denir. 1)Yapısal Çözümleme -Ortadaki duruma yönelik bulgular yoluyla başlar. -Birden fazla aşama sonrası ortaya bir sonuç çıkar -Bu sonuç neticesinde tasarıma dönülür.
2)Nesneye Yönelik Çözümleme -Bir modellemeye ihtiyaç vardır. -En yaygın kullanılan modelleme UML dir. -Use Case diyagramları da kullanılır. -Domain problemleri için uygun çözümdür Şekil 2.Use-Case
Şekil 3.UML 3)Veri Yapılarına Yönelik Çözümleme EN UYGUN VERİ TİPLERİ VE YAPILARI BELİRLENMELİDİR etkinlik büyüklük işlev veriye erişim yöntemi hız -Veriler bizim için tasarımın tüm aşamalarını belirleyen kısıtlar olmalıdır. Referanslar Şadi Evren ŞEKER-İş Analistli olmak, Analiz Raporları ve İster Analizi (Yazılım Mühendisliği 3)https://www.youtube.com/watch?v=ji1sEscrqZs <video> http://slideplayer.biz.tr/slide/2287942/ <ppt> Yapısal Çözümleme Yöntemiyle Animasyon Karakter Analizi ve Kostüm Tasarımı* Berna YILDIRIM ARTAÇ1, Saliha AĞAÇ2 <pdf> NESNEYE YÖNELİK PROGRAMLAMA-Unified Modelling Language (UML) Bütünleşik Modelleme Dili Özlem AYDIN-Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü <pdf>
content.lms.sabis.sakarya.edu.tr/ /05_ym_yazılım_tasarımı_1[yy urtay_4h].pptx <ppt> Beyazpano-yazılımmühnedisliği-türkçekaynak-pdf <pdf> Beyazpano-yazılımmühnedisliği-türkçekaynak -ppt<ppt> VERİLERİN HAZIRLANMASI VERİ NEDİR? -Veri bir sistemdeki tüm durumların kendi türleri açısından ifade edildikleri birimlerdir. -Veriler çeşitli birimlerce ifade edildikleri için farklı türlere sahiptir. -Veriler bir nesneyi oluşturan yapı taşlarıdır. Tablo 1.Ayakkabı Numaraları -Tablo da veri örneklerini görüyoruz. -Sayısal veriler olması dikkatimizi çekmiştir.
-Veriler bir bütünü oluşturuyorlar. VERİ TÜRLERİ -Belirli bir aralıkta yer alan değişkenler (interval) Sıcaklık, tarih -İkili değişkenler (binary) Cinsiyet -Ayrık ve sıralı değişkenler(norminal,ordinal,ratio scaled) Göz rengi, posta kodu Şekil 1.Veri Türleri VERİLERİN TEMİZLENMESİ -Veri temizleme veri ambarlarındaki en önemli noktadır. -Eksik değerlerin yerlerinin doldurulması -Sapmaların ve gürültülü verilerin düzeltilmesi
-Tutarsız verilerin düzeltilmesi -Fazlalık bilgilerin yani bilgi çöplülüğünün önüne geçilmesi KAYIP VERİLER -Belirli aşamalarda veri ambarlarında bazı verilerde kayıplar gözlenebilir. -Bu durumlarda ortalama vs gibi değerler göz önünde bulundurularak gerekli ve mantıklı değerler atanabilir. -Kaybolan veriler eğer ambar için çok önemli değilse ihmal edilebilir. Tablo 2.Menü -5 numara olan veri yok. -5 nolu veri kayıp veridir. -Eğer yeşil çayın maliyeti yazmasaydı o da bir kayıp veridir. VERİLERDEKİ GÜRÜLTÜNÜN AZALTILMASI VE YENİDEN YAPILANDIRILMASI -Eğer bir veri tutarsız, eksik veya tekrarlı ise gürültülü bir
veridir. -Gürültülü veriler demetleme, regression(regrezisyon) ve clustering(bölmeleme) gibi yöntemlerle düzeltilebilir. -Bu düzenlenmiş veriler dolayısıyla yeniden yapılandırılmış olur. 1)Bölmeleme(Clustering) Elimizde 1,5,9,15,18,21,35,36,38 gibi veriler olsun. Bu teknikle bunu bölümlere ayırıyoruz. Bölüm1: 1,5,9 > ortalama 5 alt-üst sınır > 1,1,9 Bölüm2: 12,18,21 > ortalama 17 alt-üst sınır > 12,12,21 Bölüm3: 32,37,39 > ortalama 36 alt-üst sınır > 32,32,39 Tabi ki eşit parçalara ayırılmalıdır. Her bölme ortalama ile veya alt-üst sınırla ifade edilir. 2)Demetleme Şekil 2.Demetleme
-Benzer veriler aynı demetler altında toplanır. -Dışarıda kalan farklı veriler aykırılık olarak algılanır ve silinir. 3)REGRESSİON(EĞRİ UYDURMA) Şekil 3.Regresyon -Veri bir fonksiyona uyarlanır. -Örneğin y=x+1 gibi, bu sayede bir değişkenin değerine diğer bir değişkenin değerini bilerek bulunabilir. NORMALİZASYON -Eğer sütun gereksiz ise, veri kaybı, veri tekrarı veya veri yetersizliğini önlemek için kullanılır. -Veri bütünlüğü sağlamak -Veriye yönelik hazırlanmalıdır. -Veri tabanını hızlandırmak amacı güdülür.
NORMALİZASYON FORMÜLLERİ MİN-MAX NORMALİZASYON Z-SCORE NORMALİZASYON ONDALIK NORMALİZASYON BOYUT İNDİRGEME -Veri sayısı ve değişken sayısı değiştirilebilir, birleştirilebilir. -Veri sıkıştırma -Genelleme -Örnekleme Tablo 3.Yolcular -Yolcular indirgenebilir. -Şoförler indirgenebilir -Araçlar indirgenebilir. Örneğin; Zeynep Aygün Cenk Honda Taksim, Osmanbey, Nişantaşı
Meltem Gün Cem Ford Bakırköy, Ataköy, Şirinevler Referanslar -Şadi Evren ŞEKER-Veri Temizleme (Veri Madenciliği Teorik 2) (https://www.youtube.com/watch?v=ibutbarppbm<video> https://volkansoner.wordpress.com/2011/09/15/veri-onisleme/ -Yrd. Doç. Dr. Şule Gündüz Öğüdücü http://www.ninova.itu.edu.tr/egitimdetay.aspx?eid=195 -web.itu.edu.tr/~sgunduz/courses/verimaden/slides/d2.pdf <pdf> -ninova.itu.edu.tr/tr/dersler/bilisimenstitusu/195/bbl-606/ekkaynaklar?g28648<pdf> -sadievrenseker.com/wp/wp /iticu_dm_3_youtube.ppt.pdf<ppt> -Beyazpano-veri madenciliği-türkçekaynak-pdf <pdf> -Beyazpano-veri madenciliği-türkçekaynak -ppt<ppt> Java JTextField JTextField KORAY ÇAMDALI Bilgisayar Mühendisliği Bölümü,Mehmet Akif Ersoy Üniversitesi,Burdur koraycamdali@gmail.com
ÖZET:Bu makalede JTextField in Java üzerindeki ne işe yaradığını ve özelliklerini ele alacağız.aynı zamanda java da farklı text özellikleri olmasına rağmen TextField farklı opsiyonlar ile her işe yarıyor.bu durumları ele alıp aynı zamanda şekil ve kod örnekleri olarak bu konuları ele alacağız. Anahtar Kelimeler: Java, Event, Main, JTextField, Code. J ile başlayan bileşenlerin Swing isimlendirme kurallarına uyduğu Frame nesnesine JFrame denir.(jbutton, JLabel) JFrame Yüksek-Seviye taşıyıcı olarak adlandırılır, yani JFrame görüntülenmek için kendini başka bir nesneye ekleme gereksinimi duymaz.içerik bölme; bütün text, buton ve grafiklerin konulduğu yerdir. bu öğreticilerde İçerik bölmesiyle çalışacağız.bu örnekte gördüğünüz üzere jframe birkaç bileşenden oluşur. görüntü bileşenlerini eklemek için, içerik bölmesinde koyacağımız yerleri belirlemeliyiz.içerik bölmesi; kapsama hiyerarşisinde en üst sıradadır. kapsama hiyerarşisi kök dizin olarak üst sıra taşıyıcısını(bu durumda jframe) alan bileşenlerin oluşturduğu bir ağaç gibidir. aşağı doğru indikçe, bileşenleri tutmak için jpanel gibi diğer taşıyıcıları kullanırız. [1] invokelater() metodu uygulamayı swing olay sırası(swing event queue) na sokar.gui nin belirli durumlarda takılmasını engellemek için kullanılır.bu konu daha sonraki konulardan biridir ve şimdi bunu düşünmemeliyiz. [2] Bu bölümde, Swing kullanarak ilk programımızı oluşturacağız.örnekler çok basit olacak. Örnek fonksyonellikleri inceleyeceğiz. İlk örnekte basit bir pencere yaratacağız. Alternative 1: JFrame in Genişletilmesi
Alternative 2: JFrame Sınıfının Kullanılması Bu konuları ele aldıktan sonra Java da nasıl oluşturduklarını gördük ve aynı zamanda burdan sonra birkaç JTextField örneği ile makaleyi tamamlayacağız. Dikkat ettiğimizde Netbeans özellikle kalıp buton özellikleri ile dikkat çekiyor.son olarak da aynı örneği eclipse de inceleyelim. //Kodlar //MainFrame import java.awt.flowlayout; import java.awt.event.mouseadapter; import java.awt.event.mouseevent; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.joptionpane; import javax.swing.jtextfield; import javax.swing.windowconstants; public class MainFrame { public static void main(string[] args) { //Jframe herşeyi kaplar ve //Swing kütüphanesi J ile başlar. JFrame bizimframe=new JFrame( Bizim Form ); //Formun Büyüklüğünü belirliyoruz. bizimframe.setsize(300, 100); //Bu kodu koymazsak Jframe penceresini kapatsakta //program kapanmaz sadece görünürlüğü false olur. bizimframe.setdefaultcloseoperation(windowconstants.exit_on_cl OSE); //Button oluşturuyoruz. JButton btngoster=new JButton( Göster );
//TextField oluşturuyoruz. //final olmasının sebebi addmouselistener içinde //erişmek için. final JTextField txtisim=new JTextField(15); //Buttonun olaylarını yakalıyoruz. //İç sınıf tanımladık (MouseAdapter) ve metotlarından birini ezdik. btngoster.addmouselistener(new MouseAdapter() { //Mouse tıklandığındaki olayı yakalar. @Override public void mousepressed(mouseevent e) { //txtisim.gettext() txtisimdeki Texti getirir. //txtisim.settext() dediğimizde de text atayabiliriz. JOptionPane.showMessageDialog(null, txtisim.gettext()); } }); //Layout oluşturulan form nesnelerinin nasıl frame de //yerleştirileceğini belirler. //FlowLayout sıra ile koyar. bizimframe.getcontentpane().setlayout(new FlowLayout()); //Buttonu ve textfield ekliyoruz. //Eğer kodları koymazsak Frame de gözükmezler. bizimframe.getcontentpane().add(txtisim); bizimframe.getcontentpane().add(btngoster); //Frame i görünür haline getiriyoruz. bizimframe.setvisible(true); } }[3] Java da ben eclipse de gördük bunların eventleri aynı zamanda properties lerinde ayrı ayrı özellikler var bunları eğer sürükle bırakla yazmazsak elimizle yazmak zorunda
kalırız.jtextfieldı şimdilik bu konularda ele aldık. Referanslar: [1].https://tr.wikipedia.org/wiki/E%C5%9Flik_biti [2]. http://www.yildiz.edu.tr [3].http://bilgisayarkavramlari.sadievrenseker.com Java JButton JBUTTON KORAY ÇAMDALI Bilgisayar Mühendisliği Bölümü,Mehmet Akif Ersoy Üniversitesi,Burdur koraycamdali@gmail.com ÖZET:Bu makalede Event ini ve aynı zamanda blok özelliklerini de inceleyeceğiz.aynı zamanda Java da sürükle bırakla bu buton kodlarının nasıl rahat ve aynı zamanda nasıl işlevsel olduğuna yönelik konuları da ele alacağız.java Neatbeans ve Eclipse de nasıl olduğunu irdeleyeceğiz.jbutton özetle birkaç durumla ele alınacak. Anahtar Kelimeler: Java, Event, Main, Button, Code. Java programlama dili için bir başka GUI kütüphanesi daha vardır ve SWT(The Standard widget toolkit) olarak adlandırılır. SWT kütüphanesi ilk olarak IBM tarafından geliştirilmeye başlanmıştır. Şimdilerde IBM in desteklediği açık kaynak kodlu bir projedir. SWT ağırsiklet araçların bir örneğidir. Altta çalışan işletim sisteminin GUI yaratmasına
izin verir. SWT; çalışmak için yerel java arayüzünü kullanır. SWT nin ana avantajları sürat, alışılmış görünüm ve hissiyattır. Swing kadar güçlü değildir ve işletim sisteminin kütüphanesi bağımlıdır. [1] Swing kütüphanesi Sun Microsystems tarafından piyasaya sürülen resmi Java GUI aracıdır. Swing; %100 java ile yazılmıştır ve Java Foundation Classes(JFC) nin bir parçasıdır. Tam donanımlı masaüstü uygulamaları geliştirmek için kullanılan paketler bütünüdür. JFC; AWT,Swing,Ulaşılabilirlik,Java 2D ve Sürükle Bıraktan oluşur. 1997 yılında JDK 1.2 ile birlikte piyasaya sürülmüştür. [3] Bu konuları ele aldıktan sonra Java da nasıl oluşturduklarını gördük ve aynı zamanda burdan sonra birkaç button örneği ile makaleyi tamamlayacağız.dikkat ettiğimizde Netbeans özellikle kalıp buton özellikleri ile dikkat çekiyor.son olarak da aynı örneği eclipse de inceleyelim. package com; import com.arif.r; import android.app.activity; import android.content.intent; import android.os.bundle; import android.view.view;
import android.widget.button; public class activityekleactivity extends Activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Button gitbuton=(button)findviewbyid(r.id.git); gitbuton.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { // TODO Auto-generated method stub
startactivity(new Intent( android.intent.action.ac2 )); //yönlendirmeyi yapan kod. intent ile activityler arası yönlendirme, internet sitesini açma vs. Yapılabiliyor. } }); } }[3] Şimdi bunun da görsel halini görerek bitirelim.java da ben eclipse de gördük bunların eventleri aynı zamanda properties lerinde ayrı ayrı özellikler var bunları eğer sürükle bırakla yazmazsak elimizle yazmak zorunda kalırız. Referanslar: [1].https://tr.wikipedia.org/wiki/E%C5%9Flik_biti [2]. http://www.yildiz.edu.tr [3].http://bilgisayarkavramlari.sadievrenseker.com