SlideShare a Scribd company logo
1 of 21
Download to read offline
1
Hacettepe Üniversitesi Bilgisayar Mühendisliği 2014 - 2015 Dönemi Yaz Stajı
Raporu
Ad: Ayşe Meliz
Soyad: Ersoy
Sınıf: 4
Numara: 21228319
Staj Konusu: Yazılım
Başlama Tarihi: 20/08/2015
Bitiş Tarihi: 02/10/2015
Süresi: 6 Hafta/30 iş günü
Staj Yapılan Yerin Adı: NFOTEKS Technology Ltd. Şti.
Staj Yapılan Yerin Adresi: Melih Gökçek Bulvarı 1368. Cadde No:113/2 İnfoteks
Alfa Plaza İVOGSAN Yenimahalle - ANKARA
2
İÇİNDEKİLER
1. GİRİŞ…………………………………………………………………………………………………………3
2. INFOTEKSTECHNOLOGY………………………………………………………….………………..3
3. STAJ SÜRECİ
3.1. Araştırma – Analiz Etme…………………………………………………….…….5
3.1.1. Uygulama Konusunun Seçimi ve Piyasa Araştırması…………………..4
3.1.2. Projenin Detaylarının Belirlenmesi…………………………………………..…5
3.1.3. Android Programlamaya Giriş……………………………………………………6
3.1.4. Kavramsal Tasarım…………………………………………………………………….6
3.2. Kodlama………………………………………………………………………………….7
3.2.1. Tasarım………………………………………………………………………………….….7
3.2.2. Özellikler………………………………………………………………………………..…18
4. SONUÇ………………………………………………………………………………………………………20
5. REFERANSLAR……………………………………………………………………………………………21
3
1.GİRİŞ
2014-2015 yaz stajı döneminde INFOTEKS Technology’de yaptığım stajın
konusu mobil uygulamalar ileilgiliydi. Bu amaçla, “Çocuklar İçin Mobil Uygulamar”
temasından yola çıkarak Çocuklar İçin Temel Eğitim adını verdiğim bir Android
uygulaması geliştirdim.
Projeyı geliştirebilmek için öncelikle App Store ve Android Google Play
Store’da bulunan ve kullanıcılar tarafından olumlu tepkiler almış en popüler 5
uygulamayı incelim. Bu incelemeden yola çıkarak, kendi uygulamamda
bulunmasını istediğim özellikleri belirledim. Yazılım gereksinimlerini ve kavramsal
tasarımını oluşturdum. Android Studio kullanımını öğrenerek, uygulamamı
geliştirdim.
Staj sürecimin sonunda, uygulamamı tamamladım ve kullanıma hazır hale
getirdim.
2. INFOTEKS TECHNOLOGY
İNFOTEKS Bilgisayar, Elektronik, Telekomünikasyon, Medya ve Reklam Ltd.
Şti. 90' lı yılların sonunda trend yaratan ve yenilikçi elektronik ürünleri Türkiye
pazarıyla buluşturmak amacıyla kurulmuştur. İçinde bulunduğu ve o yıllarda
gelişme sürecinde olan elektronik sektörünü yeni ürünlerle tanıştırmış olan firma,
sektöre ve sektörün diğer firmalarına örnek olmuştur.
Teknolojik ürünler üreten ve bu alanda faaliyet gösteren İNFOTEKS kurduğu
iş bağlantıları ve işi gereği gelişen trendleri takip etmesi sebebiyle teknolojik
ürünler üretmenin yanı sıra bununla ilintili olarak ENERJİ, YAZILIM, BİLİŞİM,
ELEKTRONİK, AYDINLATMA, MEDYA REKLAM, ÇAĞRI MERKEZİ konularında
da faaliyet göstermektedir.
4
Multimedya ve elektronik ürünlerin üretiminin büyük bir kısmını yurtdışındaki
fabrikalarında gerçekleştiren İNFOTEKS, otobüs sektöründe çığır açan Seat TV
Fusion modeli koltuk arkası televizyonların üretiminin büyük bir kısmını Türkiye'de
gerçekleştirmektedir.
3. STAJ SÜRECİ
3.1. Araştırma – Analiz Etme
3.1.1. Uygulama Konusunun Seçimi ve Piyasa Araştırması
Stajımın ilk haftasında, staj sorumlusu tarafından sunulan uygulama
konularından birini seçtim ve bu konuyla ilgili App Store ve Android Google Play
Store’da bulunan uygulamaları inceleyip raporladım.
Staj sorumlusu tarafından belirlenen konu başlıkları;
 Yaşlılar için mobil uygulamalar ,
 Engelliler için mobil uygulamalar ,
 Çocuklar için mobil uygulamalar,
 Mobil radyo uygulaması Mobil TV uygulaması,
 NFC (temassız iletişim) Uygulamaları, şeklindeydi.
Çocuklar için mobil uygulamalar konusunu seçtim ve son zamanlarda en
çok kullanılan, en popüler olan ve en iyi tepkiler alan 5 uygulamayı inceledim. Bu
uygulamalar;
 Çocuklar İçin İngilizce
 Educational Games For Kids
 Genç Matematik Kralı
 Doctor Kids
 Hayvan Sesleri.
