Multiple-V, 상태기반 테스트, 리스크기반 테스트, 명세기반 테스트

출제예상 Embedded System Test [정의] 마이크로 프로세서 또는 마이크로 컨트롤러를 내장하여 제작자가 의도한 특수 기능만을 수행하도록 제작된 컴퓨팅 장치를 테스트 하는 기법
[테스트모델] Dess-V (상위 : 통합검증, 하위 : SW 상세검증 ), Multiple V (모프최)
[테스트기법] 명구경
세기반(블동경의상유분페원오)
조기반(구결조쌍변다)
험기반(경탐오체분)
Multiple-V, 상태기반 테스트, 리스크기반 테스트, 명세기반 테스트 명구경
토픽 이름 () 임베디드 시스템 테스트(Embedded System Test)
분류 Test > 임베디드 시스템 테스트
키워드(암기) Multiple-V, 상태기반 테스트, 리스크기반 테스트, 명세기반 테스트
암기법(해당경우)  

기출문제

번호 문제 회차
1 4. 산업분야에 적용되는 임베디드 소프트웨어의 품질특징을 설명하고, 산업현장에서 임베디드 소프트웨어 테스팅에 있어 발생하는 문제점을 3가지 나열하시오. 107.응용.4교시
2 실시간 임베디드 타겟 시스템(Real-time Embedded Target System) 자동으로 시험하기 위하여 기능(Function), 성능(Performance) 및 인터페이스(Interface) 중심의 테스트베드(Testbed)를 설계하시오. 102.응용.4교시
3 6. 임베디드 시스템을 테스트하기 위한 하드웨어 소프트웨어 테스트 기법에 대하여 설명하시오. 96.응용.3교시
4 4. 임베디드 시스템(Embedded System) 테스트 개념, 테스트 기법의 유형, 이벤트 기반 기법인 Record&Replay 대해 설명하시오. 합숙_2020.01.공통.D1
5 4. 임베디드 시스템(Embedded System) 테스트 개념, 테스트 케이스 도출기법, 이벤트기반 시스템 테스팅 기법인 Record & Replay 테스트 절차에 대해 설명하시오. 합숙_2018.08.공통.D1

I. Embedded 시스템 Testing 개념

- 마이크로 프로세서 또는 마이크로 컨트롤러를 내장하여 제작자가 의도한 특수 기능만을 수행하도록 제작된 컴퓨팅 장치를 테스트 하는 기법

 

II. Embedded 시스템 테스트 모델 기법

. 테스트 모델

모델 동작원리 설명
Dess-V
- 상위에서는 통합검증을 수행하고, 하위에서 SW 상세 검증하는 모델
- H/W 테스팅 연계 부분을 별도로 고려하여 테스트를 수행
Multiple V
- V 모델 기반한 모델로 임베디드 시스템 개발 방식을 정형화한 개발모델
- 임베디드 시스템은 모델 -> 시제품(Prototype) -> 최종제품 단계로 진화
- 제품의 진화하는 단계마다 V-model 활동 전체를 수행

- 기본적인 V모델에서 신뢰성을 높이기 위해 다양한 V-모델의 반복을 통해서 다양한 유형의 테스팅 기법을 이용

* 모델 - PC를 통해 요구된 시스템의 행위를 모의 테스트

* 프로토타입 - 모델로부터 소스 코드를 생성하고 실험용 하드웨어에 소스코드를 이식

* 최종제품 - 실제 하드웨어에 소스 코드 이식

 

. Embedded 시스템 소프트웨어 테스트 기법

구분 유형 설명
명세 기반 기법 동등분할 - 유사한 도메인 별로 그룹핑하여 대표 값 TC 도출하는 기법

경계값 분석 - 경계 부분의 결함 발견율에 따른 경계 값 위주의 테스트 기법

결정테이블 테스트 - 결정 테이블에 입력 값과 원인의 조합을 통해서 테스트

상태전이 테스트 - 이벤트, 액션, 활동, 상태, 상태 전이 등을 이용해서 테스트

유즈케이스 테스트 - 비즈니스 시나리오 기반으로 실제 운영 흐름 따라 테스트

페어와이즈 조합 테스트 - 커버해야 기능적 범위를 보다 적은 조합으로 테스트

직교배열 테스트 - 수학의 행렬의 기반하여 직교 배열을 이용하여 테스트

분류트리 테스트 - 테스트 아이디어를 시작화 하여 테스트
구조 기반
기법
구문 - SW 내부 기능을 한번 이상 수행하는 테스트

결정 - 분기들이 한번 이상 모두 수행하도록 테스트

조건 - 내부 조건이 참과 거짓 모두 수행되도록 테스트

다중조건 - 모든 조건에 맞게 수행하는 테스트
경험 기반
기법
탐색적 테스트 - 테스트 차터를 기반으로 정해진 시간 내에 휴리스틱 테스트

에러 추정 테스트 - 시험기법에서 놓치기 쉬운 에러 케이스 위주로 테스트

체크리스트 - 내용과 경험을 나열해 놓은 체크리스트 기반으로 테스트

특성 테스트 - ISO 9126-2의 품질 특성 기준으로 경험적인 테스트

. 임베디드 시스템 하드웨어 테스트 기법

