top of page
Search


An effective System Development Life Cycle (SDLC) should result in a high quality system that meets customer expectations, reaches completion within time and cost evaluations, and works effectively and efficiently in the current and planned Information Technology infrastructure.

System Development Life Cycle (SDLC) is a conceptual model which includes policies and procedures for developing or altering systems throughout their life cycles.

SDLC is used by analysts to develop an information system. SDLC includes the following activities :

  • requirements

  • design

  • implementation

  • testing

  • deployment

  • operations

  • maintenance

Phases of SDLC

Systems Development Life Cycle is a systematic approach which explicitly breaks down the work into phases that are required to implement either new or modified Information System.

Feasibility Study or Planning

  • Define the problem and scope of existing system.

  • Overview the new system and determine its objectives.

  • Confirm project feasibility and produce the project Schedule.

  • During this phase, threats, constraints, integration and security of system are also considered.

  • A feasibility report for the entire project is created at the end of this phase.

Analysis and Specification

  • Gather, analyze, and validate the information.

  • Define the requirements and prototypes for new system.

  • Evaluate the alternatives and prioritize the requirements.

  • Examine the information needs of end-user and enhances the system goal.

  • A Software Requirement Specification (SRS) document, which specifies the software, hardware, functional, and network requirements of the system is prepared at the end of this phase.

System Design

  • Includes the design of application, network, databases, user interfaces, and system interfaces.

  • Transform the SRS document into logical structure, which contains detailed and complete set of specifications that can be implemented in a programming language.

  • Create a contingency, training, maintenance, and operation plan.

  • Review the proposed design. Ensure that the final design must meet the requirements stated in SRS document.

  • Finally, prepare a design document which will be used during next phases.

Implementation

  • Implement the design into source code through coding.

  • Combine all the modules together into training environment that detects errors and defects.

  • A test report which contains errors is prepared through test plan that includes test related tasks such as test case generation, testing criteria, and resource allocation for testing.

  • Integrate the information system into its environment and install the new system.

Maintenance/Support

  • Include all the activities such as phone support or physical on-site support for users that is required once the system is installing.

  • Implement the changes that software might undergo over a period of time, or implement any new requirements after the software is deployed at the customer location.

  • It also includes handling the residual errors and resolve any issues that may exist in the system even after the testing phase.

  • Maintenance and support may be needed for a longer time for large systems and for a short time for smaller systems.


Role of System Analyst

The system analyst is a person who is thoroughly aware of the system and guides the system development project by giving proper directions. He is an expert having technical and interpersonal skills to carry out development tasks required at each phase.

He pursues to match the objectives of information system with the organization goal.

Main Roles

  • Defining and understanding the requirement of user through various Fact finding techniques.

  • Prioritizing the requirements by obtaining user consensus.

  • Gathering the facts or information and acquires the opinions of users.

  • Maintains analysis and evaluation to arrive at appropriate system which is more user friendly.

  • Suggests many flexible alternative solutions, pick the best solution, and quantify cost and benefits.

  • Draw certain specifications which are easily understood by users and programmer in precise and detailed form.

  • Implemented the logical design of system which must be modular.

  • Plan the periodicity for evaluation after it has been used for some time, and modify the system as needed.

Attributes of a Systems Analyst

The following figure shows the attributes a systems analyst should possess −

Interpersonal Skills

  • Interface with users and programmer.

  • Facilitate groups and lead smaller teams.

  • Managing expectations.

  • Good understanding, communication, selling and teaching abilities.

  • Motivator having the confidence to solve queries.

Analytical Skills

  • System study and organizational knowledge

  • Problem identification, problem analysis, and problem solving

  • Sound commonsense

  • Ability to access trade-off

  • Curiosity to learn about new organization

Management Skills

  • Understand users jargon and practices.

  • Resource & project management.

  • Change & risk management.

  • Understand the management functions thoroughly.

Technical Skills

  • Knowledge of computers and software.

  • Keep abreast of modern development.

  • Know of system design tools.

  • Breadth knowledge about new technologies.

 
 
 

Dalam Fase Pengembangan Perangkat Lunak (SDLC), terdapat suatu metode atau model yang dapat mengatur jalannya proses pengembangan. Model tradisional yang biasa disebut Waterfall Model adalah metode pertama yang diterapkan pada pengembangan perangkat lunak. Metode ini bersifat sekuensial dan linier, serta mengharuskan seluruh requirements untuk mengembangkan perangkat lunak didefinisikan di tahap awal.

