Software Development Life Cycle
1. planning
- 내가 무엇을 만들지 계획
- 비슷한게 뭐 있는지 레퍼런스 찾기
2. analysis
- 상세하게 어떤 요구를 만족해야 하는지 정리
- 어떤 기능과 어떤 페이지 필요한지 풀어쓰기
3. design
- 플로우차트, 아키텍쳐 그리기 등 준비단계를 시각화하기
4. implementation
- 계획한 프로젝트를 코드 구현
5. testing & integration
- 소스 코드 테스트하기
- 취약점, 버그
6. maintenance
- 최종 결과물 배포하기
- 서비스 유지 보수하기 (새로운 니즈 발생시 1번부터 다시 SDLC 시작하기)
프로젝트 관리 방법론
1. Agile Process
- 중간중간 짧게 스프린트 진행하기
- ex) 20% 완성→ 40% 완성...->100% 완성
2. Waterfall process
- 한번에 100% 완성
- 한단계 한단계 완벽하게 진행하기.
- ex) 기획 100% -> 디자인 100% -> 배포 100%
오픈 소스 소프트웨어 - 라이센스 3가지 기준
1. 소스코드 공개 의무: 이 OSS를 가져와서 사용했을 때 내 코드를 전부 다 공개해야 하는가?
2. 동일 라이센스 적용: 이 OSS를 가져와서 사용했을 때 내 코드에도 동일 라이센스를 적용해야 하는가?
3. 상업적 이용: 이 OSS를 가져와서 돈을 벌어도 되는가?
소프트웨어 설계 (기획 프로세스)
1. Requirement specification (요구사항 명세)
- 대충 이런 이런 기능이 있어야 한다고 요구만 나열하는 것!
- 필요한 기능/요구 정리 (추상적)
- ex) 요구사항 정의서, 요구사항 명세서
2. Information Architecture (IA)
- 요구사항을 각 페이지, 스텝등으로 나누어서 어떤 데이터가 어디에 있어야 하는지 flow를 함께 적는 것
3. Service Policy (서비스 정책)
- 서비스 측면에서의 정책 작성
- ex) 회원가입 방법 등
4. Development policy
- 각각의 기능들을 전부 다 쓰는 것 (기능 세부 정리)
5. Wire frame (시각화)
- 최종정리 느낌!
- 스토리 보드/페이지 스케치 만들기
6. 최종 구현
'Study Log > 정보 보안' 카테고리의 다른 글
[정보 보안] 암호학 기초 강의 정리 (비공개) (0) | 2023.09.11 |
---|---|
[정보 보안] 3. 문서파일 포렌식 실습 (0) | 2023.09.11 |
[정보 보안] 정보보안 윤리 강의 정리 (비공개) (0) | 2023.09.11 |
[정보 보안] 2. 컴퓨터 구조 기초 (0) | 2023.09.11 |
[정보 보안] 컴퓨터 구조 기초 오프라인 실습 정리 보고서 (0) | 2023.09.10 |