Functional Spec dan Non Functional Spec

Pada tahap requirement gathering, kita harus mengumpulkan kebutuhan S/W selengkap-lengkapnya, kebutuhan fungsional maupun kebutuhan non fungsional. Kebutuhan fungsional berhubungan dengan fitur S/W yang ingin dibuat, sedangkan kebutuhan non fungsional tidak secara langsung terkait pada fitur tertentu. Kebutuhan non fungsional memberikan batasan pada kebutuhan fungional.

https://i0.wp.com/www.its-all-design.com/wp-content/uploads/2013/07/Business-Analysis-in-Pictures.pngContoh kebutuhan fungsional adalah (mis. untuk aplikasi perpustakaan) meminjam buku (mencatat peminjaman buku), mengelola denda, dll. Contoh kebutuhan non fungsional adalah keamanan (aplikasi hanya bisa diakses oleh pengguna yang berhak), performansi (respon aplikasi tidak boleh lebih dari 2 detik), dll.

Baik kebutuhan fungsional maupun non fungsional, harus dapat diukur dan dievaluasi di akhir pekerjaan, untuk menentukan keberhasilan dan kelengkapan pekerjaan.

Setelah mendapatkan requirement gathering, kita lakukan analisis dan kemudian kita buat design spesifikasi teknisnya. Dan baik kebutuhan fungsional maupun non fungsional harus disertakan didalamnya, dan dokumen yang memuat kebutuhan tersebut adalah SRS (Software Requirement Specification)

Adapun Dokumen FSD (Functional Specification Document) ialah memuat design teknis saja seperti UML, ER Diagram, UI Design

Sumber : http://yaniwid.wordpress.com/2008/10/16/kebutuhan-fungsional-vs-non-fungsional/

Advertisements

Ketika Profesi Programmer Sudah (tidak) Dihargai.

Profesi Programmer atau Developer atau Pembuat Software, bagi perusahaan Software House atau IT Company seharusnya merupakan asset yang sangat berharga, oleh karena itu profesi ini harus dimaintain agar menjadi profit center bagi perusahaan. Profesi ini terbilang cukup unik karena hampir kebanyakan profesi ini dinilai kurang bersosialisasi dengan rekan kerja di department lain atau bagian lainnya. Perlu dipahami bahwa ketika seorang programmer sedang asyik menatap dengan codingnya pada waktu yang bersamaan pikirannya sedang membayangkan input, proses dan output yang bakalan terjadi, oleh karena itu mungkin dibutuhkan konsentrasi yang tinggi dan sering lupa bersosialisasi, belum lagi kalau sedang ‘nanggung’ mentrace bugs atau sudah menemukan solusinya bisa bisa gelas minuman yang siap diminumpun disebelah-nya akan diabaikan demi ke’nanggungan’ tersebut. Dan hal ini, yang tidak bisa dipahami bagi sebagian orang dan akhirnya mencap programmer kurang
bersosialisasi atau kurang teamwork. Kemudian, sy berpikir karena memang tugas programmer adalah demikian menyelesaikan task todo nya agar menjadi program yang baik, bukan sebagai sales atau marketing yang dibutuhkan untuk bisa bersosialisasi atau mencari relationship yang banyak.

Dan profesi programmer sudah tidak dihargai lagi, ketika terlalu banyak politik office yang terjadi di internal organisasi tersebut karena yang terjadi adalah ketidak objective-fan dalam menilai sebuah masalah, dan lagi-lagi yang disalahkan adalah  programmer. Ketika organisasi yang membawahi tim development dipimpin oleh orang yang tidak paham siklus sebuah software atau SDLC (Software Development Life Cycle), dan lagi-lagi yang ditekan adalah programmer. Perlu dipahami bahwa SDLC,
harus dibangun terlebih dahulu dengan pondasi yang kuat dan sesuai best practice-nya bukan sesuai pemahaman yang keliru apalagi tidak ada proses SDLC sama sekali.

Tujuannya adalah untuk bekerja lebih efektif dan efisien, bayangkan jika SDLC tidak ada bisa-bisa programmer merangkap tester juga merangkap deployment juga plus membuat user guide juga, bisa bisa ruwet dan runyam urusannya. Kenapa mindset Software House adalah kerja rutin sampai larut malam, mungkin sampai jam 22.00 atau 23.00 setiap harinya ? apakah mengejar deadline, mengejar deadline koq rutin setiap hari ? apakah programmer tidak butuh bersosialiasi juga dengan keluarga yang sudah menunggu dirumah, dan menyalurkan hobi nya sepulang jam kerja. Bukankah kita hidup harus seimbang, antara dunia dan akhirat, antara kerja dan istirahat. Kemudian kalau kerja programmer rutin sampai larut malam berarti ada yg salah dalam prosesnya ??, Di Era Software House modern seharusnya hal tersebut tidak terjadi kalau ditunjang dengan proses yang benar dan resources yang handal plus tata kelola yang paham masalah, mungkin kerja lembur dibutuhkan jika benar-benar sudah deadline.
Intinya bukan jumlah jam kerja nya yang banyak tapi kualitas dari pekerjaan tersebut yg bagus.