5
Analizimde 5 uygulamaya ait, geliştirici bilgileri, uygulamanın amacı ve
kapsamı, sunulan özellikleri, genel istatistikleri, tasarımı ve ekran görüntüleri,
indirilme sayısı, kullandığı izinler, kullanıcı yorumları ve yazılım gereksinimleri ibi
pek çok bilgiyi detaylı şekilde açıklayan bir rapor hazırladım.
3.1.2. Projemin Detaylarını Belirleme
Stajımın ikinci haftasında, incelediğim 5 uygulamadan da yola çıkarak,
geliştireceğim uygulamanın özelliklerini, genel tanımını, yazılım gereksinimlerini ve
arayüz tasarımını belirledim ve raporladım.
Bunu yaparken, incelediğim uygulamaların özellikleriyle, geliştirdiğim
uygulamada bulunmasını istediğim özellikleri karşılaştırdığım bir tablo oluşturdum
ve staj sürecince bu tablodan yararlandım.
Özellik / Uygulama
Çocuklarİçin
İngilizce
Educational
GamesForKids
GençMatematik
Kralı
DoctorKids
HayvanSesleri
i
ÇocuklarİçinTemel
Eğitim
Ses kaydı kullanma + + + + + +
Video kullanma +
+4 seçenekli test soruları bulundurma + + + +
Farklı dil seçenekleri bulundurma + + + +
Ücret ödenerek ek özellik/tam versiyon satın alma +
Müzik + + +
Farklı kullanıcı hesapları oluşturabilme +
Küçük oyunlar içerme + +
Farklı ders içerikleri bulundurma +
Reklam alma + +
Basitlik ve kullanım kolaylığı + + + + + +
6
3.1.3. Android Programlamaya Giriş
Uygulama geliştirme sürecinde yardımcı olabilecek kod örnekleri ve tutorialların
araştırıp raporladım ve staj süresince çoğunlukla bu kaynaklardan yararlandım.
Kullandığım kaynakları REFERANSLAR bölümde bulabilirsiniz.
3.1.4. Kavramsal Tasarım
Kodlamaya başlamadan önce, uygulamamın kavramsal tasarımını yaptım ve
yapacağım işi bir ürün ağacı şeklinde parçalara ayırdım. Bu çalışma,
oluşturoluşturduğum class yapılarına, ata ve çocuk ilişkilerine karar vermemde
yardımcı oldu.
Hazırlamış olduğum iş parçacıkları bu şekildedir. Uygulama, iç içe geçmiş
menülerden oluşur ve bu alt menüler benzer özellikleri kullanmaktadır. Alt
menülerin içeriği tamamlandıkça, ağacın üst kısmına dpğru çıkılması sağlandı ve
uygulama kullanılabilir bir hal aldı.
7
3.2. Kodlama
Çocuklar İçin Temel Eğitim adını verdiğim uygulamamı geliştirirken Android
Studio’yu kullandım. Uygulamanın tasarımını,ve özelliklerini incelemeye
başlayalım.
3.2.1. Tasarım
Çocuklar İçin Temel Eğitim adlı uygulamam, Genel Yetenek, İnilizce ve
Matematik ana başlıklarından oluşmaktadır.
Uygulamanın Cep Telefonundaki Görüntüsü ve Kullanılan İkon
8
Uygulamaya Giriş Yapıldığında Açılan Ana Menü
- Genel Yetenek
- İngilizce
- Matematik)
Genel Yetenek Alt Menu
- Öğrenmeye Başla
- Görsel Test
- İşitsel Test
- Klasik
9
Öğrenmeye Başla
- Alfabe
- Sayılar
- Renkler
- Şekiller
- Meyveler
- Hayvanlar
- Vücudumuz
- Araçlar
- Ülkeler
Bu içerikler cisimlerin görsellerinden, cisimlerin yazılışını ifade eden
textview’lerden ve görsellere tıklandığında aktifleşen ses kayıtlarından
oluşmaktadır.
Alfabe Sayılar
10
Günler Aylar
Renkler Şekiller
11
Meyveler Hayvanlar
Vücudumuz Araçlar
12
NOT: Uygulamamın İngilizce bölümü,
Genel Yetenek’te bulunan başlıkları
içermektedir. İngilizce bölümünde kullanılan
textview’ler cisimlerin İngilizce yazılışını, ses
kayıtları ise İngilizce seslendirilişini
içermektedir. İngilizce bölümüne ait
görselleri, kalabalık bir görüntü
oluşturmaması için raporuma dahil
etmiyorum.
Ülkeler
Görsel Test başlığı altında örnekteki gibi 8
adet soru bulunmaktadır. Kullanıcı yanlış cevap
verdiğinde “kırmızı çarpı” işareti ile uyarılır. Doğru
cevabı verdiğinde ise “yeşil tik” işareti ile uyarılıp
diğer soruya otomatik olarak geçmesi sağlanır.
Görsel Test Örnek Soru
13
İşitsel Test başlığı altında örnekteki
gibi 8 adet soru bulunmaktadır. Kullanıcı
“hoparlör” ikonuna tıkladığında soru
olarak bir cismin okunuşu duyulacaktır ve
kullanıcıdan bu pronounsa ait görseli
işaretlemesi beklenecektir.
Kullanıcı yanlış cevap verdiğinde
“kırmızı çarpı” işareti ile uyarılır. Doğru
cevabı verdiğinde ise “yeşil tik” işareti ile
uyarılıp diğer soruya otomatik olarak
geçmesi sağlanır.
İşitsel Test Örnek Soru
Klasik Test başlığı altında örnekteki gibi 8 adet
soru bulunmaktadır. Kullanıcıdan görselini gördü-
ğü cismin yazılışını text field’a girmesi beklenir.
Kullanıcı yanlış cevap girdiğinde ekranda “Ceva-
Bınız yanlış. Lütfen tekrar deneyin.” İfadesini
İçeren bir Toast mesajı belirir. Kullanıcı doğru
Cevap girdiğindeyse otomatik olarak diğer soruya
Geçilir.
.
Klasik Test Örnek Soru
14
Yeşil Tik Örneği Kırmızı Çarpı Örneği Toast Mesajı
Matematik Alt Menü Başlıkları
- Sayma
- Toplama
- Çıkarma
- Çarpma
- Bölme
- Kesirler
- Geometri
- Karşılaştırma
- Ölçme
- Karışık
Matematik Alt Menü
15
Matematik Alt Menü’de her konu başlığı için ayrıca hazırlanmış 8’er soru
bulunmaktadır. Kullanıcı bu sorulara yanlış cevap verdiğinde, Genel Yetenek ve
İngilizce bölümlerinde olduğu gibi “kırmızı çarpı” işaretiyle uyarılır. Doğru cevap
verdiğindeyse “yeşil tik” işaretiyle karşılaşır ve otomatik olarak diğer soruya
geçebilir.
Her konu başlığına ait örnek 1 adet soru, aşağıdaki görsellerde mevcuttur.
Sayma Toplama
Çıkarma Çarpma
16
Bölme Kesirler
Geometri Karşılaştırma
17
Ölçme Karışık
Kullanıcı her bir soru kümesini
başarıyla tamamladığında bu sayfayla
karşılaşır ve Ana Menü’ye dönmesi sağlanır.
Tebrikler Sayfası
18
3.2.2. Özellikler
Uygulamada ihtiyaç duyduğum özellikleri araştırdıktan sonra projeme dahil
ettim.
Bu özellikleri incleyecek olursak;
1. Layout
Android uygulamalarımızda ekleyeceğimiz kontrollerin belirli bir düzende
olması için layout kullandım. Örneğin buton ve textviewkontrollerinin alt alta
olmasını, sağa sola kaymadan belirli bir düzende olmasını istiyorsak buna uygun
olan layoutları kullanmamız gerekir.
Temel layout türleri;
- Linear Layout: Bu layout türünde, eklenecek olan
nesneler doğrusal olarak eklenir. Kontrollerin alt alta olmasını
istediğimde vertical linear layout, yanyana olmasını istediğimdeyse
horizantal linear layput kullandım.
- FrameLayout: Bu layout tipinde nesneler üst üste biner. Genelde aynı
boyutlardaki butonların üst üste gelip, birinin kaybolduğunda diğerinin
gözükmesi için kullanılır.
- RelativeLayout: Bu layout tipini kullanırsak araçlarımızı istediğimiz
yere sürükleyebiliriz. Varsayılan olarak android uygulamalarında bu
layout gelir. Araçlarımızı, sayfamız üzerinde sürüklediğimiz
zaman cetvel şeklinde koordinatlar görürüz. Bir hiza olmadan
istediğimiz gibi araçları yerleştirebiliriz.
-
- TableLayout:Bu layout türünde ise araçlarımız bir tablo şeklinde
tutulur. Diğerlerinden farklı olarak bu layout’u kullandığımızda
tablomuza TableRow adında satır eklememiz gerekir.
19
2. Scroll View
Uygulamamızdaki herhangi bir arayüzdeki kontroller ekrandan taşmaya
başladığında Scrool View kullandım. Bu şekilde daha fazla veriyi ekranın altında
tuttum ve kullanıcının kaydırma hareketiyle bu veriye ulaşmasını sağladım.
3. Image Button
Arka planını bir görselin oluşturduğu ve tıklandığında yanıp sönme efektini
defalt olarak gerçekleştiren butonlardır. Uygulamanın özellikle “Öğrenmeye Başla”
bölümünde sıkça kullandığım bir araçtır.
4. Button ve Selector
Android Studio default butonları, görsel açıdan yetersiz kalmakta ve cazip bir
arayüz oluşturmaya engel olmaktadır. Buton tasarımlarımızı kendimiz
oluşturmamız, bu nedenle daha güzel bir sonuç verecektir.
Buton tasarımında, Android Studio’nun sunduğu Shape XML’den yararlandım.
Butonun farklı renkler içermesini, köşelerinden belirli boyutlarda basınç oluşturarak
daha oval bir görünüm almasını sağladım.
Uygulamanın “menü” sayfalarında kullandığım bulut şeklindeki butonları ise
Android Studio’nun sunduğu Selector XML sayesinde oluşturdum. İki bulut
görselinden koyu olanı butonun ilk andaki duruşunda, açık olanı ise butona
basıldığında aktifleştirildi. Böylece image button’da default olarak bulunan efekt
elde edildi. Bu aşamada image button kullanmamanın nedeniyse bu aracın her
görseli kare bir zemine sabitlemesi ve efekti bu kare zeminin tümüne
gerçekleştirmesiydi.
5. Image View
Uygulamaya görsel eklemek için kullandığım araçtır.
20
6. Audio
Uygulamaya eklediğim sesler için *.wav formatını kullandım. Her buton için
ayrı ayrı kaydettiğim sesleri, SoundPool nesnelerinden oluşan bir dizide tuttum ve
buton tıklandığında çağırılan fonksiyonda gerekli sesi aktifleştirdim.
7. Textview
Uygulamaya yazı eklemek için bu aracı kullandım.
8. Edit Text Field
Kullanıcının kendini test etmesi amacıyla hazırlanan klasik sorulara yanıt
vermesini sağlamak için bu aracı kullandım. Bu sayede kullanıcının cevabını bir text
alanına girebilmesi ve bu cevabın if-else yapısı tarafından kontrol edilmesi sağlandı.
4. SONUÇ
30 iş günü süren staj sürecimde, Android İşletim Sistemi’ne sahip cihazlarda
kullanılmak üzere, Çocuklar İçin Temel Eğitim adını verdiğim uygulamamı
geliştirdim. Bu amaçla, Android Studio öğrendim ve kendimi bu konuda geliştirdim.
Proje sırasında ve sonunda doldurulması gereken yazılım dökümanları ile bir
projenin yapımı sırasında uygulanması gereken adımları öğrendim ve bu konuda
tecrübe sahibi oldum.
21
5. REFERANSLAR
https://www.linkedin.com/company/infoteks
https://www.youtube.com/watch?v=3iE_ZxBB-
tc&list=PL9qDMO9EzLX25NTHm0q7svKLx__OZY8-e
https://developer.android.com/training/index.html
http://www.mehmetkirazli.com/android-dersleri-4-layout-turleri/
https://www.google.com/design/spec/style/color.html
http://angrytools.com/android/button/
http://www.iconarchive.com/search?q=
https://www.youtube.com/watch?v=SUOWNXGRc6g&list=PL2F07DBCDCC01493
A

