06 / 06 추가
합격발표를 받았다!!!!
예상했던 결과긴 하지만 '합격'이라는 단어를 보니깐 또 새로운 느낌을 받았다.
2021년 1회 실기를 준비하면서 어렵거나 까먹을 것 같은 내용들 위주로 정리했던 내용들을 Section으로 나눠서 작성하며 공부할 예정이다.
📌 Sec 1 소프트웨어 생명주기
소프트웨어 생명주기란?
- 소프트웨어를 개발하기 위한 각 과정을 단계별로 나눈 것을 말한다.
폭포수 모형
- 각 단계를 확실히 매듭짓고, 철저한 검토 후 다음 단계를 진행하는 방법론이다.
- 고전적 생명 주기 모형이라고도 불린다.
프로토타입 모형
- 견본품을 만들어 최종 결과물을 예측 가능하다.
나선형 모형
- 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 개발하는 모형이다.
- 폭포수 모형 + 프로토타입 모형 + 위험 분석 기능추가
- 계획 수립 -> 위험분석 -> 개발 및 검증 -> 고객 평가
애자일 모형
- 요구사항 변화에 빠르고 유연하게 대처할 수 있도록 일정 주기를 반복하며 개발하는 모형이다.
- 고객과의 소통이 제일 중요하다.
- 스크럼, XP 등이 있다.
📌 Sec 2 스크럼
구성
- 제품 책임자 (PO) - 주로 백로그를 작성하며, 이해도가 높고 의사를 결정할 수 있는 사람이 담당한다.
- 스크럼 마스터 (SM) - 가이드 역할을 한다.
- 개발팀 (DT) - 둘을 제외한 나머지 인원이 담당한다.
순서
스프린트 계획 회의 -> 스프린트 -> 일일 스크럼 회의(남은 작업을 소멸 차트에 표시) -> 스프린트 검토 회의 -> 스프린트 회고
📌 Sec 3 XP (익스트림 프로그래밍)
XP의 5가지 요소
의사소통, 단순성, 용기, 존중, 피드백
XP 단계
- 릴리즈 계획 수립 : 개발 완료 시점에 대한 일정을 수립한다.
- 이터레이션 : 1 ~ 3주 정도 기간동안 개발을 진행한다.
- 승인 검사 (인수 테스트) : 하나의 이터레이션 안에서 수행한다.
- 소규모 릴리즈 : 요구사항에 대응하기 위해 릴리즈의 규모를 축소한다.
주요 실천 방법
- 짝 프로그래밍 (Pair Programming) : 개발에 대한 책임을 공동으로 나눠 갖는다.
- 공동 코드 소유 (Collective OwnerShip) : 코드에 대한 권한 및 책임을 공동 소유한다.
- 테스트 주도 개발 : 테스트 케이스를 활용한다.
- Whole Team : 모든 구성원은 책임감을 가져야 한다.
- 계속적인 통합 (Continuous Integration) : 모듈 단위의 코드들은 지속적으로 통합된다.
📌 Sec 5
웹 애플리케이션 서버 (WAS) - 동적인 콘텐츠를 처리 위한 미들웨어.
📌 Sec 6 요구사항 정의
- 기능 요구사항 – 기능 or 수행과 관련된 요구사항.
- 비기능 요구사항 – 품질이나 제약사항등.
- 사용자 요구사항 – 사용자 관점에서 본 시스템이 제공해야 할 요구사항.
- 시스템 요구사항 – 사용자 요구사항의 반대이다.
📌 Sec 7 요구사항 개발 프로세스
도(출) -> 분(석) -> 명(세) -> 확(인)
도출 - 브레인 스토밍 설문 등. SDLC동안 지속 반복
분석 – 이해안되는 것들 거르기. 자료흐름도, 자료사전.
명세 – 요구사항을 문서화.
확인 – 명세서가 잘 작성되었는지 검토.
- 정형 명세 기법 -> 수학적 기호. 즉 간결 하지만 이해하기 어려움.
- 비정형 명세 기법 -> 자연어 기반. 이해는 쉽지만 간결X
📌 Sec 8 요구사항 분석
구조적 분석 기법
- 자료 흐름도 (DFD) - 자료의 흐름 및 기능을 도형중심으로 기술. 프로세스, 자료흐름, 자료 저장소, 단말로 구성
- 자료 사전 (DD) - 자료 흐름도에 있는 자료를 정의하고 기록한 것.
= : ~ 로 구성되어 있다
() : 생략 가능한 자료
[ ] : 선택 (or)
{ } : 반복
- : 그리고(and)
📌 Sec 9 요구사항 분석 CASE / HIPO
CASE (자동화 도구) - 요구사항을 자동 분석하고, 분석 명세서르 기술하는 도구.
- SADT : SoftTech에서 만든 개발 도구.
- HIPO : 시스템 실행 과정인 입출력 기능을 표현한 것.
📌 Sec 10 UML – 의사소통이 원활하게 이루어지도록 표준화한 객체지향 모델링 언어.
구성 요소
사물 (Things), 관계, 다이어그램
다이어 그램
구조적 다이어그램
- 클래스 다이어그램
- 객체 다이어그램 : 럼바우에서 활용됨
- 컴포넌트 다이어그램
행위 다이어그램
- 유스케이스 다이어그램
- 시퀀스 다이어그램
- 상태 다이어그램 : 럼바우에서 활용됨
- 활동 다이어그램스테레오 타입
- <> , <>
📌 Sec 13 유스케이스
구성 요소
- 시스템 / 시스템 범위 : 사각형
- 액터 (Actor) : 행위자
- 유스케이스 : 서비스나 기능
- 관계 : 관계 (include, extend)
📌 Sec 20 소프트웨어 개발 방법론
- 구조적 방법론 : 사용자 요구사항을 파악해 문서화하는 처리 중심의 방법론.
- 정보공학 방법론 : 계획, 분석, 설계 등 정형화된 기법들을 적용하는 자료 중심 방법론.
- 객체지향 방법론 : 객체들을 조립해서 소프트웨어를 구현.
- 컴포넌트 기반 방법론 : 컴포넌트를 조합해 만드는 방법론.
📌 Sec 21 S/W 공학의 발전적 추세
소프트웨어 재사용
-> 이미 개발된 소프트웨어를 다른 소프트웨어 개발이나 유지에 사용.
- 합성 중심 : 블록을 만들어 끼워 맞추는 방법.
- 생성 중심 : 추상화 -> 구체화해 만드는 방법.
소프트웨어 재공학
-> 기존 시스템에 새로운 기능을 추가해 소프트웨어 성능 향상.
CASE
-> SLC 전 단계를 연결하는 자동화 도구.
📌 Sec 23 비용 산정 기법 – 하향식
과거의 경험을 바탕으로 비용을 산정하는 방식
- 전문가 감정 기법 : 경험 많은 두 명 이상의 전문가가 비용 산정.
- 델파이 기법 : 위에꺼에서 주관적 편견을 보완하기 위해 더 많은 전문가 초빙.
📌 Sec 24 비용 산정 기법 – 상향식
세부적인 작업 단위별 비용 산정. ex) LOC
📌 Sec 25 수학적 산정 기법
상향식 기법에 속함.
COCOMO 모형
-> LOC에 의한 비용 산정 기법이다.
- 조직형 : 중 , 소규모의 SW. 5만 라인 이하.
- 반분리형 : 30만 라인 이하
- 내장형 : 30만 라인 이상. 초대형 규모 SW
PutNam 모형
- SLC 전 과정 동안에 사용될 노력의 분포를 예상하는 모형.
- Rayleigh ,Norden 곡선을 기초로 한다.
- 생명주기예측 모형이라고도 불린다.
기능점수 (FP) 모형
SW 기능을 높여주는 요인별 기능점수를 구하고 비용을 산정.
비용 산정 자동화 도구
SLIM – Putnam을 기초로 한 자동화 도구.
📌 Sec 26 프로젝트 일정 계획
- PERT : 전체 작업의 상호 관계를 표시하는 네트워크.
- CPM (임계 경로 기법) : 작업에 필요한 소요기간을 예측하는데 사용하는 기법.
- 간트차트 : 작업 일정을 막대 도표를 활용해 표시하는 일정표.
📌 Sec 28 소프트웨어 개발 표준
소프트웨어 개발 단계에서 수행하는 품질 관리에 사용되는 국제 표준
ISO/IEC 12207
ISO에서 만든 표준 SLC 프로세스.
CMMI (시어머니가 가정의 화목함을 감시)
-> SW 개발 조직의 업무 능력 및 성숙도를 평가하는 모델
초기 -> 관리 -> 정의 -> 정량적 관리 -> 최적화 (초관정정최)
SPICE
- 소프트웨어 품질 향상을 위해 평가 및 개선하는 국제 표준
- ISO/IEC15504
📌 Sec 30 소프트웨어 개발 프레임워크
SW 개발에 공통으로 들어가는 구성요소, 아키텍처를 일반화해 제공하는 반제품형태의 SW.
스프링 프레임워크 – 자바 플랫폼을 위한 프레임워크
전자정부 = 우리나라 공기업용
닷넷 프레임워크 – MicroSoft에서 만듬
프레임워크 특성
모듈화, 재사용성, 확장성, 제어의 역흐름
'IT > 자격증' 카테고리의 다른 글
[정보처리기사 실기] - 6 (0) | 2024.01.01 |
---|---|
[정보처리기사 실기] - 5 (1) | 2024.01.01 |
[정보처리기사 실기] - 2, 3 (1) | 2024.01.01 |