## ISSN 2085-4579

## Chatbot Kantor Pelayanan Pajak Pratama Cikupa pada Platform LINE
Mustikaning H. D. Sitoresmi 1 , Wella 2
1, 2 Program Studi Sistem Informasi, Fakulitas Teknik Informatika, Universitas Multimedia Nusantara, Tangerang, Indonesia
2 wella@umn.ac.id
Diterima 24 Februari 2020
Disetujui 15 Juni 2020
Abstract —The  Primary  Tax  Service  Office  has  used technology  in  delivering  information  about  taxes,  such as the existence of an official tax portal service site as a forum  for  delivering  information  about  requirements, announcements  and  provisions  related  to  taxes  for  the general  public.  In  addition,  there  are  also  online applications  that  are  under  the  auspices  of  the Directorate General of Taxation which serve as services related  to  online  tax  reporting  for  the  general  public. However,  the  Primary  Tax  Service  Office  does  not  yet have a service to provide services to users quickly, easily and  can  be  used  at  any  time,  therefore  a  chatbot application  is  created  that  can  answer  tax-related questions  that  can  be  accessed  at  any  time  easily  and quickly.  This  chatbot  is  built  using  the  hypertext preprocessor  programming  language  and  database using  MySQL  and  the  Artificial  Intelligence  Markup Language  which  contains  a  collection  of  patterns  and responses  that  can  be  used  by  chatbots  to  search answers  to  each  sentence.  The  software  development methodology used is the Rapid Application Development (RAD)  method.  This  research  produces  a  chatbot application  that  can  help  users  by  answering  questions about taxes.
Index Terms— Artificial Intelligence, Chatbot,
Markup Language, Rapid Application Development

## I. P ENDAHULUAN
Direktorat  Jenderal  Pajak  sudah  melakukan peningkatan  pelayanan  dengan  memanfaatkan  media telepon  sebagai  alat  untuk  berkomunikasi  dengan wajib  pajak  dan  menggunakan  teknologi  dalam penyampaian  informasi  mengenai  pajak,  seperti adanya  situs  resmi  pelayanan  pajak  sebagai  wadah penyampaian  informasi  tentang  syarat,  pengumuman serta kententuan terkait pajak bagi masyarakat umum. Di  samping  itu  juga  ada  aplikasi online yang  berada dibawah  naungan  Direktorat  Jenderal  Pajak  yang berperan  sebagai  layanan  yang  berhubungan  dengan pelaporan  pajak  secara online bagi  khalayak  umum dengan tujuan dapat meningkatkan kesadaran masyakarakat untuk patuh terhadap pajak.
Berdasarkan  wawancara  dengan  pihak  Direktorat Jenderal  Pajak,  dalam  beberapa  kondisi  belum mencapai  kemaksimalan  sebagai  sarana  penyampaian informasi  seputar  pajak  terutama  jika  ditargetkan
untuk menjadi alat penyampaian informasi yang cepat dan  interaktif  akibat  dari  keterbatasan  waktu  karena harus  menunggu  respon  dari  pihak  admin  ditambah lagi  dengan  jumlah  wajib  pajak  di  Indonesia  yang meningkat  dari  tahun  ke  tahun  dan  kurangnya pengetahuan  wajib  pajak  akan  peraturan  perpajakan yang menyebabkan mereka enggan untuk melapor pajak [1].
Suatu program yang dapat membantu permasalahan  tersebut  adalah chatbot [2]. Chatbot adalah  sebuah  program  komputer  yang  dirancang untuk  memberikan  respon  dari  sebuah  percakapan dengan  satu  atau  lebih  manusia.  Hasil  dari  penelitian ini  adalah  berupa  sistem chatbot yang  mampu melakukan  percakapan  antara  sistem  dengan  manusia dengan cara menjawab pertanyaan yang diberikan oleh pengguna, dan mencari jawaban dengan menggunakan teknologi  internet  yang  dapat  membantu  masyarakat dalam hal informasi seputar pajak [2].

## II. K AJIAN P USTAKA

