Killjols Killjols
Get Update Everyday Like Our FB Pages

Wednesday

HAHAHA HAHAHA HAHAHA HAHAHA HAHAHA
Chord List: # | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z : TOP 10

Kakitangan Projek Perisian

Kakitangan Projek Perisian

Pengurus Projek , Pengurus Program , Pengeluar
*Project Manage , Program Manager , Producers.

Memandu projek dari awal hingga akhir . Mereka biasanya bertanggungjawab untuk menulis spec produk ,menguruskan jadual dan membuat keputusan kritkal dan melakukan keseimbangan.

Arkitek atau Jurutera Sistem 
*Architect or Sistem Engineers

Adalah pakar teknikal dalam pasukan . Mereka biasanya sangat berpengalaman  dan oleh kerana itu mereka layak untuk mereka-bentuk kesuluruhan senibina sistem atau perisian. Mereka berkerja sangat rapat dengna pengaturcara(programmers)

Pengaturcara, Pembina atau Pengekod
*Programmers , Developer , Coders

Orang yang menulis perisian atau program , memperbaiki bugs yang dijumpai . Mereka berkerja rapat dengan arkitek dan pengurus projek untuk membina perisian dan mereka berkerja rapat dengan projek manager dan penguji(tester) untuk memperbaiki bugs.

Penguji atau Penjamin Kualiti(QA)
*Tester or Quality Assurance(QA)

Bertanggungjawab untuk mencari dan melaporkan masalah dalam produk perisian. Merka berkerjasama dengan semua ahli pasukan kerana mereka membangun dan menjalankan ujian mereka, dan mekaporkan masalah yang mereka temui.

Pengurus Konfigurasi
*Configuration Manager or Builder

Mengendalikan proses mengumpul semua perisian yang ditulis oleh pengatrucara dan semua dokumentasi yang  telah ditulis oleh semua dan menjadikan semua kedalam satu pakej .



SHARE SHARE SHARE

Tuesday

HAHAHA HAHAHA HAHAHA HAHAHA HAHAHA
Chord List: # | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z : TOP 10

Komponen Utama dalam Produk Perisian.

Komponen Utama dalam Perisian Produk


Pembangunan perisian secara komersial melibatkan berpuluh-puluh malahan sehingga beri-ribu  ahli pasukan(team members) untuk berkerja dalam pelbagai peranan yang berbeza di bawah jadual yang ketat

Sebagai seorang pelajar atau sekadar hobi  yang membangunkan perisian atau perisian yang kecil adalah sangat berbeza dari perisian yang komersial. Pada pembangunan perisian komersial seseorang itu haru berkerja dalam satu pasukan yang saling berkerja sama secara individu atau berkumpulan.

Perisian boleh datang dalam pelbagai bentuk seperti VCD , CD , DVD atau lain-lain. Ada yang datang dalam bentuk kotak yang mempunyi isi dan kepingan-kepingan tersembunyi dan juga data penerangan.

Banyak usaha diperlukan untuk membangunkan produk perisian .

Pembangunan produk perisian melibatkan banyak prosedur dan abstrak seperti:-

  • Produk Spesifikasi (Product Specification)
  • Kajian Produk(Product Reviews)
  • Dokumen Rekabentuk(Design Document)
  • Penjadualan(Schedule)
  • Feedback dan versi terdahulu(Feedback and previous version)
  • Maklumat Persaingan(Competitive Information)
  • Pelan Ujian (Test Plan)
  • Survei Pelanggan(Customer Surveys)
  • Kebolehgunaan Data(Usability Data)
  • Look and feel Specification
  • Perisian Arkitek dan Kod Perisian(Software Architecture and Software Code)

.

Kehendak Pelanggan Dari Sudut Pembangunan Perisian


Pasukan Pembangunan produk perisian haruslah mengetahui apa yang dikehendaki oleh pelanggan. Sesetengah pasukan hanya meneka/mengagak keperluan pelanggan tapi kebanyakan kumpulan pembangunan menggunakan cara mengumpul perisian , maklumat produk yang kompetitif, ulasan majalan , fokus pada satu kumpulan pengguna, dan terdapat banyak lagi kaedah yang lain , ada yang formal dan ada yang tidak. 

Semua maklmuat ini dikaji , didalami dan ditafsirkan untuk menentukan dengan tepat apa ciri-ciri produk perisian yang perlu ada. 

Fokus secara kumpulan

Fokus secara kumpulan sering dianjurkan oleh syarikat-syarikan kaji selidik bebas yang sering kita lihat di pusat membeli belah membuka pejabatnya di sana. 

Jurunilai atau surveyor biasanya akan berjalan di sekitar pusat membeli belah dengan papan klip dan meminta  orang ramai untuk mengambil bahgia dalam kajian mereka. 

Mereka akan bertanyakan soalan seperti:-

"Adakah anda mempunya PC di rumah?"
"Adakah anda menggunakan perisian X?"
"Berapa banyak masa anda habiskan didalam talian selama sehari"

