1. T.C.
PLATO MESLEK YÜKSEK OKULU
BİLGİSAYAR PROGRAMCILIĞI PROGRAMI
MAESTRO SERVICE MANAGEMENT
Ön Lisans Bitirme Projesi
Hasan YILMAZ
Danışman
ÖĞR. GÖR. ŞAHİN AYDIN
İSTANBUL, 2016
2. II
BİTİRME PROJESİ SAVUNMA FORMU
Dersin Kodu Dersin Adı Yarıyıl
Öğrencinin Adı Soyadı
Öğrencinin Numarası
Öğrencinin Programı
Bitirme Projesi Başlığı
Bitirme Projesi Danışmanı
BİTİRME PROJESİ BAŞARI NOTU
Bitirme Projesinin Sunulduğu Tarih/Yer/Saat
Bitirme Projesi Danışmanının Projeye Verdiği Puan
(100 Puan üzerinden verilir/ Bitirme Projesi
Başarı Puanının %60’ıdır.)
Bitirme Projesi Savunma Sınavı Jürisinin
Projeye Verdiği Puanın Aritmetik Ortalaması
(100 Puan üzerinden verilir/ Bitirme Projesi
Başarı Puanının %40’ıdır.)
1. Jüri 2. Jüri
Bitirme Projesi Başarı Puan (Rakam Olarak)
Bitirme Projesi Başarı Notu (Harf Olarak)
4. IV
DANIŞMAN İMZA SAYFASI
Bu bitirme projesi ile ……………………………………………… isimli öğrencinin
………………………………………………………….Programı’ndan mezun olması için gereken tüm
koşulları ve istekleri yerine getirdiğini onaylıyorum.
……………………………. ( İmza, Danışman )
…..…………………………. ( İsim, Danışman )
Bu bitirme projesi ile ……………………………………………… isimli öğrencinin
………………………………………………………….Programı’ndan mezun olması için gereken tüm
koşulları ve istekleri yerine getirdiğini onaylıyorum.
…………………………………. ( İmza )
…..………………..……………. ( İsim )
Bu bitirme projesi ile ……………………………………………… isimli öğrencinin
………………………………………………………….Programı’ndan mezun olması için gereken tüm
koşulları ve istekleri yerine getirdiğini onaylıyorum.
………….…….………………. ( İmza )
.………………………………… ( İsim )
5. İÇİNDEKİLER
BİTİRME PROJESİ SAVUNMA FORMU..................................................................................................II
BİTİRME PROJESİ BAŞARI NOTU....................................................................................................................II
1. ÖNSÖZ ...................................................................................................................................................1
2. SEMBOL LİSTESİ....................................................................................................................................2
3. ŞEKİL LİSTESİ .........................................................................................................................................3
4. GİRİŞ ......................................................................................................................................................5
5. GENEL KISIMLAR...................................................................................................................................6
4.1. ASP.NET MVC NEDİR ?........................................................................................................................6
4.1.2. MVC Framework Hakkında...........................................................................................................8
4.2. Entity Framework Hakkında .............................................................................................................9
5. PROJE HAKKINDA ...............................................................................................................................11
5.1. Projenin Adı ......................................................................................................................................11
5.2. Projenin Amacı .................................................................................................................................11
5.3. Tanım.................................................................................................................................................11
6. MALZEME VE YÖNTEM ......................................................................................................................12
6.1. Malzeme............................................................................................................................................12
6.1.2. Proje Geliştirme...........................................................................................................................12
6.1.3. Tasarım Süreci..............................................................................................................................12
6.1.4. Veritabanı.....................................................................................................................................12
6.1.5. Uygulama Geliştirme Ortamı ve Programlama Dili .................................................................12
6.2. Yöntem..............................................................................................................................................12
6.2.2. Analiz ............................................................................................................................................13
6.2.3. Planlama.......................................................................................................................................33
6.2.4. Tasarım .........................................................................................................................................33
6.2.5. Geliştirme .....................................................................................................................................33
6.2.6. Test................................................................................................................................................33
6.2.7. Canlıya Geçiş ................................................................................................................................34
7. Kaynakça .............................................................................................................................................35
8. EKLER ...................................................................................................................................................36
8.1. MAESTRO SERVICE MANAGEMENT (MSM) ...................................................................................36
9. ÖZGEÇMİŞ ...........................................................................................................................................45
6. 1
1. ÖNSÖZ
Bu çalışmanın gerçekleştirilmesinde, değerli bilgilerini bizlerle
payşalaşan, kullandığı her kelimenin hayatıma kattığı önemini asla
unutmayacağım saygıdeğer danışman hocam; Öğr. Gör. Şahin AYDIN’a,
çalışmam boyunca desteğini esirgemeyen çalışma arkadaşlarıma/büyüklerime
ve çalışma süresince tüm zorlukları benimle göğüsleyen ve hayatımın her
evresinde bana destek olan değerli aileme sonsuz teşekkürlerimi sunarım.
7. 2
2. SEMBOL LİSTESİ
HTML : Hyper Text Markup Language
CSS : Cascading Style Sheets
ASP : Active Server Pages
Web Forms : Web Forms
MVC : Model – View – Controller
SQL : Structured Query Language
OOP : Object Oriented Programming
ORM : Object Relational Mapping
C# : C Sharp
UI : User Interface
URL : Uniform Resource Locator
REST : Representational State Transfer
SEO : Search Engine Optimization
LINQ : Language Integrated Query
EDM : Entity Data Model
MSM : Maestro Service Management
RDMS : Relational Database Manegement System
UAT : User Acceptance Testing
8. 3
3. ŞEKİL LİSTESİ
Şekil 3.1. Waterfall
Şekil 4.1.1. MVC
Şekil 4.2.1. Entity Faramework
Şekil 6.2.2.2.1.1.1. New Ticket
Şekil 6.2.2.2.1.2.1. New Ticket
Şekil 6.2.2.2.2.1.1. Details Ticket
Şekil 6.2.2.2.2.2.1. Details Ticket
Şekil 6.2.2.2.3.1.1. My Tickets
Şekil 6.2.2.2.3.2.1. My Tickets
Şekil 6.2.2.2.4.1.1. Dispatch List
Şekil 6.2.2.2.4.2.1. Dispatch List
Şekil 6.2.2.2.5.1.1. Assigned To Me
Şekil 6.2.1.2.5.2.1 Assigned To Me
Şekil 6.2.1.2.6.1.1. Waiting My Control
Şekil 6.2.1.2.6.2.1. Waiting My Control
Şekil 6.2.1.2.7.1.1. All Tickets
Şekil 6.2.1.2.7.2.1. All Tickets
Şekil 6.2.1.2.8.1.1. Create User
Şekil 6.2.1.2.8.2.1. Create User
Şekil 6.2.1.2.9.1.1. User List
Şekil 6.2.1.2.9.2.2. User List
Şekil 6.2.1.2.10.1.1. User Logon
Şekil 6.2.1.2.10.2.1. User Logon
Şekil 6.2.1.2.11.1.1. New Role
Şekil 6.2.1.2.11.2.1. New Role
Şekil 6.2.1.2.12.1.1. Role List
Şekil 6.2.1.2.12.2.1. Role List
Şekil 6.2.1.2.13.1. Flow
10. 5
4. GİRİŞ
Maestro Service Management (MSM) uygulaması Bilgi Teknolojileri
departmanında bulunan çeşitli birimler tarafından kullanılması amacı ile
geliştirilmiş kullanıcı dostu bir uygulamadır. Bu uygulama kullanıcıların bilgi
işlem birimlerine servis kaydı oluşturması amacı ile yapılmıştır.
İlgili uygulamaya benzer bir uygulama iş yerimde kullanılmaktadır. İş
yerinde kulanmış olduğumuz uygulama üzerinde takım lideri kontrolü
olmaksızın dağıtıcı tarafından kayıtlar bilgi işlem personellerine atılabilmekte
ve aynı zamanda atanan kişi tarafından da diğer bilgi işlem personellerine
atanabilmektedir. Bu da talebin veya kaydın çok uzun süre askıda kalmasına ve
işlem görmemesine sebep olmaktadır.
Uygulamanın kullanımı ve özelliklerinden kısaca bahsetmek gerekirse;
MSM üzerinden bir kullanıcı daha önce sistem yöneticisi tarafından
belirlenmiş olan kullanıcı bilgileri ile sisteme giriş yapar. Yeni kayıt
ekranından doldurulması gereken alanları doldurur ve kaydı gönderir. Kayıt
ilgili dağıtım listesine (havuzuna) düşer. Dağıtıcı rolündeki kullanıcılar bu
havuzdaki kayıtların içerisinde rotasyon sebebi (Root Cause) alanını
doldurmalıdır. (Bu alanın doldurulması gerekmektedir. Aksi takdirde takım
liderine atama mekanizması çalışmayacaktır) Sonrasında dağıtıcı kaydı ilgili
takım liderine gönderilmesi üzerine mekanizmayı tetikler ve kayıt ilgili takım
liderine yönlendirilecektir. Kontrollerini yaptıktan sonra kaydı ilgili takım
üyelerinden birine yönlendirmelidir. Takım lideri kaydı restart edebilmekte ve
kaydın kendisi ile ilgili olmadığını iddaa edebilmektedir aynı zamanda kaydın
atandığı takım üyesi de tekrar liderine geri gönderebilmektedir. Bu
atama,restart,geri gönderme gibi işlemlerin tamamında kaydın üzerinde herkes
tarafından görülebilecek journal, system log, control history, assignment
history gibi bilgiler yer alacaktır. İlgili takım üyesi kayıtta belirtilen olay veya
isteği çözmüş/yerine getirmiş ise kaydı kapatacaktır. Kayıt kapatıldıktan sonra
talep sahibi kullanıcı bu kayıt üzerinden geri bildirim yaparak memnuniyetini
dile getirebilir.
Uygulamanın geliştirilmesi aşamasında ASP.NET MVC yapısı ile birlikte
Entity Framework Db First ORM yapısı kullanılmıştır.
11. 6
Bu uygulamanın analiz,planlama ve tasarım aşamalarında iş yerimde
gerçek kullanıcılar ve yöneticiler ile beraber sık sık görüşmeler yapılmış
sistemin aslında nasıl olması gerektiği tartışılmıştır. Uygulamanın geliştirilmesi
sürecinde Waterfall (Agile) Yazılım geliştirme metadolojisi kullanılmıştır.
Şekil 3.1. Waterfall
5. GENEL KISIMLAR
4.1. ASP.NET MVC NEDİR ?
Model-View-Controller (MVC) tasarım deseni, bir uygulamayı üç ana
bileşene ayırır: model, view ve controller. ASP.NET MVC yapısı, Web
uygulamaları oluşturmak için ASP.NET Web Forms desenine bir alternatif
sunar. ASP.NET MVC yapısı; ana sayfalar ve üyelik tabanlı kimlik
doğrulaması gibi mevcut ASP.NET özellikleriyle (Web Forms tabanlı
uygulamalarda olduğu gibi) birleştirilebilen basit, yüksek düzeyde sınanabilir
bir sunu yapısıdır.
Şekil 4.1.1 - MVC
12. 7
MVC, çoğu geliştiricinin tanıdığı standart bir tasarım desenidir. Web
uygulamalarının bazı türleri MVC yapısından faydalanır. Diğer türler, Web
Forms ve geri göndermelere dayanan geleneksel ASP.NET uygulama desenini
kullanmaya devam eder. Web uygulamalarının diğer türleri iki yaklaşımı
birleştirir; her iki yaklaşım da diğerini dışlamaz.
MVC yapısında aşağıdaki iki bileşen yer almaktadır:
Models : Model nesneleri, uygulamanın veri etki alanının
mantığını uygulayan uygulamanın parçalarıdır. Model nesneleri
sıklıkla model durumunu bir veritabanına alır ve burada depolar.
Örneğin, Incident nesnesi bir veritabanından bilgiler alabilir, bu
bilgileri veritabanında çalıştırabilir ve ardından güncelleştirilen
bilgileri SQL Server veritabanındaki bir Olaylar tablosuna geri
yazabilir. Küçük uygulamalarda, model, genellikle fiziksel ayrım
yerine kavramsal bir ayrımdır.
Örneğin, ilgili uygulama bir veri kümesini yalnızca okuyup
görünüme gönderirse, uygulamanın fiziksel model katmanı ve
ilişkilendirilmiş sınıfları yoktur. Bu durumda, model nesnesi
rolünü veri kümesi üstlenir.
Views: View, uygulamanın kullanıcı arabirimini (UI)
görüntüleyen bileşenlerdir. Bu UI, genellikle model verilerinden
oluşturulur. Görünümlere bir örnek, Incident nesnesinin mevcut
durumuna dayanan metin kutularını, açılan listeleri ve onay
kutularını görüntüleyen, Olaylar tablosunun düzenleme
görünümü olacaktır.
Controllers : Controller; kullanıcı etkileşimini işleyen, modelle
çalışan ve son olarak UI'ı görüntüleyecek görünümü seçerek
işleyen bileşenlerdir. Bir MVC uygulamasında, görünüm yalnızca
bilgileri görüntüler; denetleyici ise kullanıcı girişini ve
etkileşimini işler ve bunlara yanıt verir. Örneğin, controller sorgu
dizesi değerlerini işler ve buna karşın bu değerleri, veritabanını
sorgulamak için bu değerleri kullanabilecek olan model
nesnesine iletir.
MVC deseni, öğeler arasında (giriş mantığı, iş mantığı ve UI mantığı)
sıkı bir ilişki sağlarken, uygulamanın bu farklı yönlerini birbirlerinden ayıran
uygulamalar oluşturmanıza yardımcı olur. Örüntü, her bir mantık türünün
uygulamanın hangi konumunda yer alması gerektiğini belirtir. UI mantığı
görünümde yer alır. Giriş mantığı denetleyicide yer alır. İş mantığı modelde yer
alır. Bu ayrım, bir uygulama oluşturduğunuzda bir seferde uygulamanın tek bir
yönüne odaklanmanızı sağladığı için karışıklığı yönetmenize yardımcı
olur. Örneğin, iş mantığına bağlı kalmaksızın görünüme odaklanabilirsiniz.
13. 8
MVC uygulamasının ilgili üç ana bileşeni arasındaki bu sıkı bağ aynı
zamanda paralel gelişimi de kolaylaştırır. Örneğin, bir geliştirici görünümde,
ikinci bir geliştirici denetleyici mantığında çalışabilir ve üçüncü geliştirici de
modeldeki iş mantığına odaklanabilir.
4.1.2. MVC Framework Hakkında
ASP.NET MVC yapısı aşağıdaki özellikleri sunmaktadır:
Uygulama görevlerinin (giriş mantığı, iş mantığı ve UI mantığı)
ayrımı, sınanabilirlik ve teste dayalı geliştirme (TDD). MVC
yapısındaki tüm esas sözleşmeler arabirim tabanlı olup,
uygulamadaki asıl nesnelerin davranışını taklit eden benzetimli
nesneler olan sahte nesneler kullanılarak test edilebilir. ASP.NET
işlemindeki controllerları çalıştırmaksızın, hızlı ve esnek bir
şekilde uygulamada birim testi gerçekleştirebilirsiniz. .NET
Framework ile uyumlu olan her türlü birim testi yapısını
kullanabilirsiniz.
Genişletilebilir ve eklenebilir bir yapı. ASP.NET MVC yapısının
bileşenleri kolay şekilde değiştirilebilmesi veya
özelleştirilebilmesi için tasarlanır. Kendi görünüm altyapınızı,
URL yönlendirme ilkenizi, eylem yöntemi parametrenizin
serileştirilmesini ve diğer bileşenleri ekleyebilirsiniz. ASP.NET
MVC yapısı aynı zamanda Bağımlılık Ekleme (DI) ve Denetimi
Tersine Çevirme (IOC) kapsayıcı modellerinin kullanımını da
destekler. DI, nesnenin kendisini oluşturmak için sınıfa
dayanması yerine nesneleri bir sınıfa eklemenizi sağlar. IOC, bir
nesne başka bir nesneyi gerektirirse, birinci nesnenin ikinci
nesneyi yapılandırma dosyası gibi bir dış kaynaktan alınması
gerektiğini belirtir. Bu işlem, testi kolaylaştırır.
Anlaşılabilir ve aranabilir URL'lere sahip uygulamalar
geliştirmenize olanak tanıyan güçlü bir URL eşlemesi bileşeni
olan ASP.NET yönlendirmesi için kapsamlı destek. URL'lere
dosya adı uzantıları dahil değildir ve URL'ler arama motoru
iyileştirmesi (SEO) ve temsili durum aktarımı (REST)
adreslemesiyle düzgün şeklide çalışan URL adlandırma modelleri
için tasarlanır.
Görünüm şablonları olarak mevcut ASP.NET sayfası (.aspx
dosyaları), kullanıcı denetimi (.ascx dosyaları) ve ana sayfa
(.master dosyaları) biçimlendirme dosyalarında biçimlendirmeyi
kullanma desteği. Mevcut ASP.NET özelliklerini iç içe geçmiş
ana sayfalar, satır içi ifadeler (<%= %>), bildirim temelli sunucu
denetimleri, şablonlar, veri bağlama, yerelleştirme vb. gibi
ASP.NET MVC yapısıyla kullanabilirsiniz.
14. 9
Mevcut ASP.NET özellikleri için destek. ASP.NET MVC;
formların kimlik doğrulaması, Windows kimlik doğrulaması,
URL yetkilendirmesi, üyelik ve roller, çıkış ve veri arabelleğe
alma, oturum ve profil durumu yönetimi, sistem durumu izleme,
yapılandırma sistemi ve sağlayıcı mimarisi gibi özellikleri
kullanmanızı sağlar.
4.2. Entity Framework Hakkında
Entity Framework Microsoft tarafından geliştirilen ve yazılım
geliştiricilerin katı sql sorguları yazmalarını ortadan kaldırarak bir ORM
(Object Relational Mapping) imkanı sağlayan framework'tür. ORM ise ilişkisel
veritabanı yönetim sistemlerine direkt olarak müdahale yerine nesneler aracılığı
ile müdahale edilmesini sağlayan bir köprüdür diyebiliriz.
Piyasada bir çok ORM Framework'leri bulunmaktadır. Örnek olarak;
DataObjects.Net, NHibernate, OpenAccess, SubSonic etc. Entity Framework
vs..
Entity framework ile birlikte LINQ (Language Integrated Query) sorgularını
kullanarak nesneler üzerinde güçlü bir sorgulama imkanına sahip oluruz. Entity
framework'ün bize sunduğu hizmetler başlıca change tracking, identity
resolution, ve query translation.
Entity framework'ün aslında temel amacı uygulama geliştiricinin data
işlemleri ile çok haşır neşir olmadan uygulama tarafına odaklanmasını
sağlamaktır. Çok basit bir örnek olarak, klasik ADO.NET uygulamalarında bir
bağlantının açılmasından ve kapatılmasından tamamen biz geliştiriciler
sorumludur. Ancak entity framework kullandığınızda bu tür işlemlere
siz karışmazsınız. Sorgunuzu hazırlar ver entity framework aracılığı ile bunu
database'e iletirsiniz..
15. 10
Şekil 4.1.1. MVC
EDM : EDM 3 bölümden oluşur. Conceptual Model, Mapping, Storage
Model.
Conceptual Model: Bu alanda model sınıflarımız ve bu sınıfların
ilişkileri yer alacaktır. Bu sınıflar veritabanı tasarımınızdan bağımsız olacaktır.
Storage Model: Bu alanda veritabanı tasarım modelimiz yer alır. Bu
model içerisinde veritabanımıza ait tablolar, view'lar, stored procedure'ler ve
bunlara ait ilişkiler ve key'ler yer alır.
Mapping: Bu alan ise model sınıflarımız ile tasarım modelimiz
arasındaki haritalama işlemlerinin bilgilerinin tutulduğu alandır.
LINQ to Entities: Nesneleri sorgulamada kullanacağımız sorgulama
dilidir. Bu sorgular bize model sınıflarını döndürecektir. Bu alanda LINQ'in
yeteneklerini de kullanabiliriz.
Entity SQL: Yine LINQ to Entities gibi sorgulama yapabileceğimiz bir
sorgulama dilidir. Ancak Linq To Entities'e göre daha zordur.
Object Services: Veritabanından sorgulama sonucunda alınan verilerin
geri döndürülme aşamasında gereken convert (dönüştürme) işlemlerinin
yapıldığı alandır.
Entity Client Data Provider: Bu alanın sorumluluğu hazırlanan LINQ to
Entities yada Entity SQL sorgularını ADO.Net Data Provider'a gönderilmek
üzere anlaşılır SQL sorgularına dönüştürmektir.
ADO.Net Data Provider: Bu katman ise standart ADO.NET kullanarak
veritabanı ile iletişim kurar.
16. 11
4.2.2. Entity Framework Database First Hakkında
Veritabanımızı önceden tasarlamışsak veya farklı bir yerde hazır bir
veritabanımız varsa bu modelleme aracı kullanılarak veritabanındaki
tablolarınız classlara columnslarınız propertieslere
içersinde bulunan stored proclarınız ise metodlara dönüşecektir.
5. PROJE HAKKINDA
5.1. Projenin Adı
Proje adını Türkçe’ye usta anlamı ile dönmekte olan Maestro
kelimesinden almıştır. Bu ismin verilmesinin sebebi ise uygulamanın bir
kayıt(talep) yönetim sistemi olmasına istinaden açılan kayıtların ustaların
elinde olduğu etkisi verilmesi istenmiştir. Proje ve uygulamanın tam ismi “
Maestro Service Management (MSM) ” olarak belirlenmiştir.
5.2. Projenin Amacı
Intranet içerisinde kullanılan bu uygulamanın kullanıcılara hızlı çözüm,
süreç takibi gibi ayrıcalıklar sağlaması ve destek ekibinin işini daha efektif
yapmasını sağlamasıdır.
5.3. Tanım
Maestro Service Management (MSM) uygulaması Bilgi Teknolojileri
departmanında bulunan çeşitli birimler tarafından kullanılması amacı ile
geliştirilmiş kullanıcı dostu bir uygulamadır. Bu uygulama kullanıcıların bilgi
işlem birimlerine servis kaydı oluşturması amacı ile yapılmıştır.
Kullanıcıların ihtiyacı olduğu desteği sistematik,optimize ve efektif
vermek amacı ile yapılmıştır.
Uygulama ; Kullanıcı memnuniyetini hedeflemektedir.
Hedeflediğimiz başarıya ; Uygulamanın tasarım ve fonksiyonel olarak
kullanıcı dostu olması ile ulaşılacaktır.
Başarıya ulaşılmasında destek ekibi başarının kilit anahtarıdır.
Her kayıt başına kullanıcı tarafından doldurulabilen geri bildirim formu
ile başarı gösterge ve ölçütlerimiz belirlenecektir.
17. 12
6. MALZEME VE YÖNTEM
6.1. Malzeme
6.1.2. Proje Geliştirme
Bildiğiniz üzere günümüz dünyasında tüm işlemler otomasyon sistemleri
ile birlikte yapılmaktadır. Bu projenin hayata geçirilmesinin sebebi Bilgi
Teknolojileri Departmanlarının işlerini efektif ve sistematik yapabilmelerini
sağlamaktır. Proje ilgili departmana süreç takibi, mutlu bir müşteri ve
personelinin performansını takip edebileceği bir sistem verecektir.
6.1.3. Tasarım Süreci
Tasarım sırasında mevcut şirketimde kullanılmakta olan talep yönetim
sistemi incelenmiş, eksikleri tespit edilmiş ve geliştirilmesi gereken nitelikleri
uygulamayı kullanmakta olan kullanıcılar ile birlikte tartışılmıştır.
6.1.4. Veritabanı
Uygulamaya ait verilerin saklanması ve yönetilmesi için MS SQL
RDMS kullanılmıştır.
6.1.5. Uygulama Geliştirme Ortamı ve Programlama Dili
MSM uygulaması ASP.NET MVC yapısı ve Entity Framework Db First
ORM yapısı kullanılarak c# programlama dili ile geliştirilmiştir.
6.2. Yöntem
Uygulama Agile Metadolojilerinden Waterfall yazılım geliştirme
metadolojisi kullanılarak geliştirilmiştir. Aşağıda waterfall içerisinde yer alan
aşamalar bulunmaktadır. Tasarım,geliştirme ve test aşamaları uygulama hazır
hale gelene kadar devam edecektir.
18. 13
6.2.2. Analiz
Aşağıda görebileceğiniz üzere durum senaryoları ve diagramlar
hazırlanmıştır.
6.2.2.1. Durum Senaryoları
6.2.2.1.1. New Ticket
Ön koşul: Kullanıcı, yeni kayıt sayfasını açmış olmalı
İşlem: Kullanıcı; ilgili sayfada doldurabildiği alanları
doldurmalıdır.Açıklama alanına problem tanımını veya
talebini yazmalıdır. İşlemler onaylanır.
İstisnası:
Açıklama alanı boş bırakılamaz
Telefon alanı boş bırakılamaz
IP alanı boş bırakılamaz
Döküman tipi alanı boş bırakılamaz
Öncelik alanı boş bırakılamaz
Konfigürasyon itemi alanı boş bırakılamaz
Lokasyon alanı boş bırakılamaz
Departman alanı boş bırakılamaz
6.2.2.1.2. Details Ticket
Ön koşul: Kullanıcı, listeden kaydı seçmiş olması
gerekmektedir. Kullanıcının yetkilerine göre sayfa
düzenlenir.Sıradan kullanıcı ise sadece kaydı görüntüleyebilir,
üzerinde bir değişiklik yapamaz.Yetkili kullanıcı ise kaydın
üzerinde değişiklik yapabilir. (Atama,kapatma, vb.)
İstisnası : İstisnası yoktur.
6.2.2.1.3. My Tickets
Ön koşul: Kullanıcı, listede hiçbir filtre gözetmeksizin
yalnızca kendi kayıtlarını görüntüleyebilecektir.Kullanıcı
tabloda bulunan herhangi bir kolona dair arama yapabilir.
İstisnası : İstisnası yoktur.
19. 14
6.2.2.1.4. Dispatch List
Ön koşul: Kullanıcının listeyi görüntüleme yetkisi olması
gerekmektedir.
İşlem: Dağıtıcı ( Dispatcher) yetkisine sahip kişi/kişiler
listeden seçtiği kaydı görüntüler rotasyon bilgisi girer ve
kaydın doğru yöneticinin kontrolüne gitmesi için gerekli
işlemi uygular.
İstisnası: Yetkili kullanıcı değilsiniz
6.2.2.1.5. Assigned To Me
Ön koşul: Kullanıcının listeyi görüntüleme yetkisi olması
gerekmektedir.
Kullanıcı kendine atanmış olan kayıtları görüntüler.
Yetkili kullanıcı veya bilgi işlem personeli ise kaydın
üzerinde değişiklik yapabilir. (İlgili Takım Liderine geri
gönderme,günlük girme)
İstisnası: İstisnası yoktur.
6.2.2.1.6. Waiting My Control
Ön koşul: Kullanıcının listeyi görüntüleme yetkisi olması
gerekmektedir.
Kullanıcı kendine kontrol amaçlı gönderilmiş olan kayıtları
görüntüler.
Yetkili kullanıcı veya takım lideri ise kaydın üzerinde
değişiklik yapabilir. (Kendi ekibinde yer alan bilgi işlem
personeline atama ve draft statüsüne restart etme)
İstisnası: İstisnası yoktur.
6.2.2.1.7. All Tickets
Ön koşul: Kullanıcının listeyi görüntüleme yetkisi olması
gerekmektedir.
Kullanıcı tüm kayıtları listeler ve görüntüler
İstisnası: İstisnası yoktur.
20. 15
6.2.2.1.8. Create User
Ön koşul: Sistem yöneticisinin, kullanıcı oluşturma sayfasını
açmış olması ve kişiye göre bir rol,takım seçmiş olması
gerekmektedir.Sistem yöneticisi, seçilen rol ve takıma göre
gelen alanları doldurmalıdır. Yaratılan kullanıcı için şifre
belirlemelidir.
İstinası: Kullanıcı veri tabanında kayıtlıdır.
6.2.2.1.9. User List
Ön koşul: Kullanıcının yetkili olması gerekmektedir. Sistem
Yöneticisi tüm kullanıcıları görüntüleyebilir ve üzerinde
değişiklik yapabilir.
İstisnası: İstisnası yoktur.
6.2.2.1.10. User Logon
Ön koşul: Kullanıcı, kullanıcı adı ve şifreye sahip olmalı
Kullanıcı bilgilerini (kullanıcı adı ve şifre) girer.
İşlemler onaylanır.
İstisnası: Girilen kullanıcı adı veya parola veri tabanında
kayıtlı değildir.
6.2.2.1.11. New Role
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı yeni rol yaratabilir.
İstisnası: Bu isimle kayıtlı bir rol mevcut.
6.2.2.1.12. Role List
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı tüm rolleri görüntüleyebilir ve üzerinde değişiklik
yapabilir.
İstisnası: İstisnası yoktur.
21. 16
6.2.2.1.13. New Team
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı yeni takım yaratabilir.
İstisnası: Bu isimle kayıtlı bir rol mevcut.
6.2.2.1.14. Team List
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı tüm takımları görüntüleyebilir ve üzerinde
değişiklik yapabilir.
İstisnası: İstisnası yoktur.
6.2.2.1.15. New Workflow
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı yeni iş akışı yaratabilir.
İstisnası: Bu isimle kayıtlı bir rol mevcut.
6.2.2.1.16. Workflow List
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı tüm iş akışlarını görüntüleyebilir ve üzerinde
değişiklik yapabilir.
İstisnası: İstisnası yoktur.
6.2.2.1.17. New Location
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı yeni lokasyon yaratabilir.
İstisnası: Bu isimle kayıtlı bir rol mevcut.
22. 17
6.2.2.1.18. Location List
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı tüm lokasyonları görüntüleyebilir ve üzerinde
değişiklik yapabilir.
İstisnası: İstisnası yoktur.
6.2.2.1.19. New Department
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı yeni departman yaratabilir.
İstisnası: Bu isimle kayıtlı bir rol mevcut.
6.2.2.1.20. Department List
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı tüm departman görüntüleyebilir ve üzerinde
değişiklik yapabilir.
İstisnası: İstisnası yoktur.
6.2.2.1.21. New Document Type
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı yeni döküman tipi yaratabilir.
İstisnası: Bu isimle kayıtlı bir rol mevcut.
6.2.2.1.22. Document Type List
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı tüm döküman tipi görüntüleyebilir ve üzerinde
değişiklik yapabilir.
İstisnası: İstisnası yoktur.
23. 18
6.2.2.1.23. New Configuration Item
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı yeni item yaratabilir.
İstisnası: Bu isimle kayıtlı bir rol mevcut.
6.2.2.1.24. Configuration Item List
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı tüm item görüntüleyebilir ve üzerinde değişiklik
yapabilir.
İstisnası: İstisnası yoktur.
6.2.2.1.25. New Priority
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı yeni öncelik yaratabilir.
İstisnası: Bu isimle kayıtlı bir rol mevcut.
6.2.2.1.26. Priority List
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı tüm öncelikleri görüntüleyebilir ve üzerinde değişiklik
yapabilir.
İstisnası: İstisnası yoktur.
6.2.2.1.27. New Status
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı yeni statü yaratabilir.
İstisnası: Bu isimle kayıtlı bir rol mevcut.
24. 19
6.2.2.1.28. Status List
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı tüm statüleri görüntüleyebilir ve üzerinde değişiklik
yapabilir.
İstisnası: İstisnası yoktur.
6.2.2.1.29. New Root Cause
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı yeni rotasyon sebebi yaratabilir.
İstisnası: Bu isimle kayıtlı bir rol mevcut.
6.2.2.1.30. Root Cause List
Ön koşul: Kullanıcının yetkili olması gerekmektedir.
Kullanıcı tüm rotasyon sebeplerini görüntüleyebilir ve üzerinde
değişiklik yapabilir.
İstisnası: İstisnası yoktur.
25. 20
6.2.2.2. Diagramlar
6.2.2.2.1. New Ticket
6.2.2.2.1.1. Use – Case
Şekil 6.2.2.2.1.1.1.– New Ticket
6.2.2.2.1.2. Activity
Şekil 6.2.2.2.1.2.1.– New Ticket
29. 24
6.2.2.2.5. Assigned To Me
6.2.2.2.5.1. Use – Case
Şekil 6.2.2.2.5.1.1. Assigned To Me
6.2.2.2.5.2. Activity
Şekil 6.2.1.2.5.2.1 Assigned To Me
30. 25
6.2.2.2.6. Waiting My Control
6.2.2.2.6.1. Use – Case
Şekil 6.2.1.2.6.1.1. Waiting My Control
6.2.2.2.6.2. Activity
Şekil 6.2.1.2.6.2.1.Waiting My Control
38. 33
6.2.2.2.15. Class
Şekil 6.2.1.2.15.1. Class
6.2.3. Planlama
Analiz aşamasında hazırlanan durum senaryoları ve diagramlardan yola
çıkarak geliştirme planı yapılmıştır.
6.2.4. Tasarım
Analiz aşamasında belirlenen eksiklikler ve geliştirilmesi gereken
nitelikler üzerinden hazırlanan durum senaryoları ve diagramlardan yola
çıkarak veritabanı ve nitelik tasarımları yapılmıştır.
6.2.5. Geliştirme
Tasarım aşamasında tasarlanan veritabanı ve nitelikler üzerinden model-
controller-view ilişkisi kurulmuştur.
(Gerektiği yerde viewmodel kullanılmıştır.)
6.2.6. Test
Planlamaya uygun olarak geliştirilen uygulamanın sürekli olarak UAT
uygulanmıştır.
39. 34
6.2.7. Canlıya Geçiş
Planlama üzerinde yer alan maddeler tamamlandığında son kez UAT
uygulanmış ve onay sonrası canlıya geçiş sağlanmıştır.
40. 35
7. Kaynakça
Microsoft, https://msdn.microsoft.com/tr-tr/library/dd381412(v=vs.108).aspx
Oğuz Kurtçuğlu, 22 Ağustos 2014, http://www.oguzkurtcuoglu.com/blog/post/entity-
framework-makale-serisi---entity-framework-nedir
Sinan Arslan, 25 Ekim 2014,http://sinandogukanarslan.blogspot.com.tr/2014/10/entity-
framework-ve-ling-to-sql-dersleri.html
50. 45
9. ÖZGEÇMİŞ
Ad Soyad: Hasan Yılmaz
Hasan Yılmaz 1994'te İstanbul'da doğdu. İlk ve orta öğrenimini Anafartalar
İlköğretim Okulun’ da, liseyi Türkiye Gazetesi Anadolu Ticaret Meslek
Lisesin'de okudu. 2014’de Plato Meslek Yüksekokulu Bilgisayar Programcılığı
programında başladığı ön lisans öğrenimini 2016 yılında tamamladı. Halen
Çelebi Havacılık Holding A.Ş’de Yazılım üzerine çalışmalarını sürdürmektedir.