## A. Chatbot
Chatbot adalah  sebuah  program  komputer  yang dirancang  untuk  memberikan  respon  dari  sebuah percakapan  dengan  satu  atau  lebih  manusia  Secara harfiah chatbot berasal  dari  dua  kata  yaitu chat dan bot . Chat dapat  diartikan  sebagai  sebuah  kegiatan komunikasi  yang  didukung  dengan  media  dan  sarana berupa  tulisan  sedangkan bot merupakan  program yang  dapat  memberikan  respon  dari  input  menjadi output berupa jawaban [1].

## B. Artificial Intelligence Markup Language (AIML)
Artificial  Intelligence  Markup  Language (AIML) adalah  sebuah  bahasa  yang  merupakan  turunan  dari Extensible Markup Language (XML) yang digunakan untuk  mendeskripsikan  mengenai  objek  data  dan perilaku program komputer yang memprosesnya.
AIML  digunakan  oleh chatbot untuk  penelusuran jawaban setiap kalimat yang berisi kumpulan pola dan respon.  Interpreter  AIML  diperlukan  untuk  menerima input  dan  melakukan  penelusuran  jawaban  pada
dokumen  AIML.  Saat  ini  tersedia  banyak  interpreter AIML  dalam  berbagai  bahasa  pemrograman  sehingga proses  pembuatan chatbot dapat  terfokus  pada penyusunan dokumen [1].

## C. LINE
Messenger LINE  merupakan  salah  satu  aplikasi pesan  instan  ( instant  messaging )  untuk smartphone dan  PC.  Line  diluncurkan  pada  tanggal  23  Juni  2011 oleh  NHN  Jepang  setelah  gempa  Tohoku.  Mereka memutuskan  untuk  merancang  sebuah  aplikasi  yang dapat  diakses  oleh smartphone ,  tablet  dan desktop yang  bekerja pada jaringan  internet  dan  akan  layanan ini  secara  gratis  dapat  digunakan,  selain  untuk melakukan kirim pesan teks, LINE juga bisa mengirim gambar,  video, pesan  suara  dan  melakukan  panggilan suara secara gratis [3].

## D. Hypertext Preprocessor (PHP)
Bahasa  PHP  dapat  dikatakan  menggambarkan beberapa  bahasa  pemrograman  seperti  C,  Java,  dan Perl serta mudah untuk dipelajari, pemrosesan datanya dilakukan  pada  sisi  server  kemudian  hasilnya  akan dikirim kepada client [4].

## E. Rapid Application Development (RAD)
Perangkat  lunak Rapid  Application  Development yang  tahapan-tahapannya  di  gambar  dengan  bagan  di bawah ini:
Gambar 1. Rapid Application Model [5]
Tahapan-tahapan  yang  dilakukan  dapat  dijelaskan sebagai berikut:
1. Requirement Planning Phase
Fase perencanaan kebutuhan menggabungkan perencanaan  dan  fase  analisis  sistem  SDLC. Pengguna,  pengelola,  dan  TI  anggota  staf mendiskusikan  dan  menyetujui  kebutuhan bisnis,  ruang  lingkup  proyek,  batasan,  dan sistem Persyaratan. Fase perencanaan kebutuhan  berakhir  ketika  tim  setuju  pada masalah  utama  dan  mendapatkan  otorisasi
manajemen untuk
melanjutkan ke fase berikutnya.
2. User Design Phase
Selama  fase  desain,  pengguna  berinteraksi dengan  analis  sistem  dan  mengembangkan model  yang  mewakili  semua  proses  sistem, output ,  dan  input.  Desain  pengguna  adalah proses  interaktif  dan  berkelanjutan  yang memungkinkan  pengguna  untuk  memahami, memodifikasi,  dan  akhirnya  menyetujui model  kerja  dari  sistem  yang  memenuhi kebutuhan mereka.
3. Construction Phase Fase konstruksi berfokus pada pengembangan  program.  Namun  dalam RAD,  pengguna  terus  berpartisipasi  dan masih  dapat  menyarankan  perubahan  atau peningkatan sistem.
4. Cutover Phase Fase cutover adalah  fase  akhir  dalam implementasi  SDLC  yaitu  konversi  data, pengujian,  peralihan  ke  sistem  baru,  dan pelatihan  pengguna.  Hasil  dari,  sistem  baru dibangun, dikirimkan kepada pengguna [5].

