Fase SDLC [Dijelaskan]: Cara Membuat Perangkat Lunak Hebat di tahun 2021

Diterbitkan: 2019-10-02
Daftar isi
  • Memahami Proses SDLC

  • Struktur Proses Pengembangan Perangkat Lunak

  • model SDLC

  • Bungkus

  • Industri pengembangan perangkat lunak sedang booming. Kami terus memproduksi kode dalam jumlah besar setiap tahun.

    Inti dari industri ini adalah siklus hidup pengembangan perangkat lunak (SDLC) – proses yang memandu tim perangkat lunak bagaimana menyusun dan merencanakan pekerjaan mereka.

    Jadi mari kita melakukan perjalanan melalui medan berbahaya pengembangan perangkat lunak.

    Kita akan melihat apa sebenarnya SDLC itu dan menelusuri evolusinya. Kita akan melihat model utama yang digunakan oleh industri.

    Kami akan menemukan fase-fase SDLC, di mana sebuah perangkat lunak berjalan sebelum terlihat terang – dan pemain utama di masing-masing fase.

    Pada akhirnya, kami akan memberi Anda pandangan sekilas tentang seluruh proses.

    Memahami Proses SDLC

    Membangun perangkat lunak adalah sebuah proses. Oleh karena itu, diperlukan tujuan yang jelas, sarana untuk mencapainya, dan cara untuk mengukur, mempertahankan, dan meningkatkan hasil. Pendekatan yang berbeda untuk pengembangan perangkat lunak menyediakan semua itu. Mereka tidak semuanya dipotong dari kain yang sama. Tergantung pada keadaan Anda, Anda mungkin perlu memilih pendekatan yang sangat berbeda.

    Ini tergantung pada banyak variabel, seperti:

    • industri
    • ukuran organisasi
    • tim dan proyek
    • perkiraan jangka waktu
    • dan anggaran yang dialokasikan.

    Apa yang umum adalah bahwa setiap bagian dari perangkat lunak mengikuti alur proses SDLC tertentu .

    Kerangka kerja ini menyempurnakan fase yang diperlukan hingga penyelesaian, sumber daya yang dibutuhkan, dan tugas yang harus dilakukan di sepanjang jalan.

    Proses SDLC akhirnya jadwal yang terstruktur dengan baik apa yang harus dicapai. Ini memutuskan pendekatan pengembangan perangkat lunak terbaik dalam perkiraan waktu dan batasan biaya.

    SDLC sering dianggap sebagai bagian dari istilah yang lebih luas "siklus hidup pengembangan sistem" - kerangka kerja tertua untuk mengembangkan sistem informasi.

    Itu muncul pada awal 1960-an sebagai respons terhadap kebutuhan akan sistem bisnis, yang mampu memproses data dalam jumlah besar. Kerangka kerja SDLC pertama yang terdokumentasi dengan baik adalah paradigma pemrograman terstruktur dari tahun 1969.

    Berbagai metodologi pengembangan perangkat lunak telah muncul pada 1990-an. Beberapa di antaranya adalah Pemrograman berorientasi objek, Scrum, dan Rational Unified Process. Proses Terpadu Agile muncul pada tahun 2005.

    Struktur Proses Pengembangan Perangkat Lunak

    Pengembangan produk perangkat lunak adalah urutan tahapan yang terkoordinasi dengan baik. Tergantung pada pendekatan pengembangan yang dipilih, jumlah langkah SDLC dapat bervariasi.

    Kami akan meninjau rasa 5-tahap dan 7-tahap dari SDLC.

    Versi 5 Tahap

    Versi 5 tahap dari proses pengembangan perangkat lunak berjalan seperti ini:

    Persyaratan dan Analisis

    Ini adalah fase penting di mana interaksi dengan klien dan pemangku kepentingan sangat penting. Mereka perlu menentukan hasil yang diharapkan, yaitu tujuan dari produk perangkat lunak. Selain kebutuhan pelanggan, ada banyak faktor lain yang perlu dipertimbangkan. Ini termasuk:

    • Arsitektur
    • Fungsional
    • Tidak berfungsi
    • Pertunjukan
    • Dan yang berhubungan dengan desain

    Untuk berhasil menyelesaikan tahap ini, dokumen yang disebut "spesifikasi kebutuhan perangkat lunak" dikembangkan. Ini adalah dasar dari segala sesuatu yang akan terjadi mulai saat ini.

    Keberhasilan proyek pengembangan sangat tergantung pada analisis kebutuhan. Pelaku utama pada tahap ini adalah Analis Bisnis (BA). Dia mengelola semua komunikasi untuk mengumpulkan kebutuhan bisnis, untuk melakukan analisis menyeluruh dan yang paling penting – untuk menerjemahkan informasi itu antara pemangku kepentingan dan pengembang.

    Desain

    Desain perangkat lunak didasarkan pada persyaratan yang ditetapkan. Di sinilah kita mengetahui lingkungan pengembangan, bahasa pemrograman, kerangka arsitektur, perangkat keras, dll. Ini juga waktu untuk menentukan strategi pengujian yang akan digunakan. Peran arsitek sistem sangat penting di sini. Mereka perlu mempertimbangkan semua prasyarat dari dokumen "spesifikasi persyaratan" dan menyediakan kertas desain untuk digunakan pada langkah berikutnya.

    Fase pengkodean

    Saat ini, para pengembang sudah mengetahui spesifikasi desain dengan baik. Pekerjaan akan dibagi menjadi modul dan pengkodean dimulai. Pelanggan juga harus dilibatkan pada tahap ini. Mereka memastikan semua tindakan diambil agar produk memenuhi harapan mereka. Memproduksi perangkat lunak yang berfungsi adalah hasil akhir pada tahap ini.

    Pengujian

    Sekarang kami memiliki produk yang bisa diterapkan, fase pengujian dapat dimulai. Tergantung pada strategi pengujian yang diuraikan dalam dokumen spesifikasi desain, hal ini dapat terjadi dalam berbagai cara.

    Namun, tujuannya tetap sama. Pertama, verifikasi bahwa semua persyaratan awal terpenuhi, dan kedua, tentukan apakah ada bug dalam kode. Penguji adalah pemain utama di sini. Hasil dari upaya mereka adalah perangkat lunak yang berfungsi penuh, siap diluncurkan.

    Pemeliharaan

    Tidak ada produk perangkat lunak yang sempurna. Itu sebabnya layanan pelanggan memainkan peran besar dalam proses pengembangan. Setelah dikirimkan ke klien akhir, masalah waktu nyata muncul dan mereka perlu diperbaiki. Pemeliharaan berkelanjutan adalah suatu keharusan jika Anda ingin memiliki pelanggan yang puas.

    Versi 7 Tahap

    Sekarang, rasa 7 tahap dari proses ini sedikit berbeda. Ini memiliki beberapa tahap tambahan, yang pasti mengubah sifat yang lain juga. Mari lihat:

    Perencanaan

    Cara lain untuk memulai Proses SDLC adalah dengan fase perencanaan. Ini mendahului pengumpulan persyaratan dan sebagian besar mencari umpan balik. Masukan dari pemangku kepentingan, mitra bisnis, insinyur, dan klien akhir membentuk ruang lingkup proyek. Fase ini menjawab pertanyaan seperti:

    • Apa yang harus dilakukan?
    • Sumber daya apa yang dibutuhkan?
    • Berapa lama waktu yang dibutuhkan?
    • Berapa biayanya?
    Persyaratan dan Analisis

    Di sini, analis bisnis menyusun daftar persyaratan, berdasarkan umpan balik dari klien. Kemudian, mereka memberikan ini kepada para insinyur perangkat lunak. Komunikasi sangat penting.

    Fase ini harus menghasilkan dokumen yang menguraikan semua persyaratan – dan berfungsi sebagai dasar untuk fase berikutnya.

    Desain Sistem

    Persyaratan perangkat lunak sekarang menemukan jalan mereka ke dalam arsitektur sistem. Pada titik ini kita dapat menentukan sarana dan operasi fungsional yang kita butuhkan untuk menyelesaikan proyek. Setelah disiapkan, rencana desain akan dipresentasikan ke bisnis. Kami memasukkan semua umpan balik sebelum pemrograman yang sebenarnya dimulai.

    Pengembangan perangkat lunak

    Setelah persyaratannya jelas, para insinyur perangkat lunak dapat mulai bekerja. Tujuan pada tahap ini adalah program kerja, yang siap untuk diuji. Ini juga merupakan awal produksi dalam Proses SDLC .

    Pengujian

    Peran tim penjaminan mutu adalah untuk menemukan apakah persyaratan bisnis awal telah dipenuhi. Mereka memeriksa kualitas kode perangkat lunak. Bug diperbaiki. Ada daftar lengkap metode pengujian perangkat lunak yang harus dilalui: fungsional, integrasi, pengujian kinerja, dan sebagainya.

    Pengujian otomatisasi adalah cara untuk mengotomatiskan proses menjalankan pengujian berulang melalui penggunaan perangkat lunak eksternal, seperti Bamboo dan Jenkins.

    Penerapan

    Setelah kode melewati fase pengujian, kode siap untuk diterapkan ke lingkungan produksi. Tergantung pada kebijakan perusahaan, proses ini mungkin memerlukan persetujuan; namun, dalam banyak kasus, ini merupakan langkah otomatis dalam siklus hidup pengembangan perangkat lunak .

    Pemeliharaan dan Operasi

    Setelah perangkat lunak dirilis dalam produksi, semua jenis masalah dapat muncul. Melalui pemantauan, mereka dapat diidentifikasi dan diselesaikan. Fitur-fitur baru juga dapat menemukan jalannya ke dalam produk. Ini adalah fase ketika kinerja dapat diukur dan ditingkatkan.

    model SDLC

    Proses pengembangan perangkat lunak sebagian besar bersifat universal. Ada ruang untuk menambahkan lebih banyak tahapan atau menyederhanakan yang sudah ada – tetapi sebagian besar adalah hal yang sama.

    Ini tidak berlaku ketika kita melihat metode pengembangan . Meskipun mereka semua mengamati prosesnya, mereka melakukannya dengan cara yang sangat berbeda.

    Untuk memilih yang paling cocok, ada beberapa faktor utama yang perlu dipertimbangkan. Itu selalu merupakan keseimbangan antara kebutuhan klien dan detail praktis dari pengembangan perangkat lunak. Ada beberapa faktor, seperti:

    • kompleksitas proyek
    • teknologi yang dipilih
    • dan ukuran tim.

    Semua ini menentukan pendekatan apa yang paling berhasil. Kami akan melakukan tinjauan dari beberapa metodologi SDLC yang paling dikenal dan digunakan .

    Air terjun

    Model air terjun adalah proses desain sekuensial linier. Ini adalah metodologi tertua yang digunakan dalam rekayasa perangkat lunak. Ini berasal dari industri manufaktur dan konstruksi pada 1970-an.

    Kemajuan proyek pengembangan mengikuti model air terjun benar-benar menuruni pipa SDLC. Kemajuan hanya mungkin jika fase SDLC sebelumnya telah berhasil diselesaikan. Tidak ada proses yang pasti untuk mundur.

    SDLC terjun adalah pendekatan yang sangat terstruktur. Ini bekerja dengan baik ketika:

    • persyaratan dan kegiatan didefinisikan dengan baik dan dipahami
    • teknologinya bisa diandalkan
    • tim dukungan tersedia dan Anda memperkirakan proyek jangka pendek

    Kelemahan dari metode ini terkait dengan kurangnya fleksibilitas. Anda tidak dapat menerapkan persyaratan yang baru muncul di sepanjang jalan. Karena tidak ada produk nyata yang dihasilkan hingga akhir proses pengembangan, risiko dan ketidakpastiannya tinggi. Ini bisa menjadi pendekatan yang sangat mahal, jika Anda memutuskan untuk memodifikasi persyaratan atau ruang lingkup proyek dengan cepat.

    berulang

    Metode ini didasarkan pada gagasan bahwa perangkat lunak dapat dibangun melalui urutan siklus yang berulang. Ini dimulai dengan serangkaian persyaratan sederhana. Pada setiap putaran, para insinyur belajar dari perilaku versi perangkat lunak sebelumnya dan mampu meningkatkan fungsinya.

    Keuntungan terbesar dari pendekatan ini adalah bahwa prototipe kerja perangkat lunak akan diproduksi setelah setiap siklus selesai. Ini membuatnya lebih mudah untuk menerapkan perubahan, untuk mengidentifikasi risiko. Pengujian SDLC relatif lebih mudah bila dilakukan pada setiap iterasi.

    Kerugian dari model iteratif pengembangan perangkat lunak turun ke sumber daya dan biaya. Meningkatkan jumlah iterasi menghabiskan lebih banyak sumber daya. Batas waktu penyelesaian proyek belum ditentukan, begitu pula risikonya. Oleh karena itu, agar metode ini berhasil, diperlukan ahli yang sangat terampil dalam melakukan analisis risiko.

    Metodologi ini tidak cocok untuk proyek yang lebih kecil.

    Lincah

    Pendekatan Agile untuk pengembangan perangkat lunak relatif baru. Namun, itu dengan cepat mendapatkan popularitas di seluruh dunia.

    SDLC tangkas didasarkan pada memberikan porsi kecil dari perangkat lunak bekerja dan mencari umpan balik langsung dari klien. Inti dari pendekatan ini terletak pada kolaborasi yang kuat dan komunikasi yang berkelanjutan antara tim. Setiap siklus berlangsung sekitar satu hingga tiga minggu, di mana modul/fitur kerja dikirimkan ke klien. Proses kemudian berulang.

    Pengujian dilakukan pada setiap iterasi, yang memungkinkan penyelesaian masalah sejak dini. Ini mendorong demonstrasi fungsionalitas perangkat lunak dan memperoleh umpan balik. Model memberikan visibilitas yang jelas dari hasil. Ini menganjurkan kerja tim dan memberikan fleksibilitas kepada insinyur perangkat lunak.

    Karena tidak ada persyaratan untuk dokumentasi yang berat, ada risiko ketergantungan pada individu tertentu. Ini juga bisa menjadi tantangan dalam hal transfer pengetahuan ke anggota baru tim.

    Bersandar

    Metodologi pengembangan perangkat lunak Lean dianggap sebagai bagian dari metode pengembangan perangkat lunak Agile. Proses SDLC mengikuti metodologi Bersandar terdiri dari tujuh prinsip:

    • Menghilangkan limbah
    • Perkuat pembelajaran
    • Putuskan selambat mungkin
    • Kirim secepat mungkin
    • Berdayakan tim
    • Membangun integritas
    • Lihat gambaran besarnya

    Kunci untuk memahami model ini adalah melalui prinsip-prinsip ini. Itu akan mengarah pada transformasi mereka menjadi praktik tangkas fungsional dan implementasinya ke dalam proses kerja.

    Prinsip lean disusun berdasarkan gagasan untuk menghasilkan nilai tambah sebanyak mungkin bagi pengguna akhir – sambil mengoptimalkan kualitas, kecepatan, biaya, dan ekspektasi bisnis. Untuk tujuan ini, beberapa tugas dihilangkan (dokumentasi berat) dan lainnya dioptimalkan (frekuensi rapat).

    DevOps

    Model DevOps sebagian didasarkan pada Agile dan Lean . Ini adalah pendekatan baru yang menghubungkan kolaborasi erat antara pengembangan perangkat lunak dan tim operasi selama seluruh siklus hidup pengembangan.

    Aspek kunci dari metodologi ini adalah penekanan pada otomatisasi proses pengembangan. Tujuan utamanya adalah untuk mempersingkat SDLC, dan pada saat yang sama memberikan hasil yang inovatif dan berkualitas tinggi, yang selaras dengan kebutuhan bisnis.

    Dengan pendekatan ini, para pengembang, tim operasi, dan anggota penjaminan mutu semuanya berada di halaman yang sama. Mereka menggunakan alat yang sama dan mengikuti proses yang sama. Ini meningkatkan komunikasi dan mengarah ke hasil yang lebih baik dan lebih tepat waktu.

    Spiral

    Ini adalah kombinasi dari pengembangan berulang dan beberapa pengertian dari model air terjun. Ini memungkinkan rilis parsial perangkat lunak pada setiap siklus berulang.

    Empat tahap dan pengulangannya disebut "spiral". Tahapan SDLC adalah: perencanaan dan mengumpulkan persyaratan; desain; pengembangan dan pengujian.

    Analisis risiko memiliki peran kunci. Pada setiap spiral, analisis risiko dilakukan sehingga setiap potensi risiko dapat diidentifikasi dan dihindari atau diatasi. Sangat cocok untuk proyek besar, meskipun manajemen dan prosesnya sendiri bisa rumit.

    Bungkus

    Memilih pendekatan yang tepat untuk pengembangan perangkat lunak membutuhkan penelitian yang signifikan. Dengan menentukan ruang lingkup, persyaratan, dan tujuan proyek Anda, Anda dapat menentukan Fase SDLC yang perlu dilalui produk Anda.

    Metodologi pilihan Anda bukan hanya proses untuk mengembangkan produk fungsional. Ini adalah cara menyelaraskan nilai-nilai organisasi dan tim Anda untuk menciptakan lingkungan kerja yang harmonis.

    FAQ

    Apa Fase Siklus Hidup Pengembangan Perangkat Lunak (SDLC)?

    Bergantung pada metodologi yang Anda pilih, perangkat lunak Anda akan melalui berbagai tahap. Kegiatan berikut harus menjadi bagian dari keduanya:

    • Perencanaan, pengumpulan persyaratan dan analisis
    • Menyetujui desain atau arsitektur sistem
    • Menghasilkan kode
    • Menguji kode yang dihasilkan
    • Penerapan kode ke dalam lingkungan produksi
    • Pemeliharaan dan peningkatan berkelanjutan
    Apa saja 7 fase SDLC?

    Perencanaan; Persyaratan dan analisis; Desain; Perkembangan; Pengujian; Penerapan; Pemeliharaan.

    Model SDLC mana yang terbaik?

    Itu tergantung pada proyek Anda! Analisis Anda tentang industri, tujuan proyek, kemampuan dan sumber daya yang tersedia, metrik waktu dan biaya akan menjadi faktor pemandu dalam memilih metodologi SDLC terbaik.