[프로젝트] 기획, 설계, 시험, 수준정의, 개발
🚩 프로젝트 기획
🧩 SRS
- 소프트웨어가 어떻게 작동할것인지 설명하는 문서
- 종합설계도라 보면 됨
- SRS의 구성
- 소개
- 전체설명
- 시스템 특징
- 외부 인터페이스 요구사항
- 기능 이외의 다른 요구사항
- 다른 요구사항
🧩 비즈니스 관점에서 개발 프로젝트 이해
- 과업발생 : 불편함 느낌
- 사업자 선정 및 계약 : 불편함을 해결해줄 사업자 선정
- 기획/분석 : 사전처리가 됐다면 프로젝트 매니저는 여러요소를 고민함.
- 설계 : 구체적 설계
- 구현 : 개발업무 진행
- 시험 : 구현의결과를 검토
- 서비스 오픈 : 오픈
- 유지보수 : 오류수정
- 개발 프로젝트 구분
- 용어
- 솔루션 : 기업에서 개발한 완성품. 어플등
- SI : 시스템 구축하는 행위
- SM : 시스템 운영, 유지보수
🧩 소프트웨어 개발 단계
- SRS를 통해 프로젝트의 큰그림을 그리는 단계
- 분석단계
- 설계단계
- 구현단계
- 시험단계
🧩 사용자 요구사항 정의서
- 분석단계에서 작성하는 것
- 작성목적 : 시스템 요구사항 도출, 업무낻용 기술
- 작성방법 : 표를 이용하여 해당항목에 작성
🚩 프로젝트 설계
🧩 화면 정의서
- 소프트웨어 개발단계중 설계단계에서 작성해보는것
- 작성목적 : 시스템이 제공하는 ui의 구조를 기술
- 작성방법 : ui구조를 사용자에게 제공하는 메뉴형식으로 기술
🧩 테이블 명세서
- 작성목적 : 최종적으로 설계된 테이블과 인덱스를 데이터베이스 공간에 맵핑, 저장공간등의 물리모델을 기술
- 작성방법 : 서비스에서 사용될 테이블을 미리 설계하고 문서화함.
🧩 api 명세서
- restful한 api : 모든 리소스에 대해 고유한 uri를 부여, http 메소드를 통해 제어할 수 있는 수단.
- 규칙
🚩 프로젝트 시험
용어
- 블랙박스 테스트 : 테스트하는사람이 내부설계 모르는채로 테스트
- 화이트박스 테스트 : 내부구조, 코드 아는상태에서 진행, 개발자 유닛테스트
- TC : 테스트케이스, 체크리스트 등 테스트항목
- QA : 테스트 실시하고 품질관리하는 팀
- 알파테스트 : 기본적인 기능테스트
- 베타테스트 : 에러가 일정수치 이상으로 가면 알파테스트로 돌아가게됨
- Acceptance 테스트 : 베타까지 통과하면 하는 마지막 테스트
🧩 개발자 테스트
- 개발자 테스트 체크리스트 : 직접 본인의 웹서비스를 평가, 문제점파악, 개선포인트로 삼았으면 함
🧩 Pre-Project 사전준비
- 개발역량파악
- 타겟서비스분석 및 정리
- 프로젝트 목표설정 : 사용자 요구사항 정의서 작성, 개발준비
- 목표수준 정의
🧩 Agile 개발
- 짧은 개발주기
- 반복적인 개발
- 적극적인 고객과의 소통
- 기획, 분석, 설계, 구현, 시험
🧩 사전준비단계
- 요구사항정의서 작성으로 기획 완료된것으로 간주
- 나머지단계는 스프린트 실행단계로 분류.
스프린트 : 일반적으로 1~2주의 개발주기, 이 주기를 단위로 소프트웨어를 개발
이번엔 프로젝트 종료일까지 1스프린트로 잡음. 마일스톤 종료일도 이날로 지정
마일스톤 : 일정기간의 목표
이슈등록 : 필터링에 마일스톤 입력후 해당 스프린트를 선택하면 이슈를 확인할 수 있다.
제출물 : 스프린트 종료전에 개발 완료된 각 이슈의 테스트가 이루어져야 한다. 이때 테스트를 수행한 결과를 개발자 테스트 체크리스트에 정리하여 제출.
🧩 타임라인
- 사전준비단계 ~17일까지
- 팀 구성 및 팀역량파악
- 스택오버플로우 분석
- 사용자 요구사항 정의서 작성 및 업무할당
- 개발자 테스트 체크리스트 작성
- 깃헙 프로젝트 칸반 설정
- 모든 이슈 생성후 칸반보드 백로그에 등록
- 마일스톤 등록