Language/C++

[C++] Assignment 주소록(1) - 요구사항 분석

검은 까마귀 2024. 1. 13. 14:25


사실 기본적인 자바를 통해 컴퓨터 언어가 어떤식으로 동작하는지는 알고 있어서 이전에 작성한 내용인 C++ 동작원리만 하고 나머지 문법은 과제를 통해서 진행하려고한다.

2024.01.13 - [Language/C++] - [C++] C++ 동작 원리

 

[C++] C++ 동작 원리

뭐 자바를 공부하기 전에도 마찬가지로 자바의 동작원리부터 알아보고 시작을 했다. JAVA는 대충 설명하자면 JVM에서 띄워지기 때문에 어디든 JVM 머신이 있다면 실행 시킬 수 있다. 하지만, C++을

blaj2938.tistory.com

 

주소록 서비스로 과제를 하려고 한 이유는 널널한 개발자님의 유튜브 영상을 보고 딱 좋은 과제다! 라고 생각했다.(입문자에게는 너무 어렵기 때문....)

https://www.youtube.com/watch?v=J_CfRpCM_ic

 

C언어를 먼저하고 하라고 하셨지만..... 일단 자바로 입문도 했고 뭔가 속도감 있게 공부를 하기를 원했기 때문에, C++로 하려고한다...!! 나만의 방식으로 적용해서 삽질하는 것도 나의 업보이지 않을까?

 

널널한 개발자님은 저 과정을 3시간안에 인터넷 없이 해결해야한다고 하셨지만, 사실 속도감있게 배우는 입장에서 조금은 힘들것 같고 최대한 자료를 보지 않고 진행해보도록 노력하겠다.

 

 

# 요구사항(Requirment)

일단, 항상 요구사항을 분석하고 과제를 진행해야된다. 개발자는 프로그래머가 아니라 요구사항도 분석해야한다. 사실 내가 과제도 만들고 과제도 해결하는 것이기 때문에 요구사항을 맘대로 분석해도 된다.(ChatGPT의 도움을 받았다.)

사실 주소록을 만드는 과정이 DataBase를 설계하는 과정과 비슷하다. 일단 기본적인 CRUD도 넣고, 파일시스템에 데이터를 저장하는 과정까지 고민해보아야한다.

 

  • 사용자 인터페스: Command Line Interface
  • 기능(CRUD 정렬)
    • 연락처 추가
      • 파일 시스템에 저장(csv, json)
    • 연락처 목록 보기
    • 연락처 검색
    • 연락처 수정
    • 연락처 삭제
    • 정렬
      • 이름순 정렬
      • 전화번호별 정렬
    • csv, json으로 대량 데이터 추가
    • 프로그램 종료

 

일단 나는 MySQL 콘솔 처럼 GUI말고 CLI로 사용자 인터페이스를 하기로했다. 뭔가 멋지게 탁탁 CLI로 하는게 개인적으로 멋있지 않은가?? (까만창이라는 것도 그래서 지은 이름이다. ㅋㅋㅋㅋㅋㅋ) 

 

여기까지 요구사항 분석을 마치고 자료구조에 대해서 고민하면서 한번 자료구조랑 같이 공부를 해보겠다.

 

https://github.com/black9769/Assignment1-AddressBook

 

GitHub - black9769/Assignment1-AddressBook: C++ 주소록 과제

C++ 주소록 과제. Contribute to black9769/Assignment1-AddressBook development by creating an account on GitHub.

github.com

반응형

'Language > C++' 카테고리의 다른 글

[C++] Class & 접근제어지시어  (0) 2024.01.22
[C++] Structure Type(구조체)  (0) 2024.01.19
[C++] Pointer(포인터)  (0) 2024.01.18
[C++] C++ 동작 원리  (0) 2024.01.13
[C++] C++ 배우기를 선택한 이유  (0) 2024.01.08