기법 설 명
블랙박스 테스트 - 내부 동작은 없는 상태에서 입출력 결과 확인
그레이박스 테스트 - 화이트박스/블랙박스 테스트 기법을 병행하며 테스트 수행
경계스캔
(Boundary Scan)
- 반도체 등의 PCB, 통합회로 검사 등에서 사용하는 기법으로 JTAG(Joint Test Action Group)에서 개발
- IEEE1491표준, BSDL(Boundary Scan Description Language) 사용
연기테스트
(smoke test)
- 하드웨어 또는 하드웨어 구성 요소를 변경하거나 수리한 다음 장비를 다시 작동하여 스모크 유무에 따라 테스트 결과를 판별하는 방법
  • 소프트웨어의 의존도 증가로 기법 자체가 소프트웨어 테스팅으로 융합되어 발전 진화함
반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

QM(품질관리)  (0) 2024.04.11
성능 테스트  (2) 2024.04.10
경험기반 기법  (0) 2024.04.08
구조기반테스트  (0) 2024.04.07
Usecase diagram  (0) 2024.04.06
경험기반 기법 [정의] 테스터의 지식이나 경험, 직관, 기술능력으로 테스트 케이스를 도출
[기법] 탐색적 테스팅, 류추정, 크리스트, 류트리
* 리스크 기반 테스팅

경참오체분

 

토픽 이름 () 경험기반 기법 (Experience-based Technique)
분류 테스트기법 > 경험기반기법
키워드(암기) 탐색적 테스팅, 오류추정(Error guessing), 체크리스트(Checklist), 분류트리
암기법(해당경우) (험기반기법)-()(류추정)(크리스트)(류트리)

 

기출문제

번호 문제 회차
1 4. 아래 SW 테스트 기법에 대해 설명하시오.
. 블랙박스, 화이트박스
. 명세기반, 구조기반, 경험기반
모의_2019.03.관리.2
2 1. 테스트 설계 기법 명세기반 기법(Specification-based Technique) 경험기반 기법(Experience-based Technique) 대하여 설명하시오. 모의_2017.06.응용.4
3 탐색적 테스트에 대해서 다음을 설명하시오
. 탐색적 테스트 특징과 절차
. 테스트 차터
. 탐색적 테스트와 경험기반 테스트의 비교
모의_2015.12.관리.2

 

. 테스터의 지적 능력을 극대화 및 Agile 방법론 대응을 위한 경험기반 테스팅의 개요

구분 설명
개념 이전에 테스터가 다루었던 유사 어플리케이션이나 기술에서의 경험, 직관, 테스터의 기술 능력으로부터 테스트 케이스를 추출하는 기법
특징 - 테스트 관련 인력의 지식이나 경험에서 테스트 케이스를 도출
- 테스터, 개발자, 사용자의 소프트웨어에 대한 지식
- 소프트웨어에서 자주 발생하는 결함이나 결함의 분포와 관련있는 지식

- 테스터의 과거 유사 시스템 개발 기술 경험을 기반으로 직감적으로 테스트하는 기법

 

. 경험기반 테스팅의 주요 기법

유형 설명 고려사항
탐색적 테스팅
(Exploratory
Testing)
- 테스트 목표를 포함하는 테스트 차터(Charter) 기반으
로 정해진 시간내에 테스트 설계, 수행, 기록과 학습하는
테스팅 기법
- 명세가 거의 없고 시간이
부족한 경우
- Formal 기법을 보충할 경우
오류추정
(Error guessing)
- Ad-hoc Testing이라고도 불리며, 어떤 특정한 형태의
함이 발생할 것이라고 예측하고, 결함을 발견하기 위한
테스트 케이스를 설계하는 기법
- 테스터는 직관과 결험에 기반하여 결함을 예측
- 테스터가 시스템에 대한 완전히 이해한다는 전제로 적용
되는 기법
- 테스트의 마지막 단계에
체크리스트
(Checklists)
- 테스트하고 평가해야 내용과 결험을 분류하여 나열해
놓은 목록
- 체계적으로 도출되기 보다는 테스트 결험과 노하우를
리하고 목록화하여 다음 테스팅에서 해당 내용을 누락없이
재활용하는 것을 목적으로 작성
- 공식적인 테스팅을ㅇ 보완
하는 용도로 활용

- 경험기반 테스팅 기법 대표적으로 탐색적 테스팅 기법이 많이 활용되고 있음

 

[참고] 리스트 기반 테스팅

I. 효과적인 경험기반 테스팅 수행 전략

. 리스크 기반 전략과 연계한 경험기반 테스팅 수행

- 경험기반 테스팅은 테스트 대상에 비해서 테스트 자원이 부족한 경우, 우선순위를 나눠서 테스트 자원을 효율적으로 분배하기 위한 테스트 전략이 필요 많이 활용되며, 리스크 기반 전략과 연계해 테스팅을 수행

- STA(Severs Test Area): 반드시 테스트
- STTA(Strong Test Area): 테스트
- ITA(Intensive Test Area): 테스트
- FTA(Fundamental Test Area): 테스트하지 않을 있음

- 장애발생가능성, 장애로 인한 영향도를 판단하여 해당 영역별로 테스팅 수행 전략 마련

. 리스크 기반과 연계한 경험기반 테스팅 수행 전략

