fikir deposu

35
i T.C. GEBZE TEKNİK ÜNİVERSİTESİ Bilgisayar Mühendisliği Bölümü KURUMSAL İNOVASYON FİKİR DEPOSU UYGULAMASI Oğuzcan PAMUK Danışman Doç. Dr. Mehmet GÖKTÜRK Aralık, 2015 Gebze, KOCAELİ

Upload: oguzcan-pamuk

Post on 24-Jan-2017

201 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Fikir Deposu

i

T.C. GEBZE TEKNİK ÜNİVERSİTESİ

Bilgisayar Mühendisliği Bölümü

KURUMSAL İNOVASYON

FİKİR DEPOSU

UYGULAMASI

Oğuzcan PAMUK

Danışman

Doç. Dr. Mehmet GÖKTÜRK

Aralık, 2015

Gebze, KOCAELİ

Page 2: Fikir Deposu

ii

Page 3: Fikir Deposu

iii

T.C. GEBZE TEKNİK ÜNİVERSİTESİ

Bilgisayar Mühendisliği Bölümü

KURUMSAL İNOVASYON

FİKİR DEPOSU

UYGULAMASI

Oğuzcan PAMUK

Danışman

Doç. Dr. Mehmet GÖKTÜRK

Aralık, 2015

Gebze, KOCAELİ

Page 4: Fikir Deposu

iv

Page 5: Fikir Deposu

v

Bu çalışma ..../..../200.. tarihinde aşağıdaki jüri tarafından Bilgisayar Mühendisliği

Bölümünde Lisans Bitirme Projesi olarak kabul edilmiştir.

Bitirme Projesi Jürisi

Danışman Adı Doç.Dr.Mehmet Göktürk

Üniversite GEBZE TEKNİK ÜNİVERSİTESİ

Fakülte Mühendislik Fakültesi

Jüri Adı Dr.Burcu Yılmaz

Üniversite GEBZE TEKNİK ÜNİVERSİTESİ

Fakülte Mühendislik Fakültesi

Jüri Adı Dr.Ahmet Cengizhan Dirican

Üniversite GEBZE TEKNİK ÜNİVERSİTESİ

Fakülte Mühendislik Fakültesi

Page 6: Fikir Deposu

vi

ÖNSÖZ

Bu kılavuzun ilk taslaklarının hazırlanmasında emeği geçenlere, kılavuzun son halini

almasında yol gösterici olan Sayın Doç. Dr. Mehmet GÖKTÜRK hocama ve bu

çalışmayı destekleyen Gebze Teknik Üniversitesi’ne içten teşekkürlerimi sunarım.

Ayrıca eğitimim süresince bana her konuda tam destek veren aileme ve bana

hayatlarıyla örnek olan tüm hocalarıma saygı ve sevgilerimi sunarım.

Aralık, 2015 Oğuzcan PAMUK

Page 7: Fikir Deposu

vii

İÇİNDEKİLER

ÖNSÖZ .....................................................................................................................Vİ

İÇİNDEKİLER ..................................................................................................... Vİİ

ŞEKİL LİSTESİ ....................................................................................................... X

KISALTMA LİSTESİ ............................................................................................Xİ

ÖZET ..................................................................................................................... Xİİ

SUMMARY ......................................................................................................... Xİİİ

1. GİRİŞ ........................................................................................................... 14

1.1. PROJE TANIMI ..................................................................................... 14

1.2. PROJENİN NEDEN VE AMAÇLARI ................................................. 15

1.3. PROJE GEREKSİNİMLERİ ................................................................ 16

1.3.1. Fonksiyonel Gereksinimler…………………………………………….16

1.3.2. Fonksiyonel Olmayan Gereksinimler………………………………….16

1.4. SİSTEMİN TEMEL ÖZELLİKLERİ .................................................. 17

1.5. BAŞARI KRİTERLERİ ......................................................................... 18