Nyatanya, dalam pengembangan perangkat lunak, menentukan requirements secara keseluruhan di tahap awal tidak mudah. Terkadang client bisa meminta perubahan atau peningkatan ketika proses pengembangan sudah berjalan. Belum lagi, proses pengembangan menjadi tidak adaptif dan tidak ideal digunakan untuk proyek-proyek besar .Oleh karena itu, munculah salah satu metode yang dapat menyelesaikan permasalahan tersebut yaitu Agile Software Development.

Agile software development adalah metode yang meringankan beban/bobot sekaligus mempercepat proses pengembangan software [1]. Pada metode Agile, terjadi iterasi pendek yang diikuti pengiriman produk yang mengalami peningkatan secara sering (frequent). Agile juga melakukan penekanan komunikasi langsung dan berkala untuk tim pengembangan, bahkan pelanggan (client) juga terlibat secara aktif dalam siklus proses pengembangan.

Dalam industri perangkat lunak, the “Agile movement” dipublikasikan pertama kali oleh suatu kelompok praktisi dan konsultan perangkat lunak pada tahun 2001 lewat Agile Software Development Manifesto [1]. Manifesto ini menekankan nilai-nilai utama, yaitu :

  • Individu dan interaksi lebih diutamakan daripada proses dan alat

  • Perangkat lunak yang bekerja lebih diutamakan daripada dokumentasi yang menyeluruh

  • Kolaborasi dengan client lebih diutamakan daripada negosiasi kontrak

  • Tanggap terhadap perubahan lebih dari mengikuti rencana

Saat ini, metode-metode agile sudah banyak digunakan oleh industri perangkat lunak, salah satunya adalah Scrum. Scrum adalah framework untuk mengembangkan dan mempertahankan produk yang kompleks. Scrum adalah kerangka kerja di mana orang dapat mengatasi masalah adaptif yang kompleks, tetapi juga secara produktif dan kreatif memberikan produk dengan nilai setinggi mungkin.


Framework Scrum terdiri dari Tim Scrum dan peran(role), event, artifacts, dan aturan yang terkait. Setiap komponennya memiliki tujuan tertentu dan penting untu keberhasilan Scrum. Tim Scrum terdiri atas product owner, scrum master, dan development team. Event yang dilakukan adalah sprint planning, sprint, daily stand up meeting, sprint review, dan sprint retrospective. Adapun, artifacts yang dipakai adalah product backlog, sprint backlog, dan increment. Sedangkan, aturan digunakan untuk mengatur hubungan dan interaksi antara role, artifacts, dan event tersebut.



 
 
 




System Development Life Cycle merupakan metode yang dilakukan oleh analis dan programmer dalam membangun sistem informasi melalui beberapa fase bertahap mulai dari perencanaan sampai dengan implementasi. SDLC merupakan salah satu kunci konsep dasar dalam sistem informasi.

A. Pendekatan dan Fase-Fase dalam SDLC

Dalam lingkungan pengembangan saat ini, banyak pendekatan yang digunakan dalam pengembangan sistem informasi melalui SDLC. Menurut Satzinger, Jackson, & Burd (2010, p39), dalam dunia dimana teknologi informasi berjalan seiring dengan perubahan perkembangannya, ada dua pendekatan SDLC dengan menggunakan perspektif yang berbeda, yaitu :

1. Pendekatan Prediktif (Predictive Approach)

Adalah pendekatan SDLC yang mengasumsikan bahwa pembangunan proyek dapat direncanakan dan diatur dahulu dan bahwa sistem informasi baru dapat dikembangkan sesuai dengan rencana. Metode ini berguna untuk membangun sistem yang dipahami dengan baik dan dapat diprediksikan secara jelas.

2. Pendekatan Adaptif (Adaptive Approach)

Pendekatan Adaptif digunakan ketika persyaratan sistem atau kebutuhan pengguna tidak dipahami dengan baik. Dalam situasi ini, proyek tidak dapat direncanakan sepenuhnya pada awal. Beberapa persyaratan sistem mungkin belum perlu ditentukan setelah beberapa pekerjaan mulai dilakukan.

SDLC memiliki beberapa fase yang dibutuhkan dengan serangkaian aktivitas mulai dari fase awal hingga fase akhir. Pada umumnya SDLC memiliki 5 (lima) fase utama yaitu fase perencanaan (Project Planning), fase analisis (Analysis), fase design (Design), fase implementasi (Implementation) dan fase dukungan (Support).




