정보처리기사/1. 요구사항 확인

S/W 공학의 발전적 추세

뿌단이 2022. 8. 31. 21:32

<여기서 Tip!>

과거부터 오늘날 까지의 소프트웨어 공학의 발전적 추세를 다루는 챕터이다.

어느 프로그래머의 명언이다.

 

??? : 바퀴를 다시 발명하지 마라.

 

그러니까 이 정보의 바다인 인터넷에 널리고 널린게 코드이다.

개발할 때 시간아깝게 이미 있는 것을 새로 발명하지 말고 이미 있던 것을 변형하라는 뜻이다. 

이 개념이 바로 이 챕터의 내용이다.

 

- 소프트웨어 재사용

- 소프트웨어 재공학

 

그리고 초반챕터에서 배웠던 자동화 도구인 CASE도 소프트웨어 공학 발전에 큰 기여를 했다.

 

1. 소프트웨어 재사용(Software Reuse)

  • 소프트웨어 재사용은 이미 개발되어 인정받은 소프트웨어를 다른 소프트웨어 개발이나 유지에 사용하는 것이다.
  • 소프트웨어 개발의 품질과 생산성을 높이기 위한 방법이다.
  • 기존에 개발된 소프트웨어와 경험, 지식 등을 새로운 소프트웨어에 적용한다.
  • 소프트웨어 재사용 방법
종류 설명
합성 중심
(Composition-Based)
전자 칩과 같은 소프트웨어 부품, 즉 블록을 만들어서 끼워 맞춰 소프트웨어를 완성시키는 방법으로, 블록 구성 방법이라고도 함
생성 중심
(Generation-Based)
추상화 형태로 써진 명세를 구체화하여 프로그램을 만드는 방법으로 패턴 구성 방법이라고도 함

 

2. 소프트웨어 재공학(Software Reenginnering)

  • 소프트웨어 재공학은 새로운 요구에 맞도록 기존 시스템을 이용하여 보다 나은 시스템을 구축하고, 새로운 기능을 추가하여 소프트웨어 성능향상시키는 것이다.
  • 유지보수 비용소프트웨어 개발 비용대부분이기 때문에 유지보수의 생산성 향상을 통해 소프트웨어 위기해결하는 방법이다.

<소프트웨어 재공학의 이점>

  • 소프트웨어의 품질 향상
  • 소프트웨어의 생산성 증가
  • 소프트웨어의 수명 연장
  • 소프트웨어의 오류 감소

 

3. CASE(Computer Aided Software Engineering)

  • CASE는 소프트웨어 개발 과정에서 사용되는 요구분석, 설계 구현, 검사 및 디버깅 과정 전체 또는 일부를 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화하는 것이다.
  • 객체지향 시스템, 구조적 시스템 등 다양한시스템에서 활용되는 자동화 도구(CASE Tool)이다.

<CASE 주요 기능>

  • 소프트웨어 생명주기 전 단계의 연결
  • 다양한 소프트웨어 개발 모형 지원
  • 그래픽 지원

 

읽어주셔서 감사합니다!

정처기 화이팅!