Setelah demografi mereka diambil , mereka akan menjemput anda untuk kembali beberapa jam selepas itu untuk mengambil bahagian dengan beberapa orang lain dalam fokus secara kumpulan dan mereka akan bertanyakan soalan dengan lebih terperinci mengenai perisian komputer. Anda akan ditunjukan beberapa perisian dan diminta untuk memilih perisian kegemaran anda. Semua maklumat akan dikumpul secara sulit dan anda akan dibayar untuk masa anda.

Spesifikasi.


Hasil Kajian keperluan(Requirement) data adalah benar benar data yang mentah (RAW) . Ia tidak menggambarkan produk yang dicadangkan, ia mengesahkan sahaja sama ada ia perlu atau tidak diwujudkan dan ciri-ciri yang pelanggan mahukan.

Spesifikasi Mengambil segala maklumat ini ditambah apa-apa kehentad tidak dinyatakan tetapi wajib dan benar-benar menentukan apa produk ia akan jadi, apa yang ia lakukan dan bagaimana ia akan kelihatan kelak.

Format spesifikasi terlalu banyak, beberapa syarikat terutamanya produk-produk pembangunan kerajaan , aeroangkasa, kewangan dan perubatan menggunakan proses yang sangat ketat dengan banyak sekatan dan imbangan.

Hasilnya adalah spesifikasi yang sangat terperinci dan menyeluruh yang dimuktamadkan, bermakna ia tidak boleh diubah kecuali dibawah keadaan yang sangat diperlukan(extreme condition) . Setiap orang dalam pasukan pembangunan yang tahu apa yang mereka buat.


Penjadualan (Schedule)


Sebagai projek yang membangun dalam saiz dan kerumitan , dengan banyak kepingan dan ramai yang terbabit  dalam penyumbangan kepada produk , ia menjadi perlu untuk mempunyai beberapa mekanisma untuk mengesan kemajuan sesuatu projek. 

Ini boleh terdiri daripada senarai tugas seperti Gantt Charts , Gantt Charts digunakan untuk pengesanan terperinci setiap minit tugas dan perisian pengurusan projek. Matlamat penjadualan adalah untuk mengetahui kerja yang telah selesa, berapa banyak kerja yang masih perlu dilakukan dan bila ia akan diselesaikan.

*Gant Charts - is used to track a details every minute task and management of software project
* Goal For Gant Charts : Know which work has been compelted, how much work left, when all will be finished.


Dokumen Rekabentuk Perisian(Software Design Documents)


Satu tanggapan yang salah apabila menyangka seorang pengaturcara(programmer) mencipta satu program dengan hanya duduk dan mula menulis kod.

Ia adalah keadaan yang berlaku bagi programer yang memprogramkan program-program yang kecil atau program yang dibangunkan dikedai yang tidak formal.

Mejadi kemestian untuk proses rekabentuk untuk dirancang bagaimana perisian yang akan ditulis.

Beberapa jenis dokumen rekabentuk perisian biasa:

Arkitektur(Architecture)

Satu dokemen yang menerangkan rekabentuk secara keseluruhan sebuah perisian, termasuk perihal semua serpihan utama dan bagaimana mereka berinteraksi antara satu sama lain.

*Describe design for overall of software and description of all major pieces and how they interact with each other.

Rajah Aliran Data(Data Flow Diagram)

Diagram formal yang menunjukan bagaimana data bergerak melalui program. .

*A Formalized diagram that show how data move through program.

State Transition Diagram(Peralihan keadaan)

Satu lagi diagram formal yang menunjukan cara bergerak dari satu keadaan(state) ke keadaan yang seterusnya .

*Show the way of moving from one state to next .

Carta Aliran(Flowchart Diagram)

Cara tradisional untuk gambaran yang menerangkan logik program.

*The traditional way for describing a logic program.

Commented Code.

Ada satu pepatah lama menyatakan anda boleh menulis kod sekali , tetapi ia kan dibaca oleh orang 10 kali . Komen code di sediakan sebagai kemudahan kepada orang lain memahaminya dan tahu apa yang dilakukannya.



Dokument Ujian (Test Document)


Pengaturcara dan penguji mestilah merancang dan mendokumenkan kerja mereka. Pelan Ujian menerangkan  kaedah keseluruhan yang akan digunakan untuk mengesahkan bahawa perisian itu memenuhi spesifikasi produk dan keperluan pelanggan. Ia termasuk Objektif Kualiti , keperluan sumber , jadual , tugasan , kaedah dan sebagainya.

* Test plan - describes the overall method to be used to verify the software meet the product specification and customer needs.

Kes Ujian Menyenaraikan perkara tertentu yang akan diuji dan menerangkan langkah-langkah terperinci yang akan diikuti untuk pengesahan perisian. Laporan Bug menghuraikan masalah didapati dalam kes-kes ujian yang telah dijalankan. Ini Boleh di atas kertas tetapi ia selalu dikesan didalam database. Jika kumpulan pasukan anda mengunakan kaedah automatik untuk menguji perisian anda, alat yang ada guna sama ada yang ditulis atau dibeli haruslah didokumenkan . Metrik ,statistik dan ringkasan disampaikan pada ketika progres dilakukan .Graf, chart dan penulisan laporan diambil.

