Software Process & Software Product
NAMA : GD WAHYU NUGRAHA SUBAGIA
NRP : 5115100016
MPPL D
Ø Software
development process atau software development lifecycle, adalah struktur yang
digunakan dalam pembangunan produk perangkat lunak. Software process
direpresentasikan sebagai kumpulan fase kerja yang diaplikasikan untuk
mendesain dan membangun perangkat lunak. Tidak ada software process yang ideal,
dan sebagian besar organisasi sudah mengembangkan pendekatan mereka sendiri
terhadap pengembangan perangkat lunak. Software development process sebaiknya
memanfaatkan penggunaan sumber daya manusia (SDM) dan karakteristik spesifik
system yang sedang dibangun secara maksimal.
Setiap proses perangkat lunak harus mencakup empat aktivitas berikut:
-
Software Specification (Requirement
Engineering): Menentukan fungsionalitas utama dan batasan dari sebuah software
-
Software Design and Implementation:
Merancang dan memprogram software
-
Software Verification and Validation:
Memverifikasi dan memvalidasi software agar sesuai spesifikasi dan memenuhi
kebutuhan pengguna
-
Software Evolution (Software Maintenance):
Memodifikasi software agar memenuhi kebutuhan pasar
Dalam prakteknya,
Software Process mempunyai beberapa sub-activities seperti requirements
validation, architectural design, unit testing, dsb. Ada pula supporting
activities seperti configuration and change management, project management,
user experience, dan quality assurance. Kegiatan lain dalam Software Process
untuk memperbaiki activities yang ada diatas yaitu seperti memperkenalkan
teknik baru, tools, mengikuti praktek yang benar, standarisasi proses, dsb.
Setiap proses dalam Software Process juga mencakup process description, seperti:
Setiap proses dalam Software Process juga mencakup process description, seperti:
-
Products: Hasil dari sebuah
aktivitas. Misalnya, hasil desain arsitektur mungkin merupakan model untuk
arsitektur perangkat lunak.
-
Roles: Tanggung jawab orang-orang
yang terlibat dalam prosesnya. Misalnya, manajer proyek, programmer, dll.
-
Pre and Post Conditions: Kondisi yang
harus benar sebelum dan sesudah proses pembuatan perangkat lunak.
Ø Software
Product adalah hasil atau output dari Software Process itu sendiri.
2.
Berapa
biaya yang dibutuhkan untuk membuat software?
Contoh
untuk sebuah basic app, biasanya biaya yang dikeluarkan tidak begitu banyak
(sekitar Rp 30.000.000,00). Karena untuk basic app merupakan jenis aplikasi
yang simpel, anda bisa mengambil contoh aplikasi email yang biasa digunakan
untuk handphone sekarang ini. Pemogramannya pun hanya menggunakan pemograman
standar API (Application Programming Interfaces) yang digunakan untuk semua
jenis sistem operasi.
Ada beberapa hal yang
bisa mempengaruhi harga dari sebuah aplikasi, yaitu:
1. Platform
aplikasi tersebut
2. Jenis
user interface
3. Pendaftaran
integrasi dengan media sosial
4. Konten
yang dihasilkan oleh pengguna
5. Penanggalan
dan pelacak lokasi
6. Integrasi
external API
7. Keamananan
- Keamanan berbasis SSL
- Proteksi DOS
- Dua faktor otentikasi
- Keamanan berbasis SSL
- Proteksi DOS
- Dua faktor otentikasi
8. Review
dan analisis dari admin
Dalam
hal mengembangkan aplikasi, android memang diketahui mengeluarkan biaya yang
lebih banyak. Sebuah statistik mengatakan bahwa normalnya, 50% proyek android
terdiri berisi kode perintah. 40% sisanya difokuskan untuk pengembangan
aplikasi. Selain itu, untuk pengembangan
sebuah aplikasi android membutuhkan waktu yang lebih lama. Hal ini
dikarenakan banyak sekali serangkaian uji coba yang harus dilakukan agar
aplikasi bisa dijalankan dengan baik.
3.
Team
yang terlibat didalam software, tugasnya apa saja ?
-
Project Manager: Project Manager adalah
seseorang yang bertindak sebagai pimpinan dalam suatu proyek
-
Programmer: Membuat software menggunakan
tool programming yang ada
-
System Analyst: Mempelajari proses bisnis
untuk dituangkan ke dalam rancangan system
-
System Administrator: Mengelola sistem
komputer yang dirancang oleh System Analyst dan dibuat oleh Programmer
-
Database Administrator: Mengelola sebuah
sistem database
-
Database Engineer: Merancang sistem
database
-
System Integrator: Membangun sistem yang
dirancang oleh System Analyst dan mengintegrasikan sistem yang ada dengan sistem
yang akan dibuat di kemudian hari
-
Network Designer: Merancang sebuah sistem
jaringan computer
-
Network Engineer: Merancang teknik-teknik
baru dalam bidang networking
-
Software Engineer: Mengembangkan metode
dan teknik-teknik baru dalam pembuatan software
-
Hardware Engineer: Mengembangkan metode
dan teknik-teknik baru dalam pembuatan hardware
-
System Auditor: Mengaudit sebuah sistem
komputerisasi dan menemukan kelemahan-kelemahan sebuah sistem komputerisasi,
sehingga hasil audit itu dapat digunakan untuk mengembangkan sistem yang ada
menjadi lebih sempurna lagi.
Komentar
Posting Komentar