소프트웨어 생성주기
모델 | 특징 |
폭포수 모델 (Waterfall) | 1. 각 단계를 확실하게 함 2. 대신 뒤로는 못돌아감 3. 그렇기 때문에 단계마다 메뉴얼을 꼭 작성 해야함 |
프로토타입 모델 (Prototype) | 1. 미리 한번 만들어봄 2. 그래서 폭포수 보다는 나음 3. 요구사항이 애매할때 사용 가능 |
나선형 모델 (Spiral) | 1. 폭포수와 프로토타임 장점 합침 2. 위험 분석 갖춤 3. 큰 소프트웨어에서 좋음 |
애자일 모델 (Agile) | 1. 설계 개발 테스트의 반복 2. 반복과정에서 고객과 의사소통 3. 그래서 수정 용이함 |
스크럼 기법
스크럼이란 팀이 중심이되어 개발의 효율성을 높인다는 의미.
구성원
- 제품 책임자 (PO)
- 백로그 작성 및 우선순위 지정
- 그래서 제품을 좀 아는 의뢰인이 담당함
- 스크럼 마스터
- 스크럼 회의 주최, 진행 사항 & 에러사항 관리
- 개발팀
- 제품 개발 참여 인원
프로세스
백로그 작성 → 스프린트 계획 → 스프린트 → 스크럼 회의 → 스프린트 검토 회의 → 스프린트 회고
※ 스프린트 : 짧은 개발 주기
XP (eXtreme Programming)
애자일 모델의 하나로, 개발 과정의 반복을 극대화 한 프로그래밍 기법
프로세스
사용자 스토리 작성 → 릴리즈 계획 → 스파이크 → 주기 → 승인 검사 → 소규모 릴리즈
※ 스파이크 : 기술 문제에 대한 위험을 감소시키는 간단한 프로그램
소규모 릴리즈를 통하여 직관적으로 테스트 할 수 있어 피드백이 빠르고 더 정확해진다.
현행 시스템 파악
- 시스템 구성 파악 : 주요업무, 지원업무로 구분하여 파악
- 시스템 기능 파악 : 주요기능, 하부기능, 세부기능으로 파악
- 시스템 인터페이스 파악 : 시스템 간 주고받는 데이터의 종류, 형식, 프로토콜 등을 파악
- 아키텍처 구성 파악 : 시스템간의 상호작용 (아키텍처) 파악
- 소프트웨어 구성 파악 : 라이센스, 용도 등 파악
- 하드웨어 구성 파악 : 사양, 수량, 이중화 적용 여부 파악
- 네트워크 구성 파악 : 서버의 위치, 연결방식 파악
개발 기술 환경 파악
- 운영체제 : 가용성, 성능, 기술 지원, 주변 기기, 구축 비용
- DBMS : 가용성, 성능, 기술 지원, 상호 호환성, 구축 비용
- Middle Ware (WAS) : 가용성, 성능, 기술 지원, 구축 비용
요구사항 정의
요구사항이란 소프트웨어 개발이나 유지 보수 과정에서 필요한 기준과 근거가 되는 내용.
유형 | 내용 |
기능 요구사항 | 시스템의 입출력, 어떤 기능을 수행할 것, 어떤 데이터를 저장할 것 등 |
비기능 요구사항 | 시스템의 제한사항, 동시 접속자 수, 보안, 품질, 테스트 등 |
사용자 요구사항 | 사용자 입장에서 제공되어야 할 요구사항 |
시스템 요구사항 | 개발자 입장에서 시스템이 사용자에게 제공해야 할 요구사항, 전문적인 내용 |
프로세스
도출 요구사항 수집 ↓ 분석 요구사항 명확, 비용과 일정 ↓ 명세 문서화 ↓ 확인 검증 |
요구사항 분석기법
- 요구사항 분류 : 기능 비기능, 우선순위, 영향 범위 등에 따라 분류
- 개념 모델링 : 현실 세계의 상황을 단순화하여 표현 (UML)
- 요구사항 할당
- 요구사항 협상 : 충돌되는 요구사항을 적절한 기준점을 찾아 정함
- 정형 분석 : 구문, 의미 등을 수학적 기호로 표현하여 분석
요구사항 확인기법
- 요구사항 검토 : 훑어봄
- 프로토타이핑 : 만들어봄
- 모델 검증 : 정적 분석 해봄
- 인수 테스트 : 테스트 해봄
UML
객체지향 모델링 언어.
구성 요소
- 사물 (Things) - 모델을 구성하는 가장 중요한 기본 요소
사물 | 내용 |
구조 사물 | 시스템의 요소 표현. 클래스, 컴포넌트 등 |
행동 사물 | 행위 표현. 상호작용, 상태 머신 등 |
그룹 사물 | 그룹으로 묶어서 표현. 패키지 |
주해 사물 | 부가적인 설명 표현. 노트 |
- 관계 (Relationships) - 사물과 사물 사이의 연관성 표현
관계 | 내용 | 표현 | ||
연관 | 관련되어 있음 표현. | 객체 | 객체 (단방향) | |
객체 | 객체 (양방향) | |||
의존 | 짧은 시간 동안 관련되어 있음 표현. | 영향주는 | 영향받는 | |
집합 | 포함관계, 독립적 | 파트 | 전체 | |
포함 | 포함관계, 의존적 | 파트 | 전체 | |
일반화 | 구체적 일반적 개념 | 구체적 | 일반적 | |
실체화 | 사물의 기능 | 사물 | 기능 |
- 다이어그램 (Diagram) - 사물과 관계를 도형으로 표현
구조적 다이어그램 | |
클래스 다이어그램 | 클래스 사이의 관계 |
객체 다이어그램 | 인스턴스 사이의 관계 |
컴포넌트 다이어그램 | 모듈 사이의 관계 (구현 단계) |
배치 다이어그램 | 결과물, 프로세스 물리적 요소 위치 관계 (구현 단계) |
복합체 구조 다이어그램 | 복합 구조의 내부 구조 관계 |
패키지 다이어그램 | 패키지 관계 |
행위 다이어그램 | |
유스케이스 다이어그램 | 사용자와 사용 사례의 관계 |
시퀀스 다이어그램 | 시스템, 객체의 주고받는 메세지 관계 |
커뮤니케이션 다이어그램 | 시퀀스 다이어그램 + 객체의 연관관계 |
상태 다이어그램 | 상태 변화 표현 |
활동 다이어그램 | 시스템 기능 수행 순서 |
상호작용 개요 다이어그램 | 제어 흐름 표현 |
타이밍 다이어그램 | 객체 상태 변화와 시간 제약 표현 |
'학습 > 정처기필기' 카테고리의 다른 글
1-4 인터페이스 설계 (0) | 2021.07.30 |
---|---|
1-3 애플리케이션 설계 (0) | 2021.07.28 |
1-2 화면설계 (0) | 2021.07.28 |