## F. Use Case Diagram
Sebuah Use Case Diagram menggambarkan secara sederhana  fungsi-fungsi  utama  dari  sistem  dan berbagai user yang  akan  berinteraksi  dengan sistem tersebut.
Diagram  ini  menunjukkan  fungsionalitas  suatu sistem  atau  kelas  dan  bagaimana  sistem  ini berinteraksi  dengan  dunia  luar,  misalnya  menyusun sebuah  daftar  layanan  kesehatan. Use  Case  Diagram dapat digunakan untuk  memperoleh kebutuhan sistem dan memahami bagaimana sistem seharusnya bekerja. Komponen  yang  terdapat  pada  sebuah Use  Case
Diagram terdiri dari:
a. Actor :  pengguna  perangkat  lunak  aplikasi, bisa  berupa  manusia,  perangkat  keras  atau sistem  informasi  yang  lain.  Actor  dapat memasukan  informasi  ke  dalam  sistem, menerima informasi dari sistem, atau keduanya.
b. Use  case :  perilaku  atau  apa  yang  dikerjakan pengguna  sistem  aplikasi,  termasuk  interaksi antar actor dengan perangkat lunak aplikasi tersebut [6].

## G. Activity Diagram
Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu  yang ada pada perangkat lunak.

## ISSN 2085-4579

## H. Class Diagram
Diagram kelas atau Class Diagram menggambarkan struktur sistem dari segi pendefinisian  kelas-kelas  yang  akan  dibuat  untuk membangun  sistem.  Kelas  memiliki  apa  yang  disebut atribut  dan  metode  atau  operasi.  Atribut  merupakan variabel-variabel  yang  dimiliki  oleh  suatu  kelas. Operasi  atau  metode  adalah  fungsi-fungsi  yang dimiliki oleh suatu kelas.
Susunan  struktur  kelas  yang  baik  pada  diagram kelas sebaiknya memiliki jenis-jenis kelas berikut:
1. Kelas main . Kelas yang memiliki fungsi awal dieksekusi ketika sistem dijalankan.
2. Kelas  yang  menangani  tampilan  sistem. Kelas  yang  mendefinisikan  dan  mengatur tampilan ke pemakai.
3. Kelas  yang  diambil  dari  pendefinisian use case .  Kelas  yang  menangani  fungsi-fungsi yang harus ada diambil dari pendefinisian use case , kelas ini biasanya disebut dengan kelas proses  yang  menangani  proses  bisnis  pada perangkat lunak.
4. Kelas  yang  diambil  dari  pendefinisian  data. Kelas yang digunakan untuk memegang atau membungkus  data  menjadi  sebuah  kesatuan yang  diambil  maupun  akan  disimpan  ke basis data [7].

## I. MySQL
Banyaknya  fitur  MySQL  membuat database ini tetap menjadi sistem basis data yang hebat. Kecepatan adalah  salah  satu  fiturnya  yang  menonjol.  MySQL mampu  menangani  puluhan  ribu  tabel  dan  miliaran baris data dengan cepat dan lancar.
Mesin  penyimpanan,  yang  menangani query dan menghubungkan  pernyataan  SQL  pengguna  dengan penyimpanan,  adalah  perangkat  lunak  yang  sangat penting  dalam  semua  DBMS.  MySQL  menawarkan beberapa  mesin  penyimpanan  dengan  keunggulan yang  berbeda.  Beberapa  diantaranya  adalah  mesin penyimpanan transaction-safe yang  memperbolehkan pengembalian data ke keadaan sebelumnya ( rollback ). Selain  itu,  MySQL  mempunyai  banyak  sekali  fungsi- fungsi  di  dalamnya.  MySQL  juga  sangat  terkenal karena kecepatan dan peningkatan kestabilan [8].

## J. Black-Box Testing
Black-Box testing berfokus  pada  persyaratan fungsional  perangkat  lunak  yang  memungkinkan engineers  untuk  memperoleh  set  kondisi  input  yang sepenuhnya akan melaksanakan persyaratan fungsional  untuk  sebuah  program  [9].  Adapun  teknik pengujian  Black-Box  yang  di  gunakan  dalam penelitian sebagai berikut:
1. Acceptance  testing adalah  pengujian  terakhir sebelum  sistem  dipakai  oleh user yang melibatkan  pengujian  dengan  data  dari pengguna sistem.
2. User  acceptance  test adalah  uji  terima perangkat  lunak  yang  dilakukan  ditempat pengguna oleh user perangkat lunak tersebut. Tujuan  pengujian  ini  adalah  untuk  menguji apakah sistem sudah sesuai dengan apa yang tertuang dalam spesifikasi fungisonal sistem ( validation ).

