728x90

DBMS 커낵션

- DBMS에 접근하는 것

 

JDBC Java Database Connectivity

- Java를 이용한 DB 접속 및 SQL 표준 API

- 접속하는 DBMS 드라이버 필요

 

ODBC Open DataBase Connectivity

- 개발 언어 관계 없이 사용

- 인터페이스를 몰라도 ODBC 드라이버 관리자가 알아서 연결

 

MyBatis

- JDBC를 단순화 한 SQL Mapping 오픈 소스 커낵션 프레임워크

- SQL 문장을 분리, XML 작성, 맵핑하여 SQL 실행

 

Dynamic SQL

- SQL문에 변수 대입하여 동적으로 사용 가능

 

사용자 <-> 웹 응용프로그램 <-> 웹 응용 시스템 <-> DBMS

                                         ( 웹서버 <-> AWS)

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

연계  (0) 2020.05.14
웹 서버와 배치  (0) 2020.05.14
모듈  (0) 2020.05.14
개발환경  (0) 2020.05.14
SW 설치 매뉴얼  (0) 2020.05.14
728x90

모듈

- 시스템의 기능, 서브루틴, 작업단위, 서브시스템 등

- 개별 컴파일 및 재사용 가능

 

모듈 결합도

- 모듈 간 의존 정도 또는 연관 관계

- 자료, 스탬프, 제어, 외부, 공통, 내용 

 약함 ---------결합도-----------강함

 

모듈 응집도

- 기능적, 순차적, 교환적, 절차적, 시간적, 논리적, 우연적 응집도

  강함 --------------------------응집도 -------------------------약함

 

 

공통 모듈

- 공통으로 사용가능한 모듈

 

재사용

- 이미 있는 기능을 현재 개발에 적합하도록 최적화해서 사용

 

효율적인 모듈 설계

- 결합도 줄이고, 응집도는 높임

- 복잡도와 중복성을 줄임

- 유지보수 용이해야함

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

웹 서버와 배치  (0) 2020.05.14
DBMS 커낵션  (0) 2020.05.14
개발환경  (0) 2020.05.14
SW 설치 매뉴얼  (0) 2020.05.14
SW 사용자 매뉴얼  (0) 2020.05.14
728x90

개발 환경

- HW/SW 성능, 라이센스 등 고려하여 결정

 

하드웨어 환경

- 클라이언트, 서버로 이루어짐

- 웹서버 : 정적 웹 페이지 제공

- 웹 어플리케이션 서버 WAS : 동적 서비스 제공

- 데이터베이스 서버 : DBMS 운영

- 파일 서버 : 파일 저장

 

소프트웨어 환경

- 서버/클라이언트 운용 용도의 시스템 소프트웨어와 개발 소프트웨어

- 개발 소프트웨어

 요구사항 관리 도구

 설계 도구 : UML로 개발 과정 모델링. 

 개발 환경 : 프로그래밍 환경 -> vscode, eclipse

 빌드 도구 : 빌드, 배포 -> ant, maven, jenkins

 테스트 도구 : 모듈 테스트 -> junit, cppunit

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

DBMS 커낵션  (0) 2020.05.14
모듈  (0) 2020.05.14
SW 설치 매뉴얼  (0) 2020.05.14
SW 사용자 매뉴얼  (0) 2020.05.14
빌드 자동화 툴  (0) 2020.05.14
728x90

SW 설치 매뉴얼

- 설치 과정 안내

- 전 과정과 예외 사항 정리

- 목차, 개요, 서문, 기본사항 등

 

서문

- 이력, 주석, 설치 도구, 환경 등 정리

 

기본 사항

- 개요 : 기능, UI

- 설치 파일

- 삭제 방법

- 관련 정보

 

작성 순서

1. 기능 정리

2. UI 분류

3. 설치 파일 정리

4. 삭제 절차 정리

5. 특이 케이스 정리

6. 최종 메뉴얼 정리

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

모듈  (0) 2020.05.14
개발환경  (0) 2020.05.14
SW 사용자 매뉴얼  (0) 2020.05.14
빌드 자동화 툴  (0) 2020.05.14
버전 관리  (0) 2020.05.14
728x90

SW 사용자 매뉴얼

- 사용 절차와 환경, 버전과 패치 등 정리

- 독립적 기능 수행 단위인 컴포넌트 단위로 작성

