SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
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 )
İÇİ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
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.
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
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
4
Şekil 6.2.1.2.14.1. Database
Şekil 6.2.1.2.15.1. Class
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.
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
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.
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.
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..
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
21
6.2.2.2.2. Details Ticket
6.2.2.2.2.1. Use – Case
Şekil 6.2.2.2.2.1.1. – Details Ticket
6.2.2.2.2.2. Activity
Şekil 6.2.2.2.2.2.1.– Details Ticket
22
6.2.2.2.3. My Tickets
6.2.2.2.3.1. Use – Case
Şekil 6.2.2.2.3.1.1. – My Tickets
6.2.2.2.3.2. Activity
Şekil 6.2.2.2.3.2.1.– My Tickets
23
6.2.2.2.4. Dispatch List
6.2.2.2.4.1. Use – Case
Şekil 6.2.2.2.4.1.1.Dispatch List
6.2.2.2.4.2. Activity
Şekil 6.2.2.2.4.2.1. Dispatch List
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
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
26
6.2.2.2.7. All Tickets
6.2.2.2.7.1. Use – Case
Şekil 6.2.1.2.7.1.1.All Tickets
6.2.2.2.7.2. Activity
Şekil 6.2.1.2.7.2.1. All Tickets
27
6.2.2.2.8. Create User
6.2.2.2.8.1. Use – Case
Şekil 6.2.1.2.8.1.1. Create User
6.2.2.2.8.2. Activity
Şekil 6.2.1.2.8.2.1. Create User
28
6.2.2.2.9. User List
6.2.2.2.9.1. Use – Case
Şekil 6.2.1.2.9.1.1. User List
6.2.2.2.9.2. Activity
Şekil 6.2.1.2.9.2.2. User List
29
6.2.2.2.10. User Logon
6.2.2.2.10.1. Use – Case
Şekil 6.2.1.2.10.1.1. User Logon
6.2.2.2.10.2. Activity
Şekil 6.2.1.2.10.2.1. User Logon
30
6.2.2.2.11. New Role
6.2.2.2.11.1. Use – Case
Şekil 6.2.1.2.11.1.1. New Role
6.2.2.2.11.2. Activity
Şekil 6.2.1.2.11.2.1. New Role
31
6.2.2.2.12. Role List
6.2.2.2.12.1. Use – Case
Şekil 6.2.1.2.12.1.1. Role List
6.2.2.2.12.2. Activity
Şekil 6.2.1.2.12.2.1. Role List
32
6.2.2.2.13. Flow
Şekil 6.2.1.2.13.1. Flow
6.2.2.2.14. Database
Şekil 6.2.1.2.14.1. Database
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.
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.
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
36
8. EKLER
8.1. MAESTRO SERVICE MANAGEMENT (MSM)
Şekil 8.1.1.
Şekil 8.1.2.
37
Şekil 8.1.3.
Şekil 8.1.4.
38
Şekil 8.1.5.
Şekil 8.1.6.
39
Şekil 8.1.7.
Şekil 8.1.8.
40
Şekil 8.1.9.
Şekil 8.1.10.
41
Şekil 8.1.11.
Şekil 8.1.12.
Şekil 8.1.13.
42
Şekil 8.1.14.
Şekil 8.1.15.
Şekil 8.1.16.
43
Şekil 8.1.17.
Şekil 8.1.18.
44
Şekil 8.1.19.
Şekil 8.1.20.
Şekil 8.1.21.
Şekil 8.1.22.
Şekil 8.1.23.
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.

Más contenido relacionado

La actualidad más candente

Katalon Studio - Best automation solution for software testing team
Katalon Studio - Best automation solution for software testing teamKatalon Studio - Best automation solution for software testing team
Katalon Studio - Best automation solution for software testing teamKatalon Studio
 
Katalon Studio - Successful Test Automation for both Testers and Developers
Katalon Studio - Successful Test Automation for both Testers and DevelopersKatalon Studio - Successful Test Automation for both Testers and Developers
Katalon Studio - Successful Test Automation for both Testers and DevelopersKatalon Studio
 
Lets make a better react form
Lets make a better react formLets make a better react form
Lets make a better react formYao Nien Chung
 
