Software Requirement Specifications

Rabu, 24 September 2014

Secara sederhana, Software Requirement Specifications (SRS) adalah dokumen yang menjelaskan tentang berbagai kebutuhan yang harus dipenuhi oleh suatu software. Dokumen ini dibuat oleh developer (pembuat software) setelah menggali informasi dari calon pemakai software. Pembuatannya pun seharusnya mengikuti standar yang ada dan paling diakui oleh para praktisi rekayasa software di dunia. Oleh karena itu, standar yang akan dibahas di sini adalah standar dari IEEE.
IEEE membuat standar SRS agar dokumen penting itu tidak ambigu dan tentu saja komplit. Lengkap. Dengan standar itu, si penggguna dapat mencurahkan semua keinginannya terkait software tersebut dengan jelas dan akurat sehingga sang developer pun dapat memahami apa yang diinginkan pengguna dengan tepat. Bahkan, bagi perorangan, standar ini dapat membantunya dalam mengembangkan outline SRS yang baku khusus untuk perusahaannya, membantunya membuat dokumen SRS dengan format dan isi yang standar (minimal), serta membantunya mengembangkan rincian-rincian pendukung lainnya.
SRS yang baik akan bermanfaat bagi customer, supplier, ataupun perorangan. Manfaat-manfaat tersebut antara lain:

  1. Sebagai bentuk perjanjian antara customer dan supplier tentang software apa yang akan dibuat
  2. Mengurangi beban dalam proses pengembangan software
  3. Sebagai bahan perkiraan biaya dan rencana penjadwalan
  4. Sebagai dasar validasi dan verifikasi software di ujung penyelesaian proyek nantinya
  5. Memfasilitasi transfer, semisal software tersebut ingin ditransfer ke pengguna atau mesin-mesin yang lain. Customer pun merasa mudah jika ingin mentransfer software ke bagian-bagian lain dalam organisasinya. Bahkan, jika terjadi pergantian personil developer, proyek dapat mudah ditransfer ke personil baru dengan memahami SRS ini.
  6. Mendasari perbaikan produk software di kemudian hari. Jadi, kadang SRS boleh diperbaiki dengan alasan dan mekanisme tertentu serta atas kesepakatan antara customer dan developer.
Ada beberapa istilah yang digunakan dan harus diketahui untuk memahami standar SRS yang dibuat IEEE ini. Istilah-istilah tersebut adalah:
  • Kontrak: dokumen yang mengikat secara hukum dan disepakati oleh customer dan supplier, termasuk syarat-syarat teknologi dan organisasi, biaya, serta jadwal pengerjaan. Kontrak bisa mengandung sesuatu yang kurang formal tetapi bermanfaat, seperti komitmen atau harapan dari pihak yang terlibat.
  • Customer (pelanggan) : Pihak yang membayar untuk produk dan biasanya yang menentukan persyaratan (requirements).
  • Supplier (pemasok): Pihak yang membuat produk software untuk customer.
  • Pengguna: Pihak yang mengoperasikan atau berinteraksi langsung dengan software. Pengguna dan customer biasanya bukan orang yang sama.
Untuk menyusun SRS, beberapa hal perlu dipertimbangkan, yaitu:
  • Sifat SRS;
  • Lingkungan SRS;
  • Karakteristik dari SRS yang baik, yaitu:
    1. Correct (benar)
    2. Unambiguous (tidak ambigu, tapi jelas)
    3. Complete (lengkap)
    4. Consistent (konsisten)
    5. Ranked for importance and/or stability (prioritas penting dan atau stabilitas)
    6. Verifiable (dapat diverifikasi)
    7. Modifiable (bisa dimodifikasi)
    8. Traceable (bisa dilacak)
  • Penyusunan SRS secara bersama-sama;
  • Evolusi SRS ;
  • Membuat prototipe, seperti model atau contoh;
  • Mencantumkan desain sistem di SRS;
  • Pencantuman persyaratan proyek di SRS. Untuk persyaratan proyek ada dokumen tersendiri
