폭포수 모형 - 이전단계로 돌아갈 수 없다는 전제하에 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인과정을 거친 후에 다음 단계를 진행하는 개발 방법론, 고전적 생명주기 모형
소프트웨어 생명주기 - 소프트웨어 생명주기는 소프트웨어를 개발하기 위한 설계, 운용, 유지보수 등의 과정을 각 단계별로 나눈 것
나선형 모형 - 나선을 따라 돌듯이 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 모형
애자일 모형 - 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발하는 모형, 고객과의 협업을 중시한다.
- 스크럼
- xp : 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상하는 방법 (용단의피존-의사소통, 단순성, 용기, 존중, 피드백)
- 칸반
- 기능중심개발
xp의 주요 실천 방법
- 짝 프로그래밍
- 공동 코드 소유
- 테스트주도개발
- 전체팀
- 계속적인 통합
- 리팩토링 : 프로그램 기능 변경 없이 시스템을 재구성
- 소규모릴리즈 : 릴리즈 기간을 짧게 반복함으로써 고객의 요구 변화에 신속히 대응할 수 있다.
요구사항은 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건
기능요구사항 : 연산적인 부분
비기능요구사항 : 성능 관련, 안전, 보안, 품질, 제약사항
사용자요구사항
시스템요구사항
도출>분석>명세>확인
요구사항 도출 (설문, 인터뷰, 브레인스토밍, 워크샵, 프로토타이핑, 유스케이스)
요구사항 분석 : 요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 이를 걸러내기 위한 과정(자료 흐름도, 자료사전)
요구사항 명세 : 분석된 요구사항을 바탕으로 모델을 작성하고
요구사항 확인 : 개발자원을 요구사항에 할당하기 전에 요구사항 명세서가 정확하고 안전하게 작성되었는지를 검토하는 활동
요구사항 명세
- 정형 명세 기법
- 비정형 명세 기법
요구사항 분석
- 구조적 분석 기법 : 자료의 흐름과 처리를 중심
- 자료흐름도(DFD) : 요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법
자료흐름도 기본 기호
- 프로세스 : 원
- 자료흐름 : 화살표
- 자료저장소 : 직선
- 단말 : 정사각형
자료사전(DD) : 자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것
- 자료의 정의 : =
- 자료의 연결 : +
- 자료의 생략 : ()
- 자료의 선택 : [ | ]
- 자료의 반복 : { }
- 자료의 설명(주석) : **
UML : 시스템 분석, 설계 등 시스템 개발과정에서 개발자와 고객 또는 개발자 상호 간의 의사소통을 원활하게 이루어지게 하기 위하여 표준화한 모델링 언어
- 사물
- 관계
- 다이어그램
UML의 관계 : 사물과 사물 사이의 연관성을 표현
- 연관관계 : 2개 이상의 사물이 서로 관련되어 있는 관계
- 집합관계 : 하나의 사물이 다른 사물에 포함되어 있는 관계
- 포함관계 : 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계
- 일반화관계 : 하나의 사물이 다른 사물에 비해 더 일반적이거나 구체적인 관계
- 의존관계 : 연관관계와 같이 서로 연관은 있으나 필요에 의해 서로에게 영향을 주는 관계
- 실체화 관계 : 사물이 할 수 있거나 해야 하는 기능으로 서로를 그룹화할 수 있는 관계
다이어그램 : 사물과 관계를 도형으로 표현한 것
정적 모델링 => 구조적 다이어그램
동적 모델링 => 행위 다이어 그램
구조적 다이어그램 종류
- 클래스 다이어그램 : 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현
- 객체 다이어그램 : 클래스에 속한 사물(객체)들 특정 시점의 객체와 객체사이의 관계로 표현
- 컴포넌트 다이어그램 : 실제 구현 모듈인 컴포넌트 간의 관계나 컴포넌트 간의 인터페이스를 표현(구현단계에서 사용)
- 배치 다이어그램 : 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현(구현단계에서 사용)
- 복합체 구조 다이어그램 : 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현
- 패키지 다이어그램 : 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현
클래스 다이어그램의 구성요소
- 클래스
- 제약조건
- 관계
패키지 다이어그램의 구성요소
- 패키지 : 객체들을 그룹화한 것
- 객체 : 유스케이스, 클래스, 인터페이스 등 패키지에 포함될 수 있는 다양한 요소들
- 의존관계 : 패키지와 패키지, 패키지와 객체 간의 점선 화살표로 연결하여 표현
- <<import>> : 패키지에 포함된 객체들을 직접 가져와서 이용하는 관계
- <<access>> : 인터페이스를 통해 패키지 내의 객체에 접근하여 이용하는 관계
행위 다이어그램의 종류
- 유스케이스 다이어그램 : 사용자의 요구를 분석하는 것으로 기능 모델링 작업에 사용됨
- 시퀀스(순차) 다이어그램 : 상호작용하는 시스템이나 객체들이 주고받는 메시지를 표현함
- 커뮤니케이션 다이어그램 : 동작에 참여하는 객체들이 주고받는 메시지와 객체들 간의 연관관계를 표현
- 상태 다이어그램 : 하나의 객체가 자신이 속한 클래스의 상태변화 혹은 다른 객체와의 상호작용에 따라 상태가 어떻게 변화하는지를 표현, 럼바우 객체지향 분석 기법에서 동적 모델링에 활용되는 다이어그램
- 활동 다이어그램 : 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현
- 상호작용 개요 다이어그램 : 상호작용 다이어그램 간의 제어 흐름을 표현
- 타이밍 다이어그램 : 객체 상태 변화와 시간 제약을 명시적으로 표현
순차 다이어그램의 구성요소
- 액터 : 사람 or 외부시스템
- 객체 : 메시지를 주고받는 주체
- 생명선 : 객체가 메모리에 존재하는 기간
- 실행상자 : 객체가 메시지를 주고받으며 구동되고 있음을 표현
- 메시지 : 객체가 상호작용하기 위한 메시지
- 객체소멸 : 더 이상 객체가 소멸하지 않는 것을 의미
- 프레임 : 다이어그램의 전체 또는 일부를 묶어 표현한 것
스트레오 타입 : UML에서 표현하는 기본 기능 외에 추가적인 기능을 표현한. 것(길러멧 기호로 그 안에 내용을 표시 길러멧 기호는 << >> 로 표시)
- <<include>> : 연결된 다른 UML 요소에 대해 포함 관계에 있는 경우
- <<extend>> : 연결된 다른 UML 요소에 대해 확장관계에 있는 경우
- <<exception>> : 예외를 정의하는 경우
- <<interface>>> : 인터페이스를 정의하는 경우
- <<constructor>> : 생성자 역할을 수행하는 경우
소프트웨어 재사용 : 이미 개발되어 인정받은 소프트웨어의 전체 혹은 일부분을 다른 소프트웨어 개발이나 유지에 사용하는 것
- 합성중심 : 블록구성방법
- 생성중심 : 패턴구성방법
소프트웨어 재공학 : 새로운 요구에 맞도록 기존 시스템을 이용하여 보다 나은 시스템을 구축하고, 새로운 기능을 추가하여 소프트웨어 성능을 향상하는 것
'정보처리기사' 카테고리의 다른 글
데이터베이스 개념(1) (0) | 2023.08.26 |
---|---|
CASE / 프레임워크 (0) | 2023.08.26 |
데이터베이스(2) (0) | 2023.08.20 |
데이터 베이스(1) (0) | 2023.08.19 |
프로그래밍언어 (1) (0) | 2023.08.13 |