2. KULLANILAN TEKNOLOJİLER ........................................................... 19

2.1. ANDROID İŞLETİM SİSTEMİ ............................................................ 19

2.2. MYSQL VERİ TABANI ........................................................................ 19

2.3. JAX-WS WEB SERVİSİ ........................................................................ 20

2.4. TOMCAT ................................................................................................. 20

2.5. ANGULARJS .......................................................................................... 20

2.6. APACHE MAVEN .................................................................................. 21

2.7. KULLANILAN EDİTÖRLER ............................................................... 21

3. YÖNTEMLER ............................................................................................ 22

3.1. SUNUCUNUN OLUŞTURULMASI ..................................................... 22

3.2. WEB PLATFORMUNUN OLUŞTURULMASI .................................. 26

3.3. VERİ TABANININ OLUŞTURULMASI ............................................ 26

3.4. ANDROID PLATFORMUNUN OLUŞTURULMASI ........................ 26

3.5. UML DİYAGRAMLARI........................................................................ 30

Page 8: Fikir Deposu

viii

3.5.1. Use – Case Diyagramı…………………………………………………..30

3.5.2. Activity Diyagramı……………………………………………………...31

4. DENEYLER ................................................................................................ 32

5. TARTIŞMA VE SONUÇ ............................................................................ 34

6. KAYNAKLAR ............................................................................................ 35

Page 9: Fikir Deposu

ix

Page 10: Fikir Deposu

x

ŞEKİL LİSTESİ

Şekil 1 Projenin Yapısı (Android , Web Client - Server – Database) ....................... 15 Şekil 2 Sistem Mimarisi ............................................................................................ 22

Şekil 3 TripleDES Şifreleme ..................................................................................... 23 Şekil 4 Servlet Classları ............................................................................................ 23 Şekil 5 Service Class ................................................................................................. 24 Şekil 6 Read Config File ........................................................................................... 24 Şekil 7 DBConnection Class ..................................................................................... 25

Şekil 8 DAO Class .................................................................................................... 25

Şekil 9 Kullanıcı Giriş Ekranı ................................................................................... 27 Şekil 10 Kullanıcı Kayıt Ekranı ................................................................................ 27

Şekil 11 Anasayfa Ekranı .......................................................................................... 28 Şekil 12 Slider Menü ................................................................................................. 29 Şekil 13 Fikir Gönder Ekranı .................................................................................... 29 Şekil 14 Use - Case Diyagramı ................................................................................. 30

Şekil 15 Activity Diyagramı ..................................................................................... 31

Page 11: Fikir Deposu

xi

KISALTMA LİSTESİ

UML : Unified Modeling Language (Birleşik Modelleme Dili)

XML : Extensible Markup Language

G.T.Ü : Gebze Teknik Üniversitesi

API : Application Programmin Interface

REST : Representational State Transfer

JAX-WS : Java API for XML Web Services

MVC : Model View Controller

SDK : Software Development Kit

Page 12: Fikir Deposu

xii

ÖZET

Kurumsal şirketler bünyesinde kullanılabilecek, şirket çalışanlarının şirket veya kendi

yararlarına olabilecek her türlü fikir ve görüşlerini paylaşabilecekleri ortak bir platform

geliştirilmiştir. Bahsi geçen bu platform Android işletim sistemi için tasarlanmıştır.

Sistem üç farklı modülden oluşmaktadır. Birinci modül kullanıcıların sisteme

erişmelerine olanak sağlayacak olan Android platformunda geliştirilen mobil

uygulamadır. Kullanıcılar mobil uygulama üzerinden fikirlerini paylaşabilir, paylaşılan

diğer fikirleri görebilir ve yorum yapabilir. Bir diğer modül ise sistem yöneticisinin

uygulamayı yönetebilmesini sağlayan web uygulamasıdır. Yönetici bu uygulama

