본문 바로가기

Project

'AI 협업 웹 사이트' 개발 프로젝트 1탄 (설계 부문)

개발 환경 :  Figma, Visual Studio Code (DB툴 사용)

 

개발 기간 : 2024년 9월~12월 (약 4달)

 

개발 목적 : 학생들이 프로젝트를 더 효과적으로 진행하고, 협업 경험을 쌓을 수 있도록 돕게 하기 위해서이다.

+4학년 졸업 작품

 

팀원 : 4명

 


 

일정 추진 계획표

 

제일 먼저 우리 팀의 일정 추진 계획표이다.

주제를 선정을 하고나서 구현 전까지 우리팀에게는 약 3~4달에 시간이 있었다.

 


 

주제 선정

 

우선 주제를 정하기 위해서 우리팀은 여러가지 의견을 종합한 가운데 최종 선택된 주제는

협업 툴 (웹,앱) 으로 만들자였다. 그래서 어떻게 만들면 좋을까? 의견을 나눈 결과

Github

 

GitHub · Build and ship software on a single, collaborative platform

Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.

github.com

플로우

 

플로우(flow) - 대한민국 최초 AI 협업툴

업무용 메신저와 업무관리를 한 번에! 대한민국 최초 AI 협업툴 플로우로 업무 효율을 높여보세요

flow.team

 

이렇게 GitHub와 플로우처럼 협업툴을 만드는 것이 어떨까 했다.

사실 Github는 코드를 공유하는 곳이지 우리가 만들고자하는 협업 느낌이랑은 사뭇 달라서

플로우를 참고해서 우리도 만들어보면 어떨까 해서 참고 모델을 선택하게 되었다.

플로우는 팀원들끼리 하나의 프로젝트를 만들고나서 일정 및 업무를 관리하며

서로 팀원에 일정과 업무를 공유하면서 하나의 프로젝트를 진행하는 방식이다.

 

플로우는 사무용으로 많이 쓰이는것같아서 우리 팀은 플로우랑 다르게 컴퓨터공학과

친구들이 하나의 프로젝트를 진행할 때 편리하게 쓰기위해서

대상을 사무용이 아닌, 컴퓨터 공학과 친구들의 프로젝트를 진행하는 과정에 도움을 주고자하였다.

 

 


 

기능적, 비기능적 요구사항

 

 

우리팀은 그렇게 해당 애플리케이션을 만들기 위해서

기능적 요구사항, 비기능적 요구사항을 작성하여 정리 하였다.

Ai 기능은 OpenAi api (chat gpt) 를 사용자하고 되었다.

작성한 요구사항을 바탕으로 요구사항 명세서를 작성하였다.

작성하면서 느낀것은, 생각했던 것 보다 더 명확하고, 자세하게 작성해야한다고 느꼈다.

 


 

유스케이스 다이어그램

 

다음은 유스케이스 다이어그램을 그려보았다.

사용자와 시스템이 사용할 수 있는 기능을 바탕으로, 그렸던 유스케이스 다이어그램이다.

이때 사용했던 툴은 StarURL이다.

이렇게 유스케이스를 그리고, 요구사항을 작성하는 것에 대해 소프트웨어 공학 강의 시간에

배웠던게 도움이 컸던 것 같다.

 

다음 유스케이스 다이어그램을 그린것대로 유스케이스 명세서를 작성해 보았다.

구현을 하면서 당연히 해야하는 이 명세서들을 모두 지켜야 하는것에 대해

부담감이 없지 않아던 것은 사실이지만, 당연히 해야하는 것들이기 때문에 큰 걱정은 없었다.

 

 


 

시스템 아키텍처

 

다음은 시스템 구조도이다.

우리팀은 JavaScript, Python을 이용해서 프론트와 백엔드를 만들기로했다.

DB는 MySQL을 사용하자했고, docker로 컨테이너화 하여 AWS로 배포를 하기로 정했다.

 

 


 

DB 설계

 

Visual Studio Code툴을 사용한 DB설계 결과이다.

사용자,업무, 회의록, 메시지를 중심으로 데이터베이스를 설계 하였다.

데이터 베이스 강의를 열심히 들어서 그런지 DB를 설계하는 과정에서 어려움 없이 진행되어서 좋았다.

 

 


 

UI 설계

 

Figma로 한 ui 설계 이다.

페이지를 먼저 다 설계를 한 다음에, 실행 절차대로 스토리보드를 만들었다.

 

이렇게 실제로 들어갈 구현까지 모든 준비를 끝냈다.

이렇게 소요시간은 약 3~4개월이 걸렸다.

구현을 하는 과정에서 어떤 어려움이 또한, 설계했던것에 대해서 수많은 변경사항이 있을 것으로 예상한다.

그리고 이때까지 했던 프로젝트보다는 규모가 커서 걱정이 있다.


GitHub