본문 바로가기

정보처리기사

정보처리기사1

<소프트웨어 공학>
HIPO : 하향식 소프트웨어 개발을 위한 문서화 도구
 특징 : 이해 및 유지보수가 쉽다.
 구조도(가시적도표), 개요 도표, 상세도표로 구성됨.
 가시적도표 : 전체적인 기능과 흐름을 보여준다.

V-모델 : 폭포수모델에 시스템 검증과 테스트작업을 강조한 모델 -> 반복과 재처리 과정이 명확
 특징 
  1.반복과 재처리 과정이 명확 
  2.신뢰도 높고 시스템 개발에 효과적 
  3.테스트를 단계별로 구분하므로 책임이 명확해짐

재공학 : 이미 인증박은 소프트웨어의 기능을 재사용하는 기법
 특징 : 시간 및 비용 감소
 재공학의 목표 : 유지보수성 향상이 최우선 목표

역공학 : 소프트웨어를 분석하여 개발과정과 데이터 처리과정을 설명하고 설계정보를 재 발견하는 작업

<소프트웨어 개발 방법론>

1.소프트웨어의 생명주기
   : 개념형성에서 시작하여 운영/유지보수에 이르기까지 변화의 모든과정
 1)순서
  타당성 검토>개발계획>요구사항분석>설계>구현>테스트>운용>유지보수
 2)역할
  비용산정과 개발 계획 수립의 기본적인 골격.
  용어의 표준화와 문서화 관리를 가능하게 한다.

2.생명주기 모형

 폭포수 모형
  : 보헴이 제시한 고전적 모델. 각 단계가 순차적으로 진행된다.
   장점 : 성공 사례가 많으며, 단계별 정의가 분명, 산출물이 명확
   단점 : 이전 단계로 넘어갈 수 없으며, 전단계의 오류 수정 및 개발 중에 발생하는 요구를 반영하기 어렵다.

  프로토타입 모형
   : 견본을 미리 만들어 최종 결과물을 예측하는 모형. 폭포수 모형의 단점을 보완하기 위한 모형
    장점 : 요구사항 충실히 반영 가능, 구현단계의 골격이 될 수 있다.
    단점 : 비용이 많이 든다. 실제 결과물과의 차이로 인해 혼동을 줄 수 있다.

  나선형 모형
   : 보헴이 제시 했으며, 작업을 반복적으로 수행하는 점증적/집중적 모형이다.
    특징 : 개발 중 발생하는 위험을 관리하고 최소화하는 것이 목적
              나선을 돌아가며 각 개발 단계를 반복 수행하며 누락된 요구사항을 추가할 수 있다.
              유지보수과정이 필요없다.
    장점 : 분석 단계에서 위험 요소들을 제거하며 완성도 높은 개발이 가능
              비용이나 시간이 많이 소요되는 대규모 프로젝트에 유리
    단점 : 성공사례가 많지 않다.
               발견 못한 위험 요소로 인해 문제가 발생할 수 있다.

3.애자일 방법론
   : 고객과의 협업에 초점을 둔다. 개발 중 설계 변경에 신속히 대응할 수 있다. 
     절차와 도구보다 개인과의 소통과 피드백을 중요시한다.

4.XP
  : 고객의 참여와 과정 반복을 극대화하여 생산성을 향상하는 방법론
  핵심가치 : 소통, 단순성, 피드백, 용기, 존중

5.스크럼
   : 반복적이고 점진적인 소규모 팀 중심의 방법론.
     활발한 소통과 협동심이 필요하며 각 팀원의 역할 일정 등을 정해야한다.
   장점 : 요구사항에 신속하게 대처가능

<현행 시스템 파악>


분석의 정의와 목적
 : 하위 시스템의 구성을 파악하는 절차
   현재 제송하는 기능과 타시스템과 정보를 교화하여 분석 및 파악한다.
   개발 범위를 확인하고 방향성을 설정하는게 목적이다.
1. 현행 시스템 분석
  기존 시스템을 분석해야 한다.