전략 설명 수행자
FTA 수행전략 - 개발자의 자유로운 테스팅 수행
- 개발자 경험에 의존한 소스코드 디버깅 결함 발견
- 개발자
ITA 수행전략 - 주로 경계 값에 대한 경험기반으로 테스팅을 진행
- 개발 경험을 보유한 테스터가 수행
- 개발자, 테스터
STTA 수행전략 - 전문적인 테스팅을 수행하여야 하며, 전문 테스터에 의해 수행 - 테스터
STA 수행전략 - 전문적인 테스팅 경험과 함께 도메인 전문가, 업무 전문가, 응용 프로그램 전문가가 경험 기반으로 테스팅 - 테스터, 업무, 도메인, 응용프로그램 전문가

- 해당 분야의 경험이 많고, 도메인 지식이 높으며, 고객의 요구사항을 정확히 파악하고 있을 시 효과적  

 

[참고] 탐색적 테스팅과 경험기반 테스팅의 비교

반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

성능 테스트  (2) 2024.04.10
Embedded System Test  (1) 2024.04.09
구조기반테스트  (0) 2024.04.07
Usecase diagram  (0) 2024.04.06
Class diagram  (0) 2024.04.05
구조기반테스트 화이트박스 테스트 = 구조기반 테스트
 
토픽 이름 () 구조기반 테스트(Structure-based techniques)
분류 SW > Test > 구조기반 테스트
키워드(암기) 제어구조시험, 루프시험, Coverage, MC/DC
암기법(해당경우) 화제루

 

기출문제

번호 문제 회차
1 소프트웨어 품질의 테스트 방법인 화이트박스 및 블랙박스 테스트의 4가지 검증기준(coverage) 예를 들어 설명하고, 테스트 자동화 도구의 유형에 대하여 설명하시오. 114.관리.3
2 블랙박스 테스트 (Black Box Test) 화이트박스 테스트 (White Box Test) 비교 설명하시오. 84.관리.1
3 소프트웨어의 명세 기반 기법 (Specification Based Technique) 테스트와 구조 기반 기법 (Structure Based Technique) 테스트 방법을 나열하고 설명하시오 83.관리.2
4 소프트웨어 Testing 관련하여 다음 사항을 설명하시오
1)검증(verification) 확인(Validation) 비교 설명
2)블랙박스 시험과 화이트박스 시험의 비교 설명
3)화이트박스 시험의 필요성
72.응용.2

 

. 프로그램 내부 로직 분석을 통한 테스트 기법, 구조기반 테스트의 개요

  1. 구조기반 테스트(Structure-based Test) 정의

- 테스트 프로그램 내부 구조를 기반으로 특정 커버리지(Coverage)를 달성하기 위한 테스트 설계 및

케이스를 도출하기 위한 테스트 기법

. 구조기반 테스트의 특징

특징 설명
White Box Test 프로그램 내부 구조 및 복잡도를 검증, 테스트
Logic Driven 코드 구조의 효율성 및 오류사항 발견

 

II. 구조기반 테스트의 개념도 기법

. 구조기반 테스트의 개념도

- 내부 구조 복잡도를 검증하고 테스트하기 위한 White Box Test

 

 

. 구조기반 테스트의 기법

기법 설명 사례
제어구조 시험
(Control Structure Testing)
- McCabe 의해 제안된 대표적 White Box Test 기법
- 프로그램의 처리 흐름을 제어하는 방법 수행 제어를 위해 사용되는 문장의 구조
- 순차형(순차 구조, Sequence)
- 선택형(분기구조, If Then Else)
- 반복형(반복구조, Do While)
루프 시험
(Loop Testing)
- 프로그램 루프 구조에 국한해서 실시하는 기법
- 루프 시험의 대상 결함 : 초기화 결함, 인덱싱 증가의 결함, 루프의 경계선에서 나타나는 경계 오류
- 루프의 유형 : 단순루프, 중첩루프, 연결루프, 비구조적 루프
- for, while
- go to

 

 

III. 구조기반 테스트와 명세기반 테스트의 비교

구분 구조기반 테스트 명세기반 테스트
개념도
정의 프로그램 내부 로직을 참조하며
모든 경로를 테스트
외부 명세로부터 직접 테스트
Data, I/O 위주 테스트
특징 - 구조테스트
- Logic Driven 테스트
- 모듈 테스트
- 기능테스트
- Data Driven 테스트
- I/O 테스트
적용 단위테스트 위주 대부분의 테스트에 적용
V&V 하위 레벨 테스트 (시험 환경) 상위 레벨 테스트 (사용자 환경)
점검대상 Loop, Decision 결함, 비수행 구문 시작/종료/인터페이스 결함
기법 Loop, 제어구조 테스트 동등 분할, 경계 값 분석, Cause Effect 그래프, 오류 예측 기법
활용분야 알파 테스트 베타 테스트

 

IV. 테스트 커버리지 관계도 및 유형

. 테스트 커버리지 관계도

- 구문, 결정, 조건, 조건/결정, 변경 조건/결정, 다중 조건 커버리지 관계도 설명

. 테스트 커버리지 유형