sayesinde sisteme kaydolan kullanıcıları görebilir, gerekli gördüğü kullanıcıyı silebilir.

Paylaşılan fikirleri görebilir, fikirlerin durumlarını güncelleyebilir, gerekli gördüğü fikri

silebilir. Buna karşın sistem fikir sahiplerini korumayı amaçlamaktadır. Silinen fikirler

sistem veri tabanından silinmez, arşivlenir. Bu uygulamanın asıl amacı kullanıcıların

fikirlerinin korunmasıdır. Son modül ise fikirlerin saklanmasını ve yönetilmesini

amaçlayan sunucu uygulamasıdır. Veri tabanı ve uygulamalar arasındaki bağlantıyı

sağlar.

Bu sistemle beraber kullanıcıların haklarını koruyan, basit ve güvenli bir şekilde

fikirlerini paylaşmalarına olanak sağlayan platform oluşturulmuştur.

Page 13: Fikir Deposu

xiii

SUMMARY

In this work a shared platform developed for Enterprise company’s and it’s employees

to share their useful ideas and opinions that can be benefit to company or for their own.

This Mentioned platform is designed for Android operating system.

System consist of three diffrent modules. First module is a mobile application that

developed in android for the users accessing feature to the system, users can share their

opinions, view other ones and make comment fort hem on mobile application. Another

module is Web based application for system administrator for viewing,deleting and

updating the registered users or ideas and opinions. Despite that system intend to protect

idea owners, Deleted ideas and opinions are not deleted on system’s database, it’s

archived. This applications main objective is protecting ideas of users. Last module is

server application that stores,manages the ideas and opinions and provides connections

between database and applications.

With this system a platform to protect rights of the users and providing of sharing ideas

and opinions as simply and secure created.

Page 14: Fikir Deposu

14

1. GİRİŞ

Bu rapor G.T.Ü. Bilgisayar Mühendisliği Bölümü Lisans Bitirme Projesi dersi için

belirlenmiş projenin tanıtılması ve açıklanması amacıyla hazırlanmıştır. Projenin

gereksinimleri, işleyişi hakkında bilgi veren UML diyagramları ve projenin çalışma

mantığı raporun içeriğini oluşturmaktadır.

Kurumsal şirketlerde çalışanların memnuniyetleri bir hayli önemsenmektedir.

Bunun nedeni memnuniyet ve başarının doğru orantılı olarak ilerlemesidir. Bu

durum hem maksimum performanslı çalışanları doğurmakta hem de şirketin başarı

ve kazanç potansiyelini arttırmaktadır. Bahsi geçen projede çalışanların fikirlerinin

şirket tarafından önemsendiğinin ispatlanaması ve herkes tarafından kabul görülen

fikirlerin hayata geçirilerek çalışan motivasyonunun maksimuma çıkarılması

hedeflenmektedir.

1.1. PROJE TANIMI

Bahsi geçen bu projede çalışanların şirket veya çalışan yararına olabilecek fikirlerini

paylaşabilecekleri bir platform oluşturulmuştur. Bu platform sayesinde çalışanlar

özgürce fikirlerini paylaşabilecekler ve şirket içinde çalışan diğer kişilerin

beğenisine sunabileceklerdir. En çok beğeniyi alan fikir, çoğunluğun bu yönde

olumlu görüş bildirmesine dayanarak hayata gerçekleştirilebilme ihtimalini

arttıracaktır. Öte yandan çalışanların sunacakları fikirler arasından muhtemel olarak

ticaretleştirilebileceği ön görülen fikirler, fikri paylaşan kişinin önderliğinde hayata

geçirilip, şirket ve fikir sahibine hem maddi hem de gelişim anlamında yarar

sağlayacaktır.

Page 15: Fikir Deposu

15

Sistem yöneticisi web platformu üzerinden sistemi takip edebilecek ve gerekli

gördüğü noktalarda sisteme müdahale edebilecektir. Projenin en önemli işlevi ise

