hmk run dev
소프트웨어의 생명주기 본문
소프트웨어의 생명주기
폭포수 모델
폭포수라는 단어에서 유추할 수 있듯이 다시 되돌아 갈 수 없는 방식으로 각 단계를 확실하게 마무리 해야한다.
- 이전으로 돌아갈 수 없으니 확실히 마무리
- 2개 이상의 과정을 병행할 수 없음
- 개발의 방향을 바꿀수 있는 단계 x 초기 계획 그대로 만들어야 한다.
- 반드시 메뉴얼이 필요하다.
프로토타입 모델(원형 모델)
프로토타입을 만들어서 문제점을 파악하고 프로토타입을 기초로 한 완전한 소프트웨어를 만드는 방식
- 시제품, 견본이라고도 함
- 빠른 개발을 위해 디자인이나 마감처리 등을 무시하고 최대한 기능적인 부분만 만듦(인터페이스 중심개발)
- 폭포수 모형의 단점인 개발 후 오류 대처에 대한 부분을 보완할 수 있음
스파이럴 모델(나선형 모델)
대규모 프로젝트에 적합 계획 - 분석 - 개발 - 평가의 단계를 여러번 반복하며 소프트웨어의 완성도를 점진적으로 향상시킨다.
- 점진적인 개발 정밀함 & 유지보수
- 위험관리 최소화
유지보수가 필요없을 만큼의 프로그램을 만드는 것이 주 목적!
애자일 모델
고객과 소통을 지속적으로 유지하면서 고객중심적인 개발 방법
절차와 문서보단 고객과의 상호작용과 협업에 중점을 두고 빠르게 대응할 수 있는 장점이 있음
애자일 모델은 여러가지 방식이있다.
스크럼
팀을 중심으로 진행된다.
- 제품책임자, 개발자, 스크럼 마스터로 구성되어있다.
- 제품책임자(PO) : 의사결정권이 있는 사람
- 스크럼마스터(SM) : 개발팀을 지원, 조율
- 개발팀 : 개발자, 디자이너, 테스터 들을 전부 포함한 것
소통을통해 개발에 필요한 사항은 backlog에 기록한다.
backlog는 형식없이 편하게 적어 '스토리'라고도 하며 우선순위는 제품책임자에 의해서만 변경가능
backlog가 준비되면 스크럼 마스터는 계획회의를 진행한다.
각 개발자들은 개발목표와 기간을 시간을 할당 받게 되는데 이것을 스프린트라고 한다.
예상기간 대비 실제 작업량을 비교해서 문제점을 파악한다.
제품 책임자는 매주 검토 회의를 통해서 필요한 내용을 backlog에 업데이트
백로그 : 요구사항을 우선순위에 따라 모아놓은 목록
계획회의 : 스프린트 일정 수립, 개발자 별로 스프린트 백로그 작성
일일 회의 : 스크럼마스터 주도, 소멸차트 활용,
검토 회의 : 주별, 제품책임자 주도, 백로그 업데이트
회고 : 지난 일정 되돌아보기, 개선점 찾기
XP 기법(extreme programming)
애자일 모델이 추구하는 고객과의 소통을 극도로 끌어올린 방식
개발주기를 짧고 반복적으로 만들어 고객의 적극적인 참여 유도 > 가시성 향상
소규모 인원의 개발 프로젝트에 효과적
핵심가치 (피존용단소) - 피드백, 존중, 용기, 단순, 의사소통
개발 프로세스
사용자 스토리 : 고객의 요구사항
릴리즈 계획 수립 : 부분과 전체의 개발 일정 수립
스파이크 : 기술 및 기능확인을 위해 간단히 만드는 프로그램
이터레이션 : 릴리즈를 좀 더 세분화 한 단위
승인 검사 : 부분 소프트웨어가 릴리즈 되면 고객이 직접 평가
소규모 릴리즈 : 릴리즈 별로 고객의 피드백 확인 가능
시스템파악
시스템 구성 : 기간(주요) 업무와 지원 업무의 주요 기능 파악
시스템 기능 : 주요 기능별 세부 기능들을 목록형으로 표시
시스템 인터페이스 : 주고받는 데이터의 형식, 프로토콜 파악
구기인아소하네
구 : 업무시스템에 구성 파악
- 기간 어부 : 주요 업무 담당
- 지원 업무 : 지원 업무 담당
시스템 별 기능 명시
기 : 시스템 별 기능 파악
- 계층형 표시
인 : 시스템 인터페이스 파악
- 업무 시스템 간에 주고받는 데이터의 종류 및 형식, 프로토콜 등
아 : 시스템 아키텍처 파악
- 각 시스템이 어떻게 동작하는지 동작하는 기술요소의 원리를 표현
소 : 소프트웨어 구성 파악
- 소프트웨어의 용도
- 라이선스 개수
하 : 하드웨어 구성파악
서버의 주요사양, 수량, 이중화 적용여부
네 : 네트워크 구성파악
- 네트워크 구성도 작성을 통해 물리적 위치, 보안 취약점 분석 유지보수 등에 활용
개발 기술 환경파악
1. 운영체제 : 시스템 자원 관리, 하드웨어 제어를 위한 인터페이스
고려사항 : 주변기기 지원여부
2. DBMS : 데이터베이스 관리를 위한 시스템, 종속성과 중복성 해결
DB에 대한 모든 권한과 책임이 있음
고려사항 : 상호 호환성, 데이터 이중화
3.WAS : 동적 콘텐츠 처리를 위한 미들웨어, DB서버와 연동
미들웨어 : 서버와 클라이언트 중간에 위치, 클아이언트 대신 복잡한 처리를 하기 위함
고려사항 : 다양한 옵션
공통 고려사항 : 가용성, 성능. 비용, 기술지원
오픈소스 : 라이선스 종류, 기술 지속가능성, 사용자 수
'cs' 카테고리의 다른 글
컴퓨터 구조를 알아야 하는 이유 (0) | 2024.03.01 |
---|---|
Process와 Thread (0) | 2024.02.27 |
컴퓨터 구조와 운영체제 (0) | 2022.02.19 |
정처기 오답노트 (0) | 2022.02.09 |
OSI 7계층 (0) | 2022.01.21 |