한화시스템 SW BEYOND CAMP 22기 1주차 회고록

chanjin·2025년 11월 3일

10월 28일 오리엔테이션

부트캠프 시작 전날인 28일에 OT를 진행했다.
솔직히 기대보단 긴장된 마음이였지만 OT 후에도 긴장이 멈추진 않았지만 부트캠프를 진행하는 6개월 동안 후회가 남지 않게 열심히 해야겠다고 생각이 들었다.

1주차 학습내용

  • 기반기술 SW공학
    • Git, Git Bash, Git hub
    • Souce Tree, VS Code, Markdown
  • 소프트 웨어 개발 프로세스

    • 폭포수 모델
    • 애자일 방법론
    • 스크럼
  • 요구사항 분석

    • 유스케이스 다이어그램

GIT

git : 소스코드 버전 관리 프로그램
→ 버전관리 : 파일 변경 이력을 저장하고, 필요한 경우 이전으로 돌아갈 수 있다.

브랜치 : 개발의 단계나 기능을 분리해서 관리할 수 있다
→ git config --global init.defaultBranch main 명령어로 브랜치를 master에서 main로 변경

git bash : CLI (Commend Line Interface) 방식으로 git을 사용하는 환경

git hub : git 호스트 사이트 중 하나로, 시간과 공간의 제약이 없이 협업 가능하다. 공개 저장소로 만들 시 모르는 사람과도 협업 가능하다. 프로젝트의 소스 코드를 온라인에 저장하고 관리할 수 있다.

Sourcetree란

  • Git 저장소를 시각적으로 관리할 수 있는 GUI 도구이다.

VS Code란

  • 소스 코드 편집기로 다양한 프로그래밍 언어를 지원하며, 확장 기능을 통해 기능을 확장시킬 수 있다.

Markdown

  • 텍스트 기반의 마크업 언어로 일반 텍스트 문서에 서식 요소를 추가하기 위해 사용한다.

소프트웨어 개발 프로세스

폭포수 모델이란?

  • 소프트 웨어 개발의 전통적인 방식이다.
  • 각 개발 단계가 선형으로 진행되며, 이전 단계가 완료된 후에만 다음으로 넘어간다
  • 각 단계의 명확한 구분으로 문서화가 잘 되고, 이해하기 쉽다는 장점이 있으나, 변화에 대응하기 어렵고 유연성이 부족하다는 단점이 있다.

애자일 방법론이란?

  • 변화에 유연하게 대응하고 고객의 지속적인 피드백을 수용하는 반복적인 개발 접근 방식이다.
  • 빠르게 변화하는 요구 사항에 유연하게 대응할 수 있고 고객의 요구 사항을 더 잘 반영할 수 있다는 장점이 있으나, 프로젝트의 규모가 커지면 관리가 복잡해질 수 있고 문서화가 충분히 이루어지지 않아 프로젝트 이해도가 낮은 새로운 팀원의 참여가 어렵다는 단점이 있다.

스크럼 이란?

  • 애자일 개발의 한 형태로 팀이 정해진 기간동안 목표를 달성하기 위해 협력하는 프레임워크이다.
  • 계획, 검토, 미팅 등 정기적인 회의를 통해 프로젝트 진행 상황을 관리한다.
  • 복잡한 프로젝트를 더 효과적으로 관리할 수 있고 빠른 피드백 루프를 통해 제품을 지속적으로 개선할 수 있다는 장점이 있으나, 팀 구성원의 경험과 자기 조직화 능력에 크게 의존하며 일정 규모 이상의 대규모 프로젝트에는 적용하기 어렵다는 단점이 있다.

폭포수 모델과 애자일 방법론 비교

유스케어스 다이어그램

  • 동적(행위) 다이어그램으로 시스템 내의 활동들의 흐름을 보여줌
  • 여러 업무 프로세스를 설명하는데 있어 자주 사용