fikir sahiplerinin haklarının korunmasıdır. Sistem yöneticisi fikirleri veya

kullanıcıları silse dahi sistem fikirleri veri tabanından silmez, arşivler. Bu sayede

kullanıcılara güvenli ve kullanımı basit bir platform sağlanmış olunur.

Şekil 1 Projenin Yapısı (Android , Web Client - Server – Database)

1.2. PROJENİN NEDEN VE AMAÇLARI

Bu projede, kurumsal şirketlerdeki çalışanların şirketin daha yaşanılabilir bir ortam

olmasını sağlayacak, şirket veya tüm çalışanların yararına olabilecek fikirlerini

paylaşabilecekleri ortak bir platform oluşturulması hedeflenmektedir. Buradaki

amaç şirketin çalışanların fikirlerini önemsediğini vurgulamak ve buradan

çıkabilecek olası ticaretleştirilebilecek fikirleri değerlendirmektir. Oluşturulması

hedeflenen bu platformun çalışanların motivastonunu arttıracağı ve şirketin ufkunu,

iş hacmini ve kazancını arttıracağı tahmin edilmektedir. Diğer yandan çalışanlar

fikirlerini bu platformda paylaşarak tescillemiş olacak ve yaratıcılıklarının

karşılığını maddi ve manevi olarak alabilecek olma ihtimaline kavuşacaklardır.

Page 16: Fikir Deposu

16

1.3. PROJE GEREKSİNİMLERİ

Bahsi geçen projenin geliştirilirken ihtiyaç duyulan soyut ve somut gereksinimler,

fonksiyonel ve fonksiyonel olmayan gereksinimler adını taşıyan alt başlıklarda

detaylı olarak incelenmiştir.

1.3.1. Fonksiyonel Gereksinimler

Projenin belirtilen amaçlar ve nedenler doğrultusunda gerçekleştirilirken ihtiyaç

duyulan somut gereksinimler bu başlık altında maddeler olarak incelenmiştir.

Çalışanların fikirlerini paylaşabilmesi için rahat erişebilecekleri mobil

platform geliştirilmiştir.

Paylaşılan fikirlerin saklanması ihtiyacına binayen veri tabanı tasarlanmıştır.

Bir önceki maddede belirtilen, fikirlerin saklanmasını sağlacak olan veri

tabanı ile fikirlerin gönderileceği mobil uygulama platformu arasında köprü

görevi görecek sunucu geliştirilmiştir.

Geliştirilen sunucu ile haberleşen ve yöneticilerin sistemi yönetmesini

sağlayan web platformu oluşturulmuştur.

1.3.2. Fonksiyonel Olmayan Gereksinimler

Projenin somut gereksinimlerinin yanında soyut olarak göze çarpan ama projenin

işleyişi ve kabulu açısından hayati öneme sahip gereksinimler bu başlık altında

aşağıdaki maddelerce belirtilmiştir.

Proje güvenilir olmalıdır. Çalışanların fikirlerinin değer göreceğine ve

mülkiyet haklarının korunacağına dair güven duymaları gerekmektedir.

Proje geliştirilebilir olmalıdır. Daha sonra ortaya çıkabilecek gereksinimlere

göre tekrar dizayn edilmesi gerektiğinde olası karşılaşılabilecek sorunların

Page 17: Fikir Deposu

17

minimuma indirgenmesi tasarımın kuvvetli bir şekilde yapılmasıyla

önlenebilecektir.

Sistemin performansının tatmin edici seviyede olması gerekmektedir. Bu

gereksinim projenin başarısı ve kullanım oranının artmasıyla doğru orantılı

değişim göstermektedir.

Kullanıcı arayüzünün basit ve kullanışlı olması gerekmektedir. Bu durum

kullanıcıların sistemi daha rahat kullanmasını sağlayacaktır.