Model SDLC menurut Satzinger ini mengatakan bahwa hal pertama yang dilakukan adalah dengan mendifeinisikan perumusan permasalahan untuk kelak dilakukan suatu pemecahan dari perumusan tersebut (plan). Selanjutnya tim proyek menganalisis, mendefinisikan dan memahami secara menyeluruh masalahnya beserta kebutuhan untuk selanjutnya dicari solusi ( analysis). Setelah masalah dipahami, solusi ditinjau secara mendalam (design). Sistem ini kemudian dibangun, dikembangkan dan diinstal (implementation). Berdasarkan gambar diatas, beberapa tahapan dalam SDLC model air terjun ini dijelaskan sebagai berikut : 1. Fase Perencanaan (Project Planning Phase) Kegiatan awal dari SDLC yang bertujuan untuk mengidentifikasi lingkup sistem yang baru dan rencana dari suatu proyek. Aktivitas yang tercantum dalam perencanaan ini adalah : a. Mendefinisikan masalah Kegiatan yang paling penting dari perencanaan proyek adalah untuk mendefinisikan dengan tepat masalah bisnis dan ruang lingkup solusi yang dibutuhkan b. Menghasilkan jadwal proyek dan menentukan staf Sebuah jadwal proyek yang menghasilkan rincian daftar tugas, kegiatan, dan staf yang diperlukan dikembangkan. c. Konfirmasi kelayakan proyek Analisis kelayakan menyelidiki kelayakan anggaran, organisasi, pelaksana teknis, sumber daya, dan pelaksanaan jadwal proyek. d. Peluncuran proyek Total dari keseluruhan rencana proyek yang telah ditinjau kepada pimpinan, proyek mulai dilaksanakan.


2. Fase Analisis (Analysis Phase) Analisis kebutuhan sistem dilakukan untuk identifikasi dan evaluasi permasalahan, hambatan yang terjadi dan kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikan. Menurut Rosa dan Shalahuddin (2011), pada tahap ini dilakukan dalam analisis sistem antara lain : a. Analisa Identifikasi Masalah Identifikasi masalah merupakan langkah awal dari analisis sistem. Dalam tahap ini didefinisikan masalah yang harus dipecahkan. b. Analisa Kebutuhan Menganalisis kebutuhan pemakai sistem perangkat lunak (user) dan mengembangkan kebutuhan pengguna. c. Analisa Kelayakan Sistem Menurut Kadir (2003), studi kelayakan digunakan untuk menentukan kemungkinan keberhasilan solusi yang diusulkan. Tahapan ini berguna untuk memastikan bahwa solusi yang diusulkan tersebut benar-benar dapat dicapai. 3. Fase Design (Design Phase) Desain perangkat lunak adalah proses multi langkah yang berfokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur pengodean. Menurut Rosa dan Shalahuddin (2011), tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya. Pada tahap desain dilakukan perancangan antara lain : a. Perancangan Proses Rancangan proses berupa diagram alir data atau data flow diagram (DFD). Perancangan Proses yang digunakan adalah model logika yang mana model logika lebih menjelaskan kepada pengguna bagaimana nantinya fungsi-fungsi sistem informasi secara logika akan bekerja. b. Perancangan Basis Data Perancangan yang dimaksud dalam tahap ini adalah menentukan dan menunjukan hubungan antara entity dan relasinya (Entity Relationship Diagram). c. Perancangan Tabel Rancangan berupa tabel-tabel yang digunakan dalam pembuatan sistem. Tabel yang dirancang membentuk suatu identitas yang mewakili perancangan basis data dengan menghubungkan antar tabel sehingga membentuk koneksi antar tabel tersebut.


d. Perancangan Antarmuka

Desain aplikasi adalah tahap yang harus dilakukan sebelum mulai membuat aplikasi. Konsep rancangan dalam mendesain halaman aplikasi adalah tampilan pada halaman aplikasi yang akan dipergunakan oleh pengguna.

4. Fase Implementasi (Implementation Phase)

Segala bentuk masukan (input) yang dilakukan dari desain sistem, sistem yang telah dikembangkan menjadi sebuah program yang disebut dengan unit, yang mana berhubungan dengan tahapan selanjutnya. Dari tiap-tiap unit tersebut dikembangkan dan di uji coba untuk mengetahui fungsi yang berkaitan dengan unit tersebut.

bottom of page