1.2 소프트웨어 개발 소개

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

반응형

소프트웨어 개발 활동은 소프트웨어 생명주기에 따라 정의된다.

 

소프트웨어 개발

 

1. 요구사항 분석

어떤 부분을 개발할 것인가를 정확히 결정하는 것으로, 개발 비용을 산출하는데 중요한 역할을 한다.

이 단계에서 잘 분석하고 정의하면 개발 기간과 비용을 줄일 수 있다.

 

2. 설계

개념적 단계가 끝나고 나서 물리적 실현에 첫단계로, 시스템 구조를 결정한다.

이 단계는 품질에 직접적인 영향을 주며 설계가 잘못될경우 안정감이 저하되고 유지보수도 어렵다.

 

3. 구현

설계를 기반으로 요구사항을 만족할 수 있도록 프로그래밍 하는 단계.

설계나 지침서를 따라 개발해야하며, 코딩 표준을 정하는 것이 중요하다.

 

4. 테스팅

시스템이 정해진 요구를 만족하는지, 예상과 실제 결과가 얼마나 차이 나는지 검토한다.

품질 보증을 위하여 결함을 찾아내는 작업이다.

 

 

 

 

소프트웨어 관리

소프트웨어 관리란 문제점 개선 및 대응, 산출물 간의 추적성 등을 확보하는 활동을 말한다.

 

1. 소프트웨어 유지관리

다른 시스템과 달리 개발 후에도 많은 변경이 필요하고, 여러 변경사항에 대해 적응하는 활동이다.

 

2. 소프트웨어 요구관리

사용자의 요구사항을 받아들이고, 이에 대해 요구사항을 문서화하고 개발을 하는 작업.

요구사항 관리의 목적

  - 의사소통 : 무엇을 왜 해야 하는지?

  - 협업 : 업무의 공동수행을 위한 필수 수단

  - 검증 : 계획한 대로 수행이 되었는가?

 

3. 소프트웨어 형상관리

소프트웨어 개발에서 발생하는 각종 산출물에 대한 계획, 개발, 운용 등을 종합하여 

시스템의 형상을 만들고 이를 관리하는 활동이다.

소프트웨어를 개발하거나 유지보수할 때 변경을 통제하는 절차는 매우 중요하다.

 

4. 소프트웨어 품질관리

소프트웨어 개발 활동이 프로젝트 계획과 일치하고 조직 정책에 적합한가를 검증하는 활동이다.

품질 특성

  - 기능성 : 기능 구현 정도, 보안 수준, 표준 준수성 (기능과 보안에서 얼마나 완성도 있는가?)

  - 신뢰성 : 서비스 지속성, 장애 복구 유용성 (프로그램이 갑자기 이상해지지 않을 확률?)

  - 사용성 : UI 일관성, 입출력 데이터 이해도 준수 (사람이 사용할 때 얼마나 편리한가?)

  - 효율성 : 처리 속도, 자원 사용률 (컴퓨터가 얼마나 힘들어하지 않는 프로그램인가?)

  - 유지보수성 : 환경설정 변경 가능성, 업데이트 용이성 (나중에 업데이트할 때 어떤 점이 좋은가?)

  - 이식성 : 운영환경 적합성, 설치제거 용이성 (어떠한 환경에서도 잘 돌아가는가?)

 

필요에 따라 적절한 것을 선택하고, 이에 따라 검증 활동을 수행해야 한다.

반응형