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