본문 바로가기
정보처리기사

정처기 스터디 1주차

by 싼쵸 2022. 1. 30.
반응형

1과목에서 출제 경향이 제일 높은 부분을 발표 스터디를 공유하려고 한다.

 

1 ) 소프트 웨어 개발 환경

1. 운영체제(OS)

 

  • 하드웨어와 소프트웨어 자원을 관리하고 컴퓨터 프로그램을 위한 공통 서비스를 제공하는 시스템 소프트 웨어
  • 종류 : windows, UNIX, Linux, iOS, Android 등

2. DBMS

 

  • 대량의 데이터를 저장하고 있는 데이터 베이스를 CRUD 하는 관리 프로그램
  • 분석 시 고려사항 : 가용성, 성능, 기술 지원, 상호 호환성, 구축 비용
  • 종류 : Oracle, IBM, SQL Server, MySQL, MongoDB

3. 미들웨어(OS와 응용프로그램 사이에 위치)

 

  • 애플리케이션에게 운영체제가 제공하는 서비스를 추가 및 확장하여 제공하는 컴퓨터 소프트웨어

종류

  • DBMS : 데이터베이스와 연결
  • RPC : 원격 프로시저를 마치 로컬 프로시저처럼 호출
  • MOM : 메시지 기반의 비동기형 메시지를 전달하는 방식
  • TP-Monitor : 온라인 트랜잭션(상태 변환을 위한 논리적인 작업의 단위) 업무에서 트랜잭션을 처리, 감시
  • ORB : 객체지향 미들웨어로 코바(분산된 컴퓨터를 통신회선으로 연결, 공통 기능 사용을 지원) 표준 스펙을 구현
  • WAS : 클라이언트/ 서버 환경보다는 웹 환경을 구현

4. 저장 장치(Storage System)

 

  • DAS: 하드 디스크와 같은 데이터 저장 장치를 호스트 버스 어댑터에 직접 연결하는 방식
  • NAS : 서버와 저장 장치를 네트워크로 연결하는 방식으로, 구성 설정이 간편
  • SAN : DAS의 빠른 처리와 NAS의 스토리지 공유 장점을 합친 방식
  • N-SCREEN : 하나의 콘텐츠를 TV, PC, 스마트폰, 태블릿 등 다양한 기기를 통해 이용할 수 있는 서비스
  • NFC(Near Field Communication) :무선태그(RFID) 기술 중 하나로 13.56 MHz의 주파수 대역을 사용하는 비접촉식 통신 기술

2 ) 소프트 웨어 개발 방법론

1. 구조적 방법론(1970)

 

  • 모듈(부품) 중심으로 개발, 분할과 정복 방법으로, 하향식으로 기능을 분해, 재사용성, 유지 보수성이 낮음
  • 하향식 설계 : 상위에 있는 Main User Function에서 시작하여 기능을 하위 기능들로 분할해하면서 설계
  • 상향식 설계 : 하위 기능들을 묶어서 제일 상위에 있는 Main User Function으로 설계

2. 정보공학 방법론(1980)

 

  • 정보 시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론, 자료 구조 중심의 방법론으로 비교적 안정적

 

3. 객체지향 방법론(1990)

 

  • 데이터와 그 데이터에 관련되는 동작을 모두 포함하는 방법론 데이터는 실체이고, 동작은 절차, 방법, 기능을 의미
  • 객체 중심으로 캡슐화, 추상화 기술이 필요

4. 컴포넌트 기반 방법론(2000)

 

  • 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 애플리케이션을 작성하는 방법론
  • 생산성과 품질을 높이고, 유지보수의 비용을 최소화할 수 있는 개발 방법론
  • 소프트웨어 위기를 극복하기 위한 방법론
  • 위기(문제점): 비용 증대, 유지보수 비용, 기술보다 관리적인 면 강조, 개발 기간 연장, 성능 및 신뢰성이 부족

5. 애자일(Agile) 방법론(2000년 이후)

 

  • 소프트웨어 개발 단계의 변화에 신속하게 대응하기 위하여 요구사항을 지속적으로 분석하고 반영하여 시간 지연을 최소화하는 방법론
  • 프로세스와 도구 중심이 아닌 개발 과정의 소통을 중요하게 생각하는 소프트웨어 개발 방법론 반복적인 개발을 통한 잦은 출시를 목표
  • 원칙 : 소통, 협력, 적응 지속, 가치 전달, 피드백
  • 5가지 가치 : 의사소통, 용기, 피드백, 단순함, 존경
  • 애자일 방법론의 종류 : 익스트림 프로그래밍, 스크럼, 린, DSDM(사용자가 적극적으로 개발에 참여에 영향), FDD(기능 개발 중심)

선언문 

 

  • 개인과 상호작용을 프로세스와 도구보다 중시
  • 동작하는 소프트웨어를 포괄적인 문서보다 중시
  • 고객과의 협력을 계약의 협상보다 중시
  • 변화의 대응을 계획의 수행보다 중시

XP(익스트림 프로그래밍)

 

  • 소프트웨어 개발 방식을 애자일 모형으로 개발하는 대표 방법
  • 문서화를 강조하지 않고, 변경을 추구하며 개발 초기부터 소프트웨어 검사를 병행할 것을 강력히 권고

스크럼

 

  • 애자일 방법론 중 하나로 프로젝트 관리를 위한 상호 점진적 개발 방법론
  • 매일 정해진 시간, 장소에서 단기간에 개발하는 개발하는 개발팀을 위한 프로젝트 관리 중심
  • 스크럼 5가지 가치 : 확약, 전념, 정직, 존중, 용기
  • 스크럼 요소 : 백로그(BackLog), 스프린트(Sprint), 스크럼 미팅

린(Lean) 

 

  • 낭비적 요소를 제고하고, 개발 결과를 측정, 성과를 분석하여 품질을 향상
  • 7가지 원칙 : 낭비적인 요소 제거, 품질 내재화, 지식 창출, 가능한 늦게 결정, 가능한 빠르게 인도, 사람 존중, 전체 공정 최적화

 

6. 테일러링(Tailoring) 개발 방법론

 

  • 개발하려는 소프트웨어 특성에 맞게 융통성 있게 적용하는 방법론
  • 테일러링 개발 방법론의 필요성
  • 내부 기준 : 목표 환경, 요구사항, 프로젝트 규모, 기술 환경
  • 외부 기준 : 법적 제양 사항, 표준 품질 기준

 

7. 보안 개발 방법론

 

  • MS-SDL : 보안 수준이 높은 안전한 S/W를 개발하기 위해 MS사 가 자체적으로 수립
  • Seven Touchpoints : 실무적으로 검증된 개발 보안 방법론 중 하나, 생명주기 방법론
  • CLASP : 소프트웨어 개발 생명주기 초기 단계에서 보안을 강화하기 위한 정형화된 프로세스
  • CWE : 소프트웨어의 보안 취약점을 유발하는 원인을 7가지(입력 데이터 검증 표현, 보안 기능, 시간 및 상태, 오류 처리, 코드 품질, 캡슐화, API 악용)로 정리
반응형

댓글