Monday, April 15, 2013

Pengertian Software Enginering

Software adalah sekumpulan item-item atau objek yang membentuk konfigurasai yang melibatkan program, dokumen, data dan lain-lain.
Sedangkan Software Engineering adalah teknologi yang harus digunakan oleh setiap orang yang akan membangun software, dengan melalui serangkaian proses, menggunakan sekumpulan metode dan alat bantu (tools) (Pressman, 1997).
Proses dari Software Engineering :
  1. Management Prosess terdiri dari :
    • Project Management
    • Configuration Management
    • Quality Assurance Management
  2. Technical process, digambarkan sebagai metode yang akan diterapkan dalam tahap tertentu dari pengembangan siklus hidup Software :
    • Analysis Methods
    • Design Methods
    • Programming Methods
    • Testing Methods
  3. Metode teknis yang mengarah ke paradigma
     
Orang yang terlibat dalam produksi Software : 
  1. customer / client : Menginginkan software yang di bangun, Sering tidak mengetahui apa yang dia inginkan 
  2. managers / designers : Merencanakan software, sulit untuk meramalkan semua masalah dan isu-isu diyang ada 
  3. developers : menulis kode untuk meng implementasikan software, Terkadang sulit untuk menulis kode yang kompleks pada sistem yang besar
  4. testers : melakukan penjaminan mutu (QA), adalah mustahil untuk menguji semua kombinasi tindakan
  5. users : membeli dan menggunakan produk software, pengguna dapat berubah-ubah dan bisa salah paham terhadap suatu produk software
      
Perbedaan Software Engineering dan Computer Science :
  1. Computer science fokus pada teori dan dasar-dasar, software engineering fokus pada praktek dan pembangunan dan pengiriman penggunaan software.
  2. Teori Computer science masih belum cukup untuk menetapkan sebagai sebuah tiang fondasi untuk software engineering.
      
Perbedaan Software Engineering dan System engineering :
  1. System engineering fokus pada semua aspek pembangunan sistem dasar komputer meliputi hardware, software and process engineering. Software engineering adalah bagian dari proses ini yang berfokus pada pembangunan prasarana perangkat lunak, kontrol, aplikasi dan database pada sistem.
  2. System engineers terlibat dalam spesifikasi sistem, perancangan arsitektur, integrasi dan penyebaran.
      
Tantangan kunci yang dihadapi software engineering :
  1. Heterogeneity : Teknik pembangunan untuk membangun software yang dapat mengatasi platform yang tidak sejenis dan eksekusi lingkungan
  2. Delivery : Teknik pembangunan yang ditunjuk untuk mempercepat pengiriman software
  3. Trust : Teknik pembangunan yang ditunjukkan bahwa software dapat dipercaya oleh penggunanya.

Kerangka kerja umum RPL meliputi 5 tahap : 
  1. Communication
    kolaborasi dengan pelanggan dan pengumpulan persyaratan
    .
  2. Planning
    Menetapkan rencana kerja rekayasa, menggambarkan risiko teknis, persyaratan daftar sumber daya, produk kerja yang dihasilkan, dan mendefinisikan jadwal kerja.
  3. Modeling
    Penciptaan model untuk membantu pengembang dan pelanggan memahami desain yang dibutuhkan
  4. Construction
    Melakukan pengkodean dan pengujian yang diperlukan untuk mengungkap kesalahan dalam kode.
  5. Deployment
    Pada tahap ini perangkat lunak dikirim ke pelanggan untuk di evaluasi dan memberikan umpan balik berdasarkan evaluasi.

Siklus Pengembangan Sistem :
  1. Planning
    Fase ini adalah proses dasar pemahaman mengapa sistem informasi harus dibangun, Tahap Perencanaan juga akan menentukan bagaimana tim proyek akan pergi membangun sebuah sistem informasi.
    Tahap Perencanaan terdiri dari dua langkah perencanaan :

    • Selama inisiasi proyek, nilai bisnis sistem untuk organisasi di identifikasi (Bagaimana akan menurunkan biaya atau meningkatkan pendapatan?) 
    • Selama manajemen proyek, manajer proyek menciptakan rencana kerja, staf proyek, dan menempatkan teknik di tempat untuk membantu kontrol tim proyek dan mengarahkan proyek secara keseluruhan.
       
  2. Analysis
    Tahap analisis menjawab pertanyaan siapa yang akan menggunakan sistem, sistem apa yang akan dilakukan, dan di mana serta kapan akan digunakan.
    Selama fase ini tim proyek menyelidiki setiap sistem yang sekarang, mengidentifikasi peluang perbaikan, dan mengembangkan konsep untuk sistem baru.
    Fase ini memiliki tiga langkah analisis :

    • Strategi Analisis: ini dikembangkan untuk memandu upaya tim proyek. Ini mencakup analisis dari sistem saat ini. 
    • Persyaratan pengumpulan: Analisis informasi ini mengarah pada pengembangan konsep untuk sebuah sistem baru. Konsep ini digunakan untuk membangun satu set model analisis. 
    • Proposal Sistem: Proposal disampaikan kepada sponsor proyek dan individu kunci lainnya yang memutuskan apakah proyek harus terus bergerak maju.
       
  3. Design
    Dalam fase diputuskan bagaimana sistem akan beroperasi, dalam hal perangkat keras, perangkat lunak, dan infrastruktur jaringan, antarmuka pengguna, bentuk, dan laporan yang akan digunakan, dan program-program khusus, database, dan file yang akan dibutuhkan.Fase ini memiliki empat langkah design :
    • Strategi Desain: Hal ini menjelaskan apakah sistem akan dikembangkan oleh perusahaan atau di luar perusahaan. 
    • Desain Arsitektur: Ini menggambarkan perangkat keras, perangkat lunak, dan infrastruktur jaringan yang akan digunakan. 
    • Database dan file Spesifikasi: Dokumen-dokumen ini mendefinisikan apa dan di mana data akan disimpan. 
    • Program Desain: Mendefinisikan program apa perlu ditulis dan apa yang akan mereka lakukan.
        
  4. Implementation
    Selama fase ini, sistem bisa dikembangkan atau dibeli (dalam kasus paket software).
    Fase ini biasanya merupakan bagian terpanjang dan paling mahal dari proses.
    Fase ini memiliki tiga langkah :

    • Konstruksi Sistem: Sistem ini dibangun dan diuji untuk memastikan ia melakukan seperti yang dirancang. 
    • Instalasi: Bersiaplah untuk mendukung sistem yang terinstal. 
    • Dukungan Rencana: Termasuk kajian pasca implementasi.


No comments:

Post a Comment

Kebahagiaan sejati bukanlah pada saat kita berhasil meraih apa yg kita perjuangkan, melainkan bagaimana kesuksesan kita itu memberi arti atau membahagiakan orang lain.