REKAYASA PERANGKAT LUNAK CUSTOMER RELATIONSHIP MANAGEMENT (CRM) MARKETING AUTOMATION DAN CUSTOMER SUPPORT DENGAN MENGGUNAKAN METODE SERVICE ORIENTED ARCHITECTURE (SOA) Eka Mustofa, Riyanarto Sarno, Rizky Januar A. Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Email:
[email protected],
[email protected],
[email protected]
Disinilah professional IT secara langsung menghadapi tantangan untuk mampu membuat dan mengontrol legacy teknologi dalam batasan perusahaan/enterprise dan heterogenitasnya, yaitu suatu system yang berbasis service-oriented. Arsistektur system yang berbasis service dikenal dengan istilah Service Oriented Architecture (SOA).
Abstrak - Customer Relationship Management (CRM) merupakan salah satu sarana untuk menjalin hubungan yang berkelanjutan antara perusahaan dengan para pelanggan. Dengan memanfaatkan CRM, perusahaan akan mengetahui apa yang diharapkan dan diperlukan pelanggan, sehingga akan tercipta ikatan emosional yang mampu menciptakan hubungan bisnis yang erat dan terbuka serta komunikasi dua arah di antara mereka.
SOA adalah model arsitektur untuk membuat software yang menggunakan servis yang terdapat pada jaringan, misalnya Web. Komponen software pada SOA bersifat loose coupling, sehingga bisa direuse. Aplikasi pada SOA dibangun berdasar servis. Servis adalah implementasi dari fungsi bisnis yang terdefinisi jelas, dan bisa dikonsumsi oleh klien pada berbagai aplikasi atau proses bisnis. SOA membantu organisasi supaya bisa melakukan bisnis secara lebih efisien dan beradaptasi terhadap perubahan dan kompetisi, memungkinkan konsep software sebagai servis.
Pada tugas akhir ini akan dibangun aplikasi CRM dengan menggunakan metode Service Oriented Architecture (SOA) dengan memanfaatkan teknologi Web Service dan perancangan aplikasi menggunakan Service Oriented Architecture Design (SOAD) berdasarkan Enterprise Architecture untuk menciptakan keselarasan antara bisnis dan teknologi informasi bagi kebutuhan perusahaan. Kata kunci: CRM, SOA, Web Service, SOAD, Enterprise Architecture
1. Pendahuluan
Dengan memanfaatkan Service Oriented Architecture merupakan solusi alternatif untuk mengatasi problema-problema di atas. SOA menawarkan sebuah infrastruktur yang baik dengan kemampuan integrasi yang sudah terkelola, yang tentunya akan berdampak pada meningkatnya reliability, kemudahan pertukaran informasi antar aplikasi, mengurangi pengaruh jika terjadi perubahan, dan yang tidak kalah pentingnya adalah dapat menekan biaya-biaya untuk keperluan integrasi dan modifikasi aplikasi.
Dengan perkembangan Teknologi Informasi yang sangat pesat membawa dampak dalam proses bisnis yang membutuhkan kecepatan, transaparansi dan akuntabilitas dalam semua proses pada suatu sistem Enterprise terutama untuk Customer Relationship Management. Customer Relationship Management adalah sebuah aplikasi manajemen untuk menjalin hubungan dengan pelanggan dan memberikan pelayanan yang memuaskan bagi pelanggan. Dengan ini memungkinkan pelanggan terlibat dalam proses peningkatan pelayanan, sehingga pelanggan dapat memperoleh solusi dan alternative layanan yang cepat dan tepat. Selain itu, aplikasi yang dikembangkan ini diharapakan dapat meningkatkan pelayanan terhadap pelanggan dan menjadi salah satu alat dalam membangun hubungan antara perusahaan dengan customer yang saling menguntungkan.
2. Enterprise Architecture Keselarasan penerapan sistem informasi dengan kebutuhan organisasi hanya mampu dijawab dengan memperhatikan faktor integrasi didalam pengembangannya. Tujuan integrasi yang sebenarnya adalah untuk mengurangi kesenjangan yang terjadi dalam proses pengembangan sistem. Untuk menurunkan kesenjangan tersebut, maka diperlukan sebuah paradigma dalam merencanakan, merancang, dan mengelola sistem informasi yang disebut dengan Enterprise Architecture (EA).
Kebutuhan untuk merealisasikan konsep kerja sama yang dinamis antar perusahaan, maka sebuah perusahaan harus memfokuskan pada system enterprise dan proses integrasi antar enterprise.
1
Enterprise Architecture adalah sebuah pendekatan logis, komprehensif, dan holistik untuk merancang dan mengimplementasikan sistem dan komponen sistem secara bersamaan.
digunakan untuk merancang aplikasi berbasis SOA sehingga dari proses bisnis yang telah dijabarkan dapat diidentifikasi dan dibentuk berbagai macam service yang dibutuhkan oleh aplikasi SOA.
Enterprise architecture atau lebih dikenal dengan arsitektur enterprise merupakan deskripsi dari misi stakeholder yang di dalamnya termasuk informasi, fungsionalitas/kegunaan, lokasi organisasi dan parameter kinerja. Arsitektur enterprise menggambarkan rencana untuk mengembangkan sebuah sistem atau sekumpulan sistem (Osvalds, 2001).
SOA membagi fungsi-fungsi menjadi unit-unit yang berbeda (service), yang dapat didistribusikan melalui suatu jaringan dan dikombinasikan serta digunakan ulang untuk membentuk aplikasi bisnis. Layanan-layanan ini saling berkomunikasi dengan mempertukarkan data antar mereka atau dengan mengkoordinasikan aktivitas antara dua atau lebih layanan. Service adalah sebuah stand-alone unit dalam sebuah functionality.
EA (Sarno A, 2010) terdiri dari empat arsitektur antara lain arsitektur bisnis, aplikasi, informasi dan teknologi. Arsitektur bisnis mendefinisikan strategi dalam bisnis, proses bisnis utama dan struktur organisasi. Arsitektur aplikasi menyediakan cetak biru aplikasi atau sistem dan interaksinya dengan proses bisnis utama dalam organisasi. Arsitektur informasi menggambarkan organisasi dan manajemen sumber daya data yang merepresentasikan logical dan physical aset. Arsitektur teknologi merepresentasikan infrastruktur aplikasi perangkat lunak untuk mendukung pembangunan aplikasi.
5. Service Oriented Architecture (SOA) Service Oriented Architecture (SOA) adalah sebuah bentuk teknologi arsitektur yang mengikuti prinsip-prinsip service orientation (berorientasi service). Konsep service-orientation ini melakukan pendekatan dengan membagi masalah besar menjadi sekumpulan service kecil yang bertujuan untuk menyelesaikan permasalahan tertentu. SOA tidak terkait dengan suatu teknologi tertentu, tapi lebih ke arah pendekatan untuk pembangunan perangkat lunak yang modular. Service dalam lingkup SOA merupakan sekumpulan fungsi, prosedur, atau proses yang akan memberi respon jika diminta oleh sebuah client. Dalam hal ini service mempunyai beberapa karakteristik:
3. TOGAF ADM TOGAF merupakan metode terinci dan serangkaian alat pendukung untuk mengembangkan suatu arsitektur enterprise. Kerangka ini mempertimbangkan aset perusahaan dan berfokus pada berbagai aplikasi bisnis mission-critical dan memungkinkan perancangan arsitektur informasi yang customized. TOGAF merupakan serangkaian metode dan alat untuk membangun variasi arsitektur, termasuk arsitektur bisnis, data, aplikasi dan teknologi.
Logical view, service yang dilihat dari level operasi bisnis yang diidentifikasi sebagai interface yang independen. Message orientation, Sebuah service yang berhubungan dengan client yang bertukar message.
Architecture Development Method (ADM) adalah fitur penting yang memungkinkan perusahaan mendefinisikan kebutuhan bisnis dan membangun arsitektur spesifik untuk memenuhi kebutuhan itu. ADM terdiri dari fase-fase yang dibutuhkan dalam membangun arsitektur sistem informasi perusahaan.
Description Orientation, Service yang dideskripsikan sebagai mesin pengolah metadata. Network Orientation, Service dituntut untuk dipakai di dalam jaringan. Hal ini menekankan pada kebutuhan service yang secara otomatis serta mudah ditemukan.
4. Service Oriented Analysis and Design (SOAD)
Platform neutrality, Pesan disampaikan melalui interface yang menggunakan platform netral (multi platform) dan format data yang standar seperti XML.
Service Oriented Analysis and Design (SOAD) merupakan metode pendekatan yang
2
6. Domain Driven Design (DDD)
8. Customer Relationship Management (CRM)
Domain Driven Design (DDD) adalah sebuah pendekatan berorientasi obyek untuk merancang perangkat lunak berdasarkan bisnis domain, dengan unsur-unsur dan perilaku, dan hubungan antara mereka. Bertujuan untuk mengaktifkan sistem perangkat lunak yang merupakan realisasi dari bisnis yang mendasari domain dengan mendefinisikan model domain diungkapkan dalam bahasa bisnis domain pakar. Model domain dapat dilihat sebagai suatu kerangka kerja dari solusi yang kemudian dapat dirasionalisasi. atau sebuah pendekatan dengan desain perangkat lunak, didasarkan pada dua premis:
CRM adalah strategi bisnis yang terdiri dari software dan layanan yang didesain untuk meningkatkan keuntungan (profit), pendapatan (revenue) dan kepuasan pelanggan (customer satisfaction). Caranya adalah dengan membantu berbagai bentuk perusahaan untuk mengidentifikasi pelanggannya dengan tepat, memperoleh lebih banyak pelanggan dengan lebih cepat, dan mempertahankan kesetiaan pelanggannya. Sasaran utamanya adalah untuk meningkatkan pertumbuhan jangka panjang dan profitabilitas perusahaan melalui pengertian yang lebih baik terhadap kebiasaan (behavior) pelanggan. CRM bertujuan untuk menyediakan umpan balik yang lebih efektif dan integrasi yang lebih baik dengan pengendalian return on investment
1.
Domain desain yang kompleks harus didasarkan pada model, dan 2. Bahwa untuk sebagian besar proyek perangkat lunak, fokus utama harus pada domain dan domain logika (yang bertentangan dengan teknologi khusus yang digunakan untuk mengimplementasikan sistem).
Sistem CRM berusaha menyediakan sebuah pendekatan terintegrasi terhadap semua aspek dalam perusahaan dalam kaitannya dengan pelanggannya, yang meliputi marketing, sales and support. Tujuan dari sistem ini adalah dengan penggunaan teknologi diharapkan terjadi jalinan hubungan yang kuat antara perusahaan dengan pelanggannya. Dengan kata lain, perusahaan berusaha mengelola kinerja perusahaannya dengan lebih baik. (Martin, Brown, DeHayes, Hoffer & Perkins, 2005, p.194).
7. Web Service Web services adalah sistem pertukaran informasi berbasis XML dengan menggunakan media internet untuk interaksi antara aplikasi Teknologi ini merupakan standar yang diadopsi oleh banyak vendor perangkat lunak, karena memiliki standar terbuka. Standar terbuka ini yang memungkinkan aplikasi web service yang diimplementasikan oleh vendor berbeda dapat berkomunikasi satu sama lain. Perkembangan web services yang begitu cepat menyebabkan lahirnya ekstensi-ekstensi web services yang memperluas fungsi web services itu sendiri.
CRM menggunakan teknologi informasi untuk menciptakan cross-functional enterprise system yang mengintegrasikan dan mengotomatisasi proses layanan pelanggan dalam bidang penjualan, pemasaran, dan layanan produk/ jasa berkaitan dengan perusahaan. Sistem CRM juga menciptakan IT framework yang menghubungkan semua proses dengan bisnis operasional perusahaan (O’Brien, 2002, p.130). Selain itu sistem CRM juga meliputi sekumpulan modul software yang membantu aktivitas bisnis perusahaan
Implementasi dari teknologi ini, yang berupa aplikasi web services, saling berinteraksi satu sama lain dengan menggunakan dokumen berformat XML dan protokol pengiriman pesan SOAP (Simple Object Access Protocol) melalui HTTP. Format XML, SOAP, dan HTTP ini juga merupakan standar terbuka yang dapat diadopsi.
9. Analisis Perangkat Lunak Customer Relationship Management secara umum digunakan untuk membantu kegiatan di Sales, Marketing dan Customer Support. Lebih tepatnya, CRM dipakai sebagai sarana penghubung dari suatu perusahaan dengan pelanggan. Dengan melalui channel yang dikelola dengan baik, suatu perusahaan dapat mendengarkan apa yang
Sebuah aplikasi web service tidak dapat langsung diketahui bagaimana penggunaannya. Oleh karena itu, aplikasi ini harus menyediakan deskripsi service. Untuk deskripsi ini, web service juga memiliki standar terbuka yaitu WSDL (Web Service Description Language).
3
diinginkan pelanggan, apa yang mereka keluhkan, bagaimana competitor bertindak terhadap produk/jasa dari perusahaan, dan berbagai kegiatan sejenis.
yang menunjukkan hubungan bisnis proses, sub bisnis proses, software service, software entities dan business entities. Selain itu di sudut pandang ini terdapat business service activity diagram yang menggambarkan aktivitas yang terjadi dalam suatu layanan bisnis yang dikelompokkan berdasarkan proses bisnisnya dalam suatu functional domain yang meliputi proses internal dan penyediaan layanan untuk functional domain lain.
Dengan menggunakan SOAD, analisa permasalahan dalam functional domain dapat dilakukan secara top-down, sehingga setiap functional domain akan dimodelkan dalam beberapa sudut pandang yaitu conceptual view, logical view, dan physical view. Dalam conceptual view, tiap functional domain dibagi menjadi beberapa proses bisnis. Pembagian proses bisnis dilakukan berdasarkan bisnis proses yang digunakan, misalnya bisnis proses campaign management yang menggambarkan kegiatan marketing dalam mempromosikan barang-barang yang ada dalam perusahaan. Tiap bisnis proses terdiri dari beberapa sub bisnis proses yang merepresentasikan bagian terkecil dari tiap bisnis proses. Kemudian tiap bisnis proses dibagi lagi menjadi beberapa bisnis service. Bisnis Service ini tidak hanya proses internal masing-masing functional domain tetapi juga apa yang harus disediakan oleh bisnis service untuk digunakan oleh functional domain lain. Selanjutnya adalah membagi tiap bisnis service ke dalam service layer yaitu bagian yang menggambarkan web service apa saja yang disediakan oleh masing-masing functional domain. Setelah mengetahui web service apa saja yang akan disediakan masing-masing functional domain, tahap berikutnya adalah mendefinisikan entitas apa saja yang dibutuhkan untuk merealisasikan web service yaitu kumpulan class yang disebut sebagai component dan digambarkan dalam software component.
Physical View merupakan realisasi dari desain yang ada pada conceptual view dan logical view. Pada Physical View dibagi menjadi beberapa layer yaitu web service layer yang menunjukkan apa saja web service yang disediakan oleh functional domain, presentation layer yang menggambarkan rancangan user interface; application service layer (ASL) yang menggambarkan bisnis logic yang ada di tiap functional domain; domain model layer yang menggambarkan class-class yang digunakan untuk merealisasikan apa yang didesain sebelumnya (class diagram); data transfer object yang digunakan untuk menampung data yang akan dikirim melalui web service yang disediakan; data access layer yang menggambarkan koneksi aplikasi dengan database melalui Object Relational Mapping (Nhibernate). Dari pemaparan conceptual view, logical view dan physical view diatas dapat ditunjukkan salah satu sub bisnis proses aplikasi Customer Relationship Management pada waktu marketing melakukan campaign. Apabila aplikasi didesain menggunakan SOAD maka informasi produk yang ingin dipromosikan dapat diketahui dari data inventory menggunakan web service dari functional domain lain sehingga dapat diketahui produkproduk apa saja yang perlu dipromosikan. Realisasi dari kegiatan campaign digambarkan pada physical view, misalnya untuk user interface bisa dilihat pada presentation layer; bisnis logic pada application service layer; class, component, data access object dan sequence diagram pada domain model layer, proses insert ke dalam database pada data access layer.
Conceptual View tidak hanya membagi functional domain ke dalam beberapa sudut pandang tetapi juga menggambarkan siapa saja yang terlibat dalam sistem. Conceptual view juga memberi gambaran tiap proses bisnis tiap functional domain ke dalam sebuah flow chart diagram, di situ digambarkan apa saja masukan yang diperlukan untuk melakukan suatu proses bisnis dan siapa yang melakukan proses bisnis tersebut.
9.1. Perangkat Automation
Logical View dapat dikatakan sebagai jembatan untuk menghubungkan antara conceptual view yang dimengerti oleh kalangan bisnis dan physical view yang dipahami oleh para developer. Di dalam sudut pandang ini digambarkan matrix
Lunak
Marketing
Modul Marketing Automation dari CRM membantu perusahaan dalam melakukan Marketing Campaign menggunakan Campaign Management dan Email Marketing. Modul CRM ini penting
4
dalam menciptakan leads-leads baru yang mungkin saja tertarik membeli produk atau jasa (Leads Generation), sehingga leads tersebut bisa diarahkan ke bagian sales.
Email Marketing merupakan modul untuk membuat email template bagi marketing untuk kebutuhan campaign. e.
Lead Management Lead Management digunakan untuk mengelola calon pelanggan baru yang telah masuk dalam marketing automation dari hasil campaign.
f.
Web to Leads Form Merupakan fitur untuk menyediakan form lead dari setiap campaign yang dikirim ke target agar dapat mendaftar sebagai calon pelanggan baru sehingga pelanggan dapat langsung mendaftar secara langsung apabila berkeinginan untuk menjadi calon pelanggan.
Berdasarkan konsep Service Oriented Architecture Design, Marketing Automation dapat di-mapping-kan menjadi functional domain dalam layer SOAD sebagai berikut:
«Lane» Business Layer «Lane» Service Layer «Lane» Component Layer
«Lane» Software Component MA «Lane» Software Service MA
«Lane» Business Service MA
«Lane» Business Process MA
«Lane» Functinal Domain MA
BPEL Mapping Domain MA
«FunctinalDomain» 10. Marketing Automation
«BusinessProcess» 10.2 Multi-Channel Campaign
«BusinessServ i... 10.2.1 Multi-Channel Campaign Serv ice
«BusinessProcess» 10.1 Campaign Management
«BusinessServ ices» 10.1.1 Priv idingCampaign
«BusinessProcess» 10.3 Campaign Wizard
«BusinessServ i... 10.3.1 Campaign Wizard Serv ice
«BusinessProcess» 10.4 Lead Management
«BusinessProcess» 10.5 Web To Leads Form
«BusinessServ ices» 10.4.1 Priv idingLeads
«BusinessServ i... 10.5.1 Web to Lead Form Serv ice
«BusinessProcess» 10.6 Email Marketing
«BusinessServ i... 10.6.1 Email Marketing Serv ice
9.2. Perangkat Lunak Customer Support «Softw areServ ices» 10.1.1.1 Priv ideCampaignData
«Softw areServ ices» 10.1.1.2 Priv ideTotalCampaignData
«Softw areServ ices» 10.4.1.1 Priv ideLeadsData
Modul Customer Support atau Help Desk adalah modul CRM untuk mengelola setiap masukan dari pihak luar, baik dari customer ataupun yang non-customer. Masukan-masukan tersebut misalnya adalah keluhan atas layanan, keluhan atas produk, pertanyaan, kritik dan saran.
«Softw areServ ices» 10.4.1.2 Priv ideTotalLeadData
«Softw areComponent» CampaignComponent «Softw areComponent» User Component
«Softw areComponent» Lead Component
«Softw areComp... Web to Lead Component
Gambar 1 Functional Domain Marketing Automation
Setiap komplain yang masuk dapat di-entry secara manual ke dalam software CRM, atau dapat di-entry secara otomatis jika komplain atau masukan tersebut dikirimkan melalui email. Setiap komplain kemudian akan mendapatkan Ticket ID, yaitu sebuah nomor komplain untuk membantu kemudahan tracking jika diperlukan.
Marketing Automation terdiri dari beberapa fitur yang harus ditangani, yaitu: a.
Campaign Management Campaign Management adalah sub modul dari Marketing Automation untuk mengatur campaign yang akan dilakukan, misalnya adalah tema campaign, tanggal dimulai dan berakhirnya campaign, sasaran yang ingin dicapai dari campaign tersebut, respond yang dihasilkan, hingga ke perkiraan biaya.
Berdasarkan konsep Service Oriented Architecture Design, Customer Support dapat dimapping-kan menjadi functional domain dalam layer SOAD sebagai berikut:
d.
«Lane» Busines Layer «Lane» Service Layer
Campaign Wizard Campaign Wizard merupakan fitur tambahan dari campaign management untuk mengelola campaign secara step by step menggunakan wizard sampai pengelolaan target campaign dan mengirim campaign by email.
«Lane» Component Layer
c.
Multi-Channel Campaign Merupakan bagian dari campaign management untuk membuat campaign dimana proses campaign dapat dilakukan dengan beberapa channel.
Email Marketing
«Lane» Software Component CS «Lane» Software Service CS «Lane» Business Service CS «Lane» Business Process CS «Lane» Functional Domain CS
BPEL Mapping Domain CS
b.
«FunctinalDomain» 11. Customer Support
«BusinessProcess» 11.2 Inbound Email
«BusinessServ i... 11.2.1 Inbound Email Serv ice
«BusinessProcess» 11.3 Know ledgebase
«BusinessServ i... 11.3.1 Knoelw dgebase Serv ice
«BusinessProcess» 11.1 Case Management
«BusinessServ ices» 11.1.1 Prov idingCase
«Softw areServ ices» 11.1.1.1 Priv ideCaseData
«Softw areComp... Inbound Email Component
«BusinessServ i... 11,4,1 Bugs Tracking Serv ice
«BusinessProcess» 11.5 FAQs
«BusinessServ i... 11.5.1 FAQs Serv ice
«Softw areServ ices» 11.1.1.2 Priv ideCaseByItemData
«Softw areComp... Account Component
«BusinessServ i... Know ledgebase Component
«BusinessProcess» 11.4 Bugs Tracking
«Softw areComp... Bug Component
«Softw areCompo... Case Component
«Softw areComp... FAQs Component
Gambar 2 Functional Domain Customer Support
5
a.
b.
c.
Case Management Digunakan untuk mengelola komplain dari pelanggan berdasarkan ticket ID, subject, tanggal terjadi komplain, user yang melakukan input, hingga status dari komplain tersebut. Inbound Email Merupakan modul untuk men-download email baru yang ada pada setiap account email marketing kedalam aplikasi CRM, sehingga marketing tidak perlu login ke webmail. Knowledge Base Merupakan modul dari customer support untuk memberikan modul-modul yang dibutuhkan oleh pelanggan.
d.
Bug Tracking Merupakan fitur untuk mendokumentasikan bug yang terjadi pada sistem agar dapat segera ditangani oleh pihak yang menangani.
e.
FAQs Sub modul yang membantu pelanggan dalam mendapatkan quick knowledge seputar komplain-komplain atau pertanyaan umum yang sering ditanyakan oleh customer, sehingga mereka akan lebih siap ketika benarbenar menghadapi komplain dari pelanggan.
f.
Penerapan arsitektur sistem pada program digunakan lima layer dimana masing-masing layer memiliki peran tersendiri. Penjelasan layer-layer ini adalah sebagai berikut: 1.
Web Service Layer Layer ini berfungsi untuk implementasi web service yang harus disediakan oleh sistem untuk kebutuhan aplikasi lain.
2.
Presentation Layer Layer ini digunakan untuk mengimplementasikan segala aktifitas user dalam bentuk user interface.
3.
Application Service Layer Layer ini bertanggung jawab dalam penerapan business logic dari aplikasi.
4.
Domain Model layer Layer ini bertanggung jawab dalam implementasi object class dan data transfer object yang digunakan.
5.
Data Access Layer Pada layer ini digunakan untuk menciptakan komponen NHibernate dari setiap class untuk melakukan aktifitas create, read, update dan delete data
Self Service Portal Modul ini menyediakan portal bagi customer yang menyediakan layanan keluhan pelanggan, bug tracking, knowledgebase dan seputar pertanyaan yang sering diajukan oleh pelanggan (FAQs).
10. Arsitektur Perangkat Lunak Desain arsitektur perangkat lunak Customer Relationship Management ini dibangun menggunakan arsitektur sistem berbasis web menggunakan ASP.NET C# 3.5 sebagai front-end dan Oracle 10g Enterprise Edition sebagai backend. Aplikasi juga memakai library BasicDatePicker yang digunakan sebagai sarana untuk memilih kalender dan ListControlsEx untuk menampilkan listbox yang dapat di isi lebih dari satu inputan dengan output satu parameter yang di set ketika listbox di-select. Komponen untuk mengakses database oracle digunakan Nhibernate untuk melakukan proses CRUD ke dalam database.
Gambar 3 Arsitektur Perangkat Lunak
11. Perancangan Perangkat Lunak Pada bagian membahas perancangan desain dari perangkat lunak yang akan dibangun meliputi : desain class diagram, desain software service, dan desain antarmuka perangkat lunak.
11.1. Web Service Layer Bagian ini akan menjelaskan perancangan Web Service yang harus disediakan oleh tiap-tiap functional domain untuk kebutuhan aplikasi lain.
6
class Class Diagram MACS
class Web
Campaign Component
System.Web.Services.WebService CampaignManagement -
serviceFactory: IServiceFactory = new DaoFactoryS...
+ +
ProvideCampaignDataDto(DateTime, DateTime) : List
ProvideTotalCampaignDataDto(DateTime, DateTime) : TotalCampaignDataDto
-
Gambar 4 Web Service Campaign Management
11.2. Presentation Layer
Save
Cancel
AUTO Assigned to
Name Status
Planning
Start Date
dd/mm/yyyy
End Date
dd/mm/yyyy
Type
Telesales
+Type
Admin
Releted Item
Currency
EURO
Budget
0
Expected Revenue
0
Actual Cost
Compaign Revenue
0
Expected Cost
Impression
TargetID: char TargetListID: char
«property» + TargetID() : char + TargetListID() : char +TargetID
+TargetListID
+TargetID Target +TargetListID
+TargetListID TargetList
-
«property» + ActualCost() : decimal + Assigned() : char + Budget() : decimal + CampaignID() : char + CampaignRevenue() : decimal + Created() : char + Currency() : string + DateEntered() : DateTime + DateModified() : DateTime + Description() : string + EmailTemplate() : char + EndDate() : DateTime + ExpectedCost() : decimal + ExpectedRevenue() : decimal + Impession() : decimal + Modified() : char + Name() : string + Objective() : string + StartDate() : DateTime + Status() : CampaignStatus + Type() : CampaingType
Compaigns
CampaignID: char +TargetListID TargetListID: char
«property» + CampaignID() : char +CampaignID + TargetListID() : char
+ ProvidingCampignData(date, date) : IList + ProvidingCampignOfTheMonth(month) : IList
ui Presentation Layer
ID
+CampaignID -
ActualCost: decimal Assigned: char Budget: decimal CampaignRevenue: decimal Created: char Currency: string DateEntered: DateTime DateModified: DateTime Description: string emailTemplate: char EndDate: DateTime ExpectedCost: decimal ExpectedRevenue: decimal Impression: decimal Modified: char Name: string Objective: string StartDate: DateTime Status: CampaignStatus Type: CampaingType
«id» - CampaignID: char
Bagian ini akan membahas perancangan antar muka dari aplikasi yang akan dibangun. Perancangan antar muka ini bertujuan untuk memberikan kemudahan dalam membangun aplikasi berdasarkan desain GUI yang sudah dibuat.
TargetListTarget
TargetListCampaign
Campaign
Assigned: char Created: char DateEntered: DateTime DateModified: DateTime Description: string ListType: TargetListType Modified: char Name: string
«id» - TargetListID: char «property» + Assigned() : char + Created() : char + DateEntered() : DateTime + DateModified() : DateTime + Description() : string + ListType() : TargetListType + Modified() : char + Name() : string + TargetListID() : char
+ListType
+Status
«enumeratio... CampaingType
«enumeratio... CampaignStatus
Telesales Email Print Web Radio Television Newsletter
Planing Active Inactive Complete In Queue Sending
«enumeration» TargetListType Default Seed Suppresion List - By Email Address Suppression List - By Id Tes
0
-
AccountName: string AddressCity: string AddressCountry: string AddressEmail: string AddressPostalcode: string AddressState: string AddressStreet: string Assigned: char Birthdate: DateTime Created: char DateEntered: DateTime DateModified: DateTime Department: string Description: string FirstName: string LastName: string Modified: char PhoneFax: string PhoneHome: string PhoneMobile: string PhoneWork: string Salutation: string Title: string
«id» - TargetID: char «property» + AccountName() : string + AddressCity() : string + AddressCountry() : string + AddressEmail() : string + AddressPostalcode() : string + AddressState() : string + AddressStreet() : string + Assigned() : char + Birthdate() : DateTime + Created() : char + DateEntered() : DateTime + DateModified() : DateTime + Department() : string + Description() : string + FirstName() : string + LastName() : string + Modified() : char + PhoneFax() : string + PhoneHome() : string + PhoneMobile() : string + PhoneWork() : string + Salutation() : string + TargetID() : char + Title() : string
0 0
Objective
Gambar 7 Class Diagram dalam komponen Campaign
Description
11.5. Data Access Layer Gambar 5 Halaman Multi-Channel Campaign
Bagian ini menjelaskan desain dari interface data acces object yang digunakan oleh sistem untuk menjalankan aplikasi.
11.3. Application Service Layer Bagian ini akan menjelaskan perancangan application service yang merupakan bisnis logic dari suatu functional domain yang disediakan oleh tiap-tiap functional domain.
class DataInterface «interface» ICampaignDao + + + + + +
class Application ICampaignASL + + + + + +
GetAllByUser(Campaign) : IList GetByAllData() : IList GetCampaignDataDto(DateTime, DateTime) : IList GetDataById(string) : Campaign GetFilterData(string, string) : IList GetTotalCampaignDataDto(DateTime, DateTime) : TotalCampaignDataDto
deleteDataASL(string) : void GetAllByUser(string) : List GetAllData() : List GetFilterData(string, string) : List saveDataASL(string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string) : void updateDataASL(string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string) : void
Gambar 8 Interface ICaseDao Gambar 6 Interface ICampaignASL
12. Uji Coba
11.4. Domain Model Layer
Pada proses uji coba diberikan beberapa skenario untuk mengetahui fungsionalitasfungsionalitas dari program. Uji coba dilakukan mulai dari masuknya input dan diproses sampai akhirnya menghasilkan output. Uji coba meliputi pengujian beberapa komponen utama dari aplikasi ini.
Bagian ini menjelaskan tentang perancangan aplikasi yang dibangun dalam bentuk class diagram. Class diagram dari aplikasi yang dibangun digambarkan pada Lampiran.
7
Tabel 1 Hasil Uji Coba Fungsional
Fungsi yang diuji Melakukan Campaign Menambah data Lead Menambah data Case Memasukkan data Knowledge Base Memasukan data Bug MengunakanPortal
14. Daftar Pustaka Hasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil
[1] Osvalds, G. (2001). Definition of Enterprise Architecture – Centric Models for The Systems Engineers, TASC Inc. [2] Martin, E.W., Brown, C.V., DeHayes, D.W., Hoffer, J.A., Perkins, W.C., 2005, “Customer Relationship Management”, Managing Information Technology (5th ed.), Pearson Prentice Hall, pp. 194-196. [3] O’Brien, James A., 2002, “Customer Relationship Management”, Management Information Systems: Managing Information Technology in the E-Business Enterprise (5th ed.), McGraw-Hill Higher Education, pp.128131. [4] [Sarno A, 2010] Sarno, R. and Herdiyanti,
13. Kesimpulan Berdasarkan hasil pengamatan selama proses perancangan, implementasi, dan uji coba perangkat lunak, maka dapat diambil kesimpulan sebagai berikut: 1.
2.
Customer Relationship Management (CRM) merupakan aplikasi yang berkaitan erat dengan aplikasi ERP, sehingga untuk kebutuhan data antar aplikasi dapat berbagi dengan memanfaatkan Service Oriented Architecture (SOA). Perancangan Aplikasi Customer Relationship Management untuk menerapkan metode SOA dengan menggunakan Service Oriented Architecture Design (SOAD) memudahkan dalam penerapan aplikasi.
A. (March 2010), “A Service Portfolio for an Enterprise Resource Planning”; International Journal of Computer Science and Network Security, ISSN – 1738 – 7906, Vol. 10, No. 3, pp. 144-156.
8