728x90
- UML(Unified Modeling Language, 통합 모델링 언어): 요구 분석, 시스템 설계, 시스템 구현 등의 개발 과정에서 개발자 간 의사소통을 원할하게 이루어지게 하기 위하여 표준화한 범용 모델링 언어.
- 구성요소: thing, relationship, diagrams
- 코드의 전체적인 구조를 이해하는 데 도움
- knowledge sharing/transfer에 긍정적
- 많이 사용되는 UML diagrams
- Class diagram: class들의 타입, 내용, 관계를 표시함으로써 시스템의 구조를 기술. Java나 C++같은 객체지향 프로그래밍 언어가 사용하는 경우 상속 등 객체간의 관계를 분석
- Sequence diagram: 시나리오 기능을 수행하는데 필수적인 객체들 간의 교환되는 일련의 메시지와 시나리오에 수반되는 객체와 클래스를 표현. loop, alt, opt 등으로 상황 표시
- State machine diagram: states, initial/final states, transition, state actions 등
- Activity diagram: 시스템의 단계별 작업흐름을 그림으로 표현
- Component diagram: 컴포넌트들이 선으로 연결되어 더 큰 컴포넌트나 시스템 구성을 보여줌, 복잡한 시스
템 구조를 묘사하기 위해 사용됨 - Depolyment diagram: 시스템의 물리적 구조(실행 구조)를 모델링
- Timing diagram: 주요 목적이 시간에 대한 추론일 때의 상호작용을 보여줌
- Use case diagram: 사용자-시스템 간 상호작용의 표현으로 시스템에서 제공해야 하는 기능이나 서비스 등 요구사항을 명세한 다이어그램. 시스템의 상위 기능과 scope 묘사
- UML model에서의 defect 발견
- 메소드가 sequence diagram을 호출하지 않음
- 클래스가 sequence diagram에서 발생하지 않음
- 메세지가 메소드에 대응하지 않음, 메소드가 없는 클래스, 이름이 없는 객체 등
- UseCase Diagram: 시스템과 사용자간의 일련의 (high-level) 상호작용을 다이어그램으로 표현한 것. 사용자 관점에서 시스템을 모델링하는 것이 목적.
- 구성요소: actor(사람, 시스템, 시스템과 상호작용하는 hw), usecase(수행작업), relation
- UseCase Scenario(=description): usecase이름, actor 이름, 개요, precondition&postcondition, basic(기본 작동 순서), alt(예외상황) 등을 작성
- Non-Functional Requirements(NFR): 비기능적 요구사항
- 소프트웨어 품질과 밀접한 관계
- 효율성, 기능성(보안성, 안전성), 신뢰성, 사용성, 유지보수성 등
'대학공부 > 소프트웨어공학' 카테고리의 다른 글
SPI, CMMI, 기타 용어 (0) | 2023.10.06 |
---|---|
Formal Methods 정형 기법 (0) | 2023.10.06 |
Inspection (0) | 2023.10.06 |
Requirements Engineering(요구공학) (0) | 2023.10.06 |
소프트웨어공학이란? (0) | 2023.10.06 |