1) UML(Unified Modeling Language)
1
2
3
4
| ✔️ 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어로 소프트웨어 개념을 다이어그램으로 그리기 위해 사용하는 시각적인 표기법
✔️ UML 정의 : 시스템을 만들기 전에 모델을 만드는 과정
✔️ UML의 필요성 : 소프트웨어 시스템을 만들기 위해서 어휘와 규칙을 두어 시스템을 개념적/물리적으로 표현하는 모델이 필요
|
2) 유스케이스 다이어그램(Usecase Diagram)
1
| ✔️ Actor와 시스템이 수행하는 활동간의 관계를 표시하며, 시스템의 기능적인 요구사항을 설명하기 위한 도구
|
- [유스케이스 다이어그램 관계]
연관 관계 : 액터와 유스케이스 간의 상호작용 관계
포함 관계 : 유스케이스를 실행하기 위하여 반드시 선행 실행되어야 하는 유스케이스와의 관계
확장 관계 : 유스케이스를 실행함으로써 선택적으로 실행되는 유스케이스와의 관계
일반화 관계 : 유사한 유스케이스 또는 액터들을 모아 그들을 추상화하여 유스케이스 / 액터를 연결시켜 그룹핑한 것
3) 클래스 다이어그램(Class Diagram)
1
2
| ✔️ 정적(구조) 다이어그램으로 UML모델링에서 가장 일반적으로 사용됨
✔️ 시스템의 구조와 구조 간 상호 관계를 나타내며 시스템의 논리적 및 물리적 구성요소 설계시 주로 활용
|
1
2
3
4
| [클래스 다이어그램 관계]
✔️ 의존 관계 : 클래스간의 지역변수에서 참조하는 관계를 의미한다
✔️ 일반화 관계 : 부모 클래스 - 자식 클래스 상속 관계
✔️ 실체화 관계 : 부모 인터페이스 - 자식 클래스 상속 관계
|
다중성표기 | 의미 |
---|
1 | 엄밀하게1 |
*혹은0.. | 0또는 그 이상 |
1..* | 1 또는 그 이상 |
0..1 | 0 또는 1 |
1,2,6 | 1 또는 2 또는 6 |
4) 시퀀스 다이어그램(Sequence Diagram)
- 동적(행위) 다이어그램으로 상호작용 다이어그램의 일부분이며 시스템 내부에서 동작하는 객체들 사이의 주고 받는 메시지를 시간 순서에 따라 표현하는 도구이다
1
2
3
4
5
6
| [시퀀스 다이어그램 구성]
✔️ 객체 : 객체는 위쪽의 사각형 박스 안에 밑줄 친 이름으로 표시하여, 아래쪽으로 생명선을 가지고 있다.
✔️ 생명선 : 객체에서 아래로 뻗어 나가는 연쇄선을 의미하며 시간의 흐름에 따라 발생하는 이벤트를 표시한다.
✔️ 실행 : 이벤트로 인해 객체의 오퍼레이션이 실행되고 있음을 나타내며 직사각형(활성화 막대)으로 표시하며, 직사각형이 길수록 수행 시간이 길다는 의미를 가진다
✔️ 메시지 : 객체 간 상호 작용은 메시지 교환으로 이루어지며, 다른 객체로 메시지를 전달하여
전달받은 객체의 오퍼레이션을 수행한다. 시간 수행 순서는 위에서 아래로 표시한다
|
1
2
| [동적 다이어그램의 종류]
시퀀스 다이어그램 / 커뮤니케이션 다이어그램 / 인터랙션 오버뷰 다이어그램 / 스테이트 다이어그램 / 타이밍 다이어그램
|
5) DB, DBMS, JDBC, Web Server, WAS(Web Application Server)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| ✔️ DB
한 조직에 필요한 정보를 여러 응용 시스템에서 공용할 수 있도록 논리적으로 연관된 데이터를 모으고 중복되는 데이터를 최소화하여 구조적으로 통합/저장해 놓은 것
✔️ DBMS(DB Management System)
DB에서 데이터를 추출, 조작, 정의, 제어 등을 할 수 있게 해주는 DB 전용 관리 프로그램
✔️ JDBC
자바 언어에서 DB에 접근할 수 있게 해주는 Programming API. (java.sql 패키지)
JAVA - DBMS 연동에 필요한 메소드를 Connection 인터페이스를 통해 제공
✔️ Web Server
웹 브라우저의 요청을 받아 html 파일이나 이미지, 자바스크립트의 정적인 콘텐츠를 제공
ex) Apache Web Server
✔️ WAS(Web Application Server)
서버단(Server Level)에서 애플리케이션이 동작할 수 있는 환경을 제공하고, 안정적인 트랜잭션 처리 및 관리, 다른 시스템 간의 애플리케이션 연동을 지원하는 동적 서버 콘텐츠를 수행, 제공
ex) Tomcat
|
6) MVC Model1 패턴
1
2
3
4
5
6
7
| ✔️ JSP에서 로직과 출력을 처리하는 패턴으로 요청 시 JSP에서 비즈니스 로직을 직접 처리하고 그 결과를 바로 클라이언트에게 출력(응답)함
✔️ 장점 : 구조가 단순하고 JSP 페이지 하나에 작성하기 때문에 구현이 쉽다
✔️ 단점 :
1) 비즈니스 로직과 출력을 위한 VIEW가 하나로 합쳐저 있어 JSP가 복잡해짐
2) 프론트엔드와 백엔드 코드가 같이 작성되기 때문에 협업에 좋지 않음
|
) MVC Model2 패턴
1
2
3
4
5
6
7
8
9
10
| ✔️ 역할 별 작업이 가능하도록 분담하는 설계 패턴
Model은 비즈니스 로직 (Service, DAO, VO).
View는 클라이언트의 요청과 요청한 정보의 응답 결과를 보여주는 화면(JSP, HTML)
Controller는 클라이언트의 요청을 받아 응답처리를 위한 Service를 호출하고 결과를 View에 전송
✔️ 장점 :
1) View, Controller가 분리되어 있어 구현이 쉬움
2) 각 레이어가 독립적으로 구성되어 있어 개발 및 유지 보수에 좋음
✔️ 단점 : 초기 구조 설계 단계에서 많은 시간이 걸림
|