Class Diagram? 클래스 다이어그램이란 클래스 내부 구성요소 또는 클래스 간의 관계를 도식화한 것이다. 이로써 시스템의 특정 모듈, 일부 및 전체를 구조화한다. 클래스 간의 의존성을 파악할 수 있다. 클래스 클래스 다이어그램은 세로로 이름/속성/메소드 순으로 나열된다. 각 속성은 접근제어자 이름:자료형 으로 나타나고, 그 뒤로 추가 속성 (readonly 등) 을 더한다. 추가 정보 + public - private # protected ~ default {readonly} final underline static [ X ] 변수에 지정된 사이즈, X가 *이면 정해지지 않음. [0..1] 의 경우 0개거나 1개이다. 메소드는 접근제어자 메소드명(파라미터타입): 반환타입 으로 나타낸다. 추상 클래..
분류 전체보기
Sequence Diagram? Interaction Diagram에는 커뮤니케이션 다이어그램과 시퀀스 다이어그램이 있었다. 커뮤니케이션 다이어그램과 달리, 시간의 흐름에 집중한다. 시간은 위에서부터 아래로 진행하며, 개체 사이를 선으로 연결하여 메시지를 표현한다. 점선은 생명선이라 부르고, 네모는 작동중인 상태를 뜻한다. Register 객체는 doX 메시지를 받았다면 Sale 객체에게 doA 메시지를 보낸다. Sale 객체가 doA에 대한 작업이 완료됐다면 doB 메시지를 보내고 이어서 doC메시지를 보낸다. Sale 객체는 doC에 대한 작업을 하는동안 Register에게 doD라는 메시지를 보낸다. 이 때, Register는 doD에 대한 작업을 추가로 하게된다. 반환은 점선으로 표현한다. doX..
Interaction Diagram? 인터랙션(동적) 다이어그램은 객체가 통신하는 방법과 같은 동적 측면에서 다이어그램을 그린다. 이러한 다이어그램은 커뮤니케이션 다이어그램과 시퀀스 다이어그램이 있다. Communication Diagram? 커뮤니케이션 다이어그램이란, 객체간의 상호작용에 중점을 둔 다이어그램이다. 다시 말해, 공간에 집중한다. 클래스/객체 표현 클래스는 그냥 이름만 적는다. 익명 객체는 이름 앞에 " : "을 붙인다. 이름이 붙은 객체는 이름 앞에 이름과 클론을 붙인다. Link Link란, association과 같은 개념으로 실선으로 나타낸다. Car는 클래스로, 1개 이상의 Driver 클래스와 연관되어 있다. ferarri:Car는 ferrari라는 이름의 객체로 tom 객체와..
Domain Model? 개발해야하는 도메인의 개념 클래스 또는 실제 객체들을 시각적으로 표현한 것이다. 도메인 모델은 소프트웨어 클래스나 객체 따위를 나타내는 것이 아닌 실제 세계의 개념 클래스의 표현이다. 네모박스로 도메인 모델 혹은 객체를 나타내고, 네모 아래에 객체의 속성을 적는다. 각 선은 연관 관계를 뜻한다. 위와 같은 도메인 모델이 있다고 할 때, Person과 Company는 인스턴스이다. Works-for는 association name이고, employee와 employer는 role name이다. 또, 1..*은 1개 이상을 뜻하고, *는 0개 이상을 뜻한다. 이를 다중성이라 한다. *, 0..* zero to many 1..* one to many 0..1 zero or one 1 ..
System Sequence Diagram? 이하 SSD는 개발 중인 시스템의 I/O 이벤트 표현에 집중한다. 즉, 외부 액터가 시스템과 상호작용하는 시스템 이벤트 시나리오를 표현하고, 무엇을 하는지만 보여주며 어떻게 하는지는 보여주지 않는다. 인스턴스는 이름 앞에 : 을 붙여서 나타낸다. 액터가 시스템에게 요청할 때는 실선 화살표, 시스템이 액터에게 반환할 때는 점선 화살표를 사용한다. loop를 사용하여 반복 작업을 표현할 수도 있다. 시스템 이벤트 및 관련 이벤트의 작명 규칙은 추상적으로 가장 높은 수준으로 표현되어야 한다. 그리고 add, enter, make 등의 동사를 활용한다.
Use Case Diagram? "액터"와 "시스템"의 상호작용을 표현하는 다이어그램으로, 사용자 시점에서의 시스템 기능과 서비스를 보여준다. 여기서 액터란, 시스템 외부에서 상호작용하는 존재로 사용자가 될 수 있고 외부 시스템이 될 수도 있다. Use Case Diagram의 구성 시스템을 사용하는 액터를 priamary actor, 시스템과 상호작용하는 외부 시스템을 secondary actor라 부른다. secondary actor는 시스템 박스인 scope 밖에 네모를 그리고 를 적어서 표현한다. 시스템 내부에 있는 동그라미, UseCase는 사용자의 요구사항을 구조화한 시스템이 제공해주는 서비스 및 기능이다. 액터와 유스케이스간의 관계는 선으로 표현한다. include 특정 유스케이스가 실행되기..
사용자 인증은 기본적인 접근 제어와 계정 관리의 기본 보안 구성 요소이다. 시스템 엔티티가 신원을 확인하는 과정으로, 식별과 검증 두 단계로 이뤄진다. 사용자 인증 수단으로는 네 가지가 있다. 1. knows: 비밀번호, 핀 등 2. possesses: 키, 토큰, 스마트카드 등 3. is(신체특성): 지문 망막 등 4. 동적 생체 인식: 음성 동작 등 이 방법들은 개별적으로도 사용될 수 있고 병행해서 사용될 수도 있다. 모든 방법은 사용자 인증을 제공할 수 있지만 모두 문제점을 가지고 있다. Authentication Protocols 상호간의 신원을 서로 확신시키고 세션키를 교환하기 위해 사용된다. 단방향 또는 상호적일 수 있다. 주요 이슈는 세션키를 보호하기 위한 기밀성, 재생 공격을 방지하기 위한..
암호키는 안전하고 생성되고 저장하고 분배하고 파기해야한다. 대칭키 암호화의 경우, 당사자들은 공통의 비밀 키를 공유해야 한다. 이 과정에서 키가 노출되어선 안된다. 공개키 암호화의 경우, 공개키는 모두에게 공개될 수 있지만 개인키는 반드시 비밀로 유지되어야 한다. 또, 공개키가 누구의 것인지 확실하게 알 수 있어야 한다. 전달 방법 1. 물리적으로 전달 2. 믿을만한 사용자가 분배 3. 사용중이던 키로 새로운 키를 분배 4. A가 신뢰할 수 있는 제3자 C와 안전한 통신 채널이 있다면, C가 A와 B 사이에서 키 중계 키 계층 세션키 - 한번 쓰고 버림 (temporary) - 세션마다 새로 생성됨 마스터키 - 비교적 오랫동안 사용함. - 키 분배 센터를 통해서 안전하게 전달 키 분배 센터 KDC는 당사..