## III. M ETODE P ENELITIAN

## A. Gambaran Umum Objek Penelitian
Objek  penelitian  adalah  Kantor  Pelayanan  Pajak Pratama  Cikupa  yang  beralamat  di  Jalan  Scientia Boulevard  Blok  U  No.  5  Summarecon  Gading Serpong,  Curug  Sangereng,  Kelapa  Dua,  Curug Sangereng, Tangerang, Banten 15810.

## B. Metode Penelitian
Metode Rapid  Application  Development (RAD) terdiri  dari requirements  planning  phase,  user  design phase, construction phase , dan cutover phas e.
1. Requirements  planning  phase .  Pada  tahapan yang  pertama  yaitu requirements  planning melakukan  analisis  terhadap  permasalahan dan  kebutuhan  yang  sedang  terjadi  di lapangan. Analisis permasalahan dan kebutuhan dilakukan dengan membuat kuesioner yang disebarkan kepada para wajib pajak  yang  dapat  dijadikan  acuan  dalam pembuatan chatbot .
2. User design phase . Proses selanjutnya adalah membuat  rancangan  desain  dan  komponen- komponen  system chatbot yang  dibangun seperti Use  Case  Diagram , Flowchart dan Entity  Relationship  Diagram dan  nantinya digunakan sebagai acuan untuk
membuat chatbot .
3. Construction phase . Selanjutnya, jika seluruh proses  sebelumnya  telah  dilakukan  maka dilakukan  fase  kontruksi  yaitu  pembuatan chatbot sesuai  dengan  desain  yang  telah dibuat dalam fase sebelumnya. Fase kontruksi dibuat dengan menggunakan bahasa pemrograman PHP dan AIML sebagai metodenya serta MySQL sebagai database -nya.
4. Cutover  phase .  Setelah chatbot selesai dibangun,  maka  dilakukan  proses  pengujian atau testing aplikasi  untuk  menguji  atau mengetahui  kualitas  dari chatbot yang  telah dibangun dengan menggunakan metode User Acceptance User (UAT) dengan menyebarkan kuesioner untuk 10 orang wajib
ISSN 2085-4579
pajak  dan  5  orang  bagian  pelayanan  Pajak Pratama Cikupa. Selanjutnya, pihak perusahaan berhak untuk melakukan evaluasi terhadap chatbot tersebut,  apakah chatbot tersebut sesuai dengan kebutuhan perusahaan atau  tidak.  Apabila chatbot sudah  sesuai dengan  kebutuhan  perusahaan,  maka chatbot
siap untuk
diimplementasikan pada perusahaan tersebut.

## IV. A NALISIS DAN H ASIL P ENELITIAN

## A. Requirement Planning Phase
Pada  tahap  ini  dilakukan  analisis  terhadap permasalahan  dan  kebutuhan  yang  sedang  terjadi  di lapangan.  Analisis  permasalahan  dan  kebutuhan dilakukan dengan membuat kuesioner yang disebarkan kepada  5  pegawai  pajak  di  Kantor  Pelayanan  Pajak Pratama  Cikupa  dan  juga  89  responden  para  wajib pajak yang dapat dijadikan acuan dalam pembuatan chatbot .
Kuesioner  yang  disebarkan  kepada  5  pegawai pajak  dan  para  wajib  pajak  dengan  menggunakan googledocs dapat  dilihat  pada  halaman  lampiran  01- 02. Setelah dilakukan penyebaran kuesioner kepada 5 pegawai pajak dan hasilnya terdapat pada Tabel 1.
Tabel 1. Hasil Kuesioner kepada Pegawai Pajak

## Pertanyaan Hasil
Pertanyaan Hasil Hal  apa  yang  biasanya sering dipertanyakan oleh para  wajib  pajak  tentang pajak perorangan?
 Cara  lapor  dan  bayar  pajak  untuk usahawan orang pribadi
 Berapa pajak yang dipotong
 Konsekuensi jika tidak lapor pajak
 Apakah  pelaporan  pajak  bisa online  Apakah  pembuatan  NPWP  orang pribadi dapat diwakilkan  Apakah NPWP seumur hidup  Kapan  batas  waktu  pelaporan pajak  Berapa pajak yang harus dibayar  Bagaimana  cara  melapor  pajak secara online