*Test case - list the specific items that will be tested and describe details step that will be followed  to verify software.

*Bug Report - Describe a problem that exist in test case .



SHARE SHARE SHARE

HAHAHA HAHAHA HAHAHA HAHAHA HAHAHA
Chord List: # | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z : TOP 10

Input Kepada Proses Rekabentuk Perisian

1. Deskripsi Keperluan dan Spesifikasi 
Deskripsi lengkap tentang perisian atau sistem yang didokumenkan secara lengkap dan jelas.

2. Kekangan(Constraint)
Kekangan dapat dilihat sebagai had , sekatan dan batasan. (limit, restriction and boundaries).

Contoh: " User must acces the system use VPN" , "Maximum Use 100 User Simultenously access System in one time"

3. Pengetahuan Domain(Domain Knowledge)
adalah area spesifik pada pengetahuan yang biasanya tidak ada pada rata-rata orang.

Contoh: Untuk membina sistem kawalan atau Sistem Mekanikal , kita perlu merujuk kepada pakar dalam bidang tersebut , sebagai contoh untuk sistem kawalan kita perlu merujuk pada jurutera sistem kawalan yang lebih tahu akan bidang pengetahuan mereka. Dan Begitu juga pada Sistem Mekanikal kita perlu merujuk kepada Jurutera Mekanikal yang mempunyai kepakaran pada bidang pengetahuan mereka.
SHARE SHARE SHARE

HAHAHA HAHAHA HAHAHA HAHAHA HAHAHA
Chord List: # | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z : TOP 10

Ciri-Ciri yang ada pada Dokumen Requirement yang baik.

Ciri -Ciri yang ada pada dokumen keperluan yang baik


1. Jelas(Unambigous) - Ia dianggap jelas apabila hanya ada satu cara untuk menginterpretasikan/menafsirkan

2. Betul(Correct) - Ia adalah Betul secara fakta/nyata.

3. Konsisten(Consistent) - Tiada konflik dengan keperluan yang lain secara tersurat dan tersirat(explicitly and implictly)

4. Boleh dicapai(Achevable) - Ia boleh dipenuhi/dicapai dan bukan mustahil.

5. Lengkap(Compelete)- Ia menyatakan seluruh kenyataan dan memenuhi kriteria kesempurnaan(completeness).

Kriteria Kesempurnaan pada Software requirement and specification

(completeness for software requirement and specification)

Kefungsian(Functionallity): Apa yang Software itu perlu dan harus lakukan?

Interfaces Luaran (External Interfaces) - Bagaimana software itu berinteraksi dengan pengguna?

kekangan rekabentuk(Design Constraint) - Apa yang software boleh dan tidak boleh lakukan? apa had? dan apa piawaiannya?

Penerangan Pengunaan(Usage Description) - Deskripsi bagaimana untuk menggunakan sesuatu fungsi(function) didalam software..

Prestasi(Performance) - Deskripsi tentang prestasi seperti , kelajuan , frekuensi , masa respon(response time).

Atribut(Attribute) - Apa attribut pada sesuatu objek?

Andaian(Assumption) - Andaian sesuatu fungsi untuk menjadi sah(Valid).

Rujukan (Reference) - Rujukan yang diguna , piawaian(standard) yang diguna , prosedur yang digunakan untuk keperluan.

Akibat Jika Dokumen Requirement Tidak Lengkap



- Sistem fail untuk siap/dilengkapkan , tergantung(hang) , Keadaan yang tidak konsisten.

- Malapetaka : Kehilangan Nyawa , Kerosakan Fizikal
Contoh: Sistem Kawalan untuk pelancar roket.

- Sistem tidak boleh mengendalikan pada satu-satu keaadaan.

- Sistem bertindak berlainan dari apa yang ia perlu bertindak . Cara yang tidak menentu(Unpredictable way)
SHARE SHARE SHARE

HAHAHA HAHAHA HAHAHA HAHAHA HAHAHA
Chord List: # | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z : TOP 10

Software Tools For Requirement

Alat Perisian untuk keperluan


1. Naratif(Penceritaan)(Narrative) - Deskripsi secara teks dengan bahasa yang biasa digunakan.

2. Gambar Rajah (Diagram) - Penyampaian secara gambarrajah yang menerang dengan lebah teratur/tersusun(organize) dan cara yang lebih difahami.

3. Table - suatu Struktur atau table yang menerangkan dengan lebih teratur/tersusun . Ia adalah alternatif untuk penerangan secara naratif supaya lebih mudah difahami.

4. Notasi Formal(Formal Notation) - Penerangan secara Metamatikal , algoritma atau special form yang menerangkan sesuatu dengan lebih jelas.
SHARE SHARE SHARE

HAHAHA HAHAHA HAHAHA HAHAHA HAHAHA
Chord List: # | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z : TOP 10

Specific Requirement Focus

Fokus berdasarkan:

1. Mod Operasi - Keperluan dari segi apa yang sistem itu perlu lakukan dan jangka akan lakukan pada mod operasi yang berlainan.