React state
React  stateReact  state
React stateDucat
 
Mocking APIs Collaboratively with Postman
Mocking APIs Collaboratively with PostmanMocking APIs Collaboratively with Postman
Mocking APIs Collaboratively with PostmanNordic APIs
 
The history of selenium
The history of seleniumThe history of selenium
The history of seleniumArun Motoori
 
Introduction to RxJS
Introduction to RxJSIntroduction to RxJS
Introduction to RxJSAbul Hasan
 
TestNG Annotations in Selenium | Edureka
TestNG Annotations in Selenium | EdurekaTestNG Annotations in Selenium | Edureka
TestNG Annotations in Selenium | EdurekaEdureka!
 
TestNG Session presented in Xebia XKE
TestNG Session presented in Xebia XKETestNG Session presented in Xebia XKE
TestNG Session presented in Xebia XKEAbhishek Yadav
 
Katalon studio vs selenium comparision
Katalon studio vs selenium comparisionKatalon studio vs selenium comparision
Katalon studio vs selenium comparisionPrabhusundar6
 
Asp.net MVC training session
Asp.net MVC training sessionAsp.net MVC training session
Asp.net MVC training sessionHrichi Mohamed
 
Introduction to ASP.NET Core
Introduction to ASP.NET CoreIntroduction to ASP.NET Core
Introduction to ASP.NET CoreAvanade Nederland
 
Enhanced Web Service Testing: A Better Mock Structure
Enhanced Web Service Testing: A Better Mock StructureEnhanced Web Service Testing: A Better Mock Structure
Enhanced Web Service Testing: A Better Mock StructureSalesforce Developers
 
Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...
Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...
Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...Edureka!
 

La actualidad más candente (20)

Katalon Studio - Best automation solution for software testing team
Katalon Studio - Best automation solution for software testing teamKatalon Studio - Best automation solution for software testing team
Katalon Studio - Best automation solution for software testing team
 
Katalon Studio - Successful Test Automation for both Testers and Developers
Katalon Studio - Successful Test Automation for both Testers and DevelopersKatalon Studio - Successful Test Automation for both Testers and Developers
Katalon Studio - Successful Test Automation for both Testers and Developers
 
C# web api
C# web apiC# web api
C# web api
 
Selenium Automation Framework
Selenium Automation  FrameworkSelenium Automation  Framework
Selenium Automation Framework
 
Lets make a better react form
Lets make a better react formLets make a better react form
Lets make a better react form
 
Automated Test Framework with Cucumber
Automated Test Framework with CucumberAutomated Test Framework with Cucumber
Automated Test Framework with Cucumber
 
React state
React  stateReact  state
React state
 
Selenium ile Web testi.
Selenium ile Web testi.Selenium ile Web testi.
Selenium ile Web testi.
 
Mocking APIs Collaboratively with Postman
Mocking APIs Collaboratively with PostmanMocking APIs Collaboratively with Postman
Mocking APIs Collaboratively with Postman
 
The history of selenium
The history of seleniumThe history of selenium
The history of selenium
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriver
 
Introduction to RxJS
Introduction to RxJSIntroduction to RxJS
Introduction to RxJS
 
TestNG Annotations in Selenium | Edureka
TestNG Annotations in Selenium | EdurekaTestNG Annotations in Selenium | Edureka
TestNG Annotations in Selenium | Edureka
 
TestNG Session presented in Xebia XKE
TestNG Session presented in Xebia XKETestNG Session presented in Xebia XKE
TestNG Session presented in Xebia XKE
 
Katalon studio vs selenium comparision
Katalon studio vs selenium comparisionKatalon studio vs selenium comparision
Katalon studio vs selenium comparision
 
Asp.net MVC training session
Asp.net MVC training sessionAsp.net MVC training session
Asp.net MVC training session
 
Introduction to ASP.NET Core
Introduction to ASP.NET CoreIntroduction to ASP.NET Core
Introduction to ASP.NET Core
 
Enhanced Web Service Testing: A Better Mock Structure
Enhanced Web Service Testing: A Better Mock StructureEnhanced Web Service Testing: A Better Mock Structure
Enhanced Web Service Testing: A Better Mock Structure
 
Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...
Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...
Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...
 
