MaestroServiceManagement_20141032013_HasanYılmaz-Tez

50
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

Transcript of MaestroServiceManagement_20141032013_HasanYılmaz-Tez

Page 1: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 2: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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)

Page 3: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

III

Tarih: ....../......../.......

Jüri Üyesi Adı ve Soyadı:

İmza

Jüri Üyesi Adı ve Soyadı:

İmza

Page 4: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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 )

Page 5: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 6: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 7: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 8: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 9: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 10: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 11: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 12: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 13: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 14: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 15: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 16: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 17: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 18: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 19: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 20: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 21: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 22: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 23: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 24: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 25: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 26: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 27: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 28: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 29: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 30: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 31: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 32: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 33: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 34: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 35: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 36: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 37: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 38: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 39: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 40: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 41: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

36

8. EKLER 1

8.1. MAESTRO SERVICE MANAGEMENT (MSM) 2

3

4

Şekil 8.1.1. 5

6

Şekil 8.1.2. 7

Page 42: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

37

1

Şekil 8.1.3. 2

3

Şekil 8.1.4. 4

Page 43: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

38

1

2

Şekil 8.1.5. 3

4

Şekil 8.1.6. 5

Page 44: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

39

1

Şekil 8.1.7. 2

3

4

Şekil 8.1.8. 5

Page 45: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

40

1

Şekil 8.1.9. 2

3

4

5

Şekil 8.1.10. 6

7

Page 46: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

41

1

Şekil 8.1.11. 2

3

Şekil 8.1.12. 4

5

Şekil 8.1.13. 6

Page 47: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

42

1

Şekil 8.1.14. 2

3

Şekil 8.1.15. 4

5

Şekil 8.1.16. 6

7

Page 48: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

43

1

Şekil 8.1.17. 2

3

Şekil 8.1.18. 4

5

Page 49: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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

Page 50: MaestroServiceManagement_20141032013_HasanYılmaz-Tez

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