- 목차, 개요, 서문, 기본 사항 등 포함

 

서문

- 버전, 작성자, 작성일, 변경내용 등

- 주석 : 주의/참고 사항

 

기본 사항

- 개요 : 주요 기능과 UI

- 환경 : 최소 사양 및 구동 환경

- 모델, 버전 : 모델/버전 별 특징 차이

- 기능, 인터페이스

 

작성 순서

1. 기능 정리

2. UI 분류

3. 사용자 환경 파일 정리

4. 초기화 과정 정리

5. 이상 캐이스 정리

5. 최종 매뉴얼 작성 : 질의응답 정리 추가

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

개발환경  (0) 2020.05.14
SW 설치 매뉴얼  (0) 2020.05.14
빌드 자동화 툴  (0) 2020.05.14
버전 관리  (0) 2020.05.14
디지털 저작권 관리  (0) 2020.05.14
728x90

빌드

- 소스 코드 컴파일 후 묶어 바이너리 파일로 만듬

 

빌드 자동화 도구

- 빌드, 테스트, 배포를 자동으로하는 도구

- continuous intergration 지속적 통합 개발에 유용함

ex) Ant, Make, Gradle, Jenkins

 

Jenkins

- 자바 기반 자동화 도구

- Git과 같은 버전 관리 도구와 연동 가능

- 웹 환경에서 제공

 

Gradle

- 안드로이드 개발환경서 사용

- 실행 명령들을 태스크로 만들어 태ㅅ크 단위로 실행

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

SW 설치 매뉴얼  (0) 2020.05.14
SW 사용자 매뉴얼  (0) 2020.05.14
버전 관리  (0) 2020.05.14
디지털 저작권 관리  (0) 2020.05.14
소프트웨어 배포와 릴리즈 노트  (0) 2020.05.14
728x90

버전 관리 방법

1. 공유 폴더

2. 클라이언트/서버

3. 분산 저장소

 

공유 폴더 버전 관리

- 특정 컴퓨터의 공유 폴더에서 관리

- 해당 폴더에 개발 파일 공유

- 변경 사항 데이터베이스에 기록

 

 

클라이언트/서버 버전 관리

- 중앙 서버에서 관리

- 서버 자료를 클라이언트로 복사 -> 작업 후 변경 사항 서버에 적용

- CVS, SVN

 

 

분산 저장소

- 버전 관리가 원격 저장소와 로컬 저장소들에서 관리

- 원격 저장소를 로컬로 복사 -> 작업 후 로컬 저장소에 적용 -> 원격 저장소에 적용

- Git

 

CVS Concurrent Version System

- 클라이언트/서버 버전 관리 시스템

 

SVN Subversion

- CVS 개선

- 개발 작업 -> trunk 디렉토리

- 추가 개발 작업 -> branch 디렉터리에서 진행 -> 완료 후 trunk와 merge(병합)

- 커밋 시 리비전 1 증가

 

리비전

- 커밋 버전. 0에서 시작하여 커밋 마다 1 증가

 

SVN 명령어

- add : 새 파일 디렉터리를 관리 대상 등록

- commit : 등록된 클라이언트 파일을 서버에 등록

- checkout : 서버의 버전 관리/소스 파일을 클라이언트로 내려받음

- diff : 이전 리비전과의 차이

- merge : branch 작업 내역을 trunk에 합침

- update : 서버의 최신 커밋 이력을 클라이언트에 적용

 

 

깃 Git

- remote repository와 local repository로 구성

- 로컬 저장소 : 개발자가 실제 개발하는 곳

- 원격 저장소 : 공동으로 관리. 로컬 저장소 작업을 반영시키며, 타인의 작업 내용을 가져올때 사용

- 파일 변화를 스냅샷으로 저장. 버전 흐름 파악 가능

 

깃 명령어

- init : 지역 저장소로 초기화

- remote add : 원격 저장소와 연결

- fetch : 리모트 저장소의 버전 관리 이력을 로컬로 가져옴

- clone : 리모트 저장소 모든 파일과 정보를 로컬로 복사

- fork : 지정한 내용을 로컬로 복사

- add : 버전 관리 파일로 등록 = staging area에 추가

- commit : 작업 내용 로컬에 저장

- push : 리모트 저장소에 로컬 파일, 작업내용 등록

