1.1 소프트웨어 특성

2021. 1. 6. 23:51Topcit 정리/기술영역 - 소프트웨어 개발

반응형

 

하드웨어와 다른점?

 

하드웨어는 물리적 시스템이지만 소프트웨어는 논리적이므로 하드웨어 엔지니어링 방법을 그대로 적용시킬 경우,

오류가 발생합니다.

 

차이점:

1. SW는 HW에 비해 수정하기 쉽다. 당연한 말

2. SW는 낡지 않는다, 하지만 유지보수 비용은 HW보다 더나감

3. SW는 눈에 바로 보이지 않아서 진행상태를 알기 어렵다

4. 요구사항 정의하기가 좀 애매하다.

 

"창의성이 생산성을 결정한다."

"추가 생산해도 추가 비용이 들지 않는 수확체증의 법칙이 적용"

 

 

 

소프트웨어의 특징

 

1. 인재가 소프트웨어의 핵심

인력수와 성과는 SW세상에서 비례하지 않는다. 인력의 퀄리티가 더 중요.

 

2. 소프트웨어가 기기 원가 경쟁력 결정

잘 개발된 SW는 낮은 성능에서 돌아가기 때문에 원가 절감 가능

 

3. 소프트웨어의 핵심, 재사용

창의력과 지적 역량이 함유된 자산임과 동시에 복제가 쉬움

따라서 무한대로 사용이 가능하다.

 

 

 

소프트웨어 공학의 4가지 중요 요소

소프트웨어 공학은 운용, 유지보수 등의 생명주기 전반을 체계적이게 다루는 학문이라고 정의되어있다.

그중 중요한 4가지 요소를 알아보도록 하자.

 

1. 방법

방법이란 계획 수립과 추정, 분석, 자료구조, 코딩, 테스팅, 유지보수와 같은 작업들로 구성된다.

종종 특수한 언어 중심 또는 그래프 표기법을 도입한다.

 

2. 도구

어떤 일을 수행할 때 생산성 혹은 일관성을 목적으로 사용하는 방법들을 자동화시켜놓은 것을 말한다.

 

3. 절차

절차는 방법과 도구를 결합하여 소프트웨어를 합리적 이도록 개발할 수 있도록 함

품질을 보증하는 제어들, 적용된 방법들과 요구되는 결과물(문서, 보고서)등을 정의한다.

 

4. 사람

소프트웨어공학에선 많은 것들이 사람과 조직에 의해서 움직이기 때문에 중요하다.

다른 공학에 비해 많은 이슈들이 생겨나 공학 자체로 정리한다는 것은 불가능하다.

 

 

 

SW 생명주기

sw생명주기란 문제점 이해에서 유지보수까지의 과정을 말한다.

[타당성 검토 -> 개발 계획 -> 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 운용 -> 유지보수]

 

목적

프로젝트 비용을 산정하거나, 전체적인 관리를 하기 위해서이다.

 

소프트웨어 생명주기 선정

기업에서 개발 프로세스를 딱 맞게 하는데 중요한 활동이며, 리스크와 불확실성을 최소화시키는 걸 목적으로 한다.

대표적으로 프로토타입 모델, 진화 모델, 폭포수 모델이 있다.

 

 

 

 

 

 

 

반응형