Welcome to Via_Rusli's blog. . .

Ilmu

Software Requirements Specification
SRS menjelaskan tentang prodak software yang akan dibangun. Keputusan yang dibuat dalam SRS adalah berdasarkan dokumen project proposal dan user needs .

Introduction

Menyediakan penjelasan overview dari produk, antara lain.

Background and Motivation

Informasi yang seharusnya ada:
  • Apakah inti masalah atau keperluan customer akan produk tersebut yang akan kita angkat?
  • Mengapa kebutuhan akan produk ini tetap ada?
  • Why are these problems worth solving?
  • Siapakah sasaran / customernya?
  • Bagaimana setting and history dari project tersebut? Misalnya apakah system yang dibangun itu stand-alone systems yang bisa berinteraksi dengan user. Atau menyediakan layanan networking bagi usernya sehingga antara user satu dan yang lainnya saling terhubung
  • Apa problem utama yang akan menghalangi produk? Misalnya dalam kasus pembuatan software game online. Ada 100 juta user di Internet, dan ratusan websites yang menyediakan layanan video game dalam tim. Maka user akan kesulitan dalam memilih website dan akan memerlukan waktu yang lama untuk bergabung dan mengumpulkan pemain dalam suatu tim.
  • Apa pendekatan terbaik untuk menyelesaikan masalah tersebut?
  • Bagaimanakan parameter penilaian bahwa suatu produk itu baik? Suatu pelayanan yang bernilai baik adalah jika produk atau software yang dihasilkan dapat meningkatkan kepuasan user dan mengurangi waktu tunggu dll.
  • Bagaimana produk ini dapat lebih baik daripada sebelumnya? Misalnya, dengan menambahkan fitur baru, fungsi yang kita miliki lebih complex dan detail, lebih dalam hal maintainability, scalability, dan security. Memperkecil sedikit persamaan dengan produk lain dan memperbesr keunikan / ciri khas.

Goal / Tujuan

·         Apakah tujuan dan manfaat dari produk ini?

Scope / Ruang Lingkup

Informasi bias berupa batasan masalah atau ruang lingkup proyek yang dikerjakan
Contoh untuk aplikasi game online:
  • Bekerja dengan server dan browser yang umum (familiar).
  • Mengijinkan customization untuk font dan warna, dengan page layout dasar.
  • Security yang cukup untuk mengatasi beberpa gangguan
  • Memiliki fitur untuk mendiskusikan suatu game, tapi tidak melakuakn relasi dengan software game lain

In Scope
Out of Scope
Membangun aplikasi web untuk digunakan dengan standard web servers and application servers
Membangun web server or application server yang baru
Bekerja pada browsers yang paling popular (IE6, Mozilla)
Bekerja pada browsers yang kurang umum atau out of date
Securitas pada form untuk user account, password,dan permissions
Special sekuritas untuk menghindari hackers.
One simple sample look-and-feel and instructions for customization
Our own high-quality look-and-feel. A library of look-and-feel options.
Database and server load and data volume that can be handled by one computer.
Memanaje sekelompok servers.
Keeping track of which users are in which clans
Tracking all user activity on the site and producing custom reports
Displaying advertisements to visitors. Billing advertisers for impressions.
Automatically selecting ads that fit the visitor's interests. On-line management of advertising or real-time reporting to advertisers. Participating in existing banner advertising affiliate networks.

Deliverables


TODO: Membuat list project deliverables, mengenai apa yang akan kita sampaikan kepada customer
  • Customization guide
  • Sample look-and-feel
  • On-line help for end users
  • Command-line advertising configuration tool and report generator

Risks and Rewards

Apa resiko utama dari proyek ini?
Apa keuntungan / reward yang diperoleh ketika proyek ini sukses?

Use Cases

Contoh Use Cases sesuai Functionalitas produk

  • Manajemen user account
    • UC-00 konfigurasi situs
    • UC-01 Register sebagai user baru
    • UC-02 Meminta password baru
    • UC-03 Edit profil user
    • UC-04 Melihat profil user
  • Manajemen kursus
    • UC-10 Membuat kursus baru
    • UC-11 Melihat descripsi katalog
    • UC-31 Menetapkan kursus ke room
  • Course enrollment
    • UC-20 Mendaftar pada suatu kursus
    • UC-21 Drop kursus
  • Facilities management
    • UC-30 Melihat descripsi room
    • UC-31 Menetapkan kursus ke room

Use Cases dalam hubungannya dengan Stakeholder

  • Semua Stakeholders
    • UC-11 Melihat descripsi katalog
    • UC-30 Melihat descripsi room
  • Students
    • UC-01 Register sebagai user
    • UC-02 Meminta password baru
    • UC-03 Edit profil user
    • UC-20 Mendaftar pada suatu kursus
    • UC-21 Drop kursus
  • Instructors
    • UC-04 Melihat profil user
  • Administrators
    • UC-00 Konfigurasi situs
    • UC-10 Membuat kursus baru
    • UC-31 Menetapkan kursus ke room

Use Cases Sesuai Prioritas

  • Essential
    • UC-00 Konfigurasi situs
    • UC-01 Register sebagai user baru
    • UC-10 Membuat kursus baru
    • UC-11 Melihat descripsi katalog
    • UC-20 Mendaftar pada suatu kursus
    • UC-21 Drop kursus
    • UC-30 Menetapkan kursus ke room
  • Optional
    • UC-30 Membuat deskripsi room

Use Cases dengan Business Object dan Actor

BO \ Actor
All
Student
Instructor
Admin
Student record
N/A
Register sebagai user yang baru Meminta password baru.Edit profil user
Melihat profil user
N/A
Course
Melihat descripsi katalog
Mendaftar pada suatu kursus
Drop kursus
TODO
Membuat kursus baru , Menetapkan kursus ke room
Room
Melihat descripsi room
N/A
N/A
Menetapkan kursus ke room

Functional Requirements


Process impact: menerangkan tentang individual feature descriptions. Kebanyakan seperti test suite, mengorganisasi  feature set oleh prioritas, functional area, actor, business object.

TODO: sebelum menulis individual feature descriptions, buat list semua features yang diperlukan. TIP: lihat pada dokumen user needs document dan  use case suite sebagai ide fitur-fitur yang diperlukan

Non-Functional Requirements

Informasi yang harus ada:
Apakah kebutuhan atas produk dalam hal usability?.
Apakah kebutuhan atas produk dalam hal reliabilitas and up-time ?
Apakah kebutuhan atas produk dalam hal kenyamanan?.
Apakah kebutuhan atas produk dalam hal sekuritas?.
Apakah kebutuhan atas produk dalam hal performance dan scalabilitas?.
Apakah kebutuhan atas produk dalam hal maintainability dan upgradability?
Apakah kebutuhan atas produk dalam hal suppotability dan operability?
Apakah kebutuhan atas produk dalam hal business life-cycle ?

Environmental Requirements

Informasi
Apakah kebutuhan akan system hardware?
Apakah kebutuhan akan system software?
Apakah kebutuhan akan data import dan eksport?