www.fatihkabakci.com

Personal Website and Computer Science TUR EN

YAZILIM BOZUKLUGU(SOFTWARE DEFECT)

Last update: 4/27/2015 12:15:00 AM

Yazan:Fatih KABAKCI

Kısaca defect olarak bilinen, yazılım bozukluğu, yazılım programları içerisinde hem fiziksel hem de mantıksal bozukluk yaratabilen kod parçalarından oluşur. Yazılım geliştiricilerinin, yazdıkları programları içerisinde gözden kaçırdığı her bozukluk defect, ya da bug olarak adlandırılır. Örneğin aşağıdaki basit bir for döngüsü sistem de exception yaratarak programın sonlanmasına neden olur. Dizi 3 elemanlı iken, 4. elemana erişmeye çalışmak bir hatadır(error).

int array[] = {1, 2, 3};
for(int i = 0; i < 4; i++) {
      int val = array[i];
}

Defectler yukarıdaki gibi kimi zaman kolayca çözülebilirken, kimi zamanda ciddi sorunlara yol açabilir ve çözülmesi zaman alır. Defectlerin sorumlusu her zaman programı yazan kişilerdir. Yazılım içerisinde ortaya çıkan bozukluk, programcı tarafından istemeden başlatılır, yazılım içerisinden bulaşarak son kullanıcıya kadar ulaşır.

Yazılım sistemlerinde bir defect genel olarak 3 kavramdan oluşur.

Hata(Error): Yazılım geliştiricisinin gözden kaçırdığı, istemeyerek yaptığı bozukluğa hata(error) denir. Yukarıdaki for döngüsü bile bir programcı hatası olarak atfedilir.

Kusur(Fault): Yazılım geliştiricisinin yaptığı hatadan dolayı, yazılımın bozulmasına kusur(fault) adı verilir. Kusurlu bir kod ya da kod parçaları, çağrıldıkları noktalarda yazılım modüllerini bozarak yazılımı kusurlu hale getirir.

Arıza(Failure): Kusurlu yazılımın son kullanıcıya ulaştığı anda açığa çıkan bozukluğa arıza(failure) adı verilir. Sonuçta sistem fail durumdadır ve yazılımın davranışı beklenmedik bir duruma geçecektir. Bu sebepten ötürü bu bozukluk failure olarak adlandırılır.

Software Defect

Programcı hatayı(error) ortaya çıkarır. Hata(error) yazılım içerisinde kusur(fault) adını alır ve kusurlu yazılımı doğurur. Kusurlu yazılım son kullanıcı karşısında arızaya(failure) neden olur ve sistemde beklenmedik etki yaratır.

There has been no comment yet

Name:


Question/Comment
   Please verify the image




The Topics in Computer Science

Search this site for





 

Software & Algorithms

icon

In mathematics and computer science, an algorithm is a step-by-step procedure for calculations. Algorithms are used for calculation, data processing, and automated reasoning.

Programming Languages

icon

A programming language is a formal constructed language designed to communicate instructions to a machine, particularly a computer. It can be used to create programs to control the behavior of a machine. Java,C, C++,C#

Database

icon

A database is an organized collection of data. The data are typically organized to model aspects of reality in a way that supports processes requiring information.

Hardware

icon

Computer hardware is the collection of physical elements that constitutes a computer system. Computer hardware refers to the physical parts or components of a computer such as the monitor, memory, cpu.

Web Technologies

icon

Web development is a broad term for the work involved in developing a web site for the Internet or an intranet. Html,Css,JavaScript,ASP.Net,PHP are one of the most popular technologies. J2EE,Spring Boot, Servlet, JSP,JSF, ASP

Mobile Technologies

icon

Mobile application development is the process by which application software is developed for low-power handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones. J2ME

Network

icon

A computer network or data network is a telecommunications network that allows computers to exchange data. In computer networks, networked computing devices pass data to each other along data connections.

Operating Systems

icon

An operating system is software that manages computer hardware and software resources and provides common services for computer programs. The OS is an essential component of the system software in a computer system. Linux,Windows

Computer Science

icon

Computer science is the scientific and practical approach to computation and its applications.A computer scientist specializes in the theory of computation and the design of computational systems.