SW Engineering Introduction

서동현·2023년 1월 4일
0

What is SW Engineering?

Watts S. Humphrey
질 좋은소프트웨어를 경제적으로 생산하기 위하여 공학, 과학 및 수학적 원리와 방법을 적용하는 것이다.
Wikipedia
소프트웨어 공학은 소프트웨어의 개발, 운용, 유지보수 등의 생명주기 전반을 체계적이고, 서술적이며 정량적으로 다루는 학문이다.


What is purpose of SW Engineering?

오류가 없는 고품질의 소프트웨어를 계획된 개발기간을 넘기지 않고 추가적인 예산 요청 없이 사용자가 원하는 기능을 유지보수가 용이하도록 복원력이 좋은 소프트웨어를 개발하는 것
1. 오류가 없는 고품질 소프트웨어를 : 고품질의 소프트웨어는 오류가 없어야한다.
2. 사용자가 원하는 기능을 : 고품질의 소프트웨어는 사용자 요구사항을 반영하고 있어야 한다.
3. 유지보수가 용이하도록 복원력이 좋은 소프트웨어를 개발하는 것 : 고품질의 소프트웨어는 복원력이 좋아 유지보수가 용이해야한다.

Compare with recipe in cooking


식당에서 High Quality를 유지하면서 음식을 제공하기 위해서 정립된 요리 레시피를 수행해야하는 것처럼
SW 개발 방법론을 따라하여 High Quality의 SW를 Client에게 제공할 수 있다.


Why SW Engineering?

SW Crisis
소프트웨어의 대형화, SW Engineer 인건비 상승, 예산 예측의 어려움, 유지보수 어려움등의 원인으로 1970년대부터 소프트웨어 산업 분야의 위기가 대두되었다.

SW crisis를 해결하기 위해 나온 것이 SW Engineering이다.


Contents

1. Traditional SDLC model

SDLC : Software Development Life Cycle
소프트웨어 개발 타당성 검토부터 개발, 유지보수, 폐기까지의 전 과정을
하나의 생명주기로 정의하고 단계별 공정을 체계화한 모델
1) Waterfall Model

2) prototype model
risk를 줄이는 것이 목적이다.

3) Spiral Model
risk를 최소화하는 것이 목적이다. prototype model의 반복

Limitation of SDLC ( VS Agile )
1) 사용자 참여 미흡
2) 비효율적인 문서위주 확인 방식
3) 단계별 진행과 승인 프로세스로 인한 지연
4) 계속 확장되는 발전적 시스템에 부적합

2. SW Development Methodology

SW Engineering 원리를 SW 생명주기에 적용하여 작업절차, 방법, 산출물등을 체계적으로 정리한 표준절차 및 지침
Purpose of SDM
1) 개발 생산성 향상
2) 수행공정 가시화
3) SW Crisis 해결



profile
AI 비즈니스 가치를 고민합니다.

0개의 댓글