2022. 11. 27. 03:31ㆍOthers/SE
소프트웨어
협의 : 프로그램 자체
광의 : 프로그램 + 프로그램 개발, 운용, 보수에 필요한 정보 일체
특성
- 비가시성(Invisibility)
- 테스트 가능(Testability)
- 복잡성(Complexity)
- 순응성(Conformity)/변경성(Changeability)
- 장수(Longevity)
- 복제 가능(Duplicability)
- 응용에 의존(Application Dependability)
분류
- 응용 소프트웨어
- 시스템 소프트웨어
- 주문형 소프트웨어
- 임베디드 소프트웨어
소프트웨어 위기(Software Crisis)
소프트웨어 공학 초기에 사용되던 용어로 소프트웨어 수요가 급격히 증가하고 그 복잡성이 증가함에 따라 기존 방법이 충분하지 않아 발생한 문제.
증상 : 프로젝트 예산 초과, 일정 지연, SW 품질 낮아짐, 프로젝트 관리 불가능, 코드 관리 어려움
"만병 통치약은 없다"
소프트웨어 공학(Software Engineering)
SW 개발과 운영, 유지 보수, 소멸에 대한 체계적인 접근 방법
목표 : 품질과 생산성을 높이는 것
품질 좋은 소프트웨어를(Quality Software)
최소의 비용으로(Within a budget, Cost-Effective)
계획된 일정에 맞추어 개발하는 것(On-Time)
SE가 다루는 문제 : 고비용, 개발 지연과 낮은 신뢰도, 유지 보수와 재작업
SW 규모
품질과 생산성
Man-Month(M/M)로 측정
SW 품질
- 기능성(Functionality)
- 신뢰성(Reliability)
- 사용 용이성(Usability)
- 효율성(Efficiency)
- 유지보수성(Maintainability)
- 이식성(Portability)
- 일관성(Consistency)
- 재현성(Reproducibility)
CMMI(Capability Maturity Model Integration)
CMU의 SEI가 만든 조직의 프로세스 능력 성숙도 평가 모델
단계 1 (Initial)
소프트웨어 개발 프로세스는 거의 없는 상태
단계 2 (Managed)
프로세스 하에서 프로젝트가 통제되는 수준
단계 3 (Defined)
조직을 위한 표준 프로세스가 존재
단계 4 (Quantitatively Managed)
소프트웨어 프로세스와 소프트웨어 품질에 대한 정량적인 측정 가능
단계 5 (Optimizing)
지속적인 개선에 치중하는 단계
SW는 계속 진화하고 변경됨
단계적 프로세스
소프트웨어의 문제를 나눠 여러 개발 단계에서 다른 관점을 다룸
개발하는 동안 정해진 시점에 품질과 진행을 체크함
SW 개발 프로세스
SW 유지보수 비용이 개발 비용의 두배 정도 소요됨
Verification & Validation (V&V)
Verification (확인)
시스템을 정확하게 만들고 있는가? (Process 관점)
개발작업이 프로젝트를 위해 선택된 프로세스와 방법에 맞게 수행되는지 체크
Validation (검증)
정확한 시스템을 만들고 있는가?(Product 관점)
고객의 요구(Needs)를 충족하는가?
개발 프로세스에 의하여 생성된 결과물의 정확성을 체크
'Others > SE' 카테고리의 다른 글
6. 설계 원리 (1) | 2022.12.20 |
---|---|
5. 요구 모델링 (0) | 2022.11.27 |
4. 요구 분석 (1) | 2022.11.27 |
3. 프로젝트 계획과 관리 (1) | 2022.11.27 |
2. 프로세스와 방법론 (0) | 2022.11.27 |