본문 바로가기
Study Log/정보 보안

[정보 보안] 1. 프로그래밍 기초

by LOGER 2023. 9. 11.


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. 최종 구현