Dipertemuan pertama ini adalah pertama kalinya saya mengulang pelajaran demi mengejar skripsi dan lulus tepat waktu. Pertemuan ini akan membahas tentang apa itu Software Engineering yang melatih kita menjadi Project Manager bukan hanya sebagai Programmer saja. berikut teori - teorinya
Apa itu Software?
Software memiliki 3 bagian:
- Instruction: instruksi pada komputer software yang ketika dijalankan menyediakan fitur sesuai keinginan atau sesuai dengan aksinya, fungsi, serta performance dari suatu software tersebut.
- Data Structures: digunakan program untuk memanipulasi data atau informasi pada suatu program terkait
- Dokumentasi: catatan yang menjelaskan tentang penggunaan program dan cara operasi program. Dokumentasi sangat penting agar ketika program yang kita buat pindah tangan maka dari dokumentasi tersebut orang lain akan mengerti bagaimana jalannya program kita.
Karakteristik Software
- Developed or Engineered yaitu software dikembangkan atau dibuat secara rekayasa tidak seperti produk pabrik yang menjadi benda nyata.
- Tidak habis: Software merupakan produk yang tidak nyata sehingga tidak akan habis walau berapa orangpun yang menggunakannya, namun tetap software harus dapat berkembang.
- Custom-built maksudnya software harus bisa menerima custom-built atau dipesan secara khusus untuk suatu perusahaan.
Software Application
- System Software: software yang digunakan untuk membantu aplikasi lain. Contoh: Operasi Sistem, tanpa adanya OS aplikasi lain tidak dapat berjalan.
- Aplication Software: software yang digunakan untuk membantu bisnis. Contoh: Network Management Software dapat membantu dalam bidang bisnis dengan melihat biaya apa saja yang dikeluarkan untuk hardware dan jaringan.
- Engineering Software: software untuk melakukan proses simulasi. Contoh: simulasi pembuatan mobil.
- Embeded Software: software yang sudah ditanamkan pada hardware. Contoh: program pada mesin cuci.
- Product Line: sotfware yang biasa kita gunakan sehari - hari. Contoh: Microsoft Office.
- WebApps: software yang berbasis web dan berjalan pada web browser.
- AI Software: software yang memiliki kecerdasan buatan, biasa game sekarang sudah banyak yang memakai AI seperti catur atau game RPG dota.
Karakteristik WebApps
- Network Intensiveness: sebuah website harus berada pada jaringan dapat diakses dari mana saja, OS apa saja, dan web browser apa saja oleh clientnya.
- Concurrency: dapat diakses banyak user secara bersamaan.
- Unpredictable load: traffic website bisa saja ramai sewaktu - waktu dan hal ini harus dapat ditangani
- Performance: memiliki kinerja yang bagus.
- Availability: selalu tersedia untuk para penggunanya.
- Data driven: dapat menyajikan data atau informasi kepada para penggunanya.
- Content Sensitive: kualitas dan estetika sifat konten merupakan penentu penting dari kualitas WebApp.
- Continuous Evolution: dapat berevolusi atau terupdate secara terus menerus.
- Immediacy: WebApps merupakan bentuk pemasaran yang sangat cepat karena terhubung ke banyak orang.
- Security: WebApps harus memiliki security yang kuat karena diakses oleh banyak orang. Jika perlu diadakannya pembatasan jumlah user yang masuk agar server tidak down.
- Aesthetic: isi dan respon yang diberikan oleh WebApps haruslah menarik, bagus, sopan dan tidak menjatuhkan usernya.
Software Process
Framework Activity
- Communication: membicarakan program yang akan dibuat
- Planning: membuat perencanaan dalam membuatnya
- Modeling:
- Analisys Requirment: menganalisa kebutuhan program
- Modeling: tahap pembuatan proses model.
- Construction:
- Code Generation: melakukan coding.
- Testing: tahap testing alpha test dan beta test.
- Deployment: memasarkan produk atau memberikan produk pada pihak yang bersangkutan
Umbrella Activities
- Software Project Menagement
- Formal Technical Review (Review hasil analisa)
- Software Quality Assurance (memberi jaminan atau asuransi)
- Software Configuration Management (tempat menyimpan semua kebutuhan software)
- Work Product Preparation and Production (melakukan persiapan dan produksi software)
- Reuseability Management (dapat dipakai ulang)
- Measurement (adanya pengukuran)
- Risk Management (dapat mengatasi resiko dalam software)
Hooker's General Principle
- 1. The Reason It All Exists
- 2. KISS (Keep It Simple, Stupid!)
- 3. Maintain the Vision
- 4. What You Produce, Others Will Consume
- 5. Be Open to the Future
- 6. Plan Ahead for Reuse
- 7. Think!
Tidak ada komentar:
Posting Komentar