[소프트웨어공학] 1.4 소프트웨어 공학 환경 - 계층화된 기술

이두팔·2021년 4월 15일
0

소프트웨어공학

목록 보기
4/12

1.4 소프트웨어 공학 환경 - 계층화된 기술

소프트웨어 개발이 단순한 코드의 생성이 아님을 인식하고 문서화와 프로젝트 관리의 중요성이 인식되었는데, 이러한 것들이 코드의 신뢰성, 유지보수성 및 비용에 큰 영향을 줄 수 있기 때문이다.

변경이나 재사용을 염두에 둔 작업 등이 품질, 비용 및 생산성을 향상시킬 수 있다.

이렇게 다양한 해결 방법들을 통합적으로 다루기 위해 등장한 것이 소프트웨어 공학 환경 이라는 개념이다.

1 소프트웨어 공학 원리(principle)

  • 프로세스와 제품의 두 가지 중 어느 하나를 배제하지 않고 두 가지 측면이 모두 중요하다.
  • 원리는 소프트웨어 프로세스와 제품의 바람직한 측면들을 기술하는 일반적이고 추상적인 설명이다.
  • 추상화, 분할 정복, 계층적 조직의 원리 등이 이것에 해당한다. 방법과 기술을 통해 프로세스와 제품은 바람직한 성질을 갖추게 된다.

2 방법(method)와 기술(technique)

  • 방법은 행위를 실현할 때 따라야 하는 일반적 가이드라인 또는 구조화된 접근 방법이다. 문서화하는데 필요한 모든 행위들을 포함한다.
  • 기술은 방법에 비해 보다 기계적으로 적용되나 제한된 적용성을 가진다.

3 방법론(methodology)와 도구(tool)

  • 여러 방법들과 기술들이 정해진 프로세스 안에서 함께 묶인 것이 방법론이다.
  • 즉, 방법론은 '프로세스(what)와 방법(how)'을 함께 기술하는 것으로 주어진 기간에 어떻게 행위를 수행할 것이며, 행위와 결과물을 어떻게 표현할 것이며, 또 어떻게 제품을 생산할 것인가를 설명한다.
  • 프로세스라 함은 소프트웨어 생명주기가 '무엇(what)'인지에 관한 설명이다. 생명주기에서 각 단계의 순서를 정하며 단계 전이의 요건을 정하고 각 단계에서 무엇을 수행하며 언제 끝날 것이며 누가 만들 것인지를 설명한다.
profile
Software Engineer

0개의 댓글