TOPCIT 소프트웨어 개발 부분 출제기준

2021. 4. 19. 21:31Topcit 정리/기술영역 - 소프트웨어 개발

반응형

해당 게시글은 소프트웨어 역량 검정 Topcit의 소프트웨어 개발 부분을 정리해둔 글입니다.
위키처럼 링크를 통해 다이렉트가 가능합니다.

1 소프트웨어 이해

1. 소프트웨어 공학 개요

대규모 SW 개발은 전 공정에 대해 SW 공학 기술 적용 및 체계적인 관리가 필요하다.

소프트웨어 공학

  • 소프트웨어 개발의 생명주기인 요구사항 분석에서 개발 및 유지보수까지 활동 정의
  • 실무적 상황에 따른 소프트웨어 생명주기 모델 제시

소프트웨어 개발방법론

  • 개발경험 축적에 따른 효과적인 관리방법 제시
  • 개발 방법론의 개념 비교와 상황에 맞는 테일러링에 대한 이해 필요
  • 전체 개발 활동 정의, 적정 기간 산정, 자원 할당의 기준으로 활용되고 있다.

애자일 개발방법론

  • 스크럼, XP, 린에 대한 이해 필요
  • XP(Extreme Programming) 실천 및 적용을 위한 고려사항 출제

소프트웨어 공학 개론서를 읽자.
소프트웨어 프로젝트별 상황에 맞는 생명주기, 방법론을 실제로 한번 찾아보자.

2. 소프트웨어 재사용

대규모 개발에서 재사용은 아주 중요한 영역이지만, 실무 적용이 어렵다.

소프트웨어 재사용 학습

  • 재사용의 원칙과 방법
  • 재사용이 진행되지 못한 경우의 문제점과 해결방안 탐색

재사용에 관한 내용은 추후에 더 자세히 다루는 내용이므로 이하 생략






2 자료구조와 알고리즘

주요 개발언어를 활용한 프로그래밍 준비가 반드시 필요.

1. 자료구조

자료를 컴퓨터의 기억장치 내에 저장하는 방법이다.
효율적으로 표현하고 활용할 수 있도록 자료 특성과 사용 용도를 고려하여 조직적, 체계적으로 정의한다.

다양한 자료구조

  • 선형구조와 비선형구조의 분류
  • 각 자료구조의 특징과 구현 방식

자료구조 미래

  • 빅데이터, 인공지능 자료처리 등에서도 최근 활용이 증가되고 있는 분야이다.

자료구조 출제 유력 항목

  • 기본적인 자료구조들의 이해
  • 프로그래밍을 통한 구현

2. 알고리즘

이 부분은 알고리즘 공부하는 사이트에서 문제푸는것이 제일 효과적일것 같다.
키워드 : 정렬, 검색 알고리즘 특징 비교, 구현 방식
프로그래머스 추천






3 소프트웨어 분석 및 설계

1. 소프트웨어 요구사항 분석

요구를 만족시키기 위해 시스템이 제공해야 하는 기능과 특성을 도출해 나가는 과정

요구사항 명세서

도출된 기능과 특성을 글로 기록한 것

요구사항 분석 출제

  • 요구사항 분석 및 명세의 기본 이해 필요

2. 소프트웨어 설계 원리와 구조적 설계

요구사항들을 구현하기 위하여 자료구조, 알고리즘 등 시스템을 정의하기 위한 다양한 기술과 원리를 적용하는 과정

대표적인 소프트웨어 설계 원리

  • 추상화
  • 정보은닉
  • 단계적 정제
  • 모듈화
  • 구조화

소프트웨어 설계 원리 출제

  • 대표적인 소프트웨어 설계 원리 개념
  • 응집도와 결합도

3. 소프트웨어 아키텍처 설계

설계 초기에 시스템이 어떻게 구성되는지, 어떻게 상호작용하는지 규명하는 과정

소프트웨어 아키텍처 출제

