정보처리기사-알고리즘

알고리즘과 소프트웨어 개발


소프트웨어 생명주기

  1. 개발 타당성 검토
  2. 개발 계획 수립
  3. 요구사항 분석
  4. 소프트웨어 설계
  5. 소프트웨어 구현
  6. 테스트
  7. 운용
  8. 유지보수

소프트웨어 관리

요구관리

형상관리

유지관리

품질관리

  • 효율성
  • 신뢰성
  • 기능성
  • 사용성
  • 이식성
  • 유지보수성

알고리즘의 효율성

공간 효율성

  • 고정 공간
  • 가변 공강

    시간 효율성 (빅오 표기법)

  • 번역 시간
  • 실행 시간

소프트웨어 아키텍처

  • MVC 구조
  • C/S 구조
  • 다층 구조
  • 저장소 구조

객체지향설계의 개념과 원리

  • 분류화
  • 캡슐화
  • 추상화
  • 일반화
  • 다형성
  • 동적 바인딩
  • 소프트웨어 디자인 패턴
  • 리팩토링

SOLID : 객체지향설계의 5대 원칙

  • 단일 책임의 원칙
  • 개방 폐쇄 원칙
  • 리스코프 교환 원칙
  • 인터페이스 분리 원칙
  • 의존관계 역전 원칙

소프트웨어 테스트 기법

  • 화이트박스 테스트 기법
  • 블랙박스 테스트 기법

소프트웨어 3R

  • 재공학
  • 역공학
  • 재사용

소프트웨어 개발 방법론

폭포수 방법론

애자일 방법론

  • 스크럼
  • XP