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.

http://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/

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

 

Query Dual di Oracle

Sepengatahuan sy, ketika mau melakukan query untuk temporary view saja tanpa ada table yang akan di query seperti di MySQL  seperti :

SELECT ‘temp’ as ‘field’

akan berjalan di MySQL dengan Output

++++++++++++++++++
field
temp
++++++++++++++++++

Tetapi di Oracle tidak akan jalan seperti itu syntaxnya berbeda, di Oracle spt :

SELECT ‘temp’ FROM DUAL

outputnya :
++++++++++++++++++
temp
temp
++++++++++++++++++

dimana DUAL adalah reserved syntaxnya Oracle untuk temporary table.

 

Kisah Penjaga Kebun Buah-buahan

Alkisah ada seorang penjaga kebun buah-buahan bernama Mubarok. Dia adalah orang jujur dan amanah. Sudah bertahun-tahun ia bekerja di kebun tersebut.

Suatu hari majikannya, sang pemiliki kebun, datang mengunjungi kebunnya. Ia sedang mengalami masalah yang pelik dan sulit untuk dicarikan jalan keluarnya. Putrinya yang sudah beranjak dewasa tumbuh menjadi seorang gadis yang cantik dan banyak pria yang ingin mempersuntingnya.

Yang menjadi permasalahan baginya adalah semua laki-laki yang ingin mempersunting putrinya adalah kerabat dan teman dekatnya. Ia harus memilih salah satu dari mereka, tetapi ia khawatir jika menyinggung bagi kerabat yang tidak terpilih.

Sambil beristirahat dan menenangkan pikiran, ia mencoba mencicipi hasil kebunnya. Dipanggillah Mubarok, penjaga kebun itu.

“Hai Mubarok, kemarilah! Tolong ambilkan saya buah yang manis!” perintahnya.

Dengan sigap Mubarok segera memetik buah-buahan yang diminta, kemudian diberikan kepada majikannya.

Ketika buah tersebut dimakan sang majikan, ternyata rasanya masam sekali. Majikan Mubarok berkata, “Wahai Mubarok! Buah ini masam sekali! Berikan saya buah yang manis!” pinta sang majikan lagi.

Untuk kedua kalinya, buah yang diberikan Mubarok masih terasa masam. Sang majikan terheran-heran, sudah sekian lama ia mempekerjakan Mubarok, tetapi mengapa si penjaga kebun ini tidak mampu membedakan antara buah masam dan manis? Ah, mungkin dia lupa, pikir sang majikan. Dimintanya Mubarok untuk memetikkan kembali buah yang manis. Hasilnya sama saja, buah ketiga masih terasa masam.

Rasa penasaran timbul dari sang majikan. Dipanggillah Mubarok, “Bukankah kau sudah lama bekerja di sini? Mengapa kamu tidak tahu buah yang manis dan masam?” tanya sang majikan.

Mubarok menjawab, “Maaf Tuan, saya tidak tahu bagaimana rasa buah-buahan yang tumbuh di kebun ini karena saya tidak pernah mencicipinya!”

“Aneh, bukankah amat mudah bagimu untuk memetik buah-buahan di sini, mengapa tidak ada satu pun yang kaumakan?” tanya majikannya.

“Saya tidak akan memakan sesuatu yang belum jelas kehalalannya bagiku. Buah-buahan itu bukan milikku, jadi aku tidak berhak untuk memakannya sebelum memperoleh izin dari pemiliknya,” jelas Mubarok.

Sang majikan terkejut dengan penjelasan penjaga kebunnya tersebut. Dia tidak lagi memandang Mubarok sebatas tukang kebun, melainkan sebagai seseorang yang jujur dan tinggi kedudukannya di mata Allah SWT. Ia berpikir mungkin Mubarok bisa mencarikan jalan keluar atas permasalahan rumit yang tengah dihadapinya.

Mulailah sang majikan bercerita tentang lamaran kerabat dan teman-teman dekatnya kepada putrinya. Ia mengakhiri ceritanya dengan bertanya kepada Mubarok, “Menurutmu, siapakah yang pantas menjadi pendamping putriku?”

Mubarok menjawab, “Dulu orang-orang jahiliah mencarikan calon suami untuk putri-putri mereka berdasarkan keturunan. Orang Yahudi menikahkan putrinya berdasarkan harta, sementara orang Nasrani menikahkan putrinya berdasarkan keelokan fisik semata. Namun, Rasulullah mengajarkan sebaik-baiknya umat adalah yang menikahkan karena agamanya.”

Sang majikan langsung tersadar akan kekhilafannya. Mubarok benar, mengapa tidak terpikirkan untuk kembali pada Al-Qur’an dan As-Sunnah. Islamlah solusi atas semua problematika umat manusia.

Ia pulang dan memberitakan seluruh kejadian tadi kepada istrinya. “Menurutku Mobaroklah yang pantas menjadi pendamping putri kita,” usulnya kepada sang istri. Tanpa perdebatan panjang, sang istri langsung menyetujuinya.

Pernikahan bahagia dilangsungkan. Dari keduanya lahirlah seorang anak bernama Abdullah bin Mubarok. Ia adalah seorang ulama, ahli hadis, dan mujahid. Ya, pernikahan yang dirahmati Allah SWT dari dua insan yang taat beribadah, insya Allah, akan diberi keturunan yang mulia.

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

Follow

Get every new post delivered to your Inbox.