자격증

정보처리기사 필기 정리 ①

record2080 2025. 1. 19. 23:34

★키워드 위주 ★

 

▶시스템 = 하나의 조직

▶ 시스템 요소 = 입력>> 처리 >>출력>> 제어>> 피드백

S/W 공학 : 현대적 프로그래밍, 신뢰성 높이기

▶ S/W 특징 

1.상품성 2. 복잡성 3. 변경가능성 4.복제성

 

재공학 FOR 예방과 유지보수 : 지금 쓰고 있는 소프트웨어 잘 발전해서 써보자.

분석 >>구성>>역공학(재문서화)>>이식

▶CASE(LIKE CAD) : 개발 신속하게 하고 소프트웨어 품질 향상

                                 : 기간과 비용을 줄여 생산성 향상에 기여

 

-상위 : 요구분석, 설계

-하위 : 코딩

-통합 : 과정지원

 

▶SADT 

:SOFTTECH사에서 개발

요구분석을 위한 CASE도구(프로그램 이름)

블록 다이어그램을 채택

 

▶S/W 개발 방법론

타당성검토>>개발계획>>요구사항 분석>>설계>>구현>>TEST>>운용>>유지보수

▶사이클

-폭포수(소규모) : 고전적 

-나선형 : 반복작업, 위험분석, 프로토타입(시제품) 개발 =>고객과의 소통 용이

 

-하향식 : MAIN USE FUNCTION (뿌리를 만들고 , 그 다음 뻗어나가게 함)

-상향식 : 기본기능을 통합해 설계

 

▶HIPO : 계층적 입력처리 OUTPUT

              : 하향식 S/W 개발 위한 문서화 도구

-가시적 도표 : 보기 쉽고 이해하기 쉬움

-총체적

-세부적

 

▶V모델  : 나중에 점점 확장해서 보게 됨

요구사항 분석                                                     인수TEST
       기능명세 분석                                     시스템 TEST    
              설계                                         통합 TEST
                  개발                                 단위TEST
  < HIPO>     정적 테스트               동적테스트           <TEST>

 

▶애자일 개발 방법론 

키워드 : 고객과의 소통

예) XP,  스크럼, 린,DSDM,FDD(기능 중심 개발)

 

▶XP : 소통, 단순성, 피드백, 용기(요구사항 변화에 능동적), 존중

-Spike : 요구사항을 수행하기 위한 작은 프로그램

-Iteration : 반복(1~3주) 을 통해 새로운 요구사항추가

-small release

 

▶XP실천사항

                            -짝 프로그래밍                                         -Small releases  
-플래닝게임 : 선수와 규칙, 룰 -코딩 스탠다드
-Collective code ownership -System 메타표
-Sustainable pace -Test Driven Development
-Whole Team : 고객도 팀원 - 지속적인 통합 
-Design Improvment  

 

▶3P : 사람, 문제, 프로세스

 

▶스크럼

-제품책임자(의뢰자)

-스크럼 마스터 : 업부 배분(훌륭한 감독)

-스크럼 팀 : 실제코더(5인에서 9인)

 

-product 백로그

-스프린트 : 2~4주 정도 진행

-소멸차트 : 매일해야 하는 일을 소거

 

▶현행 시스템 분석 : 전체 구조 및 흐름 파악(기업 구조 )

파악절차

1단계 : 시스템 인터페이스 현황과 시스템 구성 파악

2단계 : 아키텍쳐 파악 (설계도)

3단계 : 시스템 하드웨어 현황 파악

 

아키텍쳐  : 시트템 내의 상위시스템과 하위시스템들이 어떤 관계로 상호작용하는지 각각의 동작원리와 구성을 표현한 것.

-기간업무

-지원업무

 

▶EAI : 기업내의 앱을 현대화, 통합 ,조정

▶FEP(전위 처리기) : 입력데이터를 프로세서가 처리하기 전에 미리 처리

 

▶소프트웨어 구성

-라이센스 적용방식 단위 : 사이트, 서버, 프로세서, 코어, 사용자 수

▶하드웨어 구성 파악

-서버사양 : CPU속도, 메모리 크기,하드디스크 용량

-서버이중화

▶플랫폼 (집을 짓기 위한 기반) :응용 S/W +(H/W+시스템 소프트웨어)

JAVA로 할지 안드로이드로 할지 

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

▶분석방법 : 기능테스트, 사용자 인터뷰, 문서점검 등등

 

▶현행 시스템 OS분석

: OS종류, 버전, 패치일자, 백업주기 분석

▶고려사항 : 가용성, 성능..., TCO(구축비용 : 오라클이나 DBMS 경우, 년 단위론 계약하기 때문에 고려사항)

-메모리 누수

 

▶오픈소스 라이센스(대표 : LINUX)

-GNU : GNU'S NOT UNIX 

-GNU GPLv1 : 사용할 수 있는 쉬운 소스코드

-BSD라이센스 : 공개하지 않아도 되는 상용 소프트웨어

-Apache2.0 : HADOOP 다수의 저렴한 컴퓨터를 하나처럼 묶어 대량 데이터를 처리하는 기술

 

▶DBMS : 종속성과 중복성 문제 해결위해 제안된 시스템

                 (가용성,  성능 상호호환성)

 

▶요구사항 개발

왜? 요구사항 누락방지, 상호이해 오류 등 제거로 경제성 제공

자료흐름도, 자료사전,소단위 명세서를 통해 요구사항 이해

▶ 요구사항 베이스라인 

  : 기준선에 맞게 S/W 개발한다

 

▶ SWEBOK 요구사항 개발 프로세스 : 추출>>분석>>명세(문서화)>>검증

▶문서화 :  정확성, 명확성, 완전성, 일관성, 수정용이성, 추적성

▶ 요구사항 분석 : 사용자의 요구사항을 걸러내기 위한 과정 

▶ 요구사항 분류 : 우선순위

기술내용에 따라

- 기능적 요구사항 : 동작만 하면 됨

- 비기능적 요구사항 : 기능을 서포트하는 요구사항

시스템 요구사항에 따라

▶ 요구사항 명세기법

- 정형적 :  수학적, Z,VDM

- 비정형적 : 비수학적, SADT

 모델검증

- 정적 : 동적검증을 제외한 모든 것

- 동적 : 그냥  되는지 안 되는지만 확인

 형상관리

: 앱 개발단계에서 도출되는 모든 프로그램 , 모든 자료을 변경 관리함으로써 어플 버전관리등을 하는 활동