Posts ⚡ 정보처리기사 필기 1장. 요구사항 확인
Post
Cancel

⚡ 정보처리기사 필기 1장. 요구사항 확인

1장. 요구사항 확인

주간컴공 채널의 지마님의 정보처리기사 필기 유튜브 강의를 들으며 정리한 내용입니다. 1과목 소프트웨어 설계의 1장 요구사항 확인 파트를 필기하였습니다.

소프트웨어 생명주기

소프트웨어 개발과정을 단계별로 나눈 것

폭포수모델

  • 각 단계를 한번씩만 거침(되돌릴 수 없음)
  • 단계별 철저한 검증 필요
  • 매뉴얼 작성 필요

프로토타입 모델

  • 기능적 인터페이스 중심으로 견본 개발 후 최종 개발 후 발견될 오류 방지

나선형 모델

  • 계획 - 분석(검증) - 개발 - 평가(오류방지) 의 단계를 반복
  • 폭포수와 프로토타입의 장점 흡수하여 점진적 개발
  • 대규모 소프트웨어 개발에 용이

애자일 모델

  • 요구사항 반영고객과의 의사소통 빈도를 높이는 것이 목표
  • 여러 개발방법을 아우르는 모델 (스크럼 기법, XP 기법)

스크럼 기법

팀 중심, 제품 책임자, 스크럼 마스터, 개발팀으로 구성

  • 제품 책임자(PO): 의사 결정자, 백로그의 우선순위 지정
  • 스크럼 마스터: 일일회의 주관, 개발 가이드
  • 개발팀: 개발자 뿐 아니라 디자이너, 테스터 등 모든 인원

프로세스

  • 백로그: 요구사항을 우선순위에 따라 모아놓은 목록
  • 계획 회의: 스프린트 일정 수립, 개발자 별로 스프린트 백로그 작성
  • 스프린트 진행: 할 일, 진행 중, 완료
  • 일일 회의: 스크럼 마스터 주도, 소멸차트 활용
  • 검토 회의: 주별, 제품 책임자(PO) 주도, 백로그 업데이트
  • 회고

XP 기법

  • 짧고 반복적인 개발주기 + 고객의 적극적 참여 = 가시성 향상
  • 소규모 개발 프로젝트에 효과적
  • 핵심 가치: 피드백, 존중, 용기, 단순, 의사소통 (피존용단소!)
  • 개발 프로세스
    • 사용자 스토리: 고객의 요구사항
    • 릴리즈 계획 수립: 부분과 전체의 개발 일정 수립
    • 스파이크: 기술 및 기능 확인을 위해 간단히 만드는 프로그램
    • 이터레이션: 릴리즈를 좀 더 세분화한 단위
    • 승인 검사: 부분 소프트웨어가 릴리즈되면 고객이 직접 평가
    • 소규모 릴리즈 릴리즈 별로 고객의 피드백 확인 가능

현행 시스템 파악

  • 시스템 파악: 시스템 개발 범위를 명확하게 설정

  • 구기인아소하네

    • 시스템 구성: 기간(주요) 업무와 지원 업무의 주요 기능 파악
    • 시스템 기능: 주요 기능별 세부 기능들을 계층형으로 표시
    • 시스템 인터페이스: 주고받는 데이터의 형식, 프로토콜 파악
    • 아키텍처 구성: 주요 업무 시스템의 구성과 동작원리를 표현
    • 소프트웨어 구성: 종류 및 라이선스의 적용방식과 개수
    • 하드웨어 구성: 서버의 주요 사양과 수량, 이중화 적용 여부
    • 네트워크 구성: 구성도 작성, 물리적 위치, 보안 취약점, 유지보수

개발 기술 환경 파악

  • 운영체제: 시스템 자원 관리, 하드웨어 제어를 위한 인터페이스
    • 고려사항: 주변기기 지원 여부
  • DBMS: 데이터베이스 관리를 위한 시스템, 종속성과 중복성 해결, 데이터에 대한 모든 권한과 책임이 있음
    • 고려사항: 상호 호환성, 데이터 이중화
  • WAS: 동적 콘텐츠 처리를 위한 미들웨어, DB서버와 연동
    • 미들웨어: 서버와 클라이언트 중간에 위치, 클라이언트 대신 복잡한 처리를 하기 위함
    • 고려사항: 다양한 옵션
  • 공통 고려사항: (가성비기오) 가용성, 성능, 비용, 기술지원
  • 오픈소스: 라이선스 종류, 기술 지속가능성, 사용자

요구사항 정의/분석/확인

  • 요구사항: 서비스에 대한 설명 및 제약 조건
    • 기능: 기능 자체
    • 비기능: 기능의 품질, 제약사항
    • 사용자: 쉬운 표현 사용
    • 시스템: 개발자 입장, 전문용어
  • 요구사항 개발 프로세스: 도출(의사소통) -> 분석 -> 명세(문서화) -> 확인
    • 분석: 타당성 조사, 특정 기준으로 분류
      • 개념 모델링: 단순화, 개념적 표현, 객체간 관계와 종속성 분석
      • 협상: (기능과 비기능, 필요자원, 서로)의 요구사항이 충돌하는 경우
      • 정형분석: 마지막 단계, 구문의미를 갖는 언어 사용, 수학적 기호로 표현
    • 확인: 검증
      • 검토: 일반적, 고객 대표 포함
      • 모델 검증: 정적(논리적) 검증, 실행 안함
      • 프로토타이핑: 지속적인 프로토타입 작성, 사전 피드백
        • 단점: 프로토타입에만 집중, 비용부담, 과대평가
      • 인수 테스트: 사용자 입장에서 요구사항 체크(계획 필요)

UML (Unified Modeling Language)

UML의 구성요소: 사물, 관계, 다이어그램

사물

구조(요소), 행동, 그룹, 주해(설명)

관계

연관, 의존, 일반화, 실체화, 집합, 포함

UML 관계

다이어그램

구조적 다이어그램

종류키워드
클래스구조
객체관계
컴포넌트구현, 인터페이스
배치구현, 위치
복합체 구조내부 구조
패키지그룹

행위 다이어그램

종류키워드
유스케이스모델링
시퀀스메시지
커뮤니케이션메시지 + 연관관계
상태상태 변화
활동로직 흐름
상호작용 개요제어 흐름
타이밍시간 제약
This post is licensed under CC BY 4.0 by the author.

학원 #15일차: 배열과 흐름제어문, 클래스

⚡ 정보처리기사 필기 2장. 화면 설계

Loading comments from Disqus ...