Untuk menjadi Software House yang baik dan handal, programmer yang berkualitas merupakan sendi yang sangat penting, sendi berikut nya adalah proses (SDLC), sendi berikutnya adalah teamwork yang terbangun solid.

Demikian, semoga mencerahkan yang mendung.

PHP Fungsi Auto Load

Kadang dalam pengembangan aplikasi berbasis OOP dengan menggunakan PHP, para developer memisahkan class kedalam beberapa file berdasarkan fungsi dan tujuannya, hal ini mempunyai maksud agar supaya dalam pengembangan berikutnya, mempermudah untuk membaca source aplikasi tersebut.

Dengan demikian, jika ada 10 Class dalam 10 file php, maka developer harus meng-include-kan file-file tersebut kedalam file yang memanggilnya.

Untungnya, pada PHP versi 5, telah disediakan fungsi untuk mengikut sertakan class yang ingin digunakan, yaitu fungsi __autoload() dan spl_autoload_register.

Dari PHP sendiri lebih menganjurkan untuk menggunakan fungsi spl_autoload_register() ketimbang __autoload(). dikarenakan spl_autoload_register() lebih fleksibel untuk kasus autoloading class.

berikut dokumentasi fungsi  __autoload dan juga spl_autoload_register() yang lengkap.

Contoh implementasi fungsi __autoload :

file index.php berisi

<?php

function __autoload($class_name)
{
// Start from the base path and determine the location from the class name,
$base_path = ”;
//$include_file = $base_path . ‘/’ . str_replace(‘_’, ‘/’, $class_name) . ‘.php’;
$include_file = $base_path . str_replace(‘_’, ‘/’, $class_name) . ‘.php’;
echo $include_file.”<br/>”;
//return (file_exists($include_file) ? require_once $include_file : false);
return (file_exists($include_file) ? require_once $include_file : false);
}

?>

begitu file index.php ini dipanggil maka akan menjalankan otomatis akan menjalankan fungsi __autoload()

Application Lifecycle Management

Application Lifecycle Management (ALM) secara umum adalah sebuah proses/cara untuk mengatur atau memanage SDLC (Software Development Life Cycle) untuk pengembangan software aplikasi.

Application Lifecycle Management secara khusus telah menjadi definisi yang dimiliki oleh Microsoft melalui produknya
yaitu Team Foundation Server (TFS) dan Visual Studio sebagai code editornya.

TFS menawarkan fungsionalitas untuk collaboration pengembangan aplikasi seperti :
– Project Management
– Source Control
– Version Control
– Project Tracking
– Build Management
– Test Manager
– Reporting

tfs

Siapa sajakah user yang terlibat oleh adanya TFS ini :
– Project Manager
– Software Architect
– Software Developer
– Database Professional
– Software Tester

 

Macro Excel : Looping Within Column and Row

Macro Excel :

Menulis sebuah string perulangan diantara kolom (misal Kolom C sampai G) dan baris (misal Baris 3 sampai 6) dengan menggunakan Index,
berikut Macro nya ::

Sub LoopingWithinRowColumn()
Dim i  As Integer
Dim j As Integer

For i = 3 To 6
For j = 3 To 7
Cells(i, j).Value = “hallo”
Next j
Next i
End Sub

PHP dan Oracle

Mendapatkan tantangan sebuah project baru dengan menggunakan PHP dan database Oracle dimana sebelumnya blm pernah tidak perlu risau, ambil saja gan, setelah itu baru cari tahu gimana caranya hehehe :D.

Karena pada dasarnya PHP menggunakan MySQL tidak jauh berbeda dengan PHP menggunakan Oracle.

Untuk sebuah development environment di pc /laptop yang berbasis Windows OS,

1. Download dan Install Oracle yang versi XE seperti Oracle 11g XE (Express Edition),
silahkan download di Official Site nya ,

2. Setelah diinstall, jalankan Start Database pada Folder Start Menu Oracle Database 11g Express Edition

3. Kemudian Jalankan Get Started XE

4. Setelah itu persiapkan Apache dan PHP nya, silahkan Download dan Install Xampp for Windowsnya

5. Setelah terinstall xamppnya. Edit file php.ini pada folder installation xampp > PHP
hapus comment (//) extension=php_oci8.dll, kemudian save. dan Start Apache nya

My Site Has Been Hacked

Kaget pada hari ini hari rabu, 28 september 2011, pas melihat website pribadi saya http://rhantoro.net ternyata sudah dihacked oleh seseorang.

Untungnya hanya dideface saja alias diubah tampilan index.phpnya oleh sang hacker dan tidak merusak file-file yang lain terutama database,
Ternyata sy telusuri di internet, di hacked oleh id Max_Blue dan ternyata masih anak SMA di Padang dan ternyata juga nih anak suka isengin beberapa website-website orang lain.
Saya anggap nih anak masih belajar cara-cara meng hack dimulai dengan cara men-deface terlebih dahulu.

Untungnya saya masih punya file index.php di laptop, terus sy upload lagi filenya.

So far, membuat sy cukup aware tentang celah security yang musti saya patch