Introduction to Selenium Web Driver
Introduction to Selenium Web DriverIntroduction to Selenium Web Driver
Introduction to Selenium Web Driver
 

Destacado

IP Global Off- Plan property invetsments 2016
IP Global Off- Plan property invetsments 2016IP Global Off- Plan property invetsments 2016
IP Global Off- Plan property invetsments 2016Werner Vermeulen
 
Certificate - CERT III in Recordkeeping
Certificate - CERT III in RecordkeepingCertificate - CERT III in Recordkeeping
Certificate - CERT III in RecordkeepingTomasina Bickey
 
арыкпаева алия+еда+идея
арыкпаева алия+еда+идеяарыкпаева алия+еда+идея
арыкпаева алия+еда+идеяArykpaeva
 
Étude sur la protection des données et chiffrement 2015
Étude sur la protection des données et chiffrement 2015Étude sur la protection des données et chiffrement 2015
Étude sur la protection des données et chiffrement 2015GMX
 
The Essence of Brushing and Flossing.
The Essence of Brushing and Flossing.The Essence of Brushing and Flossing.
The Essence of Brushing and Flossing.sydneydentalcrown
 
Soldadura de Pernos por Arco (SW) Stud Welding
Soldadura de Pernos por Arco (SW) Stud Welding Soldadura de Pernos por Arco (SW) Stud Welding
Soldadura de Pernos por Arco (SW) Stud Welding Rafael Pérez-García
 
Série Questões Comentadas de Psicologia
Série Questões Comentadas de PsicologiaSérie Questões Comentadas de Psicologia
Série Questões Comentadas de PsicologiaSergio Cabral
 
Legislação do SUS para Concursos
Legislação do SUS para ConcursosLegislação do SUS para Concursos
Legislação do SUS para ConcursosSergio Cabral
 

Destacado (9)

ict
ictict
ict
 
IP Global Off- Plan property invetsments 2016
IP Global Off- Plan property invetsments 2016IP Global Off- Plan property invetsments 2016
IP Global Off- Plan property invetsments 2016
 
Certificate - CERT III in Recordkeeping
Certificate - CERT III in RecordkeepingCertificate - CERT III in Recordkeeping
Certificate - CERT III in Recordkeeping
 
арыкпаева алия+еда+идея
арыкпаева алия+еда+идеяарыкпаева алия+еда+идея
арыкпаева алия+еда+идея
 
Étude sur la protection des données et chiffrement 2015
Étude sur la protection des données et chiffrement 2015Étude sur la protection des données et chiffrement 2015
Étude sur la protection des données et chiffrement 2015
 
The Essence of Brushing and Flossing.
The Essence of Brushing and Flossing.The Essence of Brushing and Flossing.
The Essence of Brushing and Flossing.
 
Soldadura de Pernos por Arco (SW) Stud Welding
Soldadura de Pernos por Arco (SW) Stud Welding Soldadura de Pernos por Arco (SW) Stud Welding
Soldadura de Pernos por Arco (SW) Stud Welding
 
Série Questões Comentadas de Psicologia
Série Questões Comentadas de PsicologiaSérie Questões Comentadas de Psicologia
Série Questões Comentadas de Psicologia
 
Legislação do SUS para Concursos
Legislação do SUS para ConcursosLegislação do SUS para Concursos
Legislação do SUS para Concursos
 

Similar a MaestroServiceManagement_20141032013_HasanYılmaz-Tez

Nesne tabanlı programlama 6
Nesne tabanlı programlama 6Nesne tabanlı programlama 6
Nesne tabanlı programlama 6Erol Dizdar
 
Çağrı Merkezlerinde Stres Yönetimi
Çağrı Merkezlerinde Stres YönetimiÇağrı Merkezlerinde Stres Yönetimi
Çağrı Merkezlerinde Stres YönetimiSerdar MISIR
 
Türev Ürünler ve Türk Bankacılık Sektörü Uygulamaları
Türev Ürünler ve Türk Bankacılık Sektörü UygulamalarıTürev Ürünler ve Türk Bankacılık Sektörü Uygulamaları
Türev Ürünler ve Türk Bankacılık Sektörü UygulamalarıMehmet Evlatoğlu
 