Sistemin kullanıcı bilgilerini korumak adına doğru tasarlanmış ve gerekli

güvenlik önlemleriyle donatılmış olması gerekmektedir.

1.4. SİSTEMİN TEMEL ÖZELLİKLERİ

Kurumsal inovasyonu sağlamak amacıyla oluşturulmuş olan bu projenin temel

özellikleri aşağıdaki maddelerde belirtilmiştir.

Sistemin kullanıcılarla etkileşiminin sağlanması amacıyla mobil uygulama

geliştirilmiştir. Kullanıcılar bu uygulama sayesinde fikirlerini paylaşabilir,

fikirlerinin durumunu öğrenebilir, paylaşılan fikirlere yorum yapabilir.

Yöneticilerin gerekli durumlarda sisteme müdahale edebilmesi adına web

platformu oluşturulmuştur. Yöneticiler bu platform sayesinde kayıtlı

kullanıcıları görebilir, yeni kullanıcı ekleyebilir, var olan departmanları

görebilir, yeni departman ekleyebilir, sistemde olan fikirleri görebilir ve

durumlarını değiştirebilir.

Sistem kullanıcıların güvenliğini önemsemektedir. Yöneticiler gönderilen

fikirleri silse dahi sistem silinmek istenilen fikri silmez, arşivler.

Page 18: Fikir Deposu

18

1.5. BAŞARI KRİTERLERİ

Sistemin oluşturulmadan önce gerekli görülen ve gerçekleştirilen başarı kriterleri

aşağıdaki maddelerde belirtilmiştir.

Fikirlerin paylaşılacağı Android uygulama tasarımı

Fikirlerin ekleriyle birlikte tutulacağı veri tabanı

Veri tabanı ve mobil uygulama arasındaki bağlantıyı sağlayacak Web Server

Yöneticilerin sistemi kontrol etmesini sağlayacak Web platformu

Fikirlerin gün damgalı olarak sistemde gösterilmiş olması.

Kullanıcıların haklarını koruyacak ekstra yapılar.

Page 19: Fikir Deposu

19

2. KULLANILAN TEKNOLOJİLER

Projenin gerçekleştirilmesinde kullanılan teknolojiler alt başlıklarda incelenmiştir.

2.1. ANDROID İŞLETİM SİSTEMİ

Android; Google, Open Handset Alliance ve Özgür Yazılım Topluluğu tarafından

geliştirilmiş olan, Linux tabanlı işletim sistemidir. Mobil cihazlarda kullanılır.

Projenin mobil platformu Android işletim sistemi üzerine kurulmuştur. SDK sürümü

15 üzerinde olan tüm telefonları desteklemektedir. Sistemin inşasında aşağıdaki

maddelerde verilen Android kütüphanelerinden yararlanılmıştır.

'com.android.support:appcompat-v7:22.2.0'

'com.android.support:recyclerview-v7:22.2.+'

'com.mcxiaoke.volley:library-aar:1.0.0'

'com.android.support:support-v4:21.0.+'

2.2. MYSQL VERİ TABANI

MySQL; multi-thread ve multi-user desteği olan veri tabanı yönetim sistemidir.

Sistemin veri kayıtları kurulu olan MySQL üzerinde saklanmaktadır.

Veri tabanı sistemi normalizasyon formları esas alınarak oluşturulmuştur. Genel

olarak normal formların ilk dört maddesine bağlı kalınmıştır. Bu kurallara uygun

tasarım yapabilmek adına 8 farklı tablo oluşturulmuştur.

Şekil 2 Veritabanı Çıktısı

Page 20: Fikir Deposu

20

2.3. JAX-WS WEB SERVİSİ

Proje Rest API mantığıyla oluşturulmuştur. Sunucu modülü Java programlama

diliyle kodlanmıştır. Java programlama dilinin JAX-WS framework’ünden

yararlanarak Rest API mantığı projeye entegre edilmiştir.

