본문 바로가기

Software

(2)
[소프트웨어] Technical Debt 이란? 기술 빚 부채 이율이 높아지는 요즘 같은 시대에 빚이란 걸 생각하기도 싫습니다. 어려운 길과 쉬운 길이 있다면 누구나 쉬운 길을 선택할 것입니다. 하지만 지금 쉬운 길을 선택했을 경우 간과했던 것들이 결국 나에게 빚으로 다가와 그것을 수정할 때 더 많은 노력과 시간이 필요한 경우가 많습니다. 이런 것을 기술 부채(Technical Debt) 라고 합니다. Technical Debt 란 무엇인가? Technical Debt(=Design Debt, Code Debt)는 직역하자면 "기술적인 빚"이란 뜻으로, 소프트웨어 개발 시 최상의 방법(The Best Overall Solution) 대신에 단기적으로 구현이 쉬운 방법을 선택하여 구현함으로써 발생한 나중으로 미뤄 둔 작업을 나타내는 용어입니다. 즉, 소프트웨어 개발 ..
[소프트웨어] 소프트웨어(SW) 품질 평가 지표 Software 정량적 기준 판단 리팩토링 refactoring 복잡도 중복코드 비율 상호 참조 SW 품질 평가 지표/기준에 대해 고민해보는 시간을 가져볼까 합니다. 우리가 SW를 많이 개발하고 있지만 이정도의 지표를 지킨다면 좀 더 좋은 소프트웨어를 만들 수 있다?? 뭐 이런 느낌의 글 입니다. 좋은 소프트웨어란? 좋은 소프트웨어란 무엇일까요? 아무래도 구현이 잘 되어 있는지, 신뢰성이 있는지, 사용성이 편한지, 유지보수성이 좋은지, 빠르게 동작하는지, 이식성이 좋은지, 보안성이 보장되는지 등을 만족하는 SW일 것입니다. 다시 정리해보면, 모듈의 복잡도는 낮추고, 모듈의 독립성은 높이고, 모듈의 결함은 없고, 모듈의 공용성을 높이면 SW는 좋다고 할 수 있을 것 입니다. SW 품질이 나빠지는 원인은? SW 품질이 나빠지는 원인은 뭘까요? 자꾸 신규 기능이 추가되거나 요구사항이 변경되거나 일정 단축..