6과목 서버 프로그램 구현

YunGyu Choi·2023년 4월 25일
0

정보처리기사

목록 보기
6/10

1. 개발환경 구축

1) 개발도구의 분류

  • 구현 도구 : 개발자의 코드 작성과 디버깅, 수정 등과 같은 작업 지원, 프로그램 개발 시 가장 많이 사용
  • 테스트 도구 : 코드의 기능 검증과 전체 품질 향상을 위한 도구, 코드 테스트, 테스트 계획, 수행 및 분석 가능
  • 형상관리 도구 : 개발자등이 작성한 ㄷ코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구
  • 빌드 도구 : 작성한 코드의 빌드 및 배포를 수행하는 도구

2) 형상 관리

  • 공유 폴더 방식 : 매일 개발이 완료된 파일은 약속된 공유폴더에 복사하는 방식
  • 클라이언트-서버 방식 : 중앙에 버전관리 시스템을 항시 동작, 서로 다른 개발자가 같은 파일 작업 시 경고 메시지 출력
  • 분산저장소 방식 : 로컬 저장소와 원격 저장소로 분리되어 분산 저장하는 방식

2. 공통 모듈 구현

모듈 : 그 자체로 하나의 기능을 수행할 수 있는 독립된 실체

공통화 모듈 : 전체 프로그램 기능 중 특정 기능을 처리할 수 있는 실행 코드, 다른 프로그램에서 재사용 가능, 모듈간의 결합도는 줄이고, 응집도는 높인 공통모듈 구현이 권장됨

1) 응집도 : 모듈의 독립성을 나타내는 정도, 모듈 내부 구성요소 간 연관 정도, 하나의 모듈이 하나의 기능을 수행할수록 응집도가 높음

  • 우연적 응집도 : 모듈 내부 각 구서용소가 연관이 없는 경우
  • 논리적 응집도 : 유사한 성격을 갖거나 특정 형태로 분류되는 처리요소들이 한 모듈에서 처리되는 경우
  • 시간적 응집도 : 연간된 기능이라기 보다 특정 시간에 처리되어야 하는 활동을 한 모듈에서 처리하는 경우
  • 절차적 응집도 : 다수 관련 기능을 가질 때 구성요소들이 기능을 순차적으로 수행하는 경우
  • 통신적 교환적 응집도 : 동일한 입/출력으로 다른 기능을 순차적으로 수행하는 경우
  • 순차적 응집도 : 모듈 내에서 한 활동으로 부터 나온 값을 다른 활동이 사용하는 경우
  • 기능적 응집도 : 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우

2) 결합도 : 모듈 내부가 아닌 외부 모듈과의 연관도 또는 모듈간의 상호 의존성, 소프트웨어 구조에서 모듈간의 관련성을 측정하는 척도

  • 내용 결합도 : 다른 모듈 내부의 변수, 기능을 사용하는 경우
  • 공통 결합도 : 공유되는 공통 데이터 영역을 여러 모듈이 사용하는 경우
  • 외부 결합도 : 두 개의 모듈이 외부에서 도입된 데이터 포맷, 포로토콜 등을 공유할 경우
  • 제어 결합도 : 어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로 제어신호를 이용해 통신하는 경우
  • 스탬프 결합도 : 모듈 간의 인터페이스로 배열이나, 객체, 구조 등이 전다로디는 경우,
  • 자료 결합도 : 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈간 상호작용이 일어나는 경우

3. 공통모듈 구현 절차

1) DTO : 프로세스 사이에서 데이터를 전송하는 객체로 데이터 저장, 회수 기능만 있는 객체
2) VO : 가변 클래스인 DTO와 달리 고정 클래스를 가지는 객체
3) DAO : 특정 타입의 데이터베이스에 추상 인터페이스를 제공하는 객체, 세부 내용 노출 없이 데이터 조작
4) Service : 사용자의 요청을 처리하는 기능을 제공하기 위한 로직을 구현하고 DAO클래스를 통해서 DB연동 처리 기능 수행

profile
velog에는 이론을 주로 정리하고, 코드와 관련된 것은 Git-hub로 관리하고 있어요. 포트폴리오는 링크된 Yun Lab 홈페이지를 참고해주시면 감사하겠습니다!

0개의 댓글