4. 객체지향 설계

주어진 문제를 실세계의 객체 집합으로 보고 객체들 사이의 상호작용을 나타낸 것

객체지향 출제

  • 개념 및 원리 이해
  • 정적 및 동적 모델링 표현 방식 학습
  • 모델링에 따른 구현 방식
  • 디자인 패턴 개념과 구성요소 코딩

5. UI/UX 설계

UI 설계 출제

  • 설계 원리 이해
  • 설계 도구 이해

소프트웨어 분석 및 설계 요약

  • 설계서 기반 프로그래밍 해보기
  • 실제 소스코드 짜보기





4 소프트웨어 구현 및 테스팅

1. 프로그래밍 언어 활용

C, C++, Java, Python등 프로그래밍 언어를 활용한 소스코드 작성

프로그래밍 언어 활용 출제

  • 라이브러리 활용 해보기
  • 그냥 코딩해보기

2. 소프트웨어 개발 프레임워크

효율적인 개발을 위한 라이브러리, 인터페이스 규약, 설정 정보등의 집합

프레임워크 출제

  • 다양한 프레임워크의 개념과 구성요소

3. 통합 개발 환경 (IDE)

프로그램 개발에 관련된 작업을 하나의 소프트웨어 안에서 처리하는 환경

통합 개발 환경 출제

  • 현재 가장 많이 쓰는 개발환경 익숙하게 다루기

4. 소프트웨어 테스팅

어플리케이션 또는 시스템의 동작과 성능, 안전성이 요구수준을 만족하는지 검증하는 과정.
결함 발견이 주요목적이다.

소프트웨어 테스팅 출제

  • 테스팅 이론 학습
  • 실무 테스트케이스 설계 기법 사용

5. 리팩토링

외부에서 보는 프로그램 동작은 변경하지 않고 내부 구조를 개선하는 것

리팩토링 출제

  • 개념과 소스코드의 코드스멜 이해
  • 리팩토링을 통한 개선

소프트웨어 구현 및 테스팅 요약

  • 코딩 규칙 숙지
  • 사례 위주로 실제 코딩
  • 테스팅 개념 이해를 기반으로 테스트 케이스 도출





5 소프트웨어 관리

1. 소프트웨어 요구 관리

요구사항의 변화를 이해하고 통제하는 과정

소프트웨어 요구관리 출제

  • 소프트웨어 요구 관리의 프로세스와 명세 기법 이해

2. 소프트웨어 형상 관리

소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것

소프트웨어 형상관리 출제

  • 형상관리 프로세스와 구성요소 이해
  • 실무 활용 도구 유형과 특징

3. 소프트웨어 유지 관리

오류를 수정하고, 요구사항에 따라 소프트웨어 업그레이드
소프트웨어 생명주기 중 60프로가 해당 단계에 집중되어 있다.

소프트웨어 유지 관리 출제

  • 유지 관리 개념과 주요 프로세스 이해





6 소프트웨어 개발 동향

1. 오픈소스 소프트웨어 최신 동향

오픈소스 라이선스 유형을 파악하고 적용범위를 외우자

오픈소스 최신 동향 출제

  • 라이선스 의무사항
  • 라이선스 특징과 의무사항 비교

2. 소프트웨어 개발 최신 동향

소프트웨어 최신 동향 출제

  • 개발도구, 프로그래밍 언어, 프레임워크 최신 사례
  • 현 시점 많이 활용되는 개발 최신 동향 반영
반응형

'Topcit 정리 > 기술영역 - 소프트웨어 개발' 카테고리의 다른 글

17. 소프트웨어 제품 라인 공학  (0) 2021.02.15
16. 클라우드 컴퓨팅  (0) 2021.02.15
15. 모바일 컴퓨팅  (0) 2021.02.15
14. 애자일 개발  (0) 2021.02.14
13. 소프트웨어 품질관리  (0) 2021.02.08