유스케이스의 다이어그램의 기본 개념

  1. 유스케이스는 실제로 현실에서 발생하는 기능으로 구체적이여야 한다.
  2. 하나의 독립적인 기능을 구성하는 다양한 세부상황은 각각 하나의 유스케이스로 표현되어야 한다.
  3. 반드시 한 개 이상의활성화 상호 작용을 하는 액터가 있어야 한다.
  4. 유스케이스는 모든 활성화 액터에게 동일한 기능을 제공해야 한다.
  5. 유스케이스는 트랜잭션 성격을 가져야 한다.

유스케이스 다이어그램 작업 과정

  1. 요구사항 기술서 -> 액터, 유스케이스 추출
  2. 추출한 액터, 유스케이스 무작위 단순 배치(UML 툴 사용)
  3. 중복 의미의 유스케이스 제거 및 불필요한 유스케이스 제거, 그룹핑 작업
  4. 액터, 유스케이스 간 관계 설정

액터란?

  • 시스템과 상호작용을 하는 시스템 외부의 존재로 개발 대상에 따라 달라질 수 있음
  • 시스템 관점에서 바라 본 사용자의 역할을 뜻해야 함

유스케이스란?

  • 개발 대상이 되는 시스템이 제공하는 개별적인 기능을 뜻하는 것으로 시스템 동작을 기술하고, 사용자가 인지할 수 있는 (눈에 보이는) 하나의 기능 단위

유스케이스 다이어그램의 관계

느낀 점❗❗

1주차라고는 하지만 실제론 3일뿐이였지만 정말 배운게 많았다.
git, github, sourcetree, vscode, markdown, 각종 이론들, 그리고 두번의 실습까지
다른 분들과 똑같이 나도 열심히 하려고 왔지만 공부를 제대로 해본적이 없어서 내가 집중을 잘 할 수 있을지에 대한 걱정이 많았는데 강사님께서 수업 분위기도 많이 풀어주시고 최대한 실습 위주로 코드를 조금이라도 더 많이 적어볼 수 있도록 해주셔서 몰입이 많이 됐다.
그럼에도 이해가 안되는 부분이 좀 있었는데 정규수업시간이 끝나고 남아서 동기 수강생 분들과 머리 꽁꽁 싸매면서 실습했던 걸 반복하는 과정도 너무 재미있었다!
앞으로 정말 어려울거 같지만 앞서가진 않아도 뒤쳐지지 않게, 돌아봤을 때 후회되지 않는 6개월을 보내고 싶다!

회고❗❗

나는 첫날부터 수업이 끝나고 6시에 남아서 복습했었다.
처음에는 복습할 생각이 없어서 집에 가려고 했는데 비전공자이신 동기 수강생분이 남아서 공부하고 있었다. 그 모습을 보고 집에 가려다 나도 비전공자고 열심히 하려고 왔는데 너무 내가 만만하게 생각했 던 것 같아서 마음을 바꾸고 복습하고 집에 갔다.
솔직히 9-6 공부 하는것도 그 이후에 남아서 복습하고 가는것도 쉽지는 않지만 분명 적응이 될거고 더 집중이 잘 될거고 지금 보내는 이 시간이 쌓여서 내가 성장할 거라고 믿는다.
분명 지치겠지만 초심을 유지하며 힘내서 열심히 하고싶다.

그 외❗

강사님께서 두가지는 꼭 연습하라고 하셨다.
첫번째는 말하는 연습을 하는 것.
두번째는 내 코드를 보여주는걸 부끄러워 하지 말라고 하셨다.
첫번째는 실습을 하면서 점점 말문이 트이는걸 스스로 느껴서 잘 진행되는거 같다!
그렇지만 두번째는 아직 코드작성을 제대로 해보지 않아 어떨지 잘 모르겠지만 최대한 신경 안쓰려고 노력해봐야겠다!

profile
찬지니에오

1개의 댓글

comment-user-thumbnail
2025년 11월 4일

회고 넘 좋네요ㅠㅠ 배운 내용도 알차게 정리해주셨네요!
강사님께서 해주신 말씀 잘 새겨서 매순간 발전의 기회를 잡아가길 바랄게요!
찬진님의 눈에 띄는 성장 기대해봅니다!
그리고 제가 야근할 때마다 찬진님 있는지 찾아봐야겠어요~~ :D

답글 달기