๑ `⌃´ ๑

* 주간컴공 채널의 정보처리기사 필기 유튜브 강의 필기 내용.

1과목 소프트웨어 설계의 1장 요구사항 확인을 필기하였다.

 

1. 소프트웨어 설계

A. 요구사항 확인

 

1) 소프트웨어 생명주기

소프트웨어의 개발단계를 단계별로 구분한 것

 

폭포수 모델

- 가장 보편적인 모델

- 각 단계를 한 번씩만 거침

- 이전으로 되돌아갈 수 없기 때문에 각 단계를 확실히 매듭지어야 함

- 2개 이상의 과정을 병행할 수 없음

- 초기에 계획된 그대로 프로그램을 사용해야함

- 매뉴얼 작성 필요

- 개발 완료 후 발견된 오류 해결 불가

 

프로토타입 모델(원형 모델)

- 빠른 개발을 위해 디자인이나 마감처리 등을 무시하고, 최대한 기능적인 부분만 구현

=> 인터페이스 중심으로 개발

- 폭포수 모형의 단점 보완

 

스파이럴 모델(나선형 모델)

- 대규모 소프트웨어 개발에 용이

- 계획-분석(검증)-개발-평가(오류방지)의 반복

- 여러 번의 개발 과정을 거침

- 점진적 개발 : 정밀함, 유지보수 필요

- 위험관리, 최소화가 목적

 

애자일 모델

- 절차와 문서보다는 고객과의 상호작용과 협업에 중점

- 애자일 모델에는 대표적으로 스크럼 기법이 있음

 

 

2) 스크럼 기법

- 팀을 중심으로 진행

- 제품 책임자, 스크럼 마스터, 개발팀으로 구성

제품 책임자(PO) : 의사 결정권이 있는 사람

스크럼 마스터(SM) : 개발팀을 지원, 조율하기 위해 존재

개발팀(DT) : 디자이너 및 테스터 등을 전부 포함한 개념

- 이들은 소통을 통해 개발에 필요한 사항을 백로그(Backlog)에 기록

- 이때 기록된 내용들은 개발자와 사용자들이 모두 형식없이 편하게 이야기 형식으로 되어있기 때문에 스토리라고 부름

- 백로그의 우선순위는 제품 책임자에 의해서만 변경될 수 있음

- 백로그가 준비되면, 스크럼 마스터는 계획 회의를 진행

- 회의를 통해 각 개발자들은 세부 개발목표와 시간을 할당받음 -> 스프린트

계획 회의 : 개발자 별로 스프린트 백로그(각각의 스프린트에 대한 개별 백로그) 작성 

스프린트 : 할 일, 진행, 완료의 상태

일일 회의 : 소멸차트, 장애요소 해결 (주체 : 스크럼 마스터)

검토 회의 : 전체인원, 주별 진행, 백로그 업데이트, PO 피드백 (주체 : 제품 책임자)

회고 : 지난 일정 되돌아보기, 개선점 찾기

 

 

3) XP(eXtreme Programming) 기법

- 애자일 모델이 추구하는 고객과의 소통을 극도로 끌어올림

- 짧고 반복적인 개발 주기 + 고객의 적극적 참여 = 가시성 향상

- 소규모 개발 프로젝트에 효과적

- 핵심가치 : 드백, 중, 기, 순, 의사통 (피존용단소)

- 릴리즈 : 프로그램을 배포하는 단위

 

개발 프로세스

- 사용자 스토리 : 고객의 요구사항

- 릴리즈 계획 수립 : 부분과 전체의 개발 일정 수립

- 스파이크 : 기술 및 기능확인을 위해 간단히 만드는 프로그램

- 이터레이션 : 1~2주의 시간으로 완성가능한 기능을 모아서 고객이 직접 평가할 수 있도록 프로그램을 만드는 과정(릴리즈를 좀 더 세분화한 단위)

- 승인 검사 : 부분 소프트웨어가 릴리즈 되면 고객이 직접 평가

- 소규모 릴리즈 : 릴리즈 별로 고객의 피드백 확인 가능

 

 

4) 시스템 파악

- 시스템 개발 범위를 명확하게 설정

① 업무 시스템 (성) 파악 : 기간(주요) 업무와 지원 업무의 주요 기능 파악

- 기간 업무 : 주요 업무 담당

- 지원 업무 : 지원 업무 담당

시스템 별 기능 명시

 

② 시스템 별 능 파악 : 주요 기능별 세부 기능들을 계층형으로 표시

③ 시스템 터페이스 파악 : 업무 시스템 간에 주고받는 데이터의 종류 및 형식, 프로토콜 파악

 

④ 시스템 키텍처 구성 : 주요(기간) 업무 시스템에서 동작하는 기술요소의 원리를 표현

프트웨어 구성 파악

- 소프트웨어의 용도

- 라이선스 적용방식

- 라이선스 개수

 

드웨어(서버) 구성 파악 : 서버의 주요 사양(제원,스펙)과 수량, 이중화(복사본,백업) 적용 여부

트워크 구성 파악 : 네트워크 구성도 작성을 통해 물리적 위치, 보안 취약점 분석, 유지보수 등에 활용

 

🎵 Playlist
loading...
00:00 / 00:00