반응형
Notice
Recent Posts
Recent Comments
Link
250x250
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Tags
- 범위클래스
- API명세 작성
- gensim
- Kotlin
- 안드로이드 스튜디오
- 딥러닝
- Instant.now().toEpochMilli()
- BFS
- Queue테이블
- 웹어플케이션서버
- 인프라 구성도
- PREFECT
- idempotency
- 투포인터
- 멱등한 API
- 정보처리기사
- 코틀린
- 서버구조 설계 시 고려할점
- 텍스트전처리
- 파이썬
- Queue
- 선착순 보장
- express
- Port/Adpater
- 알고리즘
- Redis
- System.currentTimeMillis()
- 백준
- 개발 기술환경 파악
- cs50
Archives
- Today
- Total
THINK HARD
소프트웨어 생명 주기 본문
728x90
반응형
소프트웨어 생명 주기(Software Life Cycle)
- 소프트웨어 생명 주기는 소프트웨어를 개발하기 위한 설계, 운용, 유지보수 등의 과정을 각 단계별로 나눈 것
- 소프트웨어 생명 주기는 소프트웨어 개발 단계와 각 단계별 주요 활동 그리고 활동의 결과에 대한 산출물로 표현함
- 대표적인 생명 주기 모형
- 폭포수 모형
- 프로토타입 모형
- 나선형 모형
- 애자일 모형
폭포수 모형(Warterfall Model)
- 폭포수 모형은 **이전 단계로 돌아갈 수 없다**는 전제하에 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후에 다음 단계를 진행하는 개발 방법론
- 가장 오래되고 가장 폭넓게 사용된 전통적인 소프트웨어 생명 주기 모형
- 고전적 생명 주기 모형이라고도 함
- 모형을 적용한 경험과 성공 사례가 많음
- 각 단계가 끝난 후에는 다음 단계를 수행하기 위한 결과물이 명확하게 산출 되어야 함
프로토 타입 모형(Prototype Model, 원형 모형→ 되돌아 갈 수 있다.)
- 프로토타입 모형은 사용자의 요구사항을 파악하기 위해 실제 개발될 소프트웨어에 대한 견본품(Prototype)을 만들어 최종 결과물을 예측하는 모형
- 견본품은 사용자와 시스템 사이의 인터페이스에 중점을 두어 개발함
나선형 모형(Sprial Model, 점진적 모형)
- 나선형 모형은 나선을 따라 돌듯이 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 모형
- 보헴(Boehm)이 제안하였음
- 폭포수 모형과 프로토타입 모형의 장점에 위험 분석 기능을 추가한 모형
- 누락되거나 추가된 요구사항을 첨가할 수 있음
- 유지보수 과정이 필요 없음
- 4가지 주요활동
- 계획 수립 → 위험분석 → 개발 및 검증 → 고객평가 → 계획 수립
애자일 모형(Agile Model)
- 애자일은 ‘민첩한’, ‘기민한’이라는 의미로, 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발하는 모형
- 어느 특정 개발 방법론이 아니라 좋은 것을 빠르고 낭비 없게 만들기 위해 고객과의 소통에 초점을 맞춘 방법론을 통칭함
- 폭포수 모형과 대조적
- 기업 활동 전반에 걸쳐 사용됨
- 대표적인 개발 모형
- 스크럼(Scrum)
- XP(eXtreme Programming)
- 칸반(Kanban)
- Lean
- 기능 중심 개발(FDD; Feature Driven Development)
🚀 외우는 팁
- 애자일 모형 5가지: 기스나는 것이 두려우면 XL 칸 에 주차
애자일 개발 4가지 핵심 가치
- 프로세스와 도구보다는 개인과 상호작용에 더 가치를 둠
- 방대한 문서보다는 실행되는 SW에 더 가치를 둠
- 계약 협상보다는 고객과 협업에 더 가치를 둠
- 계획을 따르기 보다는 변화에 반응하는 것에 더 가치를 둠
소프트웨어 공학
- 소프트웨어 공학(SE, Software Engineering)은 소프트웨어의 위기를 극복하기 위한 방안으로 연구된 학문
- 여러가지 방법론과 도구, 관리 기법들을 통하여 소프트웨어의 품질과 생산성 향상을 목적으로 함
- 소프트웨어 공학의 기본 원칙
- 현대적인 프로그래밍 기술을 계속적으로 적용해야함
- 개발된 소프트웨어의 품질이 유지되도록 지속적으로 검증해야함
- 소프트웨어 개발 관련 사항 및 결과에 대한 명확한 기록을 유지해야 함
728x90
반응형
'자격증 공부 > 정보처리기사' 카테고리의 다른 글
| 요구사항 개발 프로세스 (0) | 2025.10.18 |
|---|---|
| 요구사항 정의 (0) | 2025.10.18 |
| 개발 기술 환경 파악 (0) | 2025.10.17 |
| 스크럼(Scrum), XP(eXtreme Programming) (0) | 2025.10.14 |