테스트 유형 설명 사례
구문 커버리지
(Statement Coverage)
- 프로그램을 구성하는 모든 구문들이 최소한 한번은 실행될 수 있는 입력 데이터를 데스트 데이터로 선정
- 프로그램 모든 구문의 테스트를 보장
- 소스코드
If(a>0 or b>0)
call join
- 테스트케이스
a = 3, b = 4
결정 커버리지
(Decision Coverage)
- 프로그램 내의 전체 결정문이 적어도 한번은 참과 거짓의 결과를 수행하는 테스트 케이스 생성
- 모든 분기문을 테스트 하는 방법
조건 커버리지
(Condition Coverage)
- 결정 명령문 내의 조건이 적어도 번은 참과 거짓의 결과가 되도록 수행하는 테스트 케이스
- 모든 조건을 커버하는 방법
조건/결정 커버리지
(Condition/Decision Coverage)
- 전체 조건식 뿐만 아니라 개별 조건식도 한번, 거짓 한번 결과가 되도록 수행하는 테스트 케이스
변경조건/결정 커버리지
(MC/DC)
- 개별 조건식이 다른 개별 조건식에 영향을 받지 않고 전체
조건식에 독립적으로 영향을 주도록 하는 테스트 케이스
다중조건/결정 커버리지(Multiple Condition Coverage) - 결정 포인트 내에 있는 모든 개별식 조건의 모든 조합을 고려한 커버리지
반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

Embedded System Test  (1) 2024.04.09
경험기반 기법  (0) 2024.04.08
Usecase diagram  (0) 2024.04.06
Class diagram  (0) 2024.04.05
UML의 관계(Relationship)  (0) 2024.04.04
Usecase diagram 유스케이스 다이어그램(use-case diagram)
[정의] 시스템이 제공하고 있는 기능 및 그와 관련된 외부요소를 사용자의 관점에서 표현하는 동적 다이어그램
[키워드]Actor, Usecase, include, extend, Generalization, Association, Grouping, 직관적 사용자 대화수단
 

 

토픽 이름() Usecase diagram
분류 소프트웨어 >UML> Usecase diagram
키워드(암기) Actor, Usecase, include, extend, Generalization, Association, Grouping, 직관적 사용자 대화수단
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 6.아래 시나리오를 기반으로 고객과 점주가 사용하는 주문 시스템에 대한 Use Case Diagram 작성하시오 . 고객은 주문 시스템을 통해 가격을 조회하고 주문할 있다. . 고객은 주문 시스템을 통해 주문 상태를 확인하고 주문을 취소할 있다. . 점주는 주문 시스템을 통해 주문 활동을 모니터링하고 창고를 관리할 있다. . 회계 시스템은 주문 시스템과 연동하여 주문이나 취소 처리할 수 있다. 1223
2 6. UML(Unified Modeling Language)에서 사용하는 행위 다이어그램(behavior diagram) 인 액티비티 다이어그램(activity diagram), 스테이트 다이어그램(state diagram), 그리고 유스케이스 다이어그램(use-case diagram) 대하여 설명한 , 레스토랑에서 일어나는 상황을 고객, 웨이터, 요리사, 그리고 계산대 직원을 고려하여 유스케이스 다이어그램으로 표현하시오. 93_관리_3교시
4 3. 객체지향 모델의 표현 방법인 UML(Unified Modeling Language) 사용하여 "수강신청 처리"에 대한 시스템을 설계하시오.
반드시 유스케이스 다이어그램(use-case diagram), 시퀀스 다이어그램(sequence diagram), 클래스 다이어그램(class diagram),
액티비티 다이어그램(activity diagram) 작성하고, 필요시 다른 diagram 추가 작성하시오.
86_관리_3
5 1. 시스템이 제공하고 있는 기능 그와 관련된 외부요소를 사용자의 관점에서 표현하는 유스케이스 다이어그램에 대하여 아래의 물음에 답하시오.
. 유스케이스 다이어그램에 대한 설명
. 예제의 요구사항에 대하여 유스케이스 다이어그램으로 작성
모의_2018.12_관리_3
6 1. 유스케이스 다이어그램(usecase diagram) 대하여 설명하시오 모의_2018.07_관리_1

 

 

I. 시스템 기능에 대한 사용자 입장의 표현, 유스케이스 다이어그램의 개요

  . 유스케이스 다이어그램(Usecase Diagram) 정의

   - 시스템이 제공하고 있는 기능 그와 관련된 외부요소를 사용자의 관점에서 표현하는 동적 다이어그램

    - 시스템 분석가가 사용자와 힘을 합쳐 시스템의 사용 방법을 결정하는데 도움을 주는 도구

 

 . 유스케이스 다이어그램의 특징

  특징 설명
직관적 사용자의 기능적 요구사항을 정의하는 직관적인 표현
사용과
사용자
Use Case Actor간의 관계를 표현 (Actor 시스템을 제외한 모든 외부요소로서 시스템을 사용하는 사람 또는 시스템이며, Actor Use Case 수행함)
사용자와 대화 수단 활용 및 내부 기능을 예측할 목적임
분석단계 주로 분석단계에서 수행하여 시스템 개발 전 단계에 영향
기능설명 시스템이 제공하는 기본적인 기능을 설명

 

II. 유스케이스 다이어그램의 구성요소와 표현

. 유스케이스 다이어그램의 구성요소

분류 구분 설명 표기법
기본
구성
Usecase - 시스템이 제공해야 하는 서비스.
- Actor 시스템을 통한 일련의 행위

Actor (행위자) - 사용자가 시스템에 대해 수행하는 역할(role)
- 시스템과 상호작용하는 사람 또는 사물

시스템
(System)
- 전체시스템의 영역을 표현
- 특별한 의미를 가지지 못함

관계
표현
연관(Association) Usecase Actor 관계를 표현 (실선)

확장(Extend) 기본 Usecase 수행 시 특별한 조건을 만족할 때 수행하는 Usecase

