728x90
1-0
- 소프트웨어 생명주기 : 소프트웨어를 개발하기 위한 설계,운용,유지보수 등의 과정을 각 단계별로 나눈 것
- 폭포수 모형 : Waterfall Model 이라고 부르며, 각 단계를 확실히 매듭짓고 그 결과를 만들어 최종 결과물을 예측
- 프로토 타입 모형 : prototype Model 이라고 부르며, 실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측
- 나선형 모형 : Spiral Model 이라고 부르며, 여러 번의 소프트웨어 대한 견본품을 만들어 최종 결과물을 예측
- 애자일 모형 : 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발하는 모형
- 소프트웨어 공학 : 소프트웨어의 위기를 극복하기 위한 방안으로 연구된 학문
1-1
- 스크럼 : 팀이 중심이 되어 개발의 효율성을 높이는 기법
- 제품책임자 : 요구사항이 담긴 백로그를 작성하는 주체, 이해도가 높고 요구사항을 책임지고 의사를 결정할 사람
- 스크럼마스터 : 스크럼 팀이 스크럼을 잘 수행할 수 있도록 가이드 역할을 수행
- 개발팀 : 제품 책임자와 스크럼 마스터를 제외한 모든 팀원으로 제품 개발을 수행
- 스크럼 개발 프로세스 : 스프린트 계획 -> 스프린트 - > 일일 스크럼 회의 -> 스프린트 검토 회의 -> 스프린트 회고
1-2
- XP : 수시로 발생하는 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 생산성 향상
- XP의 핵심 가치 : (피존용단소) 피드백, 존중, 용기, 단순성, 소통
- XP 개발 프로세스 : 릴리즈 계획 수립 -> 주기 -> 승인검사 -> 소규모 릴리즈
- XP의 주요 실천 방법 : Pair Programing, Collective Ownership, Test-Driven Development, Refactoring, Whole team, Small Releses, Continuous Integration
- 리팩토링 목적 : 프로그램을 쉽게 이해하고 쉽게 수정하여 빠르게 개발
- 현행시스템 파악 : (구기인아소하네) 시스템 구성 파악 -> 시스템 기능 파악 -> 시스템 인터페이스 파악 -> 아키텍처 구성 파악 -> 소프트웨어 구성 파악 -> 하드웨어 구성 파악 -> 네트워크 구성 파악
- 서버의 이중화 : 운용서버에 장애가 발생했을 때 대기 서버로 서비스를 계속 제공, 자료변경이 대기서버에도 동일하게 복제되어 관리
1-3
- 개발기술환경파악 : 운영체제, 데이터베이스관리시스템, 미들웨어 등을 선정할 때 고려해야할 사항 기술
- 운영체제 (OS) : 컴퓨터 시스템 자원을 효율적으로 관리하며, 컴퓨터를 편리하고 효율적으로 사용할 수 있도록 환경을 제공하는 S/W
- 운영체제 요구사항 식별 : 가용성, 성능, 기술지원, 주변기기, 구축비용
- 데이터베이스관리시스템 : 사용자와 데이터베이스 사이에서 정보를 생성해주고, 데이터베이스를 관리해주는 S/W
- DBMS 요구사항 식별 : 가용성, 성능, 기술지원, 상호호환성, 구축비용
- 웹 애플리케이션 서버 : 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어
- WAS 요구사항 식별 : 가용성, 성능, 기술지원, 구축비용
- 오픈소스 : 누구나 제한 없이 사용할 수 있도록 소스코드를 공개한 S/W→
- 오픈소스 요구사항 식별 : 라이선스 종류, 사용자 수, 기술의 지속 가능성
- 요구사항 : S/W가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 운영되는데 필요한 제약조건
- 기능 요구사항 : 시스템이 무엇을 하는지, 어떤 기능을 하는지 등의 기능이나 수행과 관련된 요구사항
- 비기능 요구사항 : 품질이나 제약사항과 관련된 요구사항
- 사용자 요구사항 : 사용자 관점에서 본 시스템이 제공해야 할 요구사항
- 시스템 요구사항 : 개발자 관점에서 본 시스템 전체가 제공해야 할 요구사항
1-4
- 요구사항 개발 프로세스 : 요구사항을 체계적으로 도출하고 분석한 후 명세서에 정리한 다음 확인 및 검증하는 활동
- 요구사항 개발 프로세스 순서 : 도출 -> 분석 -> 명세 -> 확인
- 요구사항 도출 : 시스템 개발에 관련된 사람들이 서로 의견을 교환하여 요구사항을 식별하고 이해하는 과정
- 요구사항 도출 기법 : 청취와 인터뷰, 설문, 브레인스토밍, 워크샵, 프로토타이핑, 유스케이스
- 요구사항 분석 : 요구사항 중 이해되지 않는 부분을 걸러내기 위한 과정 ex) 자료흐름도, 자료사전
- 요구사항 명세 : 분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것
- 요구사항 확인 : 요구사항 명세서가 정확하고 완전하게 작성 되었는지를 검토하는 활동
- 요구공학 : 요구사항을 정의하고, 분석 및 관리하는 프로세스를 연구하는 학문
- 요구사항 명세 기법 : 정형 명세 기법(수학적 원리 기반, 모델기반), 비정형 명세 기법(상태/기능/객체 중심)
1-5
- 요구사항 분석 : 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화하는 활동
- 구조적 분석 기법 : 자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법, 하향식 방법, 분석의 중복 배제
- 구조적 분석 기법 종류 : 자료흐름도, 자료사전, 소단위 명세서, 개체관계도, 상태 전이도, 제어 명세서
- 자료흐름도 : 자료 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법
- 자료흐름도 기호 : 프로세스(자료를 변환시키는 시스템의 한부분,O), 자료흐름(→),자료저장소,단말(□)
- 자료 사전 : 자료흐름도에 있는 자료를 더 자세히 정의하고 기록
- 자료 사전 기호 : =(자료정의), +(자료연결), ()(자료생략), [](자료선택), {}(자료반복), **(자료의 설명)
1-6
- CASE(자동화도구) : 요구사항을 자동으로 분석하고, 요구사항 분석 명세서를 기술하도록 개발된 도구
- CASE 도구 : SADT (Soft Tech사가 개발), SREM=RSL/REVS, PSL/PSA, TAGS
- HIPO : 문서화에 사용되는 기법, 시스템 실행과정인 입력,처리,출력의 기능을 표현한 것, 하향식 s/w개발 문서화도구
- HIPO chart : 가시적 도표(Visual Table of contents), 총체적 도표(Overview Diagram), 세부적 도표(Detail Diagram)
1-7
- UML : 시스템 개발과정에서 의사소통이 원활하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어
- UML 구성요소 : 사물(things), 관계(Relations), 다이어그램(Diagram)
- 사물 : 다이어그램 안에서 관계가 형성될 수 있는 대상들
- 사물 종류 : 구조사물, 행동사물, 그룹사물, 주해사물
- 관계 : 사물과 사물 사이의 연관성을 표현하는 것
-
- 연관 관계 : 2개 이상의 사물이 서로 연관 ( ex. 사람 → 집)
- 집합 관계 : 하나의 사물이 다른 사물에 포함 ( ex. 컴퓨터◇-프린터)
- 포함 관계 : 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계 ( ex. 문◆-키)
- 일반화 관계 : 하나의 사물이 다른 사물에 비해 일반적, 구체적 표현 ( ex. 아메리카노, 에스프레소 -▷커피)
- 의존 관계 : 서로에게 영향을 주는 짧은 시간 동안만 연관관계를 유지 ( ex. 등급 '''''''> 할인율 )
- 실체화 : 서로를 그룹화 할 수 있는 관계 ( ex. 비행기, 새 '''''''▷ 날 수 있는)
- 다이어그램 : 사물과 관계를 도형으로 표현한 것
- 구조적 다이어그램(배컴복객클패)
- 배치 다이어그램, 컴포넌트 다이어그램, 복합체 구조 다이어그램, 객체 다이어그램, 클래스 다이어그램, 패키지 다이어그램
- 행위 다이어그램(상상유시커타활)
- 상태 다이어그램, 상호작용 다이어그램, 유스케이스 다이어그램, 시퀀스 다이어그램, 커뮤니케이션 다이어그램, 타이밍 다이어그램, 활동 다이어그램
- 스테레오 타입 : UML에서 기본기능 이외에 추가적인 기능을 표현 한것 << >>
- <<include>> : 포함, <<extends>> : 확장, <<interface>> : 인터페이스 정의,
- <<exception>> : 예외 정의, <<constructor>> : 생성자
1-8
- 기능 모델링 : 개발될 시스템이 갖춰야 할 기능을 정리한 후 사용자와 함께 공유하기 위해 그림으로 표현하는 것
- 유스케이스 다이어그램 : 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자 관점에서 표현한 것
- 구성요소 : 시스템, 액터, 유스케이스, 관계
- 유스케이스 다이어그램 : 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자 관점에서 표현한 것
- 활동 다이어그램 : 사용자의 관점에서 시스템이 수행하는 기능을 처리 흐름에 따라 순서대로 표현한 것
- 구성요소 : 액션, 시작노드, 종료노드, 조건노드, 병합노드, 포크노드, 조인노드, 스윔레인
- 정적 모델링 : 사용자가 요구한 기능을 구현하는데 필요한 자료들의 논리적인 구조를 표현
- 클래스 다이어그램 : 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현한 것
- 구성요소 : 클래스, 제약조건, 관계
- 연관 클래스 : 연관 관계에 있는 두 클래스에 추가적으로 표현해야 할 속성이나 오퍼레이션이 있는 경우 생성하는 클래스
- 클래스 다이어그램 : 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현한 것
- 동적 모델링 : 시스템 내부 구성요소들의 상태변화 과정과 상호 작용 하는 과정을 그림으로 표현한 것
- 시퀀스 다이어그램 : 시스템이나 객체들이 메시지를 주고 받으며 상호작용 하는 과정을 그림으로 표현
- 구성요소 : 액터, 객체, 생명선, 실행상자, 메시지, 객체 소멸, 프렝미
- 커뮤니케이션 다이어그램 : 시스템이나 객체들이 메시지를 주고 받으며, 상호작용 하는 과정과 객체들 간의 연관을 그림으로 표현한 것
- 구성요소 : 액터, 객체, 링크, 메시지
- 상태 다이어그램 : 객체들 사이에 발생하는 이벤트에 의한 객체들의 상태 변화를 그림으로 표현한 것
- 구성요소 : 상태, 시작상태, 종료상태, 상태전환, 이벤트, 프레임
- 패키지 다이어그램 : 요소들을 그룹화한 패키지 간의 의존관계를 표현한 것
- 구성요소 : 패키지, 객체, 의존관계
- 시퀀스 다이어그램 : 시스템이나 객체들이 메시지를 주고 받으며 상호작용 하는 과정을 그림으로 표현
1-9
- 소프트웨어 개발 방법론 : s/w 개발 유지보수 등에 필요한 수행 방법과 각종 기법 및 도구를 체계적으로 정리하여 표준화 한것
- 구조적 방법론 : 사용자 요구사항을 파악하여 문서화 하는 처리 중심의 방법론
- 개발절차 : 타당성 검토 -> 계획 -> 요구사항 -> 설계 -> 구현 -> 시험 -> 운용/유지보수
- 정보공학 방법론 : 계획,분석,설계,구축에 정형화된 기법들을 통합 및 적용하는 자료중심의 방법론
- 객체지향 방법론 : 객체들을 조립해서 필요한 s/w를 구현하는 방법론
- 컴포넌트 기반 방법론 : 컴포넌트를 조합하여 새로운 애플리케이션을 만드는 방법론
- 제품 계열 방법론 : 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론
- 구조적 방법론 : 사용자 요구사항을 파악하여 문서화 하는 처리 중심의 방법론
- 소프트웨어 재사용 : 이미 개발되어 인정받은 소프트웨어를 다른 소프트웨어 개발이나 유지에 사용하는 것
- 합성중심 : 블록을 만들어서 끼워 맞춰 s/w를 완성
- 생성중심 : 추상화 형태로 써진 명세를 구체화하여 프로그램을 만듬
- 소프트웨어 재공학 : 기존 시스템을 이용하여 보다 나은 시스템을 구축하고, 새로운 기능을 추가하여 s/w 성능을 향상 시키는 것
1-10
- 소프트웨어 비용 산정 기법 : 개발에 소요되는 인원,자원,기간 등으로 s/w의 규모를 확인하여 필요한 비용을 산정하는 것
- 하향식 비용 산정 기법 : 과거의 유사한 경험을 바탕으로 전문지식이 많은 개발자들이 참여한 회의를 통해 비용을 산정
- 전문가 감정 기법 : 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 기법
- 델파이 기법 : 전문가 감정 기법의 주관적인 편견을 보완하기 위해 많은 전문가의 의견을 종합하여 산정하는 기법
- 상향식 비용 산정 기법 : 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 기법
- LOC 기법 : 각 기능의 원시코드라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법
- 예측치 : (a+4m+b)/6 [ a : 낙관치, b : 비관치, m : 기대치]
- 개발 단계별 인월수 기법 : 각 기능을 구현시키는데 필요한 노력을 생명주기의 각 단계별로 산정, LOC기법보다 더 정확함
- LOC 기법 : 각 기능의 원시코드라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법
- 수학적 산정 기법 : 상향식 산정 기법으로, 경험적, 실험적 추정 모형이라고도 한다. 개발 비용 산정의 자동화를 목표로 함.
- COCOMO 모형 : 원시 프로그램의 규모인 LOC에 의한 비용 산정 기법
- 조직형 : 중,소 규모의 s/w, 5만 라인 이하의 소프트웨어를 개발하는 유형
- 반분리형 : 조직형과 내장형의 중간형 s/w, 30만 라인 이하의 소프트웨어를 개발하는 유형
- 내장형 : 초대형 규모의 s/w, 30만 라인 이상의 소프트웨어를 개발하는 유형
- Putnam 모형 : 소프트웨어생명주기의 전 과정 동안에 사용될 노력의 분포를 예상하는 모형, Rayleigh-Norden곡선의 노력 분포도를 기초로 함.
- 기능점수 모형 : 소프트웨어의 기능을 증대시키는 요인별로 가중치를 부여하고, 가중치를 합산하여 총 기능점수를 산출하여, 기능점수를 구한 후 비용을 산정하는 기법
- SLIM : Rayleigh-Norden 곡선과 Putnam 예측 모델을 기초로 하여 개발된 자동화 추정 도구
- ESTIMACS : 다양한 프로젝트와 개인별 요소를 수용하도록 FP 모형을 기초로 하여 개발된 자동화 도구
- COCOMO 모형 : 원시 프로그램의 규모인 LOC에 의한 비용 산정 기법
- 하향식 비용 산정 기법 : 과거의 유사한 경험을 바탕으로 전문지식이 많은 개발자들이 참여한 회의를 통해 비용을 산정
1-11
- 프로젝트 일정 계획 : 프로젝트의 프로세스를 이루는 소작업을 파악하고, 예측된 노력을 각 소작업에 분배하여 순서와 일정을 정하는 것
- PERT : 프로그램 평가 및 검토 기술, 전체 작업의 상호 관계를 표시하는 네트워크
- CPM : 임계경로기법, 프로젝트 완성에 필요한 작업을 나열하고 작업에 필요한 소요기간을 예측하는데 사용하는 기법
- 간트차트 : 프로젝트의 각 작업들이 언제 시작하고 언제 종료되는지에 대한 작업일정을 막대도표를 이용하여 표시하는 프로젝트 일정표
1-12
- 소프트웨어 개발표준 : 소프트웨어 개발 단계에서 수행하는 품질 관리에 사용되는 국제 표준
- ISO/IEC 12207 : ISO에서 만든 표준 s/w 생명주기 프로세스
- CMMI : 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델
- SPICE : 소프트웨어 품질 및 생산성 향상을 위해 s/w 프로세스를 평가 및 개선하는 국제표준
- 소프트웨어 개발 방법론 테일러링 : 프로젝트 상황에 맞도록 정의된 s/w 개발방법론의 절차 사용 기법 등을 수정 및 보완하는 작업
- 소프트웨어 개발 프레임워크 : 소프트웨어 개발에 공통적으로 사용되는 구성요소와 아키텍처를 일반화하여, 여러가지 기능들을 제공해주는 반제품형태의 s/w 시스템
- 스프링 프레임워크 : 자바 플랫폼을 위한 오픈 소스 경량형 애플리케이션 프레임워크
- 전자정부 프레임워크 : 대한민국의 공공부문 정보화 사업시, 정보시스템의 구축을 지원하기 위해 필요한 기능 및 아키텍처를 제공하는 프레임워크
- 닷넷 프레임워크 : windows 프로그램의 개발 및 실행환경을 제공하는 프레임워크
- 소프트웨어 개발 프레임워크 특성 : 모듈화, 재사용성, 확장성, 제어의 역흐름
728x90
'정보처리기사 실기' 카테고리의 다른 글
정보처리기사 실기 : 6장 화면 설계(통합모음 : 중요 키워드 정리) (0) | 2022.08.12 |
---|---|
정보처리기사 실기 : 5장 인터페이스 구현(통합모음 : 중요 키워드 정리) (0) | 2022.08.12 |
정보처리기사 실기 : 4장 서버 프로그램 구현(통합모음 : 중요 키워드 정리) (0) | 2022.08.12 |
정보처리기사 실기 : 3장 통합구현(통합모음 : 중요 키워드 정리) (0) | 2022.08.12 |
정보처리기사 실기 : 2장 데이터 입,출력 구현(통합모음 : 중요 키워드 정리) (0) | 2022.08.12 |