자격증/정보처리기사

166~167. 소프트웨어 개발 방법론, S/W 공학의 발전적 추세(A)

환성 2023. 2. 7. 17:20
728x90

구조적 방법론

  • 정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리 중심의 방법론
  • 분할과 정복 원리 적용
  • 절차 : 타당성 검토 -> 계획 -> 요구사항 -> 설계 -> 구현 -> 시험 -> 유지보수

 

정보공학 방법론

  • 정보 시스템의 개발을 위해 계획, 분석, 설계 , 구축에 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 자료 중심의 방법론
  • 개체 관계도(ERD) 사용
  • 절차 : 정보 전략 계획 수립 -> 업무 영역 분석 -> 업무 시스템 설계 -> 업무 시스템 구축

 

객체지향 방법론

  • 기계 부품을 조립하듯이 객체를 조립해서 필요한 소프트웨어를 구현하는 방법론
  • 패키지 다이어그램, 배치 다이어그램, 상태 전이도
  • 절차 : 요구 분석 -> 설계 -> 구현 -> 테스트 및 검증 -> 인도

 

컴포넌트 기반 방법론

  • 기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론
  • 확장성 보장, 생산성 및 품질 향상
  • 절차 : 개발 준비 -> 분석 -> 설계 -> 구현 -> 테스트 -> 전개 -> 인도

 

애자일 방법론

  • 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발 과정을 진행하는 방법
  • 익스트림 프로그래밍, 스크럼, 칸반, 크리스탈
  • 절차 : 사용자 스토리 -> 계획 -> 개발 -> 승인 테스트

 

제품 계열 방법론

  • 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발
  • 임베디드 소프트웨어 만드는데 적합
  • 영역공학과 응용공학으로 구분

 

소프트웨어 재사용

  • 개발 시간, 비용 단축, 품질 향상, 개발 생산성 향상, 지식, 코드 공유
  • 합성 중심 방법 : 모듈을 만들어서 끼워 맞추어 소프트웨어를 완성시키는 방법
  • 생성 중심 방법 : 추상화 형태로 쓰여진 명세를 구체화하여 프로그램을 만드는 방법

 

소프트웨어 재공학

  • 새로운 요구에 맞도록 기존 시스템을 이용하여 보다 나은 시스템 구축, 새로운 기능 추가
  • 유지보수 비용이 개발 비용의 대부분을 차지
  • 소프트웨어 위기를 해결할 수 있는 기법
  • 오류가 줄어들고 비용이 절감됨
  • 분석(Analysis) : 재공학할 대상 선정 활동
  • 재구성(Restructuring) : 코드를 재구성하는 활동, 외적 동작 변화 X
  • 역공학(Reverse Engineering) : 기존 SW를 분석하여 설계 정보를 재발견하거나 다시 만드는 활동
  • 이식(Migration) : 기존 SW를 다른 운영체제에 사용할 수 있도록 변환

 

CASE(Computer Aided Software Engineering)

  • 소프트웨어 개발 과정에서 사용되는 요구 분석, 설계, 구현, 검사, 디버깅 과정 전체 또는 일부를 컴퓨터 전용 소프트웨어 도구를 사용하여 자동화 하는 것
  • 재사용성 향상, 유지보수가 간편해짐
  • 상위 CASE 도구(요구분석, 설계과정 지원), 하위 CASE 도구(테스트 과정 지원)
  • CASE 원천 기술 : 구조적 기법, 프로토타이핑, 자동 프로그래밍, 정보 저장소, 분산처리

'자격증 > 정보처리기사' 카테고리의 다른 글

174. 소프트웨어 개발 표준(A)  (0) 2023.02.07
171~172. 수학적 산정 기법(A), 프로젝트 일정 계획(B)  (0) 2023.02.07
165. TCP/IP(A)  (0) 2023.02.07
162. OSI 참조 모델(A)  (0) 2023.02.06
161. 인터넷(A)  (0) 2023.02.06