포함(Include) - 시스템의 기능이 별도의 기능을 포함 (점선)
- Usecase 수행할 다른 Usecase 반드시 수행되는

일반화
(Generalization)
하위 Usecase/Action 상위 Usecase/Actor에게 기능/역할을 상속 받음

그룹화
(Grouping)
여러 개의 Usecase 단순화 하는 방법

 

 

. Use Case의 구성요소간 관계 표현법

관계 설명 표기법
연관
(Association)
Use Case Actor 관계를 표현
(실선)
확장
(Extend)
- Optional behavior. 선택 적인 행동.
- extension method stereotype 으로 표시.


포함
(Include)
- Mandatory behavior. 필수적인 행동.
- extension method stereotype 으로 표시.


일반화
(Generalization)
- 하위 Use Case/Action 상위 Use Case/Actor에게 기능/역할을 상속 받음


그룹화
(Grouping)
- 여러 개의 Use Case 단순화 하는 방법

 

 

III. Use case Diagram 작성 절차와 사례 (레스토랑의 고객, 웨이터, 요리사, 계산대 직원)

  1. Use Case 작성 절차
절차 설명
Actor 식별 - 시스템의 사용자 식별
- 상호작용 하는 시스템 식별
Use Case 식별 - 액터가 요구하는 서비스 식별
- 액터가 요구하는 정보 식별
- 액터가 시스템과 상호작용하는 행위를 식별
Relationship 정의 - 액터와 액터간의 관계 분석 정의
- 액터와 유스케이스 관계 분석 정의
- 유스케이스와 유스케이스 관계 분석 정의
Use Case 구조화 - 2 이상의 유스케이스에 존재하는 공통 서비스 추출
- 추출된 서비스를 유스케이스로 정의
- 추출된 유스케이스를 사용하는 유스케이스 사용자 관계 정의

 

  1.  작성 사례
Usecase 명세 Usecase Diagram
1. 웨이터는 고객의 주문을 받는다
2. 웨이터는 주문을 확인한다 (주문상태 포함)
3. 요리사는 주문을 확인한다
4. 웨이터는 음식을 제공한다
5. 계산대 직원은 음식값을 계산 처리한다
반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

경험기반 기법  (0) 2024.04.08
구조기반테스트  (0) 2024.04.07
Class diagram  (0) 2024.04.05
UML의 관계(Relationship)  (0) 2024.04.04
UML / Diagram 전체  (0) 2024.04.03
Class diagram 클래스 다이어그램(class diagram)
[정의] 하나 시스템의 Class, 그 클래스 내의의 속성, operations (or methods), and the relationships among objects 간의 관계를 나타내며 객체 지향 시스템 모형화에서 가장 공통적으로 많이 쓰이는 정적 다이어그램
[키워드] 클래스, 속성(Attribute), 연산(Operation), 연관, 집합연관, 복합연관, 의존, 상속, 구현
 
토픽 이름() 클래스 다이어그램 (Class Diagram)
분류 SW > UML > Class Diagram
키워드(암기) 클래스, 속성(Attribute), 연산(Operation), 연관, 집합연관, 복합연관, 의존, 상속, 구현
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 6.아래 내용을 반영한 클래스 다이어그램(Class Diagram) 작성하시오 . 훈련교사(Trainer) 하나 이상의 여러 종목(Pragram) 훈련시킬 수 있다. . 종목(Prgramm) 훈련시간표 슬롯(Slot) 훈련시간(Time) 훈련실(Room) 할당되어 있다. (클래스) (속성) Trainer id, name Program number, name Room number, name Time day, hour 1224
2 객체지향 모델의 표현 방법인 UML(Unified Modeling Language) 사용하여 "수강신청 처리" 대한 시스템을 설계하시오.
반드시 유스케이스 다이어그램(use-case diagram), 시퀀스 다이어그램(sequence diagram), 클래스 다이어그램(class diagram), 액티비티 다이어그램(activity diagram) 작성하고, 필요시 다른 diagram 추가 작성하시오.
86.정보관리.3
3 객체지향 모델 표현 UML(Unified Modeling Language) 특징을 설명하고, "온라인 상품 주문" 대한 시스템을 설계하기 위해 유스케이스 다이어그램(usecase diagram), 시퀀스 다이어그램(sequence diagram), 클래스 다이어그램(class diagram) 작성하시오. 모의_2016.04.관리.4
4 3. 모두 60개의 객실을 보유하고 있는 호텔의 객실 예약 시스템을 구축하고자 한다. 호텔 객실 예약 시스템은 담당 직원에 의해 운용된다. 담당 직원은 객실 예약 시스템을 통해 객실을 검색하고 예약할 있으며, 예약을 취소할 있어야 한다. 객실 예약시스템은 사용이 쉬워야하며 기존의 시스템(하드웨어) 이용하여 구축할 있어야 한다.
) 기능적인 요구사항을 Use Case diagram으로 기술하시오.
) 위의 요구사항을 만족하는 시스템의 정적 구조를 Class diagram 사용하여 기술하시오.
모의_2010.01.관리.4.3

 

I. 객체타입을 정의하고 정적인 관계를 표현하는, 클래스 다이어그램의 개요

- 시스템을 구성하는 객체의 타입을 정의하고, 타입들 간의 존재하는 관계를 표현하는 정적 다이어그램

- Class, Interface, Collaboration 간의 관계를 나타내며 객체 지향 시스템 모형화에서 가장 공통적으로 많이 쓰이는 다이어그램