Contoh Mod: Training Mode, Normal Mode, Emergency Mode.

* Biasanya untuk Sistem Kawalan.

2. Tahap Akses Pengguna: Keperluan Dari segi apa sistem itu perlu perlihatkan untuk pengguna yang berlainan.

Contoh: Ada sebahagian user yang hanya boleh baca(Read) dan tulis(Write) , dan ada yang tidak.

* Biasanya untuk Sistem Informasi.

3. Fungsi Dan Objek:  Keperluan dari segi penerangan untuk  objek sistem , fungsi dan interaksi di antara objek dan juga penyimpanan data yang berterusan. Setiap objek mempunyai set attribut dan operasi yang dilakukan.

Contoh: Ada diantara operasi yang melaksanakan sesuatu apabila digunakan. dan ada yang melaksanakan servis seperti proses event-listener

*Biasa untuk Sistem Transaksi dan Informasi.

4. Ciri Dominan: Keperluan yang boleh menjadi banyak.

Event Based System- Meliputi keadaan sistem , keadaan transisi , event stimuli dan event respons.

Concurrent Based System : Meliputi proses yang berbesza , task thread , dan interaksi yang dijalankan secara paralel didalam satu masa.

Distributed Based System: Meliputi perbezaan komunikasi di antara objek dan protokol yang dijalankan pada mesin dan sistem operasi yang berbeza.

Centralized Systems: Meliputi perbezaan pengguna yang berjalan pada platform yang berbeza yang mengakses pusat applikasi.
SHARE SHARE SHARE

HAHAHA HAHAHA HAHAHA HAHAHA HAHAHA
Chord List: # | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z : TOP 10

Kenapa Requirement perlu Didokumenkan?

Sebab-Sebab Penting perlunya System Requirement and Specification:

1. Agar Pereka(Designer) , Pelanggan , Pihak berkepentingan dan Pihak-pihak yang terbabit memahami  apa yang diperlukan pada sesebuah sistem atau perisian yang akan dibina .

Sebagai contoh: Pelanggan perlu menerangkan dengan jelas apa yang mereka mahukan pada sistem ,
Penyedia Sistem perlu memahami dengan jelas apa yang pelanggan mahukan.

2. Untuk mengelakkan Salah Faham dan pertikaian di antara pihak yang terbabit.

3. Satu Dokumen itu menjadi Sah dan terikat diantara pihak yang terbabit.

4. Mudah untuk melakukan proses pengesanan oleh kerana dokumen yang lengkap dan teratur mempunyai nombor pada setiap kenyataan yang dibuat. Ia adalah menjadi mudah untuk pembangunan dan perkembangan projek di masa depan.

5. Menyediakan cara untuk pengurusan keperluan(Requirement) seperti pengesanan dan pemantauan.

*pihak berkenaan boleh menyemak kembali sama ada keperluan telah di penuhi atau belum.

6. Dokumen menjadi asas rujukan dan pembincangan .
*Kemudahan untuk kemas kini , pengubahsuaian , penghapusan keperluan yang tidak diperlukan di atas pembincangan.

SHARE SHARE SHARE

Monday

HAHAHA HAHAHA HAHAHA HAHAHA HAHAHA
Chord List: # | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z : TOP 10

Asal Usul Perkataan Bug

Asal Usul Perkataan BUG ?


Pada tahun 1947, Komputer bukanlah seperti komputer yang kita lihat di masa ini , Seperti dekstop atau laptop yang berada di rumah kita , atau smartphone yang boleh dibawa kemana-mana. Komputer di masa lampau adalah besar, Komputer di masa lampau adalah  sebesar sebuah bilik yang beroperasi dengan geganti mekanikal dan tiub vakum yang menyala.

Sebuah komputer pada ketika itu diberi nama Mark II yang sedang dibina di university Hazard, Seorang juruteknik yang sedang menggunakan komputer baru itu dan sedang beliau menggunakannya dengan tiba-tiba komputer itu berhenti secara tiba-tiba. Beliau dan beberapa orang pakar yang lain cuba mencari masalah di sebalik kejadian itu , tetapi mejumpai jalan buntu. Setelah beberapa ketika mereka menemui sesuatu  telah terperangkap di antara satu set geganti penghubung di dalam komputer tersebut.

"Sesuatu" itu nampaknya telah terbang ke dalam sistem oleh kerana tertarik dengan  cahaya dan haba dari komputer tersebut . Tetapi malang "sesuatu" itu telah  terkena renjatan elektrik dengan voltan yang tinggi apabila ia mendarat pada geganti tersebut. Para juruteknik mengenal pasti yang "sesuatu "itu adalah sejenis PEPIJAT.

Dan dari situ maka lahirlah satu perkataan yang di beri nama "BUG" atau pepepijat yang diguna pakai sebagai permasalahan dalam komputer system sehingga kini .
SHARE SHARE SHARE

HAHAHA HAHAHA HAHAHA HAHAHA HAHAHA
Chord List: # | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z : TOP 10

Apa Itu BUG dan Puncanya?