Türev Ürünler ve Türk Bankacılık Sektörü Uygulamaları
Türev Ürünler ve Türk Bankacılık Sektörü UygulamalarıTürev Ürünler ve Türk Bankacılık Sektörü Uygulamaları
Türev Ürünler ve Türk Bankacılık Sektörü UygulamalarıMehmet Evlatoğlu
 
tacalan_proje_rapor_v4
tacalan_proje_rapor_v4tacalan_proje_rapor_v4
tacalan_proje_rapor_v4Ozan Taçalan
 
Bilişim sistemleri analiz hizmeti şartname taslağı
Bilişim sistemleri analiz hizmeti şartname taslağıBilişim sistemleri analiz hizmeti şartname taslağı
Bilişim sistemleri analiz hizmeti şartname taslağıalinizam99
 
PERT-CPM ile Proje Planlama, Değerlendirme ve Bir İşletme Uygulaması
PERT-CPM ile Proje Planlama, Değerlendirme ve Bir İşletme UygulamasıPERT-CPM ile Proje Planlama, Değerlendirme ve Bir İşletme Uygulaması
PERT-CPM ile Proje Planlama, Değerlendirme ve Bir İşletme UygulamasıYusuf Yıldız
 
Bülent Büyükkaya-BilgiBursaMBA
Bülent Büyükkaya-BilgiBursaMBABülent Büyükkaya-BilgiBursaMBA
Bülent Büyükkaya-BilgiBursaMBABülent Büyükkaya
 
Mobil Pazarlama Faaliyetlerinin İşletmelere Sağladığı Katkılar Ve Bir Uygulam...
Mobil Pazarlama Faaliyetlerinin İşletmelere Sağladığı Katkılar Ve Bir Uygulam...Mobil Pazarlama Faaliyetlerinin İşletmelere Sağladığı Katkılar Ve Bir Uygulam...
Mobil Pazarlama Faaliyetlerinin İşletmelere Sağladığı Katkılar Ve Bir Uygulam...Ali Kemal Taşcı
 
İTÜ İşletme ve Teknoloji Yönetimi - BİTİRME PROJESİ
İTÜ İşletme ve Teknoloji Yönetimi - BİTİRME PROJESİİTÜ İşletme ve Teknoloji Yönetimi - BİTİRME PROJESİ
İTÜ İşletme ve Teknoloji Yönetimi - BİTİRME PROJESİElif Tuygan Arslançeri
 
BTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep Modulu
BTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep ModuluBTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep Modulu
BTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep Moduludeniz armutlu
 
Nesne tabanlı programlama 2
Nesne tabanlı programlama 2Nesne tabanlı programlama 2
Nesne tabanlı programlama 2Erol Dizdar
 
Hastalık Teşhislerinde Veri Madenciliğinin Kullanımının İncelenmesi (3).pdf
Hastalık Teşhislerinde Veri Madenciliğinin Kullanımının İncelenmesi (3).pdfHastalık Teşhislerinde Veri Madenciliğinin Kullanımının İncelenmesi (3).pdf
Hastalık Teşhislerinde Veri Madenciliğinin Kullanımının İncelenmesi (3).pdfMERTYCL
 
Nesne tabanlı programlama 4
Nesne tabanlı programlama 4Nesne tabanlı programlama 4
Nesne tabanlı programlama 4Erol Dizdar
 
Dönüşüm Optimizasyonu Uygulamaları ve Growth Hacking - Zaliha Terk
Dönüşüm Optimizasyonu Uygulamaları ve Growth Hacking - Zaliha TerkDönüşüm Optimizasyonu Uygulamaları ve Growth Hacking - Zaliha Terk
Dönüşüm Optimizasyonu Uygulamaları ve Growth Hacking - Zaliha TerkZaliha Terk
 
Bulut Bilişim ve Bilgisayar Ağları
Bulut Bilişim ve Bilgisayar AğlarıBulut Bilişim ve Bilgisayar Ağları
Bulut Bilişim ve Bilgisayar Ağlarıcgoze
 