Pada akhirnya IEEE membuat template sebuah SRS, yang isinya antara lain:
1. Introduction
1.1 Purpose
1.2 Scope
1.3 Definitions, acronyms, and abbreviations
1.4 References
1.5 Overview
2. Overall description
2.1 Product perspective
2.2 Product functions
2.3 User characteristics
2.4 Constraints
2.5 Assumptions and dependencies
3. Specific requirements
4. Appendixes
5. Index
Untuk specific requirements sendiri ada beberapa template yang dibuat oleh IEEE, salah satunya adalah:
3.1 External interface requirements
3.1.1 User interfaces
3.1.2 Hardware interfaces
3.1.3 Software interfaces
3.1.4 Communications interfaces
3.2 Functional requirements
3.2.1 Mode 1
3.2.1.1 Functional requirement 1.1
.
.
.
3.2.1.n Functional requirement 1.n
3.2.2 Mode 2
.
.
.
3.2.m Mode m
3.2.m.1 Functional requirement m.1
.
.
.
3.2.m.nFunctional requirement m.n
3.3 Performance requirements
3.4 Design constraints
3.5 Software system attributes
3.6 Other requirements

Sharing Sharing Ajah...

Selasa, 16 September 2014

SELAMAT MEMBACA !!!

1. Sistem informasi manajemen (SIM) (management information system, MIS) adalah sistem perencanaan bagian dari pengendalian internal suatu bisnis yang meliputi pemanfaatan manusia, dokumen, teknologi dan prosedur oleh akuntansi manajemen untuk memecahkan masalah bisnis seperti biaya produk, layanan, atau suatu strategi bisnis. Sistem informasi manajemen dibedakan dengan sistem informasi biasa karena SIM digunakan untuk menganalisis sistem informasi lain yang diterapkan pada aktivitas operasional organisasi.

Jenis-jenis Sistem informasi manajemen (SIM) :

  • Sistem informasi akuntansi (accounting information systems), menyediakan informasi dan transaksi keuangan.
  • Sistem informasi akademik (academic information systems), menyediakan informasi tentang proses pendidikan yang sedang berjalan di suatu akademi/sekolah/perguruan.
  • Sistem informasi pemasaran (marketing information systems), menyediakan informasi untuk penjualan, promosi penjualan, kegiatan-kegiatan pemasaran, kegiatan-kegiatan penelitian pasar dan lain sebagainya yang berhubungan dengan pemasaran.
  • Sistem informasi manajemen persediaan (inventory management information systems).
  • Sistem informasi personalia (personal information systems).
  • Sistem informasi distribusi (distribution information systems).
  • Sistem informasi pembelian (purchasing information systems).
  • Sistem informasi kekayaan (treasury information systems).
  • Sistem informasi analisis kredit (credit analysis information systems).
  • Sistem informasi penelitian dan pengembangan (research and development information systems).
  • Sistem informasi analisis software
  • Sistem informasi teknik (engineering information systems).
  • Sistem informasi Rumah Sakit (Hospital information systems).

2. Use case adalah rangkaian/uraian sekelompok yang saling terkait  dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor. Use case digunaka untuk membentuk tingkah laku benda/thing dalam sebuah mode serta direalisasikan  oleh sebuah collaborator, umumnya use case digambarkan dengan sebuah elips dengan garis ynag solid, biasanya mengandung nama.  Use case menggambarkan proses system (kebutuhan system dari sudut pandang user). secara umum use case adalah:

  • Pola perilaku system
  • Urutan transaksi yang berhubungan yang dilakukan oleh actor
Use case diagram terdiri dari

  • Use case
  • Actor
  • Relationship
  • System boundary boxes
  • Packages
Contoh Use Case


Badan geofisika dan meteorologi ingin membangun sebuah sistem ramalan cuacu berbasis web (yang sudah mendukung pemograman berorientasi objek) sistem ini akan memprediksi tiga nilai berikut :
  • Curah hujan
  • Suhu udara
  • Arah angin dan kecepatanya
Informasi setiap ibu kota provinsi selama 10 tahun terakhir terekam dengan baik.
Curah hujan sesungguhnya yang terjadi di hari itu, suhu udara dan arah angin direkam oleh petugas BMG di setiap ibu kota provinsi. Untuk para pengguna ramala cuaca, ada fasilitas melihat cuaca denga terlebih dahulu memliih kota yang akan dilihat.

