Certifications 👩‍🎓/Studying...

정보처리기사 실기 1장 [요구사항 확인] 개념 및 기출

nowall 2024. 4. 25. 21:22

주제 : 소프트웨어 공학의 기초 - 생명 주기, 애자일, 요구사항

출처 : 시나공 기본서 정보처리기사 실기 1권

🔡  배경 지식, 용어 정리

    ◼   backlog 📃   제품 개발에 필요한 요구사항을 모두 모아 우선순위를 부여해 놓은 목록

    ◼   spike   요구사항의 신뢰성을 높이고 기술적 리스크를 감소시키기 위해 별도로 만드는 간단한 프로그램

 

 


Theme 1. 소프트웨어 생명 주기(Software Life Cycle)

✅  소프트웨어 Life Cycle 모형

  1. 폭포수 모형    2. 프로토타입 모형    3. 나선형 모형    4. 애자일 모형

 

✅  애자일 모형 中 XP(eXtreme Programming)

  💡  XP란?

    수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해

    고객의 참여 개발 과정의 반복 극대화하여 개발 생산성을 향상시키는 방법이다.

 

  ✔  XP의 특징

    릴리즈(Release 부분적으로 기능이 완료된 제품을 제공하는 것)의 기간을 짧게 반복한다.

    (small releases, 소규모 릴리즈)

 

  ✔  XP의 다섯 가지 핵심 가치

단순성(S), 용기(C), 의사소통(C), 피드백(F), 존중(R)

 

  ✔  XP의 주요 실천 방법

    ◼  짝 프로그래밍(Pair Programming)

    ◼  공동 코드 소유(Collective Ownership) : 개발 코드에 대한 권한과 책임을 공동 소유.

    ◼  TDD(Test Driven Programming)

      : 개발자가 실제 코드를 작성하기 전에 test case를 먼저 작성함.

      : 테스트가 자동으로 진행될 수 있도록 자동화된 도구(구조, 프레임워크)를 사용함.

    ◼  CI(Continuous Integration)
      : 모듈 단위로 나눠서 개발된 코드들은 하나의 작업이 마무리될 때마다 지속적으로 통합됨.

 

Theme 2. 요구사항 (Requirements)

  💡  '요구사항'이란?

    소프트웨어가 제공하는 서비스에 대한 설명, 소프트웨어가 정상적으로 운영되는데 필요한 제약조건.

 

  ✅  요구사항의 유형

    1. 기능 요구사항 (functional)

      무엇을 하는지, 어떤 기능을 하는지

 

    2. 비기능 요구사항 (Non-functional)

      ◼   품질이나 제약사항과 관련된 요구사항

        e.g. 다음과 같은 사항에 관련된 요구 사항 - 시스템 장비 구성, 성능, 인터페이스, 데이터 구축, 테스트, 보안

      ◼  품질 요구사항 : 가용성, 정합성, 상호 호환성, 대응성, 이식성, 확장성, 보안성 등

 

 


💯 기출

20년 10월 기출
소프트웨어 공학에서 리팩토링을 하는 목적에 대해 간략히 서술하시오.

👉 코드의 가독성과 프로그램의 유지 보수성을 높여 효율적으로 개발할 수 있도록 하기 위함이다.

💡 리팩토링이란?
프로그램의 기능 변경 없이 코드의 가독성과 유지보수성을 높이기 위해 내부구조를 변경하는 것이다.