정보처리기사 1과목. 소프트웨어 설계
Chapter 01. 요구사항 확인
[2]. 요구사항 확인
4. UML 상세
1) 클래스 다이어그램
- 개념 : 클래스의 속성 및 연산과 클래스간의 정적(시간에 따라 변하지 않는) 관계 표현
- 클래스 : 객체를 정의하는 틀 또는 설계도/ 객체 상태 - field & 객체 행동 - method
참조 : https://gmlwjd9405.github.io/2018/07/04/class-diagram.html
[UML] 클래스 다이어그램 작성법 - Heee's Development Blog
Step by step goes a long way.
gmlwjd9405.github.io
2) 유스케이스 다이어그램 - 동적
- 개념 : 시스템이 제공하고 있는 기능 및 그와 관련된 외부 요소를 사용자의 관점에서 표현
- 유스케이스 : 시스템이 제공해야 하는 서비스
- 액터 : 상호작용하는 사람 or 사물, 사용자의 수행 역할 (프라이머리-이득 & 세컨더리-이득 도움)
- 시스템 : 범위(scope), 영역
참조 : https://m.blog.naver.com/ljh0326s/221001892737
[소프트웨어 공학] 모델링과 UML, 유스케이스 다이어그램
소프트웨어 개발과 모델링 개발자가 소프트웨어를 개발하는 이유는 고객의 문제를 해결하기 위해서이다. 따...
blog.naver.com
3) 시퀀스 다이어그램 - 동적
- 개념 : 객체간 상호작용 ~ 메시지의 흐름으로 표현
- 어떠한 순서로 어떤 객체들과 어떻게 상호작용 했는가?
- 현재 존재하는 시스템이 어떠한 시나이로오 움직이고 있는지 나타내는 장점이 있음
- 객체, 새명선, 실행, 메시지
- 객체 + 생명선(Lifeline) : 모델링되는 개개의 인스턴스, 점선 ~ 아래로 내려올수록 시간 경과
- 실행 : 오퍼레이션(함수) 실행 시간, Lifeline의 인스턴스가 실제로 다른 인스턴스와 상호작용 ~ 활성화되었음을 나타냄.
- 메시지 : 실제로 인스턴스간 주고받는 데이터 (인스턴스간 상호작용은 메시지로 이루어짐), request - response로 구성. 인스턴스간 메시지를 전달하여 전달받은 인스턴스의 오퍼레이션 수행
참조 : https://sabarada.tistory.com/84
[UML] 시퀀스 다이어그램 이해하기
[UML] 클래스 다이어그램 이해하기 [UML] 시퀀스 다이어그램 이해하기 안녕하세요. 우리는 이전 포스팅에서 클래스 다이어그램에 대해서 이야기 해본적이 있습니다. 구조 다이어그램(Structural Diagra
sabarada.tistory.com
5. UML의 관계
: 사물과 사물 사이의 연관성을 표현하는 것
- 연관(Association) : 2개 이상의 사물이 서로 관련
- 집합 (Aggregation) : 포함 (부분객체는 독립적)
- 포함(합성 Composition) : 포함하는 사물의 변화가 포함되는 사물에 영향을 미침 (부분객체는 의존적)
- 일반화(상속 Generalization) : 하나의 사물이 다른 사물에 비해 더 일반적인가 or 구체적인가?
- 일반적 : 부모
- 구체적 : 자식
- 의존 (Dependency) : 서로 연관 있음, 단 필요에 따라 단시간 연관을 유지. 사물 변화가 다른 사물에도 영향을 미침
- 실체화(Realizaiton) : 행위, 인터페이스로 서로를 그룹화할 수 있는 관계
참조 : https://geol2.tistory.com/195
UML 관계 종류
UML에서 의존, 일반화, 실체화, 집합, 합성 관계를 구성하고 있다. 의존 관계 Class A (Car_A) 의 함수가 Class B (GPmp_B) 의 함수를 호출하거나 인자로 받는 등에 사용될 때, 집합 관계를 이룬다고 한다. pu
geol2.tistory.com
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
비즈니스 요구에 빠른 대응의 가능한, XP(eXtreme Programming)
XP는 스크럼(Scrum)과 쌍두마차격인 애자일(Agile) 방법론이다. 비즈니스 상의 요구가 시시각각 변동이 워낙 심하다보니 기존의 개발방법론으로는 현재의 흐름을 제대로 대응하기 힘들었고, 그래서
needjarvis.tistory.com
2) SCRUM
- 2~ 4주의 스프린트(특정 기능에 대한 계획 - 개발 - 테스트 - 기능구현 주기)
- 팀, 프로젝트 관리중심 방법론
- 매일 15분 회의, 스프린트를 정하고 주기마다 계획 구현
- 스프린트가 끝나면 피드백을 통해 개선
참조 : https://kkhipp.tistory.com/189
스크럼이란? (Scrum)
스크럼은 애자일 개발 프로세스입니다. 우선 스크럼의 유래가 있는데요. 럭비에서 유래된 용어입니다. 스크럼의 목적은 사소한 반칙이나 정지 후에 빠르고, 안전하게 그리고 공정하게 플레이를
kkhipp.tistory.com
3) Lean
- 제조 분야의 생산성 향상 방침 > SW 개발분야 도입
- 낭비의 발견 및 제거 > 고객 가치 빠르게 제공
- 전적 고객 관점
참조 : https://rnder.tistory.com/27
Lean 개발방법론 ( Agile의 하나 )
Lean 개발방법론 ( Agile의 하나 ) 출처 : http://zzino.co.kr/blog/?p=173 린 소프트웨어 개발 방법론은 도요타(자동차 제조사)의 프로세스를 S/W 개발에 적용한 방법론. 구체적인 개발 프로세스를 정의하지
rnder.tistory.com
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 |