2. 시스템 및 인터페이스 현황 파악
  기존에 사용하고 있는 외부시스템을 파악한다.
  결제모듈이나 SMS
3. 소프트웨어, 하드웨어, 네트워크 구성 파악



<개발 기술 환경 분석>


성능특성분석
분석항목 : 응답시간, 가용성, 사용률

1.플랫폼
2.현행 시스템의 OS 분석
3.현행 시스템의 DBMS 분석
4.네트워크 구성도
5.미들웨어 현행 시스템 분석
    미들웨어란?
     : 분산 컴퓨팅 환경에서 응용 프로그램과 프로그램이 운영되는 환경간에 
       원만한 통신이 이뤄질수 있도록 제어해주는 소프트웨어를 말함
   -대표적인 미들웨어 : was(웹 애플리케이션 서버)
   -웹서버, 톰캣, 자바나 PHP로 만든 웹프로그램을 미들웨어 라고 한다.
   -운영체제는 아니지만 그렇다고 고객이 바로 사용하는게 아닌 프로그램들
   -일회성 실행이 아닌 항상 실행되는 프로그램
6.오픈소스 라이선스 // 오픈소스 : 소스코드가 공개되어 누구나 제한없이 사용가능
   -공짜다.


<요구사항 확인하기>

1.요구사항 개발
   1.요구사항
      요구사항은 무엇인가?
   2.요구사항 도출
      1) 문서분석: 교육매뉴얼, 정책매뉴얼 등의 문서를 분석하는 방법 변경, 개선할 필요성을 찾아냄
      2) 관찰 : 직접 작업을 지켜보며 정보를 도출, 시간이 많이 소요됨
      3) 설문 : 광범위한 사용자로부터 의견이 필요할 때
      4) 인터뷰 : 심층대화로 요구를 끌어낸다. 미리 잘 계획하여 많은 정보를 얻는다.
                        대상자선정 > 일정계획 > 질문작성 > 인터뷰 > 분석 및 정리
      5) 프로토타이핑 : 요구사항을 토대로 시제품을 제작, 비용이 비쌈.
   3.요구사항 분석
      관찰된 정보를 분석
      분석모델은 분석 방법과 같은 말
      정형분석 : 정형화된 언어를 이용해 요구사항을 수학적 기호로 표현 및 분석
   4.요구사항 명세
      잘 정리된 문서로 만듬
      시스템 정의서, 시스템 요구사항 명세서, 소프트웨어 요구사항 명세서
   5.요구사항 확인
      문서 잘 만들었는지 확인


<분석 모델 확인하기>

디자인 패턴 : 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계방법을 정리한 패턴목적
  1) 생성 : 객체 인스턴스 생성에 관여, 클래스 정의와 객체 생성방식을 구조화, 캡슐화를 수행하는 패턴
  2) 구조 : 클래스나 객체의 조합을 다루는 패턴
  3) 행위 : 클래스나 객체들이 상호 작용하는 방법과 역할 분담을 다루는 패턴

 

기능적 요구사항 : 시스템이 제공하는 기능, 서비스에 대한 요구사항 
                             특정 입력/상황에 대해 시스템이 어떻게 반응/동작해야하는지에 대한 기술


비기능적요구사항 : 시스템 구축에 대한 제약사항에 관한 요구사항. 
                                품질 속성에 관련하여 시스템이 갖춰야할 사항에 관한 기술



데이터 입출력 구현

데이터 모델 : 현실세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델

 

데이터 모델 절차

     요구사항분석>개념적설계>논리적설계>물리적설계

 

논리데이터 모델링 : 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현하는 프로세스

 

논리적 데이터 모델링 종류

   1) 관계 데이터 모델 : 테이블 형태, 1:1,1:n, n:m

   2) 계층 데이터 모델 : 트리 형태 1:n

   3) 네트워크 데이터 모델 : 그래프 형태. n:m

 


관계대수 : 관계형 데이터 베이스에서 원하는 정보와 그 정보를

                  어떻게 유도하는가를 기술하는 절차적 정형언어

 

일반집합연산자 : 합집합, 교집합, 차집합, 카티션 프로덕트

 

