SPESIFIKASI KEBUTUHAN PERANGKAT LUNAK
UnilaFreeLanceLink
untuk:
Mahasiswa dan Perusahaan Pencari Tenaga Kerja
Dipersiapkan oleh:
Kelompok 1 PSTI-B
Anggota :
M.lathif dahlan al-bana
Dihan Ahmad Al-Hasyir Sae
Steven Nataniel Kasim
Deru Pratama
Program Studi Teknik Informatika FT Universitas Lampung
Jl. S. Brojonegoro No. 1 Bandar Lampung
Control Revisi Dokumen
Sistem Penomoran
Ada beberapa hal/bagian dalam dokumen ini yang perlu diberi nomor. Maksud penomoran ini untuk mempermudah audience dalam pengidentifikasian. Adapun aturan penomorannya sebagaimana tabel berikut:
Referensi
Berikut adalah daftar acuan yang digunakan dalam pendokumentasian spesifikasi kebutuhan perangkat lunak ini.
IEEE Std. 1233, 1998 Edition IEEE Guide for Developing System Requirements Specifications
IEEE, Software Requirements Engineering, Second Edition, IEEE Computer Society Press, 2002.
Bray, Ian K. An Introduction to Requirement Engineering, 1st published, Addison-Wesley, 2002
Kotonya, Gerald and Sommerville, Ian. Requirement Engineering: Processes and Techniques, John Wiley & Sons Ltd, 1998
Holil, Achmad. Template: Spesifikasi Kebutuhan Perangkat Lunak, Jurusan Sistem Informasi ITS, 2006.
Daftar Isi
Pendahuluan
1.1 Tujuan Penulisan Dokumen
Dokumen ini dibuat untuk mendefinisikan spesifikasi spesifikasi kebutuhan perangkat lunak UnilaFreelanceLink, yang akan digunakan oleh mahasiswa dan dosen Universitas Lampung untuk mencari dan menawarkan pekerjaan freelance dalam lingkup universitas.
1.2 Lingkup Masalah
Platform UnilaFreelanceLink adalah platform digital yang dirancang untuk menghubungkan mahasiswa dengan peluang kerja freelance yang disediakan oleh dosen atau institusi terkait. Aplikasi ini berfungsi seperti LinkedIn dalam skala universitas, memfasilitasi pencarian pekerjaan, pembuatan profil profesional, dan interaksi antara pencari dan pemberi kerja.
Platform ini mencakup:
Pendaftaran dan autentikasi pengguna (Mahasiswa, Perusahaan, dan Admin)
Pengelolaan profil pengguna
Sistem pencarian dan pemfilteran lowongan pekerjaan
Pengelolaan dan pengajuan lamaran kerja
Sistem notifikasi dan komunikasi antara pengguna
Moderasi konten oleh Admin
1.3 Definisi, Istilah, dan Singkatan
Freelancer: Mahasiswa yang mencari pekerjaan freelance.
Employer: Dosen atau pihak universitas yang menawarkan pekerjaan freelance.
Job Listing: Daftar pekerjaan yang tersedia di dalam aplikasi
1.4 Aturan Penomoran
Menggunakan sistem penomoran sesuai template:
Kebutuhan Fungsional: KF999.x
Kebutuhan Non-Fungsional: KnF99.x
1.5 Referensi
IEEE Std. 1233, 1998 Edition IEEE Guide for Developing System Requirements Specifications
IEEE, Software Requirements Engineering, Second Edition, IEEE Computer Society Press, 2002
Kotonya, Gerald dan Sommerville, Ian. Requirement Engineering: Processes and Techniques, John Wiley & Sons Ltd, 1998
1.6 Deskripsi Umum Dokumen
Dokumen ini mencakup deskripsi umum perangkat lunak, kebutuhan antarmuka eksternal, kebutuhan fungsional, model use case, serta kebutuhan non-fungsional.
Deskripsi Umum Perangkat Lunak
Deskripsi Umum Sistem
Sistem ini terdiri dari tiga jenis pengguna utama:
Mahasiswa: Mencari pekerjaan, mengajukan lamaran, dan mengelola profil mereka.
Perusahaan: Memposting lowongan pekerjaan dan menyeleksi kandidat yang sesuai.
Admin: Bertanggung jawab atas pengelolaan dan moderasi sistem.
Sistem ini memungkinkan mahasiswa untuk mencari pekerjaan berdasarkan kategori, lokasi, dan jenis pekerjaan (magang, paruh waktu, atau penuh waktu). Perusahaan dapat mengelola lowongan, melihat daftar pelamar, dan berkomunikasi dengan kandidat.
Karakteristik Pengguna
Minimal sebuah tabel dengan Kolom : Pengguna, Pekerjaan, Hak Akses. Kolom Hak Akses dihubungkan dengan Fungsi utama yang muncul pada Fungsi Produk
Batasan
Batasan Operasional :
lingkup Keanggotaan : Hanya terbuka bagi mahasiswa, dosen, dan alumni Universitas Lampung yang tertarik pada dunia freelance.
Keterbatasan Sumber Daya : Bergantung pada pendanaan internal, sponsor, atau kerja sama dengan pihak eksternal.
Regulasi Kampus : Harus mematuhi peraturan dan kebijakan yang berlaku di Universitas Lampung.
Kebutuhan Verifikasi : Proses pendaftaran anggota dan mitra kerja harus melewati tahap validasi tertentu agar menjaga kredibilitas lembaga.
Batasan Teknis :
Ketergantungan pada Sistem Lain
Data transaksi dan rekapitulasi keuangan dapat bergantung pada sistem keuangan universitas atau pihak ketiga.
Modul pengelolaan proyek hanya dapat dijalankan jika sistem pencocokan klien-freelancer telah berfungsi dengan baik.
Standarisasi Format Data
Harus menggunakan format data yang kompatibel dengan sistem lain yang digunakan oleh universitas atau mitra eksternal.
Jika bekerja sama dengan sistem pembayaran digital, harus mengikuti format API dan protokol keamanan yang ditentukan.
Kompatibilitas dan Multi-Platform
Sistem harus dapat dijalankan di berbagai platform, termasuk Windows.
Jika berbasis web, harus responsif dan kompatibel dengan berbagai browser (Chrome, Firefox, Edge, Safari).
Jika menggunakan aplikasi mobile, harus mendukung sistem operasi Android dan iOS.
Lingkungan Operasi
Server: Linux dengan Apache/Nginx
Database: MySQL/PostgreSQL
Client: Browser berbasis web
OS yang didukung: Windows, macOS, Linux
Deskripsi Kebutuhan
3.1 Kebutuhan Antarmuka Eksternal
3.1.1 Antarmuka pemakai
1.Desain Antarmuka Umum
Tampilan Responsif – Antarmuka berbasis web yang dapat menyesuaikan dengan ukuran layar perangkat (desktop, tablet, dan mobile).
Warna dan Tema – Menggunakan skema warna yang profesional dan ramah mata, seperti biru dan putih sebagai warna utama.
Navigasi Intuitif – Sidebar atau menu utama dengan kategori yang jelas, seperti Dashboard, Proyek, Klien, Portofolio, Pembayaran, dan Pengaturan.
2. Standar GUI & Komponen Utama
Header Navigasi
Logo Unila FreelanceLink (pojok kiri atas).
Menu utama: Beranda, Proyek, Profil, Bantuan.
Notifikasi (ikon lonceng).
User Profile (foto profil di pojok kanan atas).
Dashboard Utama
Ringkasan proyek aktif, saldo, dan statistik pekerjaan selesai.
Shortcut ke fitur utama: Cari Pekerjaan, Tambah Portofolio, Kelola Pembayaran.
Form & Input Standar
Dropdown menus untuk kategori pekerjaan.
Autocomplete fields untuk pencarian klien atau proyek.
Date picker untuk memilih tenggat waktu proyek.
3. Layout dan Standar Komponen
Button Standar
Primary Button (biru): “Cari Proyek”, “Kirim Tawaran”, “Terima Pembayaran”.
Secondary Button (abu-abu): “Batal”, “Kembali”, “Lihat Detail”.
Danger Button (merah): “Hapus Akun”, “Batalkan Proyek”.
Tampilan Error Message
Kesalahan Input: “Silakan isi semua kolom yang diperlukan.”
Koneksi Terputus: “Tidak dapat terhubung ke server. Periksa koneksi internet Anda.”
Akses Ditolak: “Anda tidak memiliki izin untuk mengakses halaman ini.”
4. Standar Fungsionalitas
shortcut Keyboard
Ctrl + F → Pencarian Proyek
Ctrl + S → Simpan Perubahan
Esc → Batalkan atau Tutup Modal
Bantuan & Dokumentasi
Tersedia di setiap halaman dengan ikon Help (❓) yang mengarah ke pusat bantuan atau chatbot AI.
Komponen Perangkat Lunak
Frontend: React.js / Vue.js untuk antarmuka interaktif.
Backend: Node.js / Laravel untuk mengelola data pengguna dan transaksi.
Database: PostgreSQL / MongoDB untuk menyimpan informasi proyek dan transaksi.
3.1.2 Antarmuka Perangkat Keras
Sistem Unila FreelanceLink harus mampu berkomunikasi dengan berbagai perangkat keras melalui standar dan protokol tertentu. Berikut adalah beberapa karakteristik utama:
Dukungan perangkat
Kompatibel dengan PC/Laptop berbasis Windows, macOS, dan Linux.
Dapat diakses melalui smartphone dan tablet berbasis Android dan iOS.
Berjalan di server cloud untuk mendukung aksesibilitas global.
Interaksi Perangkat Lunak dan Perangkat Keras
Keyboard & Mouse – Navigasi utama di desktop/laptop.
Layar Sentuh – Interaksi pada perangkat mobile (smartphone, tablet).
Microphone & Kamera – Digunakan untuk fitur verifikasi pengguna dan wawancara kerja melalui video call.
Sensor Biometrik – Jika tersedia, bisa digunakan untuk login melalui fingerprint atau face recognition.
Protokol Komunikasi
HTTP/HTTPS – Untuk komunikasi antara client (browser/aplikasi) dan server.
WebSocket – Untuk fitur notifikasi dan chat real-time.
REST API & GraphQL – Untuk integrasi dengan layanan eksternal (misalnya, sistem pembayaran atau rekrutmen).
3.1.3 Antarmuka Perangkat Lunak
Terintegrasi dengan sistem autentikasi kampus untuk validasi pengguna.
Mendukung format dokumen umum (PDF, DOCX) untuk upload resume dan portfolio.
Berbasis arsitektur RESTful API untuk integrasi antara frontend dan backend.
Menggunakan database PostgreSQL atau MySQL untuk penyimpanan data pengguna dan pekerjaan.
Mendukung autentikasi melalui OAuth (Google, LinkedIn) untuk kemudahan akses.
3.1.4 Antarmuka Komunikasi
Chat berbasis teks antara employer dan freelancer melalui sistem internal.
Notifikasi berbasis email untuk update status pekerjaan dan pesan baru.
API notifikasi menggunakan Firebase Cloud Messaging (FCM) untuk push notification pada perangkat mobile.
Dukungan untuk integrasi dengan aplikasi pihak ketiga seperti Google Calendar untuk penjadwalan wawancara.
3.2 Kebutuhan Fungsional
Diawali dengan membuat daftar kebutuhan fungsional P/L, lengkap dengan ID dan penjelasan jika perlu. Bisa dibuat dalam bentuk tabel.
3.4 Kebutuhan Non Fungsional
Kebutuhan Kinerja
Aplikasi harus memiliki respon waktu kurang dari 2 detik dalam kondisi normal.
Sistem harus mampu menangani hingga 10.000 pengguna aktif secara bersamaan tanpa mengalami penurunan performa.
Harus dioptimalkan agar penggunaan sumber daya (RAM & CPU) tetap efisien, terutama pada perangkat dengan spesifikasi rendah.
Kebutuhan Keamanan
Menggunakan enkripsi data (SSL/TLS) untuk melindungi informasi pengguna saat berkomunikasi antara client dan server.
Harus memiliki sistem autentikasi yang aman, seperti OAuth (Google, LinkedIn) untuk login pengguna.
Sistem harus mendukung pembatasan akses berdasarkan peran pengguna (Mahasiswa, Dosen, Admin).
Kebutuhan Perlindungan Keamanan
Sistem harus memiliki mekanisme backup otomatis untuk mencegah kehilangan data akibat kegagalan sistem.
Harus ada fitur deteksi dan mitigasi serangan siber seperti SQL Injection dan Cross-Site Scripting (XSS).
Informasi pribadi pengguna harus disimpan dengan enkripsi dalam database agar tidak bisa diakses oleh pihak yang tidak berwenang.
Atribut Kualitas Perangkat Lunak
Usability (Kemudahan Penggunaan): Antarmuka harus user-friendly dengan navigasi yang jelas.
Reliability (Keandalan): Sistem harus memiliki uptime minimal 99,5% per bulan.
Maintainability (Kemudahan Pemeliharaan): Kode harus modular agar pembaruan fitur bisa dilakukan tanpa merusak sistem utama.
Portability (Portabilitas): Aplikasi harus dapat berjalan di Windows, MacOS, Android, dan iOS.
Uraikan dengan ringkas kebutuhan non fungsional dalam tabel sebagai berikut. Isilah Kolom Kebutuhan dengan kalimat yang jelas dan kelak dapat ditest untuk dipenuhi.ID adalah nomor kebutuhan yang harus ditelusuri pada saat test. Tuliskan N/A bila Not Applicable..
Catatan :
Availability : ketersediaan aplikasi, misalnya harus terus menerus beroperasi 7 hari perminggu, 24 jam per haritanpa gagal
Reliability : keandalan, misalnya tidak pernah boleh gagal(atau kegagalan yang ditolerir adalah …%) sehingga harus dipikirkan fault tolerant architecture. Biasanya hanya perlu untuk Critical Application yang jika gagal akan berakibat fatal.
Ergonomy : kenyamanan pakai bagi pengguna
Portability : kemudahan untuk dibawa dan dioperasikan ke mesin/sistem operasi/platform yang lain
Memory : jika perhitungan kapasitas memori internal kritis (misalnya untuk SW yang harus dijadikan CHIPS dan ukurannya harus kecil
Response time : Batasan waktu yang harus dipenuhi. Sangat penting untuk aplikasi Real Time. Contoh: “Aplikasi harus mampu menampilkan hasil dalam 4 detik”, atau “ATM harus menarik kembali kartu yang tidak diambil dalam waktu 3 menit”
Safety: yang menyangkut keselamatan manusia, misalnya untuk SW yang dipakai pada sistem kontrol di pabrik Security : aspek keamanan yang harus dipenuhi.
3.5 Batasan Perancangan
Penggunaan Teknologi: Aplikasi harus dibangun menggunakan stack teknologi berbasis Node.js, PostgreSQL, dan React.js untuk memudahkan pengelolaan dan skalabilitas.
Autentikasi: Wajib menggunakan OAuth (Google, LinkedIn) untuk memastikan keamanan dan kemudahan login.
Regulasi Data: Harus mematuhi standar perlindungan data mahasiswa sesuai regulasi nasional.
Responsivitas: Aplikasi harus bisa digunakan baik di perangkat desktop maupun mobile dengan tampilan yang optimal.
Sistem Modular: Pengembangan dilakukan dengan pendekatan modular agar fitur dapat diperbarui tanpa mengganggu sistem utama.
3.6 Kerunutan (traceability)
3.7 Ringkasan Kebutuhan
UnilaFreelanceLink adalah aplikasi berbasis web dan mobile yang bertujuan untuk menghubungkan mahasiswa dengan peluang kerja freelance di lingkungan Universitas Lampung.
Kebutuhan Fungsional
Aplikasi ini mencakup beberapa fitur utama, antara lain:
Registrasi dan Login – Pengguna dapat membuat akun dan masuk ke sistem menggunakan autentikasi yang aman.
Pembuatan Profil – Pengguna dapat mengisi data diri, pengalaman, dan keahlian mereka.
Pencarian Pekerjaan – Mahasiswa dapat mencari pekerjaan berdasarkan kategori dan kriteria tertentu.
Pembuatan Job Listing – Dosen atau pihak pemberi kerja dapat memposting lowongan pekerjaan.
Aplikasi Pekerjaan – Mahasiswa dapat mengajukan lamaran untuk pekerjaan yang tersedia.
Sistem Chat – Pengguna dapat berkomunikasi langsung dalam aplikasi untuk membahas pekerjaan.
Sistem Penilaian – Employer dapat memberikan rating kepada freelancer berdasarkan hasil kerja mereka.
Sistem Monetisasi – Platform mendukung pemasangan iklan dan penerapan biaya layanan untuk keberlanjutan bisnis.
Kebutuhan Non-Fungsional
Selain kebutuhan fungsional, sistem ini harus memenuhi beberapa aspek non-fungsional, seperti:
Ketersediaan (Availability) – Sistem harus dapat diakses 24/7 tanpa gangguan besar.
Keamanan (Security) – Data pengguna harus dienkripsi dan sistem harus memiliki autentikasi yang aman.
Kinerja (Performance) – Respon sistem harus kurang dari 2 detik dalam kondisi normal.
Skalabilitas (Scalability) – Sistem harus mampu menangani hingga 10.000 pengguna aktif.
Kepatuhan Regulasi (Regulatory Compliance) – Harus mematuhi kebijakan perlindungan data nasional.
Kemudahan Pemeliharaan (Maintainability) – Sistem harus mudah diperbarui tanpa mengganggu layanan utama.
Portabilitas (Portability) – Aplikasi harus dapat berjalan di berbagai perangkat dan sistem operasi.
Keandalan (Reliability) – Sistem harus memiliki uptime minimal 99,5% setiap bulan.
Dengan memenuhi kebutuhan ini, UnilaFreelanceLink diharapkan dapat menjadi solusi yang efektif dalam menghubungkan mahasiswa dengan peluang kerja freelance secara efisien dan aman.
0 Komentar