컴퓨터(Computer Science)/소프트웨어공학(Software engineering)

소프트웨어공학(2) 소프트웨어의 품질 결정 요소

게임이 더 좋아 2020. 4. 7. 00:02
반응형
728x170

 

 

 

 

 

소프트웨어는 비용, 일정, 품질과 같은 변수를 중요하게 여기는데

그 중에 품질

품질은 어떠한 요소가 결정하는지 알아보겠다.

 

사실 품질은 삼각 균형이라고 해서

 

기술, 인력, 프로세스가 결정한다. 그렇지만

 

소프트웨어가 완성된 자체를 따지자면, 다시말해서

 

국제표준(ISO 9126) 에 근거하여 소프트웨어의 품질에 대하여 말하자면

 

기능성, 신뢰성, 사용 용이성, 효율성, 유지 보수성, 이식성 까지 6 가지를 말할 수 있다.

 

 

#기능성(functionality)

소프트웨어가 사용될 때 원래 정한 또는 내재된 요구를 만족시키는 기능을 제공하는 능력

 

요구를 다 시켜야 한다는 얘기다.

 

 

#신뢰성(reliability)

소프트웨어가 정해진 수준의 성능을 유지할 수 있는 능력

 

사용자가 많아짐으로 프로그램이 견디지 못했다던가 수행능력의 초과로 문제가 발생했다던가

그러한 문제로 작업을 제대로 수행할 수 없는 경우

 

#사용용이성(usability)

쉽게 이해되고 배울 수 있고 사용될 수 있는 능력

 

프로그램이 사용하기 어려우면 고품질, 고성능 프로그램도 쓸 수 없다.

 

#효율성(efficiency)

사용되는 자원의 양에 따라 적절한 성능을 제공할 수 있는 능력

 

최적화가 되어있지 않으면 최소 사양이 높아지는 결과를 초래하고

그것은 사용자의 불편을 가져온다.

 

#유지보수성(maintainability)

정정, 개선, 적응시킬 목적으로 수정될 수 있는 능력

 

누가 이 프로그램을 뜯어보더라도 어떻게 만들었는지 파악이 가능해서

유지 보수가 가능하게 해야한다.

 

 

#이식성(portability)

별도의 작동이나 수단 없이 다양한 환경에서 적응될 수 있는 능력

 

어떠한 운영체제 내에서만 작동하면, 그 외의 컴퓨터는 쓸 수 없다.

접근성이 떨어진다.

 

 

 

뭐 6가지에서 더 세부적으로 나눌 수도 있다.

예를 들어 유지보수성은 변경용이성, 시험용이성, 확장성으로 나눌 수 있다.

 

그것이 중요한 것이 아니라

 

6가지나 있는만큼 소프트웨어의 품질은 하나의 숫자로 표현할 수 없는 특성을 가졌고

소프트웨어의 목적마다 6가지 속성의 비중이 다르기 때문에 정확하게 표현할 수 없다

다만 일반적으로는 신뢰성을 소프트웨어 품질의 기준으로 삼는다. 

 

 

 

 

 

 

++++++ 소프트웨어는 물리적구조를 가지고 있지 않아서 마모가 되지 않음에도 점점 품질이 낮아지는 이유는 무엇인가?

 

 

많은 변경으로 인하여 컴포넌트의 상호작용에 오류가 생기는 이유가 있다.

 

SW는 잦은 변경이 잘 관리되기 어렵고 구조화하기 어려워서 영향받는 범위가 커지고 그것이 손쓸 수 없게 되버리는 경우가 있다.

 

 

 

 

반응형
그리드형