본문 바로가기
우리의 일상_✿

[정보처리기사][비전공자] 실기 준비 1일차 - 소프트웨어 공학

by 감설이네 2024. 11. 5.

목차

    728x90
    반응형

    지난 번 포스팅한 내용과 같이 필기는 아주 가볍게(?) 합격을 했었는데 이번에는 실기도 준비하려 합니다.

    개인적인 일로 인해 실기 준비 시간이 부족했던지라 한 타임 늦게 준비하게 되었는데 그렇게 년도가 넘어가 버리게 되었네요.

     

    우선 비전공자인 만큼 어지간한 사람들과 같이 노베이스로 출발하는데 생각보다 재미있습니다. 하지만 코딩 부분을 제외하면 실기 조차도 이론에 가까워서.. 이게 정말 실무에 큰 도움이 될까라는 의구심도 들지만 그래도 한번 굳건히 준비해보려 합니다.

     

    그런 의미에서 오늘은 소프트웨어 공학 부분을 치고 나갑니다. -시작-

     

     

    소프트웨어 공학

    1. 소프트웨어 공학(Software Engineering)이란?

    • 품질 높은 소프트웨어를 효율적으로 개발하기 위한 학문

     

    2. 소프트웨어 공학 3R

    • 역공학(Reverse Engineering)
      • 이미 개발된 시스템을 분석하여 요구 분석서, 설계서 등의 문서를 추출하는 작업
    • 재공학(Re-Engineering)
      • 유지보수의 생산성을 통해 소프트웨어의 위기를 해결하기 위한 방법
    • 재사용(Reuse)
      • 이미 개발된 소프트웨어의 전체 또는 일부를 다시 사용하는 것을 의미
        • 재사용 방법
          • 합성 중심(Composition Based, 블록 구성) - 모듈을 만들어서 이를 조합하여 완성하는 방법
          • 생성 중심(Generation Based, 패턴 구성) - 추상화된 형태의 명세를 구체화하여 프로그램을 만드는 방법

     

    * 재공학 과정

    과정 설명
    분석 (Analysis) - 기존 소프트웨어의 명세서를 검토하여 재공학 대상을 선정
    재구성 (Restructuring) - 소프트웨어의 구조를 개선하기 위해 코드를 재구성
    - 소프트웨어의 외적인 기능은 변경하지 않음
    역공학 (Reverse Engineering) - 소프트웨어의 소스코드를 분석하여 설계 수준을 도출
    이관 (Migration) - 기존 소프트웨어를 다른 운영체제, 프레임워크 등에서 사용할 수 있도록 변환

     

     

    3. 소프트웨어 개발 단계

    • 계획 - 요구사항 분석 - 설계 - 구현 - 테스트 - 유지보수
    728x90
    반응형