Tahukah anda apa itu Komputer BUG? kepada siapa yang belajar computer Science atau  apa-apa course dalam bidang Informasi Teknologi pasti tak dapat lari dari perkataan ini , Lebih-lebih lagi kepada pengaturcaraan atau programmer yang sering di ganggu dengan sejenis binatang yang bernama BUG. Apa itu BUG ? dan Kenapa ia Dipanggil BUG? yang membawa maksud Pepijat.

Baca disini tentang --->>>Asal Usul Perkataan BUG 

Bug adalah bila mana sebuah perisian tidak berfungsi dengan betul atau perisian ini tidak beroperasi seperti yang sepatutnya. Ia hanya boleh dikenakan 1 sen untuk meperbetulkan bug , tetapi berjuta-juta dollar mengedarkan penyelesaiannya.

BUG pada Perisian.


  • Perisian Tidak melakukan sesuatu yang produk spesifikasi mengatakan ia perlu dilakukan
  • Perisian melakukan sesuatu yang spesifikasi produk mengatakan ia tidak patut dilakukan
  • Perisian melakukan sesuatu yang spesifikasi produk tidak nyatakan.
  • Perisian adalah susah difahami , susah diguna , perlahan atau di mata penguji perisian akan dilihat oleh pengguna akhir ia sekadar tidak betul.

Punca Bug 


Punca utama atau terbesar BUG adalah dari spesifikasi , yang kedunya ialah dari Rekabentuk
selepas itu Pengekodan(Coding) dan lain-lain.

Sebab-Sebab Punca Bug dari Spesifikasi.

- Spesifikasi Sentiasa berubah
- Tiada komunikasi berkesan dari keseluruhan pasukan pembangunan
- Perancangan Perisian(Software Planning) tidak dilakukan dengan sewajarnya

*It keep changing , no effective communication between developer team , software planning not done accodingly

Rekabentuk

- Para pengaturcara mengenepikan rancangan mereka untuk perisian.
- Bug berlaku di bahagian ini atas sebab yang sama berlaku pada spesifikasi.
- Kesuntukan masa , perubahan , dan komunkasi yang tidak baik.

*Programmer lay out their plan , Bug occur same reason it exist at the specification , Rushed, changing , and lack communication

Pengekodan(Coding)

Coding errors mungkin biasa berlaku jika anda seorang programmer . Biasanya  ia dapat dikesan pada Kerumitan perisian , dokumentasi yang lemah , tekanan jadual atau kesilapan kosong yang biasa. I adalah penting untuk diambil perhatian bahawa bug yang muncul pada bahagian pengaturcaraan dapat benar-benar dikesan pada spesifikasi dan kesilapan rekabentuk.

Kategori yang lain adalah beberapa bug boleh dikategori kan sebagai kesalahan yang positif yang dimana ia dianggap bug tetapi ia benar-benar bukan.

*False-positve.

Kos yang disebabkan oleh bug meningkat dari fasa ke fasa pembangunan perisian. bermula dengan spesifikasi , design , code , test dan yang tertinggi jika bug muncul apabila produk telah diterbitkan (Release) .

Apa itu Software Tester ?


Matlamat seorang penguji perisian adalah untuk mencari BUG, Mengesan mereka seawal yang mungkin dan memastikan mereka diperbaiki.

Kriteria Seorang Software Tester Yang Baik

  • Mereka seorang Penjelajah (Explorer)
  • Mereka Seorang penyelesai masalah(Troubleshooter)
  • mereka tidak berhenti(Relentless)
  • mereka adalah kreatif(Creative)
  • mereka seorang perfectionist.(Perfectionist)
  • Mereka membuat pertimbangan yang baik(Good Judgement)
  • mereka seorang yang bijaksana dan diplomatik(Tactful and Diplomatic)
  • mereka meyakinkan(Persuasive)

SHARE SHARE SHARE

HAHAHA HAHAHA HAHAHA HAHAHA HAHAHA
Chord List: # | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z : TOP 10

Apa itu Functional dan Non-Functional Requirement?

Dari post  --->> Apa itu Software Design?

Apa itu Functional Requirement?


Untuk melakukan reka bentuk, kita mesti memahami keperluan fungsian dan bukan fungsian.

Apa itu Functional Requirement.

1. Keperluan Fungsian menentukan fungsi yang sistem atau sistem komponen mampu lakukan/laksanakan.

2. Keperluan Fungsian menentukan apa yang sistem dan perisian mesti lakukan(do) , mesti laksanakan(execute), dan mesti pamerkan(exhibits) dalam tindakannya(their behavior).

3.  Contoh 1: "The system shall be able to print cheque payments from the Accounts Payables module, on demand by menu or user button.". 

Ini dianggap sebagai keperluan Fungsian . Ini adalah "mesti lakukan" keperluan.

*Must Do

4. Contoh 2:  "The system shall display the list of running and non-running motor drives including its
status and rotational speed, on demand by menu or user button." 

Ini adalah keperluan fungsian. ini adalah "mesti laksanakan" keperluan.

*Must execute