- branch : 브랜치 생성

 

 

 

깃 사용법

1. 계정 설정 : 우선 이름과 메일 등록해야함

git config --global user.name "유저명"

git config --global user.email "이메일"

 

2. 로컬 저장소 생성

- git init 명령어로 버전 관리할 폴더를 로컬 저장소로 초기화

 

3. 버전 관리 파일 등록

- git add .

- 로컬 저장소 내 모든 파일을 스테이징 에리아에 추가(버전 관리)

 

4. 커밋

- git commit -m "메시지"

- 작업 내용 등록

 

5. 브랜치

- git branch 브랜치명 : 새 브랜치 추가

- git checkout 브랜치 명 : 해당 브랜치로 이동

- git merge 브랜치명 : 해당 브랜치를 마스터와 병합

 

6. 리모트 저장소에 저장

- git remote add 원격 저장소주소 : 로컬을 해당 원격저장소에 연결

- git push : 원격 저장소에 버전 관리, 작업 파일들을 적용

 

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

SW 사용자 매뉴얼  (0) 2020.05.14
빌드 자동화 툴  (0) 2020.05.14
디지털 저작권 관리  (0) 2020.05.14
소프트웨어 배포와 릴리즈 노트  (0) 2020.05.14
소프트웨어 패키징  (0) 2020.05.14
728x90

Digital Right Management

- 디지털 컨텐츠 보호 기술

- 패키지 프로그램으로 DRM 패키지 진행

- 저작권자의 라이센스 정보가 클리어링 하우스에 등록

* 클리어링 하우스 clearing house : 디지털 저작권 라이센스 중개, 발급하는 곳

 

DRM 요소

- 인증 : 라이센스 발급 및 사용에 이용되는 인증

- 크랙 방지

- 저작권 표현

- 암호화 파일 생성 패키저

- 키 관리

- 암호화

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

빌드 자동화 툴  (0) 2020.05.14
버전 관리  (0) 2020.05.14
소프트웨어 배포와 릴리즈 노트  (0) 2020.05.14
소프트웨어 패키징  (0) 2020.05.14
운영체제  (0) 2020.05.14
728x90

릴리즈

- 소프트웨어 배포

 

릴리즈 노트

- 릴리즈 정보를 사용자와 공유

- 전체 기능, 내용, 개선 사항 등 정리

 

릴리즈 노트 고려 사항

- 헤더 : 소프트웨어 명, 릴리저 버전/날짜/노트 날짜/노트 버전 등

- 개요, 목적, 수정/개선 사항 : 간략히

- 오류 발생 시 새 릴리즈 버전 배포, 릴리즈 노트 작성

 

작성 순서

1. 모듈 확인

2. 릴리즈 정보 확인 : 릴리즈 노트 관련 정보

3. 릴리즈 노트 개요 : 간략

4. 영향 체크 : 버그나 기능 변화

5. 정식 릴리즈 노트 작성

6. 추가 개선 항목 정리

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

버전 관리  (0) 2020.05.14
디지털 저작권 관리  (0) 2020.05.14
소프트웨어 패키징  (0) 2020.05.14
운영체제  (0) 2020.05.14
데이터 모델  (0) 2020.05.14
728x90

소프트웨어 패키징

- 모듈별 실행파일들을 묶어 배포용 설치 파일 만드는 것

- 사용자 중심

 

패기징 고려 사항

- 사용자의 환경, OS,메모리, CPU 최소 환경

- UI 자료 제공

 

패키징 작업 순서

- 개발 주기가 끝날때마다 패키징

- 결과물 테스트 서버에 배포

1. 기능 식별

2. 모듈화

3. 빌드 진행

4. 사용자 환경 분석

5. 패키징 및 적용 시험

6. 패키징 변경 및 개선

7. 배포

 

주요 배포용 파일 형식

- msi : 윈도우 패키지

- dmg : mac 패키지

- jar : 자바 sw, lib 패키지

- war : 자바 웹어플리캐이션 패키지

- apk : 안드로이드 앱 패키지

- ipa : ios 앱 패키지

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

디지털 저작권 관리  (0) 2020.05.14
소프트웨어 배포와 릴리즈 노트  (0) 2020.05.14
운영체제  (0) 2020.05.14
데이터 모델  (0) 2020.05.14
요구사항 1  (0) 2020.05.14

+ Recent posts