캡스톤 디자인 주제 추천 - kaebseuton dijain juje chucheon

캡스톤 디자인 주제 추천 - kaebseuton dijain juje chucheon

2021.03.02 ~ 2021.12.18

1년간의 졸업 작품 (캡스톤 디자인)이 작업이 끝났다.

<과거 회상>
개발자에 대한 길에 대한 갈피를 잡지 못하던중에 이제 졸업까지 곧 1년 밖에 남지 않았다는 사실을 알게 되었다. 학교에서 교수님은 1주일 안에 팀원을 선정하여 개발할 아이템을 가져오라고 하셨다.
항상 개발에 대해서는 무지했던 나에게는 큰 시련이였다. 정확히 말하자면 어떤 방식으로 개발을 하는 절차 및 방법을 몰랐다. 그래서 팀원을 구할려고 찾아봤지만 아싸였던 나는 부랴부랴 사람들을 불러모와서 각자 포지션 파트를 정하게 했다. 그 때
백앤드 개발자 / 프로그래밍 개발자 / 프런트 개발자 3명으로 나눴고 나는 프로그래밍 개발자 역할 맡았다. 거의 3~4주간 아이디어 기획하고 설계했지만 교수님의 마음에 들기에는 쉽지가 않았다. 그래도 1년간 열심히 해서 내가 원하는 앱을 개발해야지 하면서 이악물고 했던거 같다. 그렇게 시스템 전체를 구축하고 팀원을 조율하면서 덕분에 크게 성장할 수 있었던거 같다.

💪🏻 내가 얻어 간 것

기획, 설계 등 모든 단계에 직접적으로 참여한 경험.
이슈, sync async 관리
기술력, 검색능력, 끈기력 , English

Zoom / AnyDesk & Git버전 관리

  • 코로나로 인하여 자주 만날수 없는 상황 및 이슈에 대해서 정확히 의사소통을 하기 위해서는 Zoom & AnyDesk 가 필요하다. 그리고 기획 및 협업을 할 때 이슈가 있을시에 Slack/ Notion을 활용하여 해결하였다.

  • 앱의 기획자 역할을 맡게되니까 , 기획/ 디자인 / 개발 / 테스트 / 배포 까지 자연스럽게 공부하게 되었고 무엇보다 Git버전 관리의 중요성을 깨달았다. 그래서 TODO List 및을 주간공정표에 그려서 주마다 기능구현을 어디까지 해야하는 목표치를 정하였다.

추천 가중치 알고리즘

  • 우리 앱을 간단히 설명하면 멘토랑 멘티를 매치를 해주는 앱인데 , 핵심은 어떻게 추천하는 것 이였다. 처음에는 딥러닝을 사용할까 고민을 하였지만 COLD START 때문에 효율성 한계에 문제 때문에 방향을 바꿨고 , 사용자가 원하는 관심사를 입력하면 그거에 맞게 알고리즘이 작동하는 방식으로 정하였다.

  • 가중치 알고리즘

    • 날짜 비교 하여 오래된 날짜일수록 점수늘 낮게 줌
    • 랜덤 알고리즘 : Math.random()함수를 통해 랜덤 기준 값을 설정 나오름차순 순서대로 0부터 1까지 순회하면서 가중치를 누적시킨다.
  • 데이터 품질

    • 사용자가 관심사를 변경할 시 데이터 값 초기화
    • 사용자의 관심사의 MAX 3개 값만 Visible
  • 알고리즘 활용으로 데이터를 어떻게 하면 주기적으로 품질을 유지하며 원하는 것을 추천 할 수 있는지에 대해 깊이 배웠다.

굴러기긴 하는데...

캡스톤 디자인 주제 추천 - kaebseuton dijain juje chucheon

비동기 /동기

  • 앱이 만들다 보니 불안정한 부분과 유지보수 할 것이 많았다.

  • 창이 넘겨질 때 java null exception 이슈 때문에 골머리를 앓았는데 예외처리를 해줬다고 생각했지만 못한 부분에서 10%/ 네트워크 송신속도 문제에서 90% 였다.

  • 그래서 안정화를 위해 Call Back 함수와 Handler를 추가해서 비동기 /동기 처리부분을 나눴다

데이터를 많이 받야하는 UI

  • 개발을 하다보면 사용자의 정보 및 방 리스트를 생성할 때 데이터 정보 입력을 필요로 하게 된다. 물론 xml을 여러개 만들거나 혹은 scrollview를 활용하여 하나의 창안에서 해결 할 수 있다. 하지만 사용자는 빠르게 데이터를 입력해서 넣기를 원하고
    직관성과 유연성이 중요하여 Expanable 를 활용하여 한 화면에서 데이터가 처리되는 느낌을 주었다.

  • 그리고 여러개의 xml을 하나의 Activity와 하나의 xml으로 관리하기 위해서
    include 함수를 사용하였다.

  • JAVA에 대한 Chip에 대한 내용은 부족해서 직접 Chip Chip을 Custom을 하여 배열 작업을 처리해 사용자의 버튼을 누를때 Switch Case()를 넣어 만들었다.

