소프트웨어 생명주기
- 소프트웨어 생명주기는 소프트웨어를 개발하기 위한 과정을 각 단계별로 나눈 것이다.
나선형 모형
- 나선형 모형은 여러번의 소프트웨어 개발과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 모형이다.
- 계획 수립 -> 위험분석 -> 개발 및 검증 -> 고객 평가
폭포수 모형
- 폭포수 모형은 각 단계를 확실히 매듭 짓고 결과를 검토하여 승인 과정을 거친 후에 다음 단계를 진행하는 개발 방법론이다.
프로토타입 모형
- 프로토타입 모형은 실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측하는 모형이다.
애자일 모형
- 애자일은 요구사항 변화에 유연하게 대응할 수 있도록 일정 주기를 반복하면서 개발하는 모형이다.
소프트웨어 공학
- 소프트웨어 공학은 소프트웨어의 위기를 극복하기 위한 방안으로 연구된 학문이다.
스크럼
- 팀이 중심이 되어 개발의 효율성을 높이는 기법이다.
- 제품책임자 : 요구사항이 담긴 백로그를 작성하는 주체
- 스크럼 마스터 : 팀의 스크럼 수행을 가이드
- 개발팀
스크럼 개발 프로세스
- 스프린트 계획 회의
- 스프린트
- 일일 스크럼 회의
- 스프린트 검토 회의
- 스프린트 회고
XP(EXTREAM PROGRAMMING)
- 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법
XP의 주요실천 방법
- 짝 프로그래밍
- 공동 코드 소유
- 테스트 주도 개발
- 전체 팀
- 계속적인 통합
- 리팩토링
- 소규모 릴리즈
데이터베이스 관리 시스템
- 데이터베이스 관리 시스템은 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어이다.
- 요구사항 식별시 고려사항 : 가용성, 성능, 기술지원, 상호 호환성, 구축 비용
웹 애플리케이션 서버
- 웹 애플리케이션 서버는 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위한 미들웨어이다.
오픈소스
- 오픈소스는 별 제한 없이 사용할 수 있도록 소스코드를 공개한 소프트웨어이다.
요구사항
- 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약 조건이다.
기능 요구사항
- 시스템이 무엇을 하는지, 어떤 기능을 하는지 등의 기능이나 수행과 관련된 요구사항
비기능 요구사항
- 품질이나 제약상황과 관련된 요구사항
요구사항 개발 프로세스
- 요구사항 개발 프로세스는 개발 대상에 대한 요구 사항을 체계적으로 도출하고 분석한 후 명세서에 정리한 다음 확인 및 검증하는 일련의 구조화된 활동이다.
- 도출 -> 분석 -> 명세 -> 확인
요구사항 명세
- 요구사항 명세는 분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것을 의미한다.
요구사항 명세 기법
- 정형명세기법
- 수학적 기호, 정형화된 표기법
- 요구사항을 정확하고 간결하게 표현할 수 있음
- 비정형 명세 기법
- 일반 명사, 동사 등의 자연어를 기반으로 서술 또는 다이어그램으로 작성
요구사항 분석
- 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화하는 활동
- 비용과 일정에 대한 제약 설정, 타당성 조사, 요구사항 문서 정의화, 목표 설정
자료흐름도
- 자료흐름도는 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법이다. 버블차트라고도 한다.
자료흐름의 구성요소
- 프로세스 : 자료를 변환시키는 시스템의 한 부분(처리과정)
- 자료흐름 : 자료의 이동이나 연관관계
- 자료 저장소 : 자료 저장소(파일, 데이터베이스)
- 단말 : 시스템과 교신하는 외부 개체
자료사전
- 자료사전은 자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것이다. 메타데이터라고도 한다.
- 자료의 정의 : =
- 자료의 연결 : +
- 자료의 생략 : ()
- 자료의 선택 : [[
- 자료의 반복 : {}
- 자료의 설명 : **
요구사항 분석용 CASE
- 요구사항 분석용 CASE(자동화 도구)는 요구사항을 자동으로 분석하고, 요구사항 분석 명세서를 기술 하도록 개발된 도구를 의미한다.
- 대표적 CASE : SADT, SREM, PSL/PSA, TAGS
SADT
- SADT는 시스템 정의, 소프트웨어 요구사항 분석, 시스템/소프트웨어 설계를 위한 도구이다.
- 블록 다이어그램 채택
HIPO
- HIPO(HIERARCHY INPUT PROCESS OUTPUT)은 시스템 실행과정인 입력, 처리, 출력의 기능을 표현한 것이다.
- 하향식 소프트웨어 개발을 위한 문서화 도구이다.
UML
- UML은 시스템 개발 과정에서 의사소통이 원활하게 이루어지도록 표준화한 대표적인 객체 지향 모델링 언어이다.
- UML 구성요소 : 사물, 관계, 다이어그램
UML - 관계
관계는 사물과 사물 사이의 연관성을 표현하는 것이다.
관계의 종류 : 연관, 집합, 포함, 일반화, 의존, 실체화
- 2개 이상의 사물이 서로 관련되어 있는 관계이다.
- 사물 사이를 실선으로 연결하여 표현한다.
- 방향성은 화살표로 나타낸다.
- 양방향의 경우 실선으로만 연결한다.
집합 관계(-◇)
- 하나의 사물이 다른 사물에 포함되어 있는 관계이다.
- 빈 마름모를 통해 연결한다
포함 관계(-◆)
- 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계이다.
- 속이 채워진 마름모를 통해 연결한다.
일반화 관계(-▷)
- 하나의 사물이 다른 사물에 비해 더 일반적이거나 구체적인 관계이다.
- 속이 빈 화살표로 연결한다.
의존 관계(- - ->)
- 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계이다.
- 점선 화살표로 연결한다
실체화 관계(- - -▷)
- 사물이 할 수 있거나 해야하는 기능으로, 서로를 그룹화 할 수 있는 관계이다.
- 속이 빈 점선 화살표로 연결한다.
연관 관계(->)
UML - 다이어그램
- 다이어그램은 사물과 관계를 도형으로 표현한 것이다.
- 정적 모델링에서는 주로 구조적 다이어그램
- 동적 모델링에서는 주로 행위 다이어그램
UML - 다이어그램 - 구조적 다이어그램
- 클래스 다이어그램
- 객체 다이어그램
- 컴포넌트 다이어그램
- 배치 다이어그램
- 복합체 구조 다이어그램
- 패키지 다이어그램
UML - 다이어그램 - 행위 다이어그램
- 유스케이스 다이어그램
- 시퀀스 다이어그램
- 커뮤니케이션 다이어그램
- 상태 다이어그램
- 하나의 객체가 자신의 속한 클래스의 상태 변화 혹은 다른 객체의 상호작용에 따라 상태가 어떻게 변화하는지 표현
- 럼바우 객체지향 분석기법에서 동적모델링에 활용
- 활동 다이어그램
- 상호작용 개요 다이어그램
- 타이밍 다이어그램
UML - 스테레오 타입
- UML에서 표현하는 기본 기능 외에 추가적인 기능을 표현하는 것이다.
- 길러멧이라고 부르는 겹화살괄호( <<>>) 사이에 표현할 형태를 기술한다.
'정보처리기사' 카테고리의 다른 글
[정보처리기사] 실기 대비 요약 정리 - 서버 프로그램 구현1 (0) | 2023.04.02 |
---|---|
[정보처리기사] 실기 대비 요약 정리 - 통합구현 (0) | 2023.04.01 |
[정보처리기사] 실기 대비 요약 정리 - 데이터 입출력 구현2 (0) | 2023.04.01 |
[정보처리기사] 실기 대비 요약 정리 - 데이터 입출력 구현1 (0) | 2023.04.01 |
[정보처리기사] 실기 대비 요약 정리 - 요구사항 확인2 (0) | 2023.04.01 |