Bu mantıkla kodlama yapabilmek için aşağıda belirtilen Class yapılarından

yararlanılmıştır :

Java Bean

Java DTO

Java DAO

Java Service

Java Servlet

2.4. TOMCAT

Java Servlet ve JSP uygulamalarını belirli bir port üzerinde çalıştırmayı sağlayan

Apache tarafından geliştirilen üründür.

Projenin sunucu kısmı Tomcat ile “8080” portu üzerinde çalıştırılmıştır.

2.5. ANGULARJS

Google’ın desteklediği javascript MVC kütüphanesidir. MVC ; verinin, görünümün

ve kontrollerin ayrı tutulmasına dayanır.

Web platformu Html,Javascript ve Javascript kütüphanesi olan AngularJS

kullanılarak hazırlanmıştır.

Page 21: Fikir Deposu

21

2.6. APACHE MAVEN

Maven, geliştirilen Java projelerinin geliştirme süreçlerini basitleştirmek,

standartlaştırmak, dökümantasyon hazırlamak, kütüphane bağımlılıklarını kullanıcı

zahmetinden kurtarmak için kullanılan bir araçtır.

Projenin sunucu kısmında Maven teknolojisi kullanılmıştır.

2.7. KULLANILAN EDİTÖRLER

Proje kodlama aşamasında her bir modül için farklı editörler kullanılmıştır. Bu

editörlerden aşağıdaki maddelerde bahsedilmiştir.

Java programlama dili kullanılarak geliştirilmiş olan sunucu kodlamasında

editör olarak Eclipse kullanılmıştır. Eclipse; açık kaynak kodlu tümleşik

geliştirme ortamıdır.

Android platformu Java programlama dili kullanılarak Android Studio

editörü üzerinde geliştirilmiştir. Android Studio; Google ve JetBrains

tarafından desteklenen Android geliştirme ortamıdır.

Web platformu Javascript kullanılarak WebStorm editörü üzerinde

kodlanmıştır. WebStorm; JetBrains tarafından geliştirilen Html,Css ve

Javascript editörüdür.

Page 22: Fikir Deposu

22

3. YÖNTEMLER

Projenin tüm detaylarının anlatımı bu başlık altında gerçekleştirilecektir. Detaylar

UML diyagramları ve ekran çıktılarıyla desteklenmiştir. Sistem mimarisi aşağıdaki

şekilde özetlenmiştir.

Şekil 2 Sistem Mimarisi

3.1. SUNUCUNUN OLUŞTURULMASI

Rest API mantığıyla çalışan sunucunun özellikleri aşağıdaki maddelerde verilmiştir.

Java Programlama Diliyle kodlanmıştır.

Proje Maven Projesi olarak oluşturulmuştur.

JAX-WS Framework’ü kullanılmıştır.

Java Bean , Dao , Dto , Service Class’ları oluşturulmuştur.

Singleton ve Facade Tasarım Desenleri kullanılmıştır.

MySQL veri tabanıyla bağlantı sağlamak amacıyla ConnectionHelper Class’ı

kullanılmıştır.

Android Client

Web Server

MySQL DB

Web Client

Page 23: Fikir Deposu

23

Veri tabanı bilgileri “.properties” uzantılı config dosyalarından

okunmaktadır.

Kullanıcı şifreleri güvenlik amacıyla TripleDES simetrik şifreleme

algoritması kullanılarak şifrelenmiştir.

Log4j kütüphanesi kullanılarak loglama yapılmıştır.

Sunucu Tomcat kullanılarak çalıştırılmaktadır.

Client’larla haberleşme Jersey Servlet Class’larıyla gerçekleşmektedir.

Oluşturulan her package için Class Diagramları aşağıda verilmiştir:

Şekil 3 TripleDES Şifreleme

Şekil 4 Servlet Classları

Page 24: Fikir Deposu

24

