STEP BY STEP PENGEMBANGAN WEB

Posted: 24 Mei 2011 in Kuliah TI, Peminatan Software Engineering, Pemrograman Web, PHP



Sebagai developer web pemula, kadang kita bingung sendiri jika harus memulai langkah awal kita dalam mengerjakan projek aplikasi web dari awal. Apa saja yang harus kita persiapkan untuk menghasilkan aplikasi yang kuat, handal dan mudah dikustom? Untuk itulah saya mencoba mendokumentasikannya dengan artikel yang saya tulis disini.

1. Pahami masalah yang ingin dipecahkan dan pilah-pilah menjadi desain berorientasi objek.

  • Temukan objek yang paling mudah ditemukan
  • Tentukan apakah objek tersebut bias di extend dari class yang sudah pernah ada?
  • Tentukan atribut dan method tiap objek

2. Tentukan bagaimana user interface yang akan ditampilkan.

  • Seberapa jauh tampilan bias diubah-ubah tanpa mengubah source code?
  • Gunakan template engine jika memungkinkan.

3. Gunakan file konfigurasi eksternal

  • Dengan memisahkan informasi pengguna akhir diedit ke file konfigurasi terpisah kami
    mengurangi risiko modifikasi tidak disengaja kode aplikasi inti.
  • keuntungan besar lain dari file konfigurasi adalah bahwa hal itu memungkinkan Anda untuk menentukan konstanta global sebagai berikut:

define(YOUR_CONSTANT, value);

define(VERSION, ‘1.0.0’);

4. Gunakan pesan terkustomisasi

  • Simpan pesan error dalam sebuah array untuk tiap masing-masing bahasa local yang akan dipilih user :

// US English

$ERRORS[‘US’][‘NUM1_MISSING’] = “<li>You did not enter number 1.”;

$ERRORS[‘US’][‘NUM2_MISSING’] = “<li>You did not enter number 2.”;

$ERRORS[‘US’][‘OPERATOR_MISSING’] = “<li>You did not enter the operator.”;

$ERRORS[‘US’][‘DIVIDE_BY_ZERO’] = “Divide by zero is not allowed.”;

// Spanish (translated using Google

// Uncomment the following lines to get Spanish error messages

// Also, set LANGUAGE in calc2.conf to ES

// $ERRORS[‘ES’][‘NUM1_MISSING’] = “<li>Usted no incorporo el numero 1”;

// $ERRORS[‘ES’][‘NUM2_MISSING’] = “<li>Usted no incorporo el numero 2.”;

// $ERRORS[‘ES’][‘OPERATOR_MISSING’] = “<li>Usted no inscribio a operador..”;

// $ERRORS[‘ES’][‘DIVIDE_BY_ZERO’] = “Dividase por cero no se permite.”;

  • Atau definisikan bahasa yang digunakan sebagai konstanta

define(LANGUAGE, ‘US’);

$errors .= $ERRORS[LANGUAGE][‘NUM1_MISSING’];

  • Pada aplikasi yang relative besar, pesan yang ditampilkan tidak hanya berupa pesan kesalahan (error), tapi juga pesan untuk user saat berinteraksi dengan system, contoh menggunakan file :

app_name.messages -> untuk mengumpulkan variable pesan

app_name.errors -> untuk mengumpulkan variable error

5. Gunakan database relational

  • Yang menjadi pertimbangan adalah kompleksitas data, dan laju pertumbuhan data.

6. Gunakan struktur direktori portable

Sebagai contoh untuk membangun aplikasi kalender.

Dan file konfigurasi direktori tersebut adalah :

// If you have installed PEAR packages in a different

// directory than %DocumentRoot%/pear change the setting below.

$PEAR_DIR = $_SERVER[‘DOCUMENT_ROOT’] . ‘/pear’ ;

// If you have installed PHPLIB in a different

// directory than %DocumentRoot%/phplib, change the setting below.

$PHPLIB_DIR = $_SERVER[‘DOCUMENT_ROOT’] . ‘/phplib’;

// If you have installed framewirk directory in a different

// directory than %DocumentRoot%/framework, change the setting below.

$APP_FRAMEWORK_DIR = $_SERVER[‘DOCUMENT_ROOT’] . ‘/framework’;

//If you have installed this application in a different

// directory than %DocumentRoot%, chance the settings below.

$ROOT_PATH = $_SERVER[‘DOCUMENT_ROOT’];

$REL_ROOT_PATH = ‘/calendar’;

$REL_APP_PATH = $REL_ROOT_PATH . ‘/apps’;

$TEMPLATE_DIR = $ROOT_PATH . $REL_APP_PATH . ‘/templates’;

$CLASS_DIR = $ROOT_PATH . $REL_APP_PATH . ‘/class’;

$REL_TEMPLATE_DIR = $REL_APP_PATH . ‘/templates/’;

7. Akses Kontrol

Bisa menggunakan dua cara :

  • Otentikasi, seperti pembatasan menggunakan username  / password.
  • Otorisasi, seperti  alamat IP jaringan yang diizinkan / ditolak untuk mengaksesnya.

dirangkum dari buku : SECURE PHP DEVELOPMENT

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google+

You are commenting using your Google+ account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

w

Connecting to %s