II. 클래스 다이어그램의 구성도 구성요소

. 클래스 다이어그램의 구성도

 

 

. 클래스 다이어그램(Class Diagram) 구성요소

-구성(이름,속성,기능)

 

-접근제어자

 

-관계

 

-연관의 다중성 표현 (선에 아무런 숫자없으면 1:1 관계)

III. 클래스 다이어그램의 관계 표현

관계 유형 설명 표기법
연관관계
(Association Relationship)
- 클래스간 서로 어떠한 연관을 가지고 있는 의미
1 : 1  0..1 : 0 또는 1
* : 다수 1..* : 1 또는 다수
집합연관관계
(Aggregation Relationship)
- 클래스와 클래스간의 부분과 전체의 관계를 의미
- UML 2.0에서는 사용하지 않음

의존관계
(Dependency Relationship)
한 클래스의 변화가 다른 클래스에 영향을 미치는 관계
복합연관관계
(Composition Relationship)
집합연관관계와 같이 부분과 전체 관계이나, 전체클래스 소멸시 부분클래스도 소멸하는 관계
상속관계
(Inheritance)
Class 상속관계 (is a 관계) 객체지향의 상속관계를 의미하고, 일반화(Generation) 의미한다.
인터페이스 인터페이스와 그 인터페이스를 구현한 클래스 사이의 관계를 의미
(실체화: 하나의 객체가 다른 객체에 의해, 오퍼레이션을 하도록 지정관계)

직접 연관(Direct Association) Association Directed Association 차이는 화살표가 의미하는 navigability(방향성)인데 이것에 따라 참조 하는 쪽과 참조 당하는 쪽을 구분
반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

구조기반테스트  (0) 2024.04.07
Usecase diagram  (0) 2024.04.06
UML의 관계(Relationship)  (0) 2024.04.04
UML / Diagram 전체  (0) 2024.04.03
MSA  (0) 2024.04.02

연관관계, 의존관계, 일반화(Generalization), 실체화(Realization)

UML의 관계(Relationship) 의존관계, 연관관계, 일반화(Generalization), 실체화(Realization)
연의GR
토픽 이름() 관계(Relationship)
분류 소프트웨어 >UML> Usecase diagram
키워드(암기) 연관관계, 의존관계, 일반화(Generalization), 실체화(Realization)
암기법(해당경우) 연의 GR

 

기출문제

번호 문제 회차
1 6.아래 시나리오를 기반으로 고객과 점주가 사용하는 주문 시스템에 대한 Use Case Diagram 작성하시오 . 고객은 주문 시스템을 통해 가격을 조회하고 주문할 있다. . 고객은 주문 시스템을 통해 주문 상태를 확인하고 주문을 취소할 있다. . 점주는 주문 시스템을 통해 주문 활동을 모니터링하고 창고를 관리할 있다. . 회계 시스템은 주문 시스템과 연동하여 주문이나 취소 처리할 수 있다. 1223
2 6. UML(Unified Modeling Language)에서 사용하는 행위 다이어그램(behavior diagram) 인 액티비티 다이어그램(activity diagram), 스테이트 다이어그램(state diagram), 그리고 유스케이스 다이어그램(use-case diagram) 대하여 설명한 , 레스토랑에서 일어나는 상황을 고객, 웨이터, 요리사, 그리고 계산대 직원을 고려하여 유스케이스 다이어그램으로 표현하시오. 93_관리_3교시
4 3. 객체지향 모델의 표현 방법인 UML(Unified Modeling Language)을 사용하여 "수강신청 처리" 대한 시스템을 설계하시오.
반드시 유스케이스 다이어그램(use-case diagram), 시퀀스 다이어그램(sequence diagram), 클래스 다이어그램(class diagram),
액티비티 다이어그램(activity diagram) 작성하고, 필요시 다른 diagram 추가 작성하시오.
86_관리_3
5 1. 시스템이 제공하고 있는 기능 그와 관련된 외부요소를 사용자의 관점에서 표현하는 유스케이스 다이어그램에 대하여 아래의 물음에 답하시오.
. 유스케이스 다이어그램에 대한 설명
. 예제의 요구사항에 대하여 유스케이스 다이어그램으로 작성
모의_2018.12_관리_3
6 1. 유스케이스 다이어그램(usecase diagram) 대하여 설명하시오 모의_2018.07_관리_1

 

 

I. UML 관계(Relationship) – ‘연의 GR’ 이라고 암기한다.

- UML에는 4개의 관계가 있다. 연관관계, 의존관계, 일반화(Generalization), 실체화(Realization) 이다.

 

 

 

 

반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