More Related Content

Similar to infoteks_intern_report

Turkish version
Turkish versionTurkish version
Turkish versionTamunaNL
 
TÜRKİYE’DE YAPILAN SIEM PROJELERİNDE MEMNUNİYET VE FAYDA ÇELİŞKİSİ
TÜRKİYE’DE YAPILAN SIEM PROJELERİNDE MEMNUNİYET VE FAYDA ÇELİŞKİSİTÜRKİYE’DE YAPILAN SIEM PROJELERİNDE MEMNUNİYET VE FAYDA ÇELİŞKİSİ
TÜRKİYE’DE YAPILAN SIEM PROJELERİNDE MEMNUNİYET VE FAYDA ÇELİŞKİSİErtugrul Akbas
 
Mühendislere ne iş yaparsınız dedik
Mühendislere ne iş yaparsınız dedikMühendislere ne iş yaparsınız dedik
Mühendislere ne iş yaparsınız dedikB35 Yapı
 
Analist Eğitimi - Tüm Bölümler - [535 Slides]
Analist Eğitimi - Tüm Bölümler -  [535 Slides]Analist Eğitimi - Tüm Bölümler -  [535 Slides]
Analist Eğitimi - Tüm Bölümler - [535 Slides]Erol Bozkurt
 
Özgür Yazılım ve Kullanılabilirlik
Özgür Yazılım ve KullanılabilirlikÖzgür Yazılım ve Kullanılabilirlik
Özgür Yazılım ve KullanılabilirlikUserspots
 
