정보처리기사 1과목. 소프트웨어 설계
Chapter 01. 요구사항 확인
[2]. 요구사항 확인
4. UML 상세
1) 클래스 다이어그램
- 개념 : 클래스의 속성 및 연산과 클래스간의 정적(시간에 따라 변하지 않는) 관계 표현
- 클래스 : 객체를 정의하는 틀 또는 설계도/ 객체 상태 - field & 객체 행동 - method
참조 : https://gmlwjd9405.github.io/2018/07/04/class-diagram.html
2) 유스케이스 다이어그램 - 동적
- 개념 : 시스템이 제공하고 있는 기능 및 그와 관련된 외부 요소를 사용자의 관점에서 표현
- 유스케이스 : 시스템이 제공해야 하는 서비스
- 액터 : 상호작용하는 사람 or 사물, 사용자의 수행 역할 (프라이머리-이득 & 세컨더리-이득 도움)
- 시스템 : 범위(scope), 영역
참조 : https://m.blog.naver.com/ljh0326s/221001892737
3) 시퀀스 다이어그램 - 동적
- 개념 : 객체간 상호작용 ~ 메시지의 흐름으로 표현
- 어떠한 순서로 어떤 객체들과 어떻게 상호작용 했는가?
- 현재 존재하는 시스템이 어떠한 시나이로오 움직이고 있는지 나타내는 장점이 있음
- 객체, 새명선, 실행, 메시지
- 객체 + 생명선(Lifeline) : 모델링되는 개개의 인스턴스, 점선 ~ 아래로 내려올수록 시간 경과
- 실행 : 오퍼레이션(함수) 실행 시간, Lifeline의 인스턴스가 실제로 다른 인스턴스와 상호작용 ~ 활성화되었음을 나타냄.
- 메시지 : 실제로 인스턴스간 주고받는 데이터 (인스턴스간 상호작용은 메시지로 이루어짐), request - response로 구성. 인스턴스간 메시지를 전달하여 전달받은 인스턴스의 오퍼레이션 수행
참조 : https://sabarada.tistory.com/84
5. UML의 관계
: 사물과 사물 사이의 연관성을 표현하는 것
- 연관(Association) : 2개 이상의 사물이 서로 관련
- 집합 (Aggregation) : 포함 (부분객체는 독립적)
- 포함(합성 Composition) : 포함하는 사물의 변화가 포함되는 사물에 영향을 미침 (부분객체는 의존적)
- 일반화(상속 Generalization) : 하나의 사물이 다른 사물에 비해 더 일반적인가 or 구체적인가?
- 일반적 : 부모
- 구체적 : 자식
- 의존 (Dependency) : 서로 연관 있음, 단 필요에 따라 단시간 연관을 유지. 사물 변화가 다른 사물에도 영향을 미침
- 실체화(Realizaiton) : 행위, 인터페이스로 서로를 그룹화할 수 있는 관계
참조 : https://geol2.tistory.com/195
6. UML 확장 모델 Stereotype
- <<>>길러멧 기호 사용
- include extend interface entity boundary control
(3) 애자일(Agile)
1. 애자일 방법론 개념
: 개발과 함께 즉시 피드백 ~ 유동적 개발 방법론
2. 등장배경
- 소프트웨어 개발환경 변화
- 트렌드 ~ 모바일 환경으로 변화
- 시장 적시성, 잦은 배포의 중요성 부각
- 기존 개발 방법론의 한계
- 전통적 방법론의 한계 - 신속한 대응의 어려움
- 빠르고 효율적인 개발 방법론 필요성 증대
3. 애자일 특징
- 프로젝트의 요구사항 ~ 기능중심 정의
- 개인,소통 > 절차,도구
- 짧은 작업 계획 - 변화에 신속, 유연한 대처
- 소프트웨어가 잘 실행되는 것에 가치를 둠
- 고객과의 피드백 중시
4. 애자일 선언문
- 개인과 상호작용
- 변화에 대응
- 동작하는 소프트웨어
- 고객협력
5. 애자일 방법론 유형
: XP, SCRUM, Lean ...
1) XP
- 의사소통, 즉각 피드백 > SW 품질 향상
- 1~3주의 반복 개발주기
- 5가치, 12실천
- 리팩토링 : 외부 동작을 바꾸지 않으면서 내부 구조 개선. 코드 작성 후 디자인 개선
참조 : https://needjarvis.tistory.com/318
2) SCRUM
- 2~ 4주의 스프린트(특정 기능에 대한 계획 - 개발 - 테스트 - 기능구현 주기)
- 팀, 프로젝트 관리중심 방법론
- 매일 15분 회의, 스프린트를 정하고 주기마다 계획 구현
- 스프린트가 끝나면 피드백을 통해 개선
참조 : https://kkhipp.tistory.com/189
3) Lean
- 제조 분야의 생산성 향상 방침 > SW 개발분야 도입
- 낭비의 발견 및 제거 > 고객 가치 빠르게 제공
- 전적 고객 관점
참조 : https://rnder.tistory.com/27
6. 애자일 vs 전통적 방법론
비교대상 | 애자일 방법론 | 전통적 방법론 |
계획수립 | 유동적 범위 | 확정적 범위 |
업무수행 | 팀 중심 | 관리자 주도(명령,통제)/개인단위 |
개발/검증 | 반복주기 개발/검증 | 분석-설계-구현-테스트 순차적 수행 |
팀관리 | 업무몰입, 팀평가 | 경쟁, 개별평가 |
문서화 | 코드>문서화 | 문서화 강조 |
성공요소 | 고객 가치 전달 | 계획/일정 준수 |
유형 | XP, SCRUM, Lean | 폭포수, 프로토타입, 나선형 |
참고 : 2021 수제비 정보처리기사 필기
'---------------2021 > 정보처리기사' 카테고리의 다른 글
[정처기]2021-1018 (분석 모델 확인) (0) | 2021.10.18 |
---|---|
[정처기]2021-1014 (0) | 2021.10.14 |
[정처기]2021-1012 (0) | 2021.10.14 |