Usecase diagram  (0) 2024.04.06
Class diagram  (0) 2024.04.05
UML / Diagram 전체  (0) 2024.04.03
MSA  (0) 2024.04.02
SW Architecture 평가  (0) 2024.04.01
UML / Diagram 전체 전체 다이어그램 구분 정리
[구조 기반] 클래스(Class) Diagram, 컴포넌트(Component) Diagram, 객체(Object) Diagram, 배치(Deployment) Diagram, Composite Structure  Diagram, Package
Diagram, Profile Diagram
[ 행위 기반 다이어 그램] 활동(Activity), 유즈케이스(Use Case), 상태(State) 상호작용 다이어그램(Interaction Diagram), 순차(Sequence)다이어그램, Communication
Diagram, 상호작용 개요다이어그램(Interaction Overview Diagram), Timing Diagram
itpe 특강 볼것  
토픽 이름() UML / Diagram
분류 소프트웨어 >UML> Diagram
키워드(암기) [구조 기반] 클래스(Class) Diagram, 컴포넌트(Component) Diagram, 객체(Object) Diagram, 배치(Deployment) Diagram, Composite Structure  Diagram, Package
Diagram, Profile Diagram
[ 행위 기반 다이어 그램] 활동(Activity), 유즈케이스(Use Case), 상태(State) 상호작용 다이어그램(Interaction Diagram), 순차(Sequence)다이어그램, Communication
Diagram, 상호작용 개요다이어그램(Interaction Overview Diagram), Timing Diagram
암기법(해당경우)  

기출문제

번호 문제 회차
1 6.아래 시나리오를 기반으로 고객과 점주가 사용하는 주문 시스템에 대한 Use Case Diagram 작성하시오 . 고객은 주문 시스템을 통해 가격을 조회하고 주문할 있다. . 고객은 주문 시스템을 통해 주문 상태를 확인하고 주문을 취소할 있다. . 점주는 주문 시스템을 통해 주문 활동을 모니터링하고 창고를 관리할 있다. . 회계 시스템은 주문 시스템과 연동하여 주문이나 취소 처리할 수 있다. 1223
2 6. UML(Unified Modeling Language)에서 사용하는 행위 다이어그램(behavior diagram) 인 액티비티 다이어그램(activity diagram), 스테이트 다이어그램(state diagram), 그리고 유스케이스 다이어그램(use-case diagram) 대하여 설명한 , 레스토랑에서 일어나는 상황을 고객, 웨이터, 요리사, 그리고 계산대 직원을 고려하여 유스케이스 다이어그램으로 표현하시오. 93_관리_3교시
4 3. 객체지향 모델의 표현 방법인 UML(Unified Modeling Language) 사용하여 "수강신청 처리"에 대한 시스템을 설계하시오.
반드시 유스케이스 다이어그램(use-case diagram), 시퀀스 다이어그램(sequence diagram), 클래스 다이어그램(class diagram),
액티비티 다이어그램(activity diagram) 작성하고, 필요시 다른 diagram 추가 작성하시오.
86_관리_3
5 1. 시스템이 제공하고 있는 기능 그와 관련된 외부요소를 사용자의 관점에서 표현하는 유스케이스 다이어그램에 대하여 아래의 물음에 답하시오.
. 유스케이스 다이어그램에 대한 설명
. 예제의 요구사항에 대하여 유스케이스 다이어그램으로 작성
모의_2018.12_관리_3
6 1. 유스케이스 다이어그램(usecase diagram) 대하여 설명하시오 모의_2018.07_관리_1

 

 

I. 객체지향 모델링 기술과 방법론의 표준, UML 개요 – 그래픽 형태를 통한 객체지향 설계 설명 도구

   . UML(Unified Modeling Language) 정의

      - 객체 지향 분석/설계가 S/W공학의 새로운 추세로 자리매김함에 따라 관련된 방법론을 표준화할

         필요성을 느끼고 OMG(Object Management Group UML, MDA를 제정한 협회)에서 객체

        모델링 기술과 방법론을 표준화 한 것으로 단어자체가 의미하는 언어가 아니고 모델링을

        위한 Notation 말함 

 

   . UML 등장 배경 필요성

      - 객체지향 모델링을 위해 학자들 마다 중복되고 일부 다른 방식으로 표현,

      - 보다 체계적인 모델링 방법을 표준화하기 위해 3명의 학자가 주장하는 표기법의 통일이 필요하게

      - 객체지향 시스템 개발 전 과정(Life Cycle)에서 개발자와 사용자간에 표준화된 의사소통 방식 필요

      - 자기 자신, 동료, 고객들과의 의사소통 – 자신의 이해가 다른 사람과 일치하는지 확인하기 위한

        방법(1994, 부치, 럼바, 야콥슨 연구시작 -> 1997 발표)

 

. 정적 다이어그램

구분    
정적
모델링
(정적인부분/
구조모델링)
클래스(Class) Diagram - 시스템 클래스들의 정적 구조를 표현
- 클래스는 객체들의 집합으로 속성(Attribute) 동작(Behavior)으로 구성됨.

컴포넌트(Component)
Diagram
- 코드 컴포넌트(Code component) 바탕을 코드의 물리적 구조를 표현
- 컴포넌트(component)는 논리적 클래스 혹은 클래스 자신의 구현에 대한 정보를 포함함.
- 실질적인 프로그래밍 작업에 사용함.

객체(Object) Diagram - 클래스의 여러 Object 인스턴스(Instance) 나타내는 대신에 실제 클래스를 사용함.
- 클래스 다이어그램에서 2가지 예외를 제외하고 동일 표기법을 사용함.
- Object 이름에 밑줄 표시를 하며, 관계 있는 모든 인스턴스를 표현함.

배치
(Deployment)
Diagram
- 시스템 하드웨어와 소프트웨어간의 물리적 구조를 표현하며, 실질적인 컴퓨터와
  Device간의 관계를 표현하는데 이용함.
  컴포넌트(Component) 사이의 종속성을 표현함.

Composite
Structure
Diagram
- 분류자의 복합 구조를 표현하는 다이어그램
- port, part, connector, Collaboration으로 분류자 내부 구조 표현

