Software Process & Software Product


NAMA : GD WAHYU NUGRAHA SUBAGIA
NRP : 5115100016
MPPL D
1.      Apa yang disebut software process dan software product, jelaskan ?
Ø  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:
-          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
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

Postingan Populer