Nesne tabanlı programlamada karar ve döngü yapıları
Nesne tabanlı programlamada karar ve döngü yapılarıNesne tabanlı programlamada karar ve döngü yapıları
Nesne tabanlı programlamada karar ve döngü yapılarıErol Dizdar
 
tacalan_proje_rapor_v4
tacalan_proje_rapor_v4tacalan_proje_rapor_v4
tacalan_proje_rapor_v4Ozan Taçalan
 
Uygulamalarınızı ASO ile Nasıl Güçlendirebilirsiniz?
Uygulamalarınızı ASO ile Nasıl Güçlendirebilirsiniz?Uygulamalarınızı ASO ile Nasıl Güçlendirebilirsiniz?
Uygulamalarınızı ASO ile Nasıl Güçlendirebilirsiniz?Samet Özsüleyman
 
MaestroServiceManagement_20141032013_HasanYılmaz-Tez
MaestroServiceManagement_20141032013_HasanYılmaz-TezMaestroServiceManagement_20141032013_HasanYılmaz-Tez
MaestroServiceManagement_20141032013_HasanYılmaz-TezHasan Yılmaz
 
Mobil İşletim Sistemleri (iOS ve Android) Açısından Kullanıcı Memnuniyetini E...
Mobil İşletim Sistemleri (iOS ve Android) Açısından Kullanıcı Memnuniyetini E...Mobil İşletim Sistemleri (iOS ve Android) Açısından Kullanıcı Memnuniyetini E...
Mobil İşletim Sistemleri (iOS ve Android) Açısından Kullanıcı Memnuniyetini E...Dr. Mustafa Değerli
 
Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)Ahmet Yanik
 
Kodlamaya hazırlık
Kodlamaya hazırlıkKodlamaya hazırlık
Kodlamaya hazırlıkErol Dizdar
 
Internet programcılığı 3
Internet programcılığı 3Internet programcılığı 3
Internet programcılığı 3Erol Dizdar
 