Şekil 5 Service Class

Şekil 6 Read Config File

Page 25: Fikir Deposu

25

Şekil 7 DBConnection Class

Şekil 8 DAO Class

Page 26: Fikir Deposu

26

3.2. WEB PLATFORMUNUN OLUŞTURULMASI

Web Platformunun özellikleri aşağıdaki maddelerde belirtilmiştir.

Javascript , Html , Css kullanılarak hazırlanmıştır.

AngularJS ve Bootstrap framework’lerinden yararlanılmıştır.

MVC yapısına uygun proje yapısı oluşturulmuştur.

3.3. VERİ TABANININ OLUŞTURULMASI

Veri tabanının özellikleri aşağıdaki maddelerde belirtilmiştir.

MySQL veri tabanı sistemi kullanılmıştır.

Veri tabanının yapısı normal formlara uygun olarak tasarlanmıştır.

Tek bir veri tabanı, toplamda 8 tablo oluşturulmuştur.

3.4. ANDROID PLATFORMUNUN OLUŞTURULMASI

Uygulamanın teknik olarak nasıl oluşturulduğu ve kullanım yönergeleri bu başlık

altında anlatılacaktır.

Minimum SDK 15 versiyonunda çalışmaktadır.

Sunucuyla haberleşme “JsonRequest” methoduyla sağlanır.

Aşağıdaki kütüphanelerden yararlanılmıştır:

'com.android.support:appcompat-v7:22.2.0'

'com.android.support:recyclerview-v7:22.2.+'

'com.mcxiaoke.volley:library-aar:1.0.0'

'com.android.support:support-v4:21.0.+'

Kullanıcı öncelikle sisteme kaydolur ve kaydolduğu bilgilerle sisteme giriş

yapar.

Page 27: Fikir Deposu

27

Şekil 9 Kullanıcı Giriş Ekranı

Şekil 10 Kullanıcı Kayıt Ekranı

Page 28: Fikir Deposu

28

Giriş işlemi başarıyla gerçekleştikten sonra kullanıcının karşısına tüm

fikirleri görebileceği ana sayfa ekranı gelmektedir. Fikirler kartlar şeklinde

gösterilmektedir. Burada yorumları görebileceği ve ekleyebileceği bir buton,

fikri gönderenin ismi ve profil fotoğrafı ve gün damgası bulunmaktadır.

Kullanıcının tüm sisteme rahat erişebilmesi adına slider menü tasarlanmıştır.

Kullanıcı bu menü sayesinde gönderdiği, kabul edilen, reddedilen ve en çok

beğenilen fikirleri ayrı ekranlarda görebilmektedir.

Şekil 11 Anasayfa Ekranı

Page 29: Fikir Deposu

29

Kullanıcı yeni bir fikir göndermek için ana sayfada bulunan balon simgesini

tıklamalıdır. Kullanıcı bu ekran üzerinden yeni bir fikir ekleyebilir, eklediği

fikre yeni bir resim ekleyebilir, eklediği resmi göndermeden iptal edebilir.

Şekil 12 Slider Menü

Şekil 13 Fikir Gönder Ekranı

Page 30: Fikir Deposu

30

3.5. UML DİYAGRAMLARI

3.5.1. Use – Case Diyagramı

Şekil 14 Use - Case Diyagramı

Page 31: Fikir Deposu

31

3.5.2. Activity Diyagramı

Şekil 15 Activity Diyagramı

Page 32: Fikir Deposu

32

4. DENEYLER

Projenin sunucu kısmı, Google Chrome’un eklentisi olan “Advanced Rest Client

Application” ile test edilmiştir. Bu sayede projede client görevi gören mobil ve web

uygulamalarıyla doğru haberleşme sağlayıp sağlamadığı denenmiş oldu.

Şekil 16 Rest API Test-1

Şekil 17 Rest API Test-2

Page 33: Fikir Deposu