5. Contoh 3: "The system shall automatically proceed to safe mode, when the motor speed exceeds its maximum speed rating or when the motor torque reading exceeds its maximum torque setting"

Ini adalah Keperluan fungsian . Ini adalah "mesti pamerkan" keperluan.

*Must exhibits in their behaviors


Apa itu Non-Functional Requirment?


1. Keperluan bukan fungsian adalah keperluan lain berkecuali dari keperluan fungsian. Secara umum, keperluan bukan fungsian dilaksanakan untuk menyokong pelaksanaan keperluan fungsian.

Keperluan hardware dan keperluan software seperti Sistem Operasi(Operating System) spesifik, library dan pakage adalah keperluan bukan fungsian . Ini adalah keperluan yang mesti dipenuhi supaya keperluan fungsian boleh beroperasi.

Contoh Keperluan Lain:

1. Performance Requirement(keperluan prestasi) 

Menyatakan ciri-ciri prestasi yang sistem atau komponen perlu punyai. Seperti kelajuan, ketepatan, kekerapan .

*speed, accuracy, and frequency

Sebagai contoh: "The maximum time for the display of results to every query to the system is 2 seconds" Ini adalah keperluan prestasi.

2. External Interface Requirement.

Menentukan hardware, software atau elemen database , dimana system atau komponen mesti kemukakan(must interface), atau tetapkan kekangan(constraint) pada format , masa , atau faktor-faktor lain.

Sebagai Contoh: "The system must interface to the financial database for part number and cost of equipment data capture" Ini bermakna data melalui interface ini adalah untuk menyokong fungsi pengiraan jumlah kos peralatan dan penyelengaraan.

6. Lain-Lain Keperluan bukan fungsian termasuk , keperluan keselamtan ,keperluan kualiti, keperluan perlaksanaan, kerpeluan peraturan atau undang-undang , kerpeluan penggunaan, keperluan stadardisasi, keperluan khusus syarikat, dan banyak lagi.

*safety requirements, quality requirements, implementationrequirements, regulatory or legal requirements, deployment requirements, standardization requirements, company specific requirements

Ia adalah penting pereka dapat membezakan antara keperluan fungsian dan bukan fungsian .

Sebagai contoh: Jika Sistem perisian yang akan dibangunkan adalah perisian keselamatan (Safety Software) , dan keperluan keselamatan(Safety Requirement) adalah fungi teras sistem. Dalam kes ini Keperluan Keselamatan menjadi keperluan fungsian dan bukan keperluan bukan fungsian atau keperluan sokongan.

Begitu juga dengan sistem perisian yang dibina adalah dokementasi undang-undang, maka keperluan perundangan menjadi teras fungsi sistem itu.

Reka bentuk yang baik memenuhi semua keperluan ini , terdapat satu software tools yang mengesan dan menjejak keperluan ini , dan hal ini dalam bidang software Configuration Management.

Note: Dalam Kejuruteraan Perisian , Pengurusan konfigurasi Perisian (software Configuration
Management) adalah satu tugasan untuk mengesan dan mengawal perubahan dalam perisian.




SHARE SHARE SHARE

HAHAHA HAHAHA HAHAHA HAHAHA HAHAHA
Chord List: # | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z : TOP 10

Apa itu Software Design?

Apa itu Design?


Design atau Reka bentuk secara umum di fahami sebagai:

1. Mencapai atau Menyediakan penyelesaian(Solusi) bagaimana untuk Memenuhi beberapa Keperluan(Requirement) atau Menyelesaikan beberapa Masalah (Solve problem)

2. Menghasilkan idea-idea atau Prinsip algoritma tentang bagaimana untuk Memenuhi keperluan itu.

3. Proses atau langkah-langkah yang definitif(muktamad) tentang bagaimana untuk memenuhi keperluan.

4. Hasil dari proses rekabentuk di-formalkan ke dalam beberapa dokumentasi reka bentuk yang mengikut piawaian(standardized design document).


Definisi rasmi Design(Reka bentuk) yang di nyatakan dalam dokumen IEEE 24765 
adalah:

1. Satu proses Mendefinisikan seni beni, komponen , interfaces , dan ciri-ciri lain pada sistem atau komponen.

2. Hasil Dari pada proses Mendefinisikan seni beni, komponen , interfaces , dan ciri-ciri lain pada sistem atau komponen.


Beza Requiremetn dan Design.

Ia adalah penting untuk kita membezakan antara keperluan(Requirement) dan Reka Bentuk(Design) .

Keperluan ( APA?)
Reka Bentuk (Bagaimana untuk?)

1. Keperluan adalah mengenai apa yang harus dan apa perlakuan(Behavior) ia harus  pamerkan/perlihatkan.

*What it must be and what the behavior it must exhibits

2. Rekabentuk mengenai bagaimana untuk kita capai apa yang ia perlu jadi dan bagaimana kita boleh mencapai apa-apa perlakuan(behavior) yang ia perlu pamerkan.

*How to achieve what it must be and how to achieve the behavior it must exhibits.


Bila dan Dimana kita memulakan Software Design?


Kita mula me-rekabentuk perisian(Software Design) dari Keperluan perisian dan spesifikasinya(Software Requirement and Specifications).