Mustafa Değerli - 2015 - UYMS 2015 Makale - Mobil İşletim Sistemleri (iOS ve ...
Mustafa Değerli - 2015 - UYMS 2015 Makale - Mobil İşletim Sistemleri (iOS ve ...Mustafa Değerli - 2015 - UYMS 2015 Makale - Mobil İşletim Sistemleri (iOS ve ...
Mustafa Değerli - 2015 - UYMS 2015 Makale - Mobil İşletim Sistemleri (iOS ve ...Dr. Mustafa Değerli
 
8 adımda doğru ERP çözümü
8 adımda doğru ERP çözümü8 adımda doğru ERP çözümü
8 adımda doğru ERP çözümüMuharrem Gezer
 
Mikideas Eğitim ve Danışmanlık Hizmetleri Broşürü
Mikideas Eğitim ve Danışmanlık Hizmetleri BroşürüMikideas Eğitim ve Danışmanlık Hizmetleri Broşürü
Mikideas Eğitim ve Danışmanlık Hizmetleri BroşürüErol Bozkurt
 

Similar to infoteks_intern_report (20)

Turkish version
Turkish versionTurkish version
Turkish version
 
TÜRKİYE’DE YAPILAN SIEM PROJELERİNDE MEMNUNİYET VE FAYDA ÇELİŞKİSİ
TÜRKİYE’DE YAPILAN SIEM PROJELERİNDE MEMNUNİYET VE FAYDA ÇELİŞKİSİTÜRKİYE’DE YAPILAN SIEM PROJELERİNDE MEMNUNİYET VE FAYDA ÇELİŞKİSİ
TÜRKİYE’DE YAPILAN SIEM PROJELERİNDE MEMNUNİYET VE FAYDA ÇELİŞKİSİ
 
Anket Tasarımı ve Ön Test
Anket Tasarımı ve Ön TestAnket Tasarımı ve Ön Test
Anket Tasarımı ve Ön Test
 
Mühendislere ne iş yaparsınız dedik
Mühendislere ne iş yaparsınız dedikMühendislere ne iş yaparsınız dedik
Mühendislere ne iş yaparsınız dedik
 
Sunu1
Sunu1Sunu1
Sunu1
 
A / B Testing Workshop
A / B Testing Workshop A / B Testing Workshop
A / B Testing Workshop
 
Gereksinim Analizi Dokümanı Hazırlama
Gereksinim Analizi Dokümanı HazırlamaGereksinim Analizi Dokümanı Hazırlama
Gereksinim Analizi Dokümanı Hazırlama
 
Analist Eğitimi - Tüm Bölümler - [535 Slides]
Analist Eğitimi - Tüm Bölümler -  [535 Slides]Analist Eğitimi - Tüm Bölümler -  [535 Slides]
Analist Eğitimi - Tüm Bölümler - [535 Slides]
 
Özgür Yazılım ve Kullanılabilirlik
Özgür Yazılım ve KullanılabilirlikÖzgür Yazılım ve Kullanılabilirlik
Özgür Yazılım ve Kullanılabilirlik
 
Nesne tabanlı programlamada karar ve döngü yapıları
Nesne tabanlı programlamada karar ve döngü yapılarıNesne tabanlı programlamada karar ve döngü yapıları
Nesne tabanlı programlamada karar ve döngü yapıları
 
tacalan_proje_rapor_v4
tacalan_proje_rapor_v4tacalan_proje_rapor_v4
tacalan_proje_rapor_v4
 
Uygulamalarınızı ASO ile Nasıl Güçlendirebilirsiniz?
Uygulamalarınızı ASO ile Nasıl Güçlendirebilirsiniz?Uygulamalarınızı ASO ile Nasıl Güçlendirebilirsiniz?
Uygulamalarınızı ASO ile Nasıl Güçlendirebilirsiniz?
 
MaestroServiceManagement_20141032013_HasanYılmaz-Tez
MaestroServiceManagement_20141032013_HasanYılmaz-TezMaestroServiceManagement_20141032013_HasanYılmaz-Tez
MaestroServiceManagement_20141032013_HasanYılmaz-Tez
 
Mobil İşletim Sistemleri (iOS ve Android) Açısından Kullanıcı Memnuniyetini E...
Mobil İşletim Sistemleri (iOS ve Android) Açısından Kullanıcı Memnuniyetini E...Mobil İşletim Sistemleri (iOS ve Android) Açısından Kullanıcı Memnuniyetini E...
Mobil İşletim Sistemleri (iOS ve Android) Açısından Kullanıcı Memnuniyetini E...
 
Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)
 
Kodlamaya hazırlık
Kodlamaya hazırlıkKodlamaya hazırlık
Kodlamaya hazırlık
 
Internet programcılığı 3
Internet programcılığı 3Internet programcılığı 3
Internet programcılığı 3
 
Mustafa Değerli - 2015 - UYMS 2015 Makale - Mobil İşletim Sistemleri (iOS ve ...
Mustafa Değerli - 2015 - UYMS 2015 Makale - Mobil İşletim Sistemleri (iOS ve ...Mustafa Değerli - 2015 - UYMS 2015 Makale - Mobil İşletim Sistemleri (iOS ve ...
Mustafa Değerli - 2015 - UYMS 2015 Makale - Mobil İşletim Sistemleri (iOS ve ...
 
8 adımda doğru ERP çözümü
8 adımda doğru ERP çözümü8 adımda doğru ERP çözümü
8 adımda doğru ERP çözümü
 
Mikideas Eğitim ve Danışmanlık Hizmetleri Broşürü
Mikideas Eğitim ve Danışmanlık Hizmetleri BroşürüMikideas Eğitim ve Danışmanlık Hizmetleri Broşürü
Mikideas Eğitim ve Danışmanlık Hizmetleri Broşürü
 

infoteks_intern_report

  • 1. 1 Hacettepe Üniversitesi Bilgisayar Mühendisliği 2014 - 2015 Dönemi Yaz Stajı Raporu Ad: Ayşe Meliz Soyad: Ersoy Sınıf: 4 Numara: 21228319 Staj Konusu: Yazılım Başlama Tarihi: 20/08/2015 Bitiş Tarihi: 02/10/2015 Süresi: 6 Hafta/30 iş günü Staj Yapılan Yerin Adı: NFOTEKS Technology Ltd. Şti. Staj Yapılan Yerin Adresi: Melih Gökçek Bulvarı 1368. Cadde No:113/2 İnfoteks Alfa Plaza İVOGSAN Yenimahalle - ANKARA
  • 2. 2 İÇİNDEKİLER 1. GİRİŞ…………………………………………………………………………………………………………3 2. INFOTEKSTECHNOLOGY………………………………………………………….………………..3 3. STAJ SÜRECİ 3.1. Araştırma – Analiz Etme…………………………………………………….…….5 3.1.1. Uygulama Konusunun Seçimi ve Piyasa Araştırması…………………..4 3.1.2. Projenin Detaylarının Belirlenmesi…………………………………………..…5 3.1.3. Android Programlamaya Giriş……………………………………………………6 3.1.4. Kavramsal Tasarım…………………………………………………………………….6 3.2. Kodlama………………………………………………………………………………….7 3.2.1. Tasarım………………………………………………………………………………….….7 3.2.2. Özellikler………………………………………………………………………………..…18 4. SONUÇ………………………………………………………………………………………………………20 5. REFERANSLAR……………………………………………………………………………………………21
  • 3. 3 1.GİRİŞ 2014-2015 yaz stajı döneminde INFOTEKS Technology’de yaptığım stajın konusu mobil uygulamalar ileilgiliydi. Bu amaçla, “Çocuklar İçin Mobil Uygulamar” temasından yola çıkarak Çocuklar İçin Temel Eğitim adını verdiğim bir Android uygulaması geliştirdim. Projeyı geliştirebilmek için öncelikle App Store ve Android Google Play Store’da bulunan ve kullanıcılar tarafından olumlu tepkiler almış en popüler 5 uygulamayı incelim. Bu incelemeden yola çıkarak, kendi uygulamamda bulunmasını istediğim özellikleri belirledim. Yazılım gereksinimlerini ve kavramsal tasarımını oluşturdum. Android Studio kullanımını öğrenerek, uygulamamı geliştirdim. Staj sürecimin sonunda, uygulamamı tamamladım ve kullanıma hazır hale getirdim. 2. INFOTEKS TECHNOLOGY İNFOTEKS Bilgisayar, Elektronik, Telekomünikasyon, Medya ve Reklam Ltd. Şti. 90' lı yılların sonunda trend yaratan ve yenilikçi elektronik ürünleri Türkiye pazarıyla buluşturmak amacıyla kurulmuştur. İçinde bulunduğu ve o yıllarda gelişme sürecinde olan elektronik sektörünü yeni ürünlerle tanıştırmış olan firma, sektöre ve sektörün diğer firmalarına örnek olmuştur. Teknolojik ürünler üreten ve bu alanda faaliyet gösteren İNFOTEKS kurduğu iş bağlantıları ve işi gereği gelişen trendleri takip etmesi sebebiyle teknolojik ürünler üretmenin yanı sıra bununla ilintili olarak ENERJİ, YAZILIM, BİLİŞİM, ELEKTRONİK, AYDINLATMA, MEDYA REKLAM, ÇAĞRI MERKEZİ konularında da faaliyet göstermektedir.
  • 4. 4 Multimedya ve elektronik ürünlerin üretiminin büyük bir kısmını yurtdışındaki fabrikalarında gerçekleştiren İNFOTEKS, otobüs sektöründe çığır açan Seat TV Fusion modeli koltuk arkası televizyonların üretiminin büyük bir kısmını Türkiye'de gerçekleştirmektedir. 3. STAJ SÜRECİ 3.1. Araştırma – Analiz Etme 3.1.1. Uygulama Konusunun Seçimi ve Piyasa Araştırması Stajımın ilk haftasında, staj sorumlusu tarafından sunulan uygulama konularından birini seçtim ve bu konuyla ilgili App Store ve Android Google Play Store’da bulunan uygulamaları inceleyip raporladım. Staj sorumlusu tarafından belirlenen konu başlıkları;  Yaşlılar için mobil uygulamalar ,  Engelliler için mobil uygulamalar ,  Çocuklar için mobil uygulamalar,  Mobil radyo uygulaması Mobil TV uygulaması,  NFC (temassız iletişim) Uygulamaları, şeklindeydi. Çocuklar için mobil uygulamalar konusunu seçtim ve son zamanlarda en çok kullanılan, en popüler olan ve en iyi tepkiler alan 5 uygulamayı inceledim. Bu uygulamalar;  Çocuklar İçin İngilizce  Educational Games For Kids  Genç Matematik Kralı  Doctor Kids  Hayvan Sesleri.
  • 5. 5 Analizimde 5 uygulamaya ait, geliştirici bilgileri, uygulamanın amacı ve kapsamı, sunulan özellikleri, genel istatistikleri, tasarımı ve ekran görüntüleri, indirilme sayısı, kullandığı izinler, kullanıcı yorumları ve yazılım gereksinimleri ibi pek çok bilgiyi detaylı şekilde açıklayan bir rapor hazırladım. 3.1.2. Projemin Detaylarını Belirleme Stajımın ikinci haftasında, incelediğim 5 uygulamadan da yola çıkarak, geliştireceğim uygulamanın özelliklerini, genel tanımını, yazılım gereksinimlerini ve arayüz tasarımını belirledim ve raporladım. Bunu yaparken, incelediğim uygulamaların özellikleriyle, geliştirdiğim uygulamada bulunmasını istediğim özellikleri karşılaştırdığım bir tablo oluşturdum ve staj sürecince bu tablodan yararlandım. Özellik / Uygulama Çocuklarİçin İngilizce Educational GamesForKids GençMatematik Kralı DoctorKids HayvanSesleri i ÇocuklarİçinTemel Eğitim Ses kaydı kullanma + + + + + + Video kullanma + +4 seçenekli test soruları bulundurma + + + + Farklı dil seçenekleri bulundurma + + + + Ücret ödenerek ek özellik/tam versiyon satın alma + Müzik + + + Farklı kullanıcı hesapları oluşturabilme + Küçük oyunlar içerme + + Farklı ders içerikleri bulundurma + Reklam alma + + Basitlik ve kullanım kolaylığı + + + + + +
  • 6. 6 3.1.3. Android Programlamaya Giriş Uygulama geliştirme sürecinde yardımcı olabilecek kod örnekleri ve tutorialların araştırıp raporladım ve staj süresince çoğunlukla bu kaynaklardan yararlandım. Kullandığım kaynakları REFERANSLAR bölümde bulabilirsiniz. 3.1.4. Kavramsal Tasarım Kodlamaya başlamadan önce, uygulamamın kavramsal tasarımını yaptım ve yapacağım işi bir ürün ağacı şeklinde parçalara ayırdım. Bu çalışma, oluşturoluşturduğum class yapılarına, ata ve çocuk ilişkilerine karar vermemde yardımcı oldu. Hazırlamış olduğum iş parçacıkları bu şekildedir. Uygulama, iç içe geçmiş menülerden oluşur ve bu alt menüler benzer özellikleri kullanmaktadır. Alt menülerin içeriği tamamlandıkça, ağacın üst kısmına dpğru çıkılması sağlandı ve uygulama kullanılabilir bir hal aldı.
  • 7. 7 3.2. Kodlama Çocuklar İçin Temel Eğitim adını verdiğim uygulamamı geliştirirken Android Studio’yu kullandım. Uygulamanın tasarımını,ve özelliklerini incelemeye başlayalım. 3.2.1. Tasarım Çocuklar İçin Temel Eğitim adlı uygulamam, Genel Yetenek, İnilizce ve Matematik ana başlıklarından oluşmaktadır. Uygulamanın Cep Telefonundaki Görüntüsü ve Kullanılan İkon
  • 8. 8 Uygulamaya Giriş Yapıldığında Açılan Ana Menü - Genel Yetenek - İngilizce - Matematik) Genel Yetenek Alt Menu - Öğrenmeye Başla - Görsel Test - İşitsel Test - Klasik
  • 9. 9 Öğrenmeye Başla - Alfabe - Sayılar - Renkler - Şekiller - Meyveler - Hayvanlar - Vücudumuz - Araçlar - Ülkeler Bu içerikler cisimlerin görsellerinden, cisimlerin yazılışını ifade eden textview’lerden ve görsellere tıklandığında aktifleşen ses kayıtlarından oluşmaktadır. Alfabe Sayılar
  • 12. 12 NOT: Uygulamamın İngilizce bölümü, Genel Yetenek’te bulunan başlıkları içermektedir. İngilizce bölümünde kullanılan textview’ler cisimlerin İngilizce yazılışını, ses kayıtları ise İngilizce seslendirilişini içermektedir. İngilizce bölümüne ait görselleri, kalabalık bir görüntü oluşturmaması için raporuma dahil etmiyorum. Ülkeler Görsel Test başlığı altında örnekteki gibi 8 adet soru bulunmaktadır. Kullanıcı yanlış cevap verdiğinde “kırmızı çarpı” işareti ile uyarılır. Doğru cevabı verdiğinde ise “yeşil tik” işareti ile uyarılıp diğer soruya otomatik olarak geçmesi sağlanır. Görsel Test Örnek Soru
  • 13. 13 İşitsel Test başlığı altında örnekteki gibi 8 adet soru bulunmaktadır. Kullanıcı “hoparlör” ikonuna tıkladığında soru olarak bir cismin okunuşu duyulacaktır ve kullanıcıdan bu pronounsa ait görseli işaretlemesi beklenecektir. Kullanıcı yanlış cevap verdiğinde “kırmızı çarpı” işareti ile uyarılır. Doğru cevabı verdiğinde ise “yeşil tik” işareti ile uyarılıp diğer soruya otomatik olarak geçmesi sağlanır. İşitsel Test Örnek Soru Klasik Test başlığı altında örnekteki gibi 8 adet soru bulunmaktadır. Kullanıcıdan görselini gördü- ğü cismin yazılışını text field’a girmesi beklenir. Kullanıcı yanlış cevap girdiğinde ekranda “Ceva- Bınız yanlış. Lütfen tekrar deneyin.” İfadesini İçeren bir Toast mesajı belirir. Kullanıcı doğru Cevap girdiğindeyse otomatik olarak diğer soruya Geçilir. . Klasik Test Örnek Soru
  • 14. 14 Yeşil Tik Örneği Kırmızı Çarpı Örneği Toast Mesajı Matematik Alt Menü Başlıkları - Sayma - Toplama - Çıkarma - Çarpma - Bölme - Kesirler - Geometri - Karşılaştırma - Ölçme - Karışık Matematik Alt Menü
  • 15. 15 Matematik Alt Menü’de her konu başlığı için ayrıca hazırlanmış 8’er soru bulunmaktadır. Kullanıcı bu sorulara yanlış cevap verdiğinde, Genel Yetenek ve İngilizce bölümlerinde olduğu gibi “kırmızı çarpı” işaretiyle uyarılır. Doğru cevap verdiğindeyse “yeşil tik” işaretiyle karşılaşır ve otomatik olarak diğer soruya geçebilir. Her konu başlığına ait örnek 1 adet soru, aşağıdaki görsellerde mevcuttur. Sayma Toplama Çıkarma Çarpma
  • 17. 17 Ölçme Karışık Kullanıcı her bir soru kümesini başarıyla tamamladığında bu sayfayla karşılaşır ve Ana Menü’ye dönmesi sağlanır. Tebrikler Sayfası
  • 18. 18 3.2.2. Özellikler Uygulamada ihtiyaç duyduğum özellikleri araştırdıktan sonra projeme dahil ettim. Bu özellikleri incleyecek olursak; 1. Layout Android uygulamalarımızda ekleyeceğimiz kontrollerin belirli bir düzende olması için layout kullandım. Örneğin buton ve textviewkontrollerinin alt alta olmasını, sağa sola kaymadan belirli bir düzende olmasını istiyorsak buna uygun olan layoutları kullanmamız gerekir. Temel layout türleri; - Linear Layout: Bu layout türünde, eklenecek olan nesneler doğrusal olarak eklenir. Kontrollerin alt alta olmasını istediğimde vertical linear layout, yanyana olmasını istediğimdeyse horizantal linear layput kullandım. - FrameLayout: Bu layout tipinde nesneler üst üste biner. Genelde aynı boyutlardaki butonların üst üste gelip, birinin kaybolduğunda diğerinin gözükmesi için kullanılır. - RelativeLayout: Bu layout tipini kullanırsak araçlarımızı istediğimiz yere sürükleyebiliriz. Varsayılan olarak android uygulamalarında bu layout gelir. Araçlarımızı, sayfamız üzerinde sürüklediğimiz zaman cetvel şeklinde koordinatlar görürüz. Bir hiza olmadan istediğimiz gibi araçları yerleştirebiliriz. - - TableLayout:Bu layout türünde ise araçlarımız bir tablo şeklinde tutulur. Diğerlerinden farklı olarak bu layout’u kullandığımızda tablomuza TableRow adında satır eklememiz gerekir.
  • 19. 19 2. Scroll View Uygulamamızdaki herhangi bir arayüzdeki kontroller ekrandan taşmaya başladığında Scrool View kullandım. Bu şekilde daha fazla veriyi ekranın altında tuttum ve kullanıcının kaydırma hareketiyle bu veriye ulaşmasını sağladım. 3. Image Button Arka planını bir görselin oluşturduğu ve tıklandığında yanıp sönme efektini defalt olarak gerçekleştiren butonlardır. Uygulamanın özellikle “Öğrenmeye Başla” bölümünde sıkça kullandığım bir araçtır. 4. Button ve Selector Android Studio default butonları, görsel açıdan yetersiz kalmakta ve cazip bir arayüz oluşturmaya engel olmaktadır. Buton tasarımlarımızı kendimiz oluşturmamız, bu nedenle daha güzel bir sonuç verecektir. Buton tasarımında, Android Studio’nun sunduğu Shape XML’den yararlandım. Butonun farklı renkler içermesini, köşelerinden belirli boyutlarda basınç oluşturarak daha oval bir görünüm almasını sağladım. Uygulamanın “menü” sayfalarında kullandığım bulut şeklindeki butonları ise Android Studio’nun sunduğu Selector XML sayesinde oluşturdum. İki bulut görselinden koyu olanı butonun ilk andaki duruşunda, açık olanı ise butona basıldığında aktifleştirildi. Böylece image button’da default olarak bulunan efekt elde edildi. Bu aşamada image button kullanmamanın nedeniyse bu aracın her görseli kare bir zemine sabitlemesi ve efekti bu kare zeminin tümüne gerçekleştirmesiydi. 5. Image View Uygulamaya görsel eklemek için kullandığım araçtır.
  • 20. 20 6. Audio Uygulamaya eklediğim sesler için *.wav formatını kullandım. Her buton için ayrı ayrı kaydettiğim sesleri, SoundPool nesnelerinden oluşan bir dizide tuttum ve buton tıklandığında çağırılan fonksiyonda gerekli sesi aktifleştirdim. 7. Textview Uygulamaya yazı eklemek için bu aracı kullandım. 8. Edit Text Field Kullanıcının kendini test etmesi amacıyla hazırlanan klasik sorulara yanıt vermesini sağlamak için bu aracı kullandım. Bu sayede kullanıcının cevabını bir text alanına girebilmesi ve bu cevabın if-else yapısı tarafından kontrol edilmesi sağlandı. 4. SONUÇ 30 iş günü süren staj sürecimde, Android İşletim Sistemi’ne sahip cihazlarda kullanılmak üzere, Çocuklar İçin Temel Eğitim adını verdiğim uygulamamı geliştirdim. Bu amaçla, Android Studio öğrendim ve kendimi bu konuda geliştirdim. Proje sırasında ve sonunda doldurulması gereken yazılım dökümanları ile bir projenin yapımı sırasında uygulanması gereken adımları öğrendim ve bu konuda tecrübe sahibi oldum.