유니온 프로젝트 명세서

7
2013011073 박동진 ksp5846pm.tistory.com 유니온 프로젝트 명세서 Email: [email protected]

Transcript of 유니온 프로젝트 명세서

Page 1: 유니온 프로젝트 명세서

2013011073 박동진

ksp5846pm.tistory.com

sss

ssssss

유니온 프로젝트 명세서

Email: [email protected]

Page 2: 유니온 프로젝트 명세서

-1-

A. 프로젝트 목표

기존 학사관리시스템보다 웹 접근성을 높인 스프링 프레임워크를 활용한 자바 어플리케이션

오픈소스를 적극 활용 생산성과 SW품질을 보증한다

Git을 통해 효율적으로 프로젝트 일정과 소스코드를 관리한다

B. 프로젝트 구성요소와 도구

1. 사용된 프로그램

서버 Tomcat 7(Servlet Container)

DBMS(In Guest Machine) Oracle 11gR2 Enterprise

IDE STS

DB tool SQL Developer, SQL Data Modeler

Guest Machine VMware Player Oracle Linux 6.5 x64

Java Compiler Oracle JDK 1.7 SE

SCM(소스 코드 관리) Git(Bitbuck)

Front-end Design tool Chrome 개발자 도구

Buildtool Gradle(의존성관리 및 유닛 테스트)

2. 테스트환경

서버 Tomcat 7 In STS(Embeded) x64

DBMS(In Guest Machine) Oracle 11gR2 Enterprise x64

Host OS Window 8.1 Pro K x64

Guest Machine VMware Player Oracle Linux 6.5 x64

JRE Oracle 1.7 SE x64

3. 배포환경

Host OS Windows Server 2008 R2 x86

서버 Tomcat 7 x86

DBMS(In Guest Machine) Oracle 11gR2 Enterprise x64

Guest Machine VMware Player Oracle Linux 6.5 x64

JRE Oracle 1.6 SE x86

Page 3: 유니온 프로젝트 명세서

-2-

4. Front-end Library

Bootstrap 3.1 CSS3 미디어쿼리 활용한 반응형 웹 및 콤포넌트

Jquery 1.11.1 자바스크립트 로우 레벨 필수 라이브러리

jquery-timepicker 시간 입력 콤포넌트

Kalendae 달력UI를 통해 날짜 선택 콤포넌트

bootstrap-calendar 스케줄링 서비스를 위한 달력 콤포넌트

Font Awesome 아이콘 CDN 서비스

Summernote 반응형 웹 에디터

5. Back-end Library

Spring Context IoC, DI 스프링 핵심 코어

Spring Web MVC Web MVC 패턴 구현을 위한 라이브러리

Mybatis 기존 JDBC보다 편하고 진보된 라이브러리

Spring Security 권한, 세션 등의 강력한 보안기능

JSOUP JAVA용 HTML DOM파싱 라이브러리(XSS 방어용)

Jackson JAVA용 JSON 라이브러리

Log4j & Slf4j 로깅프레임워크

Ojdbc6 11g Oracle 용 JDBC

commons-fileupload Apache 공통 파일업로드 라이브러리

mybatis-spring Spring과 Mybatis간 연동

C. UI(Front-end)

HTML5 + CSS3를 활용 웹 접근성을 향상 디바이스별 서비스 제약이 없다.

다양한 컴포넌트를 활용 생산성향상

가로 772px 이하면 모바일 UI로 바뀐다

Page 4: 유니온 프로젝트 명세서

-3-

1. Desktop 디자인

설계도면

구현 디자인

Page 5: 유니온 프로젝트 명세서

-4-

2. Mobile 디자인(772px 이하)

설계도면

구현 디자인

Page 6: 유니온 프로젝트 명세서

-5-

D. Server(Back-end)

부하를 줄이려면 JVM GC(쓰레기 객체)를 줄여야한다. 때문에 new 키워드를 통해 매번 인스턴스를 생성

하지않고 DB에 넣기전 임시로 쓰는 Collection 같은경우 스프링 빈에 등록하여 사용한다.

같은 계정이 로그인하면 기존 세션은 파괴된다.

http세션은 부하가 심하기 때문에 아이디, 권한, 닉네임만 저장한다.

로그인에러, 권한에러 같은 특수한 페이지를 제외하고 모든 URL과 웹페이지는 권한별로 접근 제한된다.

부하 감소를 위해 문자열, 날짜, 시간 간의 파싱 작업은 모두 DBMS에 일임한다.

Page 7: 유니온 프로젝트 명세서

-6-

E. DB Schema

인덱스를 활용 조회속도를 높인다 또한 인덱스만 저장하는 테이블 스페이스를 할당한다

어플리케이션용 계정을 만들고 테이블스페이스를 개별할당한다

DB부하를 대비 제약조건은 최대한 자제하고 http세션을 활용 어플리케이션 계층에서 자바코드로 해

결한다

1. ERD