Kolerasi(Perkaitan) Sistem Kejuruteraan dan Perisian Kejuruteraan.

Definisi Masalah(Sistem) dan Analisis Keperluan(Software)

Deskripsi: Menentukan keperluan(need) dan kekangan (constraint) dengan menganalisis keperluan sistem yang diperuntukkan kepada perisian

*Problem Definition and Requiremetn Analysis.

Analisis Solusi(Sistem) dan Reka Bentuk Perisian(Software)

Deskripsi: Menentukan cara untuk memenuhi keperluan dan kekangan , Menganalisis cara penyelesaian yang boleh, dan memilih yang terbaik(optima).

*Solution Analysis and Software Design.

Proses Perancangan

Deskripsi: Menentukan tugas-tugas pembangunan produk , keutamaan dan potensi risiko kepada projek.

*Planning Process

Proses Kawalan.

Deskripsi: Menentukan kaedah/cara untuk pengawalan projek dan proses, penilaian pencapaian dan prestasi dan langkah pembetulan jika perlu.

*Control Process

Penilaian produk dan Verifikasi, Validasi(Pengesahan) dan Pengujian(Testing). 

Deskripsi: Penilaian Produk Akhir. dan dokumentasi.

*Product Evaluation and Verfication ,validation and testing


Kita perlu benar-benar memahami keperluan dan spesifikasi pengguna sebelum kita memulakan proses reka bentuk perisian. Matlamat untuk reka bentuk perisian adalah untuk memenuhi semua keperluan dan spesifikasi.

Kita juga mesti memahami sepenuhnya kedua-dua keperluan sistem dan keperluan perisian. Perisian bukan semata Perisian sahaja. Ia mesti menjadi sebahagian dari sistem yang besar(hardware atau sistem software)

Kenapa Software Design Diperlukan?


Kita perlu melaksanakan reka bentuk perisian untuk menyediakan penyelesaian yang memenuhi keperluan sistem, keperluan perisian yang fungsional(Functional) dan Bukan Fungsional(Non-Functional)

Baca di sini tentang --->> Keperluan Fungsional dan Bukan Fungsional

1. Produk atau hasil daripada rekabentuk ialah satu set dokumen reka bentuk atau idea reka bentuk. Ia adalah cara penyampaian kepada orang lain , terutama kepada pembina perisian dan pelaksana . Penyelesaian adalah mengenai bagaimana untuk mencapai keperluan sistem.

2. Set dokumen reka bentuk mengandungi elemen model reka bentuk, Artifak reka bentuk dan penerangan reka bentuk. Ia termasuk rekod keputusan yang di ambil untuk pemilihan reka bentuk, dan penjelasan rasional bagi setiap keputusan yang penting dan tidak remeh(Non-trivial).

3. Dokumen rekabentuk mengandungi tahap perincian yang berbeza, skop , komponen dan liputan(coverage). 

Sebagai contoh: Ia mempunyai draf reka bentuk , reka bentuk kesuluruhan, reka bentuk , awal , reka bentuk terperinci , reka bentuk arkitektur. Reka bentuk data, reka bentuk hubungan antara entiti, reka bentuk aliran data, reka bentuk aliran proses, reka bentuk logik dan banyak lagi

*Draft design, overall design, premilinary design, detailed design , architecture design , 
data design , data flow design , process flow design and logic design.

4. Jenis Dokumen keperluan yang akan dihasilkan dalam proses reka bentuk perisian  adalah berbeza , bergantung kepada pengkhususan/spesifik sistem dan keperluan sistem dan spesifikasi yang dibincang.

5. Set lengkap dokumen reka bentuk menjadi asas evolusi/perkembangan perisian dan penyelegaraan(maintainance) dalam keseluruhan proses kitaran hayat pembangunan sistem dan perisian(System development life cycle proses)


Siapa yang melaksanakan Software Design?


Seseorang yang memandu akan dipanggil pemandu , seseorang me-reka bentuk perisian akan di panggil Perekabentuk perisian(Software Designer) .

Seorang pereka bentuk perisian mestilah seorang yang mempunyai pengalaman untuk:

1. Memahami sistem dan dokumen keperluan perisian dan spesifikasinya.

2.Memahami Reka Bentuk Model Perisisan , Alat Reka Bentuk(Design tools). dan proses reka bentuk(Design process).

3.Mampu menganalisis sistem dan keperluan perisian, kekangan(constraint) dan menterjemahkan kepada reka bentuk model dan proses perisisan.

4. Memahami kesan yang di berikan oleh model reka bentuk perisian kepada proses pembinaan perisian dan perlaksanaanya.

5. Mempunyai pemahaman yang sangat baik dalam paradigma pengaturcaraan(Programming) yang berbeza dan perlaksanaannya.

Sebagai contoh pengaturcaraan: structured programming, imperative programming, object-oriented
programming, aspect-oriented programming, functional programming, event-based programming,
concurrent programming, distributed programming, and service-oriented programming.