Dari narasi diatas terdapat dua actor yaitu petugas BMG dan pengguna(user) dan tujuh Use case yaitu curah hujan, suhu udara, arah mata angin dan kecepatan, olah data ramala cuaca, rekam data ramalan cuaca, melihat ramalan cuaca dan memlih ibu kota provinsi, untuk membuat use case anda bisa menggunakan software seperti Astah Profesional.

Maka hasil dari narasi diatas  use casenya adalah sebagai berikut:




 3. Level-level Manajemen

Level-level dalam manajemen

Pada umumnya manajer memiliki tanggung jawab yang sama, yaitu melakukan perencanaan, pengorganisasian, pengarahan, pengendalian, serta penyusunan staf namun dari sisi tingkat atau level manajemen dapat dibagi menjadi tiga / 3 macam, yakni :

1. Manajer Puncak / Top Manager
Tanggung jawab dari manajer puncak adalah keseluruhan kinerja dan keefektifan dari suatu perusahaan. Manajer tingkat puncak membuat kebijakan, keputusan dan strategi yang berlaku secara umum pada suatu perusahaan. Manajer puncak juga yang melakukan hubungan dengan perusahaan lain dan pemerintah.

2. Manajer Menegah / Middle Manager
Manajer tingkat menengah berada di antara manajer puncak dan manajer lini pertama. Manajer ini bertugas mengimplementasikan strategi, kebijakan serta keputusan yang diambil oleh manajer tingkat atas atau puncak.

3. Manajer Lini Pertama / First-Line Manager
Manajer tingkat bawah ini kebanyakan melakukan pengawasan atau supervisi para karyawan dan memastikan strategi, kebijakan dan keputusan yang telah diambil oleh manajer puncak dan menengah telah dijalankan dengan baik. Manajer lini pertama juga memiliki andil dan turut serta dalam proses pengimplementasian strategi yang telah ditetapkan.

Tambahan Hierarki Manajemen :

Dari sisi jumlah, jumlah dari atas ke bawah berbentuk kerucut atau piramida, yaitu semakin tinggi level atau tingkatan seorang manajer, maka semakin sedikit jumlah manajer pada tingkatan tersebut.

Manajer
Manajer adalah seseorang yang bekerja melalui orang lain dengan mengoordinasikan kegiatan-kegiatan mereka guna mencapai sasaran organisasi.

Tingkatan manajer


Pada organisasi berstruktur tradisional, manajer sering dikelompokan menjadi manajer puncak, manajer tingkat menengah, dan manajer lini pertama (biasanya digambarkan dengan bentuk piramida, di mana jumlah karyawan lebih besar di bagian bawah daripada di puncak). Berikut ini adalah tingkatan manajer mulai dari bawah ke atas:
  • Manejemen lini pertama (first-line management), dikenal pula dengan istilah manajemen operasional, merupakan manajemen tingkatan paling rendah yang bertugas memimpin dan mengawasi karyawan non-manajerial yang terlibat dalam proses produksi. Mereka sering disebut penyelia (supervisor), manajer shift, manajer area, manajer kantor, manajer departemen, atau mandor (foreman).
  • Manajemen tingkat menengah (middle management), mencakup semua manajemen yang berada di antara manajer lini pertama dan manajemen puncak dan bertugas sebagai penghubung antara keduanya. Jabatan yang termasuk manajer menengah di antaranya kepala bagian, pemimpin proyek, manajer pabrik, atau manajer divisi.
  • Manajemen puncak (top management), dikenal pula dengan istilah executive officer. Bertugas merencanakan kegiatan dan strategi perusahaan secara umum dan mengarahkan jalannya perusahaan. Contoh top manajemen adalah CEO (Chief Executive Officer), CIO (Chief Information Officer), dan CFO (Chief Financial Officer).
Meskipun demikian, tidak semua organisasi dapat menyelesaikan pekerjaannya dengan menggunakan bentuk piramida tradisional ini. Misalnya pada organisasi yang lebih fleksibel dan sederhana, dengan pekerjaan yang dilakukan oleh tim karyawan yang selalu berubah, berpindah dari satu proyek ke proyek lainnya sesuai dengan dengan permintaan pekerjaan.