Package
Diagram
- 패키지들과 패키지 내부의 요소를 표현
- 클래스, 인터페이스 등 분류자 등을 그룹화하여 보여 주기 위함

Profile
Diagram
profile diagrams are: profile, metaclass, stereotype, extension, reference, profile application.(우리가 프로파일을 말할 때와 같은 의미로 사용)

 

. 동적다이어그램

구분    
동적
모델링
(행위 다이어그램)
활동
(Activity)
- 행위(Activity) 순서적 흐름을 표시함.
- 연산자로 수행된 활동 상황(Activity) 설명키 위해 사용함.

유즈케이스
(Use Case)
- 외부 행위자(Actor) 시스템이 제공하는 여러 개의 Use Case(시스템을 사용
하는 다양한 경우에 연결하여, Use Case 다이어그램은 유즈케이스 뷰를 다룬다.

상태(State) - 클래스의 객체가 가질 있는 모든 가능한 상태를 나타냄.

상호작용 다이어그램(Interaction Diagram) 4개의 다이어그램을 통합한 그룹 /*시퀀스, , , */
- 행동 다이어그램의 서브(하위) 집합인 상호 작용 다이어그램은 모델링되는 시스템에서 사물 간의 제어 데이터의 흐름을 강조함.

순차
(Sequence)
다이어그램
- 여러 객체 사이에 동적인 협력 사항을 표현함.
- 오브젝트(Object) 사이에 메시지를 보내는 순서를 보여주기 위해 사용함.
- 수직선상의 여러 object 구성되어 시간 혹은 순서가 강조되어야 할     경우 이용함.

Communication
Diagram
- UML1.x Collaboration Diagram에서 변경됨
- A communication diagram is an extension of object diagram that shows the objects along with the messages that travel from one to another.
(Example Hotel Reservation)

상호작용 개요
다이어그램(Interaction Overview Diagram)
액티비티 다이어그램과 시퀀스 다이어그램의 혼합된 다이어그램 ★★★
1) 활동 다이어그램과 유사 -> 차이점: 상호작용 개요 다이어그램의 경우는 개별 활동이 중첩된 상호 작용 다이어그램으로 포함할 있는 특징이 있다.
   -> 복잡한 시나리오를 분해하는데에 유리함

Timing Diagram - 시간의 흐름에 따른 상태를 표현
- 가로 시간 표현, 세로 축에 상태로 하여 상태 변화를 나타냄
반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

Class diagram  (0) 2024.04.05
UML의 관계(Relationship)  (0) 2024.04.04
MSA  (0) 2024.04.02
SW Architecture 평가  (0) 2024.04.01
ISO/IEC/IEEE 42010  (1) 2024.03.31
MSA MSA [정의] 대규모 분산 웹 환경에서 응용 소프트웨어를 독립적으로 배치 가능한 서비스 조합으로
설계하는 아키텍쳐
[특징] 사상: 리액티브 시스템 [디자인패턴] observer패턴, circuit breaker 패턴
[구조] 서비스 컴포넌트화(fine grained, loosely coupled), 분산거버넌스(polyglot),
분산데이터(vertical slicing), End point 통합(API GW, Orchestraion),
비즈니스 연계(Cross functional Team)
SPOF 방지 구현을 위해 다수의 API GW 구성가능
API GW, LB, Conway's Law, SOA, DevOps, Docker,
DDD, EDA, Agile
마이크로서비스/모노리틱
토픽 이름 MSA(Micro Service Architecture)
분류 SW > SW Architecture > MSA(Micro Service Architecture)
키워드(암기) API Gateway, Orchestration REST API, Persistent, DevOps,
DDD(Domain Driven Design; 도메인 주도 설계),
Polyglot(폴리글랏): 크로스 플랫폼 적인 데이터 교환를 의미함.
콘웨이의 법칙(Conways Law)
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 마이크로 서비스 아키텍처(Micro Service Architecture) 관리 117 1교시 6

 

I.  MSA(Micro Service Architecture)개요.

 - 하나의 애플리케이션을 여러 개의 작은 마이크로 서비스 단위로 나누어 변경과 조합이 가능하도록 만든 아키텍처

 

II. 개념도 기술요소

 . 개념도( 하나 취사선택)

 

 

OR

 

 

. 구성요소

 

- 대용량 서비스 개발에 적합하게 작은 서비스의 결합을 통해 하나의 응용프로그램을 개발하는 SOA 근간으로 서비스 아키텍처

 

III. 마이크로 서비스 아키텍처와 모놀리식 아키텍처 비교

[추가자료] 마이크로 서비스 아키텍처와 SOA(Service Oriented Architecture) 비교

 

 

[참고] 콘웨이(Conway) 법칙

1967년 프로그래머 멜빈 콘웨이가 제안한 법칙

•시스템 구조는 설계하는 조직의 커뮤니케이션 구조를 닮게 된다.

•모든 시스템은 그 조직의 의사소통 구조와 동일하게 만들어진다(닮는다는 의미임).

•조직의 구조가 시스템 아키텍처 설계에 영향을 줌

반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

UML의 관계(Relationship)  (0) 2024.04.04
UML / Diagram 전체  (0) 2024.04.03
SW Architecture 평가  (0) 2024.04.01
ISO/IEC/IEEE 42010  (1) 2024.03.31
명세기반 테스팅 기법  (0) 2024.03.30

+ Recent posts