정의
- 소프트웨어의 개발, 운용, 유지보수 등의 생명 주기 전반을 소프트웨어 원리, 지식, 도구 등을 적용하여, 체계적이고 서술적이며 정량적으로 다루는 학문으로, 소프트웨어 제품 개발에 공학적 기법을 적용한 공학
키워드
- 소프트웨어 공학 지식 체계(SWEBOK)(Software Engineering Body of Knowledge), 소프트웨어 원리, 지식, 도구
메커니즘
기술요소
비가시성(Invisibility)
- 소프트웨어의 생산물 구조가 외부에 노출되지 않고 코드에 내재되어 있음
복잡성(Complexity)
- 정형적 구조가 없어 개발과정이 복잡하고 전산화 대상 업무, 소프트웨어 시스템 자체가 난해함.
- 비규칙적, 비정규적
변경성(Changeability) - 필요에 따라 항상 수정이 가능(진화성), 요구나 환경의 변화에 따라 적절히 변경
무형성(Intangible)
- 매우 중요하나 사실 형체가 없는 무형성 때문에 FP(Function Point) 등으로 유형화하려는 노력
순응성(Comformity)
- 사용자요구, 환경변화에 적절히 변형가능
복제 가능(Duplicability)
- 소프트웨어는 간단하고 쉬운 방법으로 복제 가능, 다양한 경로와 노력으로 복제가 가능
참고
방법(method)
- 소프트웨어 제작에 사용하는 기법이나 절차
- 구조적분석, 설계방법, 객체지향 분석, 설계 방법
- 설계도구
도구(tool)
- 자동화된 시스템
- 설계도구
- 프로그래밍 도구
- 테스트 도구
프로세스(process)
- 도구와 기법을 사용하여 작업하는 순서
- 애자일
- eXtreme Programming
패러다임(paradigm)
- 접근 방법, 스타일
- 구조적 방법론
- 객체지향 방법론
'Professional Engineer > SE' 카테고리의 다른 글
프로토타입 모델 (0) | 2024.09.24 |
---|---|
폭포수 모델(애자일 비교) (0) | 2024.09.24 |
좋은 소프트웨어의 조건 (0) | 2024.09.24 |
정보 은닉(Information Hiding) (0) | 2024.08.02 |
형상관리(Conflguration Management) (0) | 2024.08.02 |
댓글