6.Mempunyai pemahaman yang baik dalam pengaturcaraan struktur data yang berbeza, algoritma dan kesan dalam perlaksanaan yang berbeza.

7. Mempunyai pemahaman yang baik terhadap perbezaan sistem dan strategi penggunaan perisian(software deployment strategies), , teknik , protokol komunikasi(communication protocols) dan perlaksaannya yang berbeza.

Seorang pereka perisian yang baik mempunyai ciri-ciri diatas

Selalunya arkitek perisian seorang yang pakar atau seorang programmer komputer yang berpengalaman atau pengurus yang membuat pemilihan reka bentuk komputer tahap tinggi dan menetapkan piawaian teknikal ,  termasuk perisian ,  software coding standard , tools, dan platform.

Jika pereka perisian seorang yang tidak berpengalaman atau tidak cekap , Ia Mungkin berakhir dengan satu reka bentuk perisian yang...

1. Tidak memenuhi keperluan sistem dan perisian.
2. Tidak boleh dibina dan dilaksana.


Bila kita perlu melaksanakan Software Design?


Dengan  semua penerangan di atas kita tahu , yang kita perlu memulakan reka bentuk  perisian apabila kita telah disediakan dengan keperluan dan sepisifikasi.

Dengan apa kita melaksanakan Software Design?



Melaksanakan rekabetuk perisian menggunakan alat rekabentuk perisian yang khusus , ini bermakna kita akan menghasilkan rekabentuk dokumen yang standard. Terdapat banyak software design tools di pasaran, terdapat yang komersial dan percuma.

*Special Software Design Tools.

Contoh: IBM Rational ROSE, Visiual Paradigm


Bagaimana kita melaksanakan Software Design dan menjana output?


Rekabentuk perisian adalah proses kreatif dan sistematik, kreatif bermakna ia adalah  mempunyai banyak  cara untuk menyediakan solusi untuk memenuhi keperluan tertentu. Secara sistematik pula terdapat beberapa struktur dan perlaksanaan langkah , dan prosedur yang jelas.

Secara Sistematik , Prosedur Lazim untuk Aktiviti merekabentuk Perisian:

1. Keperluan Dianalisa sepenuhnya untuk memahami fungsi,skop , interface ,kekangan dan
lain lain.

2. Berdasarkan analisis keperluan , proses model rekabentuk perisian dibina.

3. Dari model rekabentuk perisian , proses rekabentuk perisian dibina.

4. Proses dari analisis keperluan hingga proses model rekabentuk perisian hingga proses rekabentuk perisian diulangi sehingga keperluan dipenuhi.

5. Output akhir adalah satu set dokumen yang mengandungi elemen model reka bentuk, artifak reka bentuk dan penerangan tentang rekabentuk.

6. keputusan diambil untuk pilihan rekabentuk mesti direkodkan. Ini termasuk beberapa penjelasan mengenail rasional bagi setiap keputusan besar yang dibuat.

Ringkasan: Anlisa keperluan , Bina Model software design , bina software design, ulangi step 1 hingga 3, Set dokumen yang lengkap, Membuat keputusan berdasarkan dokumen dan membuat rekod.

Untuk pertimbangan secara kreatif , Apa yang boleh dipertimbangkan dalam aktiviti reka bentuk perisian adalah seperti berikut:

1. Pertimbangan menerima pakai patent rekabentuk perisian tertentu. Patent rekabentuk perisian itu telah terbukti menyelesaikan masalah rekabentuk yang berulang.

2. Pertimbangan pilihan yang berbeza dalam menterjemahkan model keperluan  ke dalam model reka bentuk.

3. Pertimbangan pilihan yang berbeza dalam menyediakan interfaces untuk menyokong komponen berfungsi dan koneksi mereka.

4. Pertimbangan teknik yang berbeza untuk melaksana dan mengekalkan kualiti rekabentuk.


Apakah Ciri-Ciri Rekabentuk yang baik?


1. Ketepatan(Corectness) - Penyelesaian rekabentuk yang apabila dilaksanakan haruslah menghasilkan jangkaan jawapan dan memaparkan kelakuan(behavior) yang dijangka mengikut keperluan dan spesifikasi.

2. Keteguhan(Robustness) - Penyelesaian rekabentuk  yang dihasilkan untuk menghasilkan perisisan yang mampu untuk dikendalikan dibawah tekanan atau bertoleransi dengan input yang tidak menentu atau tidak sah.

3. Kecekapan(Efficiency) - Penyelesaian rekabentuk yang akan menghasilkan perisisan menggunakan sumber yang minimum dan ia adalah cepat dan padat.

4. Fleksibel(Flexiblity) - Penyelesaian rekabentuk yang boleh mengadaptasi kepada perubahan supaya keupayaan baru boleh ditambah untuk rekabentuk tanpa perubahan yang besar.

5. Boleh Digunapakai(Reusability) - Penyelesaian rekabentuk yang dapat digunakan semula  pada situtasi yang sama dan boleh mengadaptasi dengan ciri-ciri baru dan dengan pengubahsuaian yang sedikit atau tiada langsung pengubahsuaian.

SHARE SHARE SHARE