Similar a MaestroServiceManagement_20141032013_HasanYılmaz-Tez (20)

Nesne tabanlı programlama 6
Nesne tabanlı programlama 6Nesne tabanlı programlama 6
Nesne tabanlı programlama 6
 
Proje dökümanı
Proje dökümanıProje dökümanı
Proje dökümanı
 
Çağrı Merkezlerinde Stres Yönetimi
Çağrı Merkezlerinde Stres YönetimiÇağrı Merkezlerinde Stres Yönetimi
Çağrı Merkezlerinde Stres Yönetimi
 
Türev Ürünler ve Türk Bankacılık Sektörü Uygulamaları
Türev Ürünler ve Türk Bankacılık Sektörü UygulamalarıTürev Ürünler ve Türk Bankacılık Sektörü Uygulamaları
Türev Ürünler ve Türk Bankacılık Sektörü Uygulamaları
 
Türev Ürünler ve Türk Bankacılık Sektörü Uygulamaları
Türev Ürünler ve Türk Bankacılık Sektörü UygulamalarıTürev Ürünler ve Türk Bankacılık Sektörü Uygulamaları
Türev Ürünler ve Türk Bankacılık Sektörü Uygulamaları
 
tacalan_proje_rapor_v4
tacalan_proje_rapor_v4tacalan_proje_rapor_v4
tacalan_proje_rapor_v4
 
Stratejik Planlama Lisans Tezi
Stratejik Planlama Lisans TeziStratejik Planlama Lisans Tezi
Stratejik Planlama Lisans Tezi
 
Bilişim sistemleri analiz hizmeti şartname taslağı
Bilişim sistemleri analiz hizmeti şartname taslağıBilişim sistemleri analiz hizmeti şartname taslağı
Bilişim sistemleri analiz hizmeti şartname taslağı
 
SDÜ EHM Bitirme Projesi Tez
SDÜ EHM Bitirme Projesi TezSDÜ EHM Bitirme Projesi Tez
SDÜ EHM Bitirme Projesi Tez
 
PERT-CPM ile Proje Planlama, Değerlendirme ve Bir İşletme Uygulaması
PERT-CPM ile Proje Planlama, Değerlendirme ve Bir İşletme UygulamasıPERT-CPM ile Proje Planlama, Değerlendirme ve Bir İşletme Uygulaması
PERT-CPM ile Proje Planlama, Değerlendirme ve Bir İşletme Uygulaması
 
Bülent Büyükkaya-BilgiBursaMBA
Bülent Büyükkaya-BilgiBursaMBABülent Büyükkaya-BilgiBursaMBA
Bülent Büyükkaya-BilgiBursaMBA
 
Mobil Pazarlama Faaliyetlerinin İşletmelere Sağladığı Katkılar Ve Bir Uygulam...
Mobil Pazarlama Faaliyetlerinin İşletmelere Sağladığı Katkılar Ve Bir Uygulam...Mobil Pazarlama Faaliyetlerinin İşletmelere Sağladığı Katkılar Ve Bir Uygulam...
Mobil Pazarlama Faaliyetlerinin İşletmelere Sağladığı Katkılar Ve Bir Uygulam...
 
İTÜ İşletme ve Teknoloji Yönetimi - BİTİRME PROJESİ
İTÜ İşletme ve Teknoloji Yönetimi - BİTİRME PROJESİİTÜ İşletme ve Teknoloji Yönetimi - BİTİRME PROJESİ
İTÜ İşletme ve Teknoloji Yönetimi - BİTİRME PROJESİ
 
BTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep Modulu
BTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep ModuluBTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep Modulu
BTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep Modulu
 
Nesne tabanlı programlama 2
Nesne tabanlı programlama 2Nesne tabanlı programlama 2
Nesne tabanlı programlama 2
 
Hastalık Teşhislerinde Veri Madenciliğinin Kullanımının İncelenmesi (3).pdf
Hastalık Teşhislerinde Veri Madenciliğinin Kullanımının İncelenmesi (3).pdfHastalık Teşhislerinde Veri Madenciliğinin Kullanımının İncelenmesi (3).pdf
Hastalık Teşhislerinde Veri Madenciliğinin Kullanımının İncelenmesi (3).pdf
 