아쉬웠던 점

초보자였던 만큼 아쉬웠던 점도 많을 수 밖에 없었다.

  • 클린 코드 작성에 규칙을 정하지 못하였었다. 부랴부랴 작업을 프로그래밍을 하고 작업을 하다 보니까 Package/ Activity / layout / id 값 들을 각각 나눠서
    파스칼 / 스네이크 / 카멜 표기법을 규칙성 있게 했어야 했는데

  • 개발을 하다 보면 처음에는 의욕이 샘솟지만 벽을 만날 때 지치고 스스로에 대한 자질의 의심을 하게 된다. 구현할려는 기능은 중요하지만 한 번에 많은것을 멀티 태스킹 처럼 구현하게 되면은 논리적 회로에 문제가 생기고 이해보단 개발을 하게되는 상황이 된다 . 그래서 기능을 갈아 엎기도 했고 UI 및 요구사항에 대한 방식이 부실할 수 밖에 없었다.

  • 침작하지 못했다. 개발방향과 코드 참작 가이드 해주는 경험이 많은 개발자가 주위에 없어서 주먹구구식으로 검색에만 의존했다. 문제가 발생하면 오류 부분을 찾고 고치는 부분이 있었지만 리팩토링 작업을 후반에 해주었기에 시간적으로 아쉬웠다.

나중은 없다

  • 오늘 하루 생겼던 오류가 내일이 되면 자연스럽게 해결되는 경우가 없다.

  • 즉, 최대한 빨리 해결한다기 보다는 오류가 생긴 부분의 문제를 찾고 적어 놓는 습관을 가져야한다. 그렇지 않으면 이틀 뒤 오류를 봤을때는 하얀 백치가 된 상태이다.

  • 만약, 정 모르겠다면 롤백을 하는 상황이 오겠지만, 구현한 기능에 대한 시간의 노력은 날라가버리게 된다.

개발은 취업할려는 목적이 아니다

  • 당신이 면접관이라면 레벨 99Level 캐릭터를 가지고 있는 사람 / 레벨 1 Level 99개를 가지고 있는 사람 둘 중에 누구를 선택할 것인가?

  • 당연히 레벨 99Level인 사람을 선택할 것이다. 그만큼 이해도가 높다는 것이고
    남들과 다른 차별성인 깊이에 대한 이해가 생기기때문에 채용하는 것이다.

  • 취업할려고 개발을 하게되다 보면 "왜 내가 이런 개발을 하고 있지" 스스로의 대한 자괴감에 빠지거나 생산성있는 목표를 달성하기가 어렵다. 더 나아가 취업을 하더라도 개발에 대한 스트레스만 가중되어질 뿐이다.

  • 일단 태어난거 하고자 하는 일을 최선을 다하고 / 직장은 자신의 원하는 목표를 이루기 위한 수단이다.


마지막으로

  • 협업은 Github & Slack

  • 와이어 프레임은 XD & Zeplin

  • 개발은 나의 꿈을 이루게 해주는 도구에 불과하다.

참고서적

학과마다 차이가 있지만, 학과 대부분에서는 무사히 졸업하기 위해 졸업 논문을 통과해야 합니다. 하지만 공과계열에서는 졸업을 위해 캡스톤 디자인을 한다고 합니다. 뼛속까지 인문대생인 저는 일하다가는 종종 듣는 단어였지만 대학생들이 많이 찾는 작업이라는 걸 전혀 몰랐는데요. 아마 이 글을 찾아오신 분들도 저처럼 (웅성웅성) 캡스톤 디자인이 뭐야? 대단한 디자인이지~ 하는 반응이었겠죠? 함께 알아가는 시간을 갖기 위해 이렇게 글을 준비했답니다. 저도 이해할 수 있는 글이어야 하니 당연히 누구나 쉽게 읽을 수 있도록 최대한 풀어 설명하고자 했어요.

캡스톤 디자인 주제 추천 - kaebseuton dijain juje chucheon

캡스톤 디자인(Capstone design)이란?

캡스톤 디자인(Capstone design)이란 공학 관련 교육 과정에서 배운 내용을 총집합한 디자인물로, 아이디어 상품 제작이라고 표현할 수 있을 것 같아요. 하지만 어떤 새로운 아이디어를 상품화할지 기획하는 단계부터 어떻게 기술, 기능을 접목하고 구현할 수 있을지 설계하는 단계, 디자인물을 실물로 구현하는 제작 단계까지 전 범위를 포함합니다. 발명이라는 단어로 대체할 수도 있을 것 같습니다.

졸업 논문이 표절 수준을 꼼꼼히 살피는 것처럼 캡스톤 디자인도 마찬가지라고 합니다. 아이디어가 기반이 되는 작업이기 때문에 디자인을 완성하고 나면 특허를 출원할 수도 있다고 해요. 그렇다면 기획 단계에서 이미 특허 등록된 아이디어는 아닌지 확인이 필요하겠죠?

