메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

[적정 소프트웨어 아키텍처] 소프트웨어 공학에 대한 총정리

lks7***

|

2022-06-26

적정 소프트웨어 아키텍처

소프트웨어 개발을 시작할 때 필요한 실용 가이드북이다. 소프트웨어 아키텍처의 리스크는 무엇인지, 아키텍처 설계 원칙은 어떻게 적용하고 해결하는지, 유관 부서의 실무자를 어떻게 도울 수 있는지 등의 주제를 개발자가 흔히 겪는 경험을 기반으로 풀어냈다.

  • 저자 : 조지 페어뱅크스
  • 번역 : 이승범
  • 출간 : 2022-05-30

처음 "소프트웨어공학"을 접하게 된 것은 대학교 3학년때였다.

​

전공선택으로 소프트웨어 공학을 골랐었는데, 당시에는 쉽게 학점을 받을 수 있는 과목이라는 선배들의 팁 때문이었다.

​

그리고, 수업을 들었을 때는 "이게 뭐야? 이게 무슨 도움이 된다는 거지? 이거 순 말장난 아닌가?" 하는 생각으로 한 학기를 보냈다.

​

그럴수 밖에 없었던 것은, 당시만 해도, 만들어본 코드는 1000라인을 넘지 않았었고, 프로그래밍 수업의 과제를 할 때도, 요구사항 분석-설계 같은 것을 할 필요가 없이 그냥 무조건 #include <studio>를 치고 시작하는 그런 시기였었기 때문이었다.

​

혼자 짜는 프로그램, 1천라인 내외의 코드 분량의 경우, 문서화 작업은 오히려 귀찮은 일이었고, 짜면서 수정하는 그런 행동 (당시 교수님들은 "그러지 마라" 라고 하는 행동이었지만, 우리들은 "이렇게 하면 더 빠르고 편한데 왜 정석을 따르면서 불필요한 짓을 해야 하지?" 라고 생각하던 시기였다)이 당연하던 시기에 소프트웨어 공학이 말하는 것들은 공감하기 힘들었다.

​

그러다가, 취업을 하고, 만 단위 라인이 넘어가는 프로그램을 팀 단위로 작업하는 경험을 하고, 고객의 요구사항이 매 순간 바뀌면서, 바뀔때마다 프로그램의 구조가 변하게 되고, "그걸 하려면 차라리 새로 만드는 것이 낫다!" 라고 하면, "그럼 바꿔. 불평할 시간에 코딩하라고!" 라는 식의 스퀴즈 일정을 몇번 보내다보면, 소프트웨어 공학의 필요성을 느끼게 된다.

​

그제서야, 소프트웨어 공학의 필요성과 그 선구자적 비전에 공감하게 된다.

​

하지만, 이제와서 설계부터 다시하고 하기에는 납품 시간이 촉박하니까, "다음부터는 꼭 해야지.." 라는 다짐만 남기고 또 똑같은 과정을 반복해서 수행하곤 하는데, 그런 경험이 반복되면, 몸으로 겪고 이해하게 되는 소프트웨어 개발 방법론이 생기게 된다.

​

야근 후, 동료들과 담배 피면서 "이건 이렇게 했었어야 했다", "나중에 이렇게 바뀔 수도 있는데, 그럼 여기에서는 이런 식으로 하는 것이 더 낫지 않은가?" "지금 좀 더 고생하더라도 나중에 쉽게 갈 수 있게 해야 하나? 아니면, 지금 빨리 돌아가게 만들어야 하나?" 이런 고민들이 이 책에는 다 설명되어 있었다.

​

소프트웨어 아키텍처라는 이름으로 말이다.

​

학교에서 배웠던 소프트웨어 공학 뿐만 아니라, 그 이후에 나왔던 에자일 방법들까지 모두가 설명된 책이었다.

​

1부에서는 소프트웨어 아키텍처는 무엇이고 왜 만들어야 하고, 이것을 만들기 위해 어떤 흐름들이 있었는가에 대한 이야기를 하고 2부에서는 아키텍처 모델을 만들기 위한 개념들에 대한 설명을 하고 있다.

​

"그래 그래 이거야. 이게 내가 하고 싶었던 말이야!" 라는 것이 알고 보니, 이미 배웠던 것이고, 이런 것에 대한 체계적인 연구가 진행되어 왔고, 또 진행되고 있었다는 것을 다시금 확인할 수 있는 책이었다.

​

이 책의 진가를 알기 위해서, 본인이 겪었던 것 처럼 수년간의 뻘짓의 경험이 꼭 필요하지는 않을 것이다. 좋은 선생님/교사가 있다면, 그 경험이 없더라도, 이 내용이 왜 중요한지 실무의 사례를 통해서 설득시키고 납득시키고, 또 책에서는 "참고자료"로만 설명하고 넘어간 수 많은 추가 자료들에 대해 알려줄 수 있을 것이다.

​

만약, 내가 대학교때 이 책을 봤었더라면, 지금 이 책을 보면서 느낀 감동을 그때 느꼈을 수 있었을까? 냉정하게 생각해보면, 그때 혼자 이 책을 봤더라면 역시 "뭐야 이건" 이라면서 무시했을 것 같다.

​

아직 삽질의 경험이 없는 초심자가 소프트웨어공학의 진가를 스스로 알아차리고 학습 동기를 얻기란 어려운 일이니까 말이다.

​

이 책은 경험 많은 교수가 본인의 강의를 할 때, 교재로 사용될 때 그 진가를 다할 수 있을 것 같았다. 이 책의 저자 역시, 본인의 강의 경험을 바탕으로 만든 책이라고 하니, 대학 전공 교재로 탁월할 것으로 생각된다.

​

배움에는 왕도가 없다고 하지만, 최소한 소프트웨어 공학을 공부할 때는 이 책을 선택하는 것이 왕도가 될 수 있을 것 같았다.

​

-------------

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

---------------

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?