Home [정보처리기사]1과목 소프트웨어 구축-1.소프트웨어 공학
Post
Cancel

[정보처리기사]1과목 소프트웨어 구축-1.소프트웨어 공학

1과목. 소프트웨어 구축 - 1.소프트웨어 공학

1. 소프트웨어 공학

정의: 소프트웨어 위기를 극복하고 효율적으로 품질 높은 소프트웨어를 개발하기 위한 학문

#정처기중요

2. 소프트웨어 공학의 3R

완성된 소프트웨어를 기반으로 역공학, 재공학, 재사용을 통해 소프트웨어 생산성을 극대화하는 방법

역공학(Reverse-Engineering)

  • 기존 개발된 소프트웨어를 CASE(Computer Aided Software Engineering)도구를 이용하여 요구분석서, 설계서 등의 문서로 추출

재공학(Re-Engineering)

  • 기존 소프트웨어를 폐기하지 않고 기능을 개선시키거나 새로운 소프트웨어로 재활용
  • 예방 유지보수(Preventitive Maintenance)
  • 분석(Anaylysis)-재구성(Restructuring)-역공학(Reverse Engineering)-이관(Migration)

재사용(Re-use)

  • 이미 개발된 소프트웨어의 전체나 일부분을 재사용
  • 함수와 객체 재사용, 컴포넌트 재사용, 애플리케이션 재사용
  • 재사용 방법:
    • 합성 중심(Composition Based, 블록 구성): 블록(모듈)을 끼워 맞추는 방식
    • 생성 중심(Gernation Based, 패턴 구성): 추상화 형태로 쓰여진 명세를 구체화하여 프로그램을 만드는 방식

3. 소프트웨어 개발 단계

계획-분석-설계-구현-테스트-유지보수

1. 계획

  • 개발 주체, 범위 정의 및 결정
  • 비용과 기간 예측

2. 요구사항 분석(Requirements Analysis)

  • 기능, 제약조건, 목표등을 고객과 함께 정의
  • 요구사항의 정확한 이해와 요구사항 유도
  • 고객의 요구를 명확히 이해

3. 소프트웨어 설계(Design)

  • 모델링
  • 요구사항을 기준으로 입력자료, 처리내용, 출력자료등을 정리
  • 시스템 구조 설계, 프로그램 설계, 사용자 인터페이스 설계

4. 구현(Development)

  • 실제 프로그래밍
  • 코딩과 디버깅, 단위 테스트 진행

5. 테스팅(Testing)

  • 구현된 소프트웨어가 요구사항을 만족하는지 검사
  • 테스트 계획, 통합 테스트 결과서 등을 작성

6. 유지보수(Maintenance)

  • 문제점을 수정, 새로운 기능 추가
  • 더 발전시키는 단계
This post is licensed under CC BY 4.0 by the author.

[lvl2]다음 큰 숫자

[정보처리기사]1과목 소프트웨어 구축-2.소프트웨어 개발 방법론