공과대학은 인문대학과 비교하면 실용적인 학문이 많아서 그런지 졸업을 위한 단계도 더 실용과 경험이 강조된다고 느껴졌어요. 캡스톤 디자인을 하게 되면 학교 측에서 지원금이 제공된다고 들었는데요. 비용은 한정적이고 한 번도 제작 경험이 없는 학생들이 물건을 생산하려니 어려움이 클 것 같다고 느껴졌어요.

캡스톤 디자인 주제 추천 - kaebseuton dijain juje chucheon

우선 아이디어 단계부터 남들과는 겹치지 않으면서 이목을 끌어당길 만해야 하며, 제품에 접목할 수 있어야 하는데요. 제작 단계부터 구상하는 게 아니라 평상시에 꾸준히 세상을 바꿔나갈 방법을 조금씩 고민했던 사람들을 위한 작업인 것 같아요. 비용은 정해져 있으니 단계마다 어떻게 예산을 분배해야 할 것인지도 고민이 될 것 같아요.

제품 제작 전문 업체인 본시스템즈로는 대학생, 대학원생들의 제작 문의도 자주 들어오는데요. 아이러니하게도 제품 제작에 대한 견적은 디테일이 나와 있어야만 가능하답니다. 학생들의 입장에선 견적부터 확인하고 시작하고 싶겠지만 제작은 워낙에 변수가 많아서 설계가 완료된 단계에서부터 견적 확인이 가능합니다.

여러 업체를 이용해 캡스톤 디자인을 하다 보면 과정 중간에 수정 사항이 계속 발견해 나중에는 비용 때문에 제작에 제동이 걸리는 때도 있습니다. 그래서 설계부터 제작이 가능한 업체와 함께 진행하는 게 조금 더 안전한 방법으로 여겨지기도 합니다.

캡스톤 디자인 주제 추천 - kaebseuton dijain juje chucheon

제작 비용을 줄이는 방법은 아이디어의 구체화는 당연하고 제작 방식에 대한 이해도 중요합니다. 캡스톤 디자인은 대량 양산이 아닌 소량제작이기 때문에 적합한 소량제작 방식을 잘 찾아서 제작을 요청해야 하는데요. 3D 프린팅은 대표적인 소품종 소량생산 방식입니다. 하지만 이 3D 프린팅 방식 안에서도 FDM, SLA 등 다양하게 세분화되어 있고 금속의 경우엔 CNC 가공을 이용하기도 합니다. 소재 또한 많이 고민해봐야겠네요. 제품 대부분이 플라스틱 계열이지만 플라스틱은 합성소재인 만큼 어떻게 조합하느냐에 따라 무한한 변화가 가능하니까요.

캡스톤 디자인 사례

지금부터는 본시스템즈에서 진행한 캡스톤 디자인 사례를 보여드리려고 합니다. 역시나 아이디어가 돋보이는 제품인데요. 바로 달 탐사 로봇 제품디자인 사례랍니다. 최근 누리호에 때문에 기사를 여럿 읽고 항공, 우주 분야에 경외감이 들었는데 이렇게 실제로 다른 행성에서 적용될 로봇을 고민하는 분들이 많다는 걸 이번 제작 사례로 새삼스럽게 느꼈습니다.

달 탐사 로봇 외부 하우징 디자인을 제작지원 했고, 달의 고르지 않은 표면에서도 쉬운 운행이 가능하도록 바퀴가 360도 회전할 수 있어야 했는데 그런 바퀴 구조를 고려해 케이스 설계를 지원했습니다. 거친 환경에서 사용할 제품이니 경량화와 내구성을 고려해 설계한 사례였는데요. 다양한 공학 전공이 있는 만큼 캡스톤 디자인은 이처럼 로봇 형태가 될 수도 작동이 필요 없는 구조 형태가 될 수도 있답니다.

  • 캡스톤 디자인 주제 추천 - kaebseuton dijain juje chucheon
  • 캡스톤 디자인 주제 추천 - kaebseuton dijain juje chucheon

제품 디자인, 설계, 생산에 대한 더 많은 이야기가 궁금하다면 본시스템즈 홈페이지와 블로그를 방문해 포스트를 확인해보세요.

(Visited 16,102 times, 4 visits today)

캡스톤디자인이 뭔가요?

창의적 종합설계 능력 갖춘 인재 양성 목적으로 하는 프로그램. 현장에서 부딪히는 문제 해결 능력 키우기 위해 졸업 논문 대신 기획부터 제작까지 일련의 과정 학생들 직접 수행한다.

캡스톤이 뭔가요?

캡스톤(capstone) 의 원 의미는 돌기둥이나 담 위 등 건축물의 정점에 놓인 장식으로 최고의 업적 혹은 성취를 뜻 한다. 2012년부터 추진된 LINC사업에 특성화 사업의 일환으로 캡스톤디자인 교과목의 실시가 포 함되면서 비공학 계열에도 캡스톤디자인 과목 도입되기 시작했다.