Berapa  lama  ±  durasi waktu untuk menunggu 1 orang  dalam  melaporkan pajak? 5 – 10 menit
Pada  Tabel  1  menunjukkan  hasil  dari  kuesioner yang telah disebarkan kepada 5 pegawai pajak. Setelah melakukan  penyebaran  kuesioner  kepada  5  pegawai pajak  dan  mendapatkan  hasilnya  maka  langkah selanjutnya  adalah  penyebaran  kuesioner  kepada  89 responden para wajib pajak dan memperoleh hasilnya.
Berdasarkan  dari  hasil  kuesioner  untuk  pegawai pajak dan juga wajib pajak maka adapun permasalahan yang ditemukan adalah semua layanan yang dilakukan Direktorat Jenderal Pajak belum mencapai kemaksimalan  sebagai  sarana  penyampaian  informasi seputar pajak terutama jika ditargetkan untuk menjadi
alat  penyampaian  informasi  yang  mudah  dan  cepat akibat dari keterbatasan waktu karena harus menunggu respon dari pihak admin ditambah lagi dengan jumlah wajib pajak di Indonesia yang meningkat dari tahun ke tahun  dan  kurangnya  pengetahuan  wajib  pajak  akan peraturan  perpajakan  yang  menyebabkan  mereka enggan untuk melapor pajak.
Berdasarkan  permasalahan  yang  telah  diuraikan diatas,  solusi  yang  ditawarkan  adalah  sistem chatbot yang  mampu  melakukan  percakapan  antara  sistem dengan  manusia  dengan  cara  menjawab  pertanyaan yang  diberikan  oleh  pengguna,  dan  mencari  jawaban dengan  menggunakan  teknologi  internet  yang  dapat membantu masyarakat dalam hal informasi seputar pajak.
Dapat  disimpulkan  bahwa  kebutuhan  fungsional sistem chatbot yang dibutuhkan antara lain:
1. Fungsi Informasi Umum
2. Fungsi Informasi Pajak Orang Pribadi
3. Fungsi Informasi Pajak Online
4. Daftar Antrian

## B. User Design Phase
Gambar 2. Use Case Diagram

## ISSN 2085-4579
Gambar 3. Class Diagram chatbot pajak
Pada  Gambar  3  menunjukkan  gambar class diagram yang  terdapat  dalam  sistem chatbot kppcikupa, global_models ¬menjadi super  class dimana  terdapat  tiga  class  lainnya  yaitu  admin, login , welcome .  Pada class admin  terdapat field-field yang berhubungan  dengan create,  read,  update,  delete dalam  tabel  informasi  dan method yang  berhubungan dengan  informasi  yang  dilakukan  oleh  admin.  Pada class  login terdapat field-field seperti usernam e  dan password yang  digunakan  untuk  melakukan login ke dalam panel  admin serta method yang  digunakan untuk  melakukan login .  Pada class  welcome terdapat field-field yang  berhubungan  dengan  antrean  dan history chat serta method yang juga berkaitan.
Gambar 4. Activity Diagram tambah teman
Pada  Gambar  4  menunjukkan  proses activity diagram  untuk  proses  tambah  teman  dimana  proses tambah  teman  dimulai  dari  pengguna  melakukan proses add kppcikupa  pada  LINE  pribadi  mereka, setelah bot berhasil ditambahkan sebagai teman  maka pengguna  akan  mendapatkan welcome  message dari bot kppcikupa.

## C. Contruction Phase
C.1 Halaman Login Panel Admin
Gambar 5. Tampilan login panel admin
Pada  Gambar  5  merupakan  tampilan  halaman  ini berisi  inputan username dan password .  Admin  akan memasukkan username dan password yang digunakan untuk melakukan login ke dalam panel admin.

## C.2 Halaman Tabel Informasi
Gambar 6. Tampilan tabel informasi di panel admin
Pada  Gambar  6  merupakan  tampilan  halaman  ini master  data  tabel  informasi.  Admin  dapat  melakukan penambahan,  perubahan  bahkan  penghapusan  terkait dengan data informasi yang dibutuhkan.