33

Geliştirilen sistem, nasıl çalıştığını bilmeyen 10 farklı kişiye kullandırılmıştır. Çıkan

sonuçlarla, sistemin fonksiyonel ve fonksiyonel olmayan gereksinimleri arasında

karşılaştırma yapılmıştır.

Sunucu kısmının testi yapılıp, doğru sonuçlar döndürdüğünden emin olduktan sonra

Android ve Web Platformlarının bu sonuçları doğru işleyip işlemediğini kontrol

etmek amacıyla manuel testler gerçekleştirilmiştir. Bu testler çerçevesinde tüm

varsayımlar değerlendirilmiş ve denenmiştir.

Yine bu platformların performansını ölçmek amacıyla sisteme toplamda 100 farklı

fikir girilmiştir. Sistemin çalışmasında yavaşlıklar yada hatalar var mı diye

gözlemler yapılmıştır.

Sistemi aynı anda farklı cihazlarla farklı kullanıcıların kullanmasıyla sağlamlık testi

gerçekleştirilmiştir.

Şekil 18 Manuel Test Örneği

Page 34: Fikir Deposu

34

5. TARTIŞMA VE SONUÇ

Hazırlanan bu projede, kurumsal şirket çalışanlarının Android işletim sistemine

özgü hazırlanan uygulamayı kullanarak kendilerinin veya çalıştıkları şirketin

yararına olan fikirlerini birbirleriyle paylaşmasını sağlayacak olan bir sistem

geliştirilmiştir. Sistemin temel özelliği fikir haklarına verilen önemdir. Yönetici

kendisi için hazırlanan web platformunu kullanarak sistemi yönetebilir fakat fikirleri

silmek istediğinde sistem buna izin vermez ve fikirleri arşive ekler. Ayrıca sistem

kullanıcılarının giriş bilgilerinin korunması amacıyla oluşturdukları şifreleri

şifreleme algoritmalarından olan “TripleDES” ile şifreleme gerçekleşmiştir.

Sistemi bilmeyen 10 farklı kullanıcıdan alınan verilere göre sistemin hızlı ve basit

olduğuna karar verilmiştir. Kullanıcının dezavantajına olacak herhangi bir karmaşık

yapı içermemektedir.

Sunucu test işleminin sonucunda sistemdeki hatalar ayıklanmış ve bu methodlar

düzeltilerek tekrar test işlemine tabi tutulmuştur.

Yapılan manuel testler sonucunda mobil platformların hataları tespit edilmiş ve

maksimum ölçüde verim elde edilmek amacıyla düzenlemeler gerçekleştirilmiştir.

Projenin ilerleyen dönemlerde sadece Android ile bağlı kalmayıp diğer mobil işletim

sistemlerini de desteklemesi sağlanmalıdır. Ayrıca tabletler için farklı bir sürümde

üretilebileceği saptanmıştır.

Page 35: Fikir Deposu

35

6. KAYNAKLAR

[1] KIM,YONG., Android Tutorial[online],

http://www.mkyong.com/tutorials/android-tutorial/

[Ziyaret Tarihi: 27 Eylül 2015].

[2] VOGEL , LARS., MySQL and Java JDBC[online],

http://www.vogella.com/tutorials/MySQLJava/article.html

[Ziyaret Tarihi: 26 Eylül 2015].

[3] KIM , YONG., Jersey Hello Word Example[online],

http://www.mkyong.com/webservices/jax-rs/jersey-hello-world-example/

[Ziyaret Tarihi: 28 Eylül 2015].

[4] ANGULAR., Release v1.4.8 · angular/angular.js[online],

https://github.com/angular/angular.js/releases/tag/v1.4.8

[Ziyaret Tarihi: 20 Kasım 2015].

[5] GOOGLE., Google APIs for Android [online],

https://developers.google.com/android/

[Ziyaret Tarihi: 22 Kasım 2015].