DevGang
[SE-02] 소프트웨어 공학 본문
1. 소프트웨어 공학(SE, Software Engineering)의 정의
- 가장 경제적으로 신뢰도 높은 소프트웨어를 만들기 위한 방법, 도구와 절차들의 체계
- 소프트웨어 공학에 대한 여러 형태의 정의
- 소프트웨어의 개발, 운용, 유지보수, 폐기 처분에 대한 체계적인 접근 방안
- 지정된 비용과 기간 내에 소프트웨어를 체계적으로 생산하고 유지 보수하는 데 관련된 기술적이고 관리적인 원리
- 과학적인 지식을 소프트웨어 설계와 제작에 응용하는 것이며, 이를 개발, 운용, 유지 보수하는 데 필요한 문서 작성 과정
- 소프트웨어 공학의 공학(Engineering)이 가지는 의미
- 경제성
- 적시성
- 보편타당성
- 소프트웨어 공학이 나타나게 된 배경
- 소프트웨어(S/W) 비용의 증가
- 소프트웨어(S/W) 품질과 생산성의 제고
- 특정 개인에 의존한 시스템 개발
2. 소프트웨어의 위기(Crisis)
- 컴퓨터의 발달 과정에서 소프트웨어의 개발 속도가 하드웨어의 개발 속도를 따라가지 못해 사용자들의 요구사항을 감당할 수 없는 문제가 발생함을 의미
- 소프트웨어 위기의 원인
- 소프트웨어의 특징에 대한 이해 부족
- 소프트웨어의 관리 부재
- 프로그래밍에만 치중
- 소프트웨어 위기의 현상
- 개발 인력의 부족과 그로 인한 인건비 상승
- 개발 기간의 지연
- 하드웨어 비용을 초과하는 개발 비용 증가
- 성능 및 신뢰성의 부족
- 유지 보수의 어려움에 따른 엄청난 비용
3. 소프트웨어 공학의 기본 원칙
- 현대적인 프로그래밍 기술 적용
- 지속적인 검증 시행
- 결과에 대한 명확한 기록 유지
4. 소프트웨어 공학의 발전을 위한 소프트웨어 사용자(Software User)로서의 자세
- 프로그래밍 언어와 알고리즘의 최근 동향을 주기적으로 파악
- 컴퓨터의 이용 효율이나 워크스테이션에 관한 정보들을 체계적으로 데이터베이스 화함
- 바이러스에 대한 예방에 만전을 기하여 시스템의 안전을 확보함
'정보처리 > SE' 카테고리의 다른 글
[SE-06] 프로젝트 비용 산정 (0) | 2021.02.08 |
---|---|
[SE-05] 프로젝트 계획 및 예측 (0) | 2021.02.08 |
[SE-04] 프로젝트 관리 (0) | 2021.02.08 |
[SE-03] 소프트웨어 생명 주기 (0) | 2021.02.08 |
[SE-01] 소프트웨어 (0) | 2021.02.08 |
Comments