Nesne tabanlı programlama 4
Nesne tabanlı programlama 4Nesne tabanlı programlama 4
Nesne tabanlı programlama 4
 
Dönüşüm Optimizasyonu Uygulamaları ve Growth Hacking - Zaliha Terk
Dönüşüm Optimizasyonu Uygulamaları ve Growth Hacking - Zaliha TerkDönüşüm Optimizasyonu Uygulamaları ve Growth Hacking - Zaliha Terk
Dönüşüm Optimizasyonu Uygulamaları ve Growth Hacking - Zaliha Terk
 
Bulut Bilişim ve Bilgisayar Ağları
Bulut Bilişim ve Bilgisayar AğlarıBulut Bilişim ve Bilgisayar Ağları
Bulut Bilişim ve Bilgisayar Ağları
 
Sixsigma
SixsigmaSixsigma
Sixsigma
 

MaestroServiceManagement_20141032013_HasanYılmaz-Tez

  • 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)
  • 3. III Tarih: ....../......../....... Jüri Üyesi Adı ve Soyadı: İmza Jüri Üyesi Adı ve Soyadı: İmza
  • 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
  • 26. 21 6.2.2.2.2. Details Ticket 6.2.2.2.2.1. Use – Case Şekil 6.2.2.2.2.1.1. – Details Ticket 6.2.2.2.2.2. Activity Şekil 6.2.2.2.2.2.1.– Details Ticket
  • 27. 22 6.2.2.2.3. My Tickets 6.2.2.2.3.1. Use – Case Şekil 6.2.2.2.3.1.1. – My Tickets 6.2.2.2.3.2. Activity Şekil 6.2.2.2.3.2.1.– My Tickets
  • 28. 23 6.2.2.2.4. Dispatch List 6.2.2.2.4.1. Use – Case Şekil 6.2.2.2.4.1.1.Dispatch List 6.2.2.2.4.2. Activity Şekil 6.2.2.2.4.2.1. Dispatch List
  • 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
  • 31. 26 6.2.2.2.7. All Tickets 6.2.2.2.7.1. Use – Case Şekil 6.2.1.2.7.1.1.All Tickets 6.2.2.2.7.2. Activity Şekil 6.2.1.2.7.2.1. All Tickets
  • 32. 27 6.2.2.2.8. Create User 6.2.2.2.8.1. Use – Case Şekil 6.2.1.2.8.1.1. Create User 6.2.2.2.8.2. Activity Şekil 6.2.1.2.8.2.1. Create User
  • 33. 28 6.2.2.2.9. User List 6.2.2.2.9.1. Use – Case Şekil 6.2.1.2.9.1.1. User List 6.2.2.2.9.2. Activity Şekil 6.2.1.2.9.2.2. User List
  • 34. 29 6.2.2.2.10. User Logon 6.2.2.2.10.1. Use – Case Şekil 6.2.1.2.10.1.1. User Logon 6.2.2.2.10.2. Activity Şekil 6.2.1.2.10.2.1. User Logon
  • 35. 30 6.2.2.2.11. New Role 6.2.2.2.11.1. Use – Case Şekil 6.2.1.2.11.1.1. New Role 6.2.2.2.11.2. Activity Şekil 6.2.1.2.11.2.1. New Role
  • 36. 31 6.2.2.2.12. Role List 6.2.2.2.12.1. Use – Case Şekil 6.2.1.2.12.1.1. Role List 6.2.2.2.12.2. Activity Şekil 6.2.1.2.12.2.1. Role List
  • 37. 32 6.2.2.2.13. Flow Şekil 6.2.1.2.13.1. Flow 6.2.2.2.14. Database Şekil 6.2.1.2.14.1. Database
  • 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
  • 41. 36 8. EKLER 8.1. MAESTRO SERVICE MANAGEMENT (MSM) Şekil 8.1.1. Şekil 8.1.2.
  • 49. 44 Şekil 8.1.19. Şekil 8.1.20. Şekil 8.1.21. Şekil 8.1.22. Şekil 8.1.23.
  • 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.