순수관계연산자 : 셀렉트(select), 프로젝트(project), 조인(join), 디비젼(division)

 

관계해석 : 튜플 관계 해석과 도메인 해석을 하는 비절차언어

 

논리데이터 모델링 속성 : 개체, 속성, 관계

 

개체-관계모델(E-R모델) : 데이터와 그들간의 관계를 사람이 이해할 수 있는 형태로 표현한 모델

 

정규화 : 데이터 모델에서 데이터의 중복성을 제거하여 이상현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정

 

반정규화 : 정규화된 개체, 속성, 관계에 대해 성능향상과 개발 운영의 단순화를 위해 중복, 통합, 분리등을 수행하는 데이터 모델링 기법

 

이상현상 : 데이터의 중복성으로 인해 릴레이션을 조작할때 발생하는 비합리적 현상

  1) 삽입이상 : 불필요한 세부정보를 입력하는 경우
  2) 삭제이상 : 원치 않은 다른 정보가 같이 삭제되는 경우

  3) 갱신이상 : 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우

 

정규화 단계

  1정규형 : 도메인이 원자값으로 구성

  2정규형 : 부분함수 종속제거

  3정규형 : 이행함수 종속제거

  BCNF : 결정자 후보키가 아닌 함수 종속 제거

  4정규형 : 다중 값 종속제거

  5정규형 : 조인 종속 제거

 

참조 무결성 제약조건 : 릴레이션과 릴레이션 사이에 대한 참조의 일관성을 보장하기 위한 조건

 

제한 : 다른테이블이 삭제할 테이블을 참조중이면 제거하지 않는 옵션

 

연쇄(CASCADE) : 참조하는 테이블까지 연쇄적으로 제거하는 옵션

 

널값(set Null) : 참조되는 릴레이션에서 튜플을 삭제하고, 참조하는 튜플들의 외래값에 NULL값을 넣는 옵션

 

인덱스 : 데이터 레코드를 빠르게 접근하기 위해사용. '키값,포인터' 쌍으로 구성되는 데이터 구조

  - 클러스터드 인덱스 : 인덱스의 키의 순서에 따라 데이터가 정렬되어 저장되는 방식

  - 넌클러스터드 인덱스 : 인덱스의 키값만 정렬되어 있고 실제 데이터는 정렬되지 않는 방식

*클러스터란? : 데이터 엑세스 효율을  향상시키기 위해 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 저장 방법.

 

: 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본테이블로 구성된 가상테이블


파티션 : 대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 것

  - 범위분할 : 지정한 열의 값을 기준으로 분할

  - 해시분할 : 해시함수를 적용한 결과 값에 따라 데이터를 분할

  - 리스트분할 : 특정 파티션에 저장될 데이터에 대한 명시적 제어가 가능한 분할 기법
  - 조합분할 : 범위, 해시, 리스트 분할 중 2개 이상의 파티셔닝을 결합하는 방식. 파티션이 너무 클때 사용

파티션 장점 : 성능향상, 가용성 향상, 백업 가능

 

데이터베이스 종류

  파일시스템 : 파일에 이름을 부여하고 저장이나 검색을 위해 논리적으로 그것들을 어디에 위치시켜야 하는지 등을 정의한 뒤 관리하는 데이터베이스 전 단계의 데이터 관리 방식

DBMS특징 5가지 : 무결성, 일관성, 회복성, 보안성, 효율성

데이터마이닝 : 대규모로 저장된 데이터안에서 체계적이고 자동적으로 통계적규칙이나 패턴을찾아내는 기술

  절차 

    목적설정 > 데이터준비 > 가공 > 마이닝 기법 적용 > 정보검증

  주요기법

    -분류규칙

    -연관규칙

    -연속규칙

    -데이터군집합








 

'정보처리기사' 카테고리의 다른 글

정보처리기사6  (0) 2022.07.09
정보처리기사5  (0) 2022.07.03
정보처리기사 4  (0) 2022.07.02
정보처리기사3  (0) 2022.06.26
정보처리기사2  (0) 2022.06.25