공정제어 PLC응용SW의 재사용성과 유지보수성 향상을 위한 SW공학 원칙 적용사례 연구

국내에서 가장 큰 철강업체인 포스코는 공정제어를 위한 PLC 응용소프트웨어의 재사용성을 증가시키고 유지보수성을 좋게하는 방법들을 찾고 있다. 왜냐하면 같은 공정의 공정제어를 위한 PLC 응용소프트웨어는 유사한 기능을 수행함에도 불구하고, 반복적인 투자를 통해서 개발이 이뤄지기 때문이다. 본 연구는 새로운 PLC 응용소프트웨어를 개발할때 기 개발된 PLC 응용소프트웨어들을 어떻게 효과적으로 재사용 할 수 있을지에 대한 방법을 찾기 위해서 수행되었다. 우리는 연주공정을 위한 PLC 응용소프트웨어를 대상으로 하여 왜 기 개발된 소프트웨어가 재사용되기 어려운지 알기 위해서 분석을 진행 하였다. 분석은 기 개발된 소프트웨어의 소스코드, 설계 문서 그리고 복잡성을 파악하기 위해서 회전복합성 지표를 이용하여 진행되었다. 분석결과 소프트웨어가 유사한 기능을 수행함에도 불구하고 구현된 소프트웨어의 구조가 각각 다르다는 것을 확인 할 수 있었다. 각각 다른 소프트웨어의 구조가 재사용을 방해하는 가장 큰 원인으로 작용을 하였기 때문에 재사용을 위해서 소프트웨어 개발에 공통적으로 사용할 수 있는 아키텍처가 필요하였다. 그래서 본 논문에서는 소프트웨어공학 원칙을 적용하여 변화요소를 수용할 수 있는 PLC 응용소프트웨어의 표준화된 공용 아키텍처를 제안하였다. 연주공정 응용소프트웨어를 제안된 내용에 따라서 리엔지니어링을 하여 적용가능성을 확인하고 그 과정에서 배운 교훈에 대해서 논의한다.