## C.3 Tampilan Menu Bantuan

## Gambar 7. Tampilan menu bantuan
Pada  Gambar  7  merupakan  tampilan  menu Bantuan.  Ketika  pengguna  mengetik  kata  ‘bantuan’ maka bot akan  merespon  tentang  menu-menu mengenai  informasi  pajak  seperti  informasi  umum,
informasi  pajak  orang  pribadi,  informasi online pajak serta daftar antrean.

## D. Cutover Phase
Pada  fase  ini  dilakukan pengujian  terhadap  sistem chatbot yang  telah  dibangun.  Pengujian  pada  sistem ini dilakukan dengan menggunakan metode Black-Box user acceptance test .
Hasil  pengujian  Black-Box user  acceptance  rest dapat  dilihat  pada  Tabel  2.  Hasil  perhitungan  skor setiap  responden  dihitung  dengan  menggunakan metode  mencari  interval  nilai  persentase  likert  yaitu dengan  mencari  nilai  persentase  likert  terlebih dahulu dengan rumus p= frekuensi jawaban baik kuesioner/jumlah  responden  *  100.  Keterangan:  1  = Kurang, 2 = Cukup, 3 = Baik
Tabel 2. Hasil pengujian Black Box UAT
Tabel 3. Interval nilai persentase likert Hasil persentase likert (X) Kategori X di antara 0% - 33,2% Kurang X di antara 33,3% - 66,5% Cukup X di antara 66,6% - 100% Baik
Berdasarkan  dari  pengujian  yang  telah  dilakukan dapat  diketahui  bahwa chatbot yang  dibangun  dapat memudahkan  dalam  pemberian  informasi  mengenai pajak. Hal ini dikarenakan total persentase likert yang dihasilkan  adalah  93,125%  dan  berada  pada  kategori baik berdasarkan Tabel 2.

## V. S IMPULAN
Berdasarkan  hasil  implementasi  dan  pengujian yang  telah  dilakukan  pada  aplikasi chatbot pada Kantor Pelayanan Pajak Pratama Cikupa dapat diambil kesimpulan bahwa chatbo t berdasarkan LINE developer telah berhasil dibuat dan diterima oleh para pengguna dengan baik.

## U CAPAN T ERIMA K ASIH
Terima  kasih  kepada  orang  tua,  kelurga  serta teman-teman semua, yang telah memberikan semangat

## ISSN 2085-4579
dan  dukungannya  hingga  pengerjaan  penelitian ini selesai.

## D AFTAR P USTAKA
[1] Sepri,  D.  (2014).  Chatbot  Informasi  UIN  Suska  Riau  bagi Calon  Mahasiswa  Menggunakan  Metode  Case  Base Reasoning.
[2] Suryani, D.,  &  Amalia, E.  L.  (2017).  Aplikasi  Chatbot Objek Wisata Jawa Timur Berbasis AIML. SMARTICS Journal.
[3] Fitrianur,  I.  (2016).  Analisis  Efek  Penggunaan  Media  Sosial Line  Messenger  pada  Remaja  di  SMK  Negeri  1  Samarinda. eJournal Ilmu Komunikasi.
[4] Firman,  A.,  Wowor,  H.  F.,  &  Najoan,  X.  (2016).  Sistem Informasi Perpustakaan Online Berbasis Web.
[5] Shelly,  G.  B.,  &  Rosenblatt,  H.  J.  (2012).  Systems  Analysis and Design, Ninth Edition.
[6] Syafitri,  Y.  (2016).  Pemodelan  Perangkat  Lunak  Berbasis UML  Untuk  Pengembangan  Sistem  Pemasaran  Akbar Entertainment Natar Lampung Selatan. Jurnal Cendikia.
[7] Sukamto,  R.  A.,  &  Shalahuddin,  M.  (2013).  Rekayasa Perangkat  Lunak  Terstruktur  dan  Berorientasi  Objek. Bandung: Informatika.
[8] Silalahi,  M.,  &  Wahyudi,  D.  (2018).  Perbandingan Performansi  Database  MongoDB  dan  Mysql  dalam  Aplikasi File Multimedia Berbasis Web. Cbis Journal.
[9] Pressman,  R.  S.  (2010).  Software  Engineering:  Practioner's Approach Seventh Edition. New York: McGraw Hill.