정보처리기사 공부

<실기> 서버 프로그램 구현

0_TLS 2025. 3. 13. 09:28

 

개발 환경 구축

개발 도구(빌구테형) : 빌드 도구, 구현 도구, 테스트 도구, 형상 관리 도구

 

서버 하드웨어 개발 환경

웹 서버, 웹 애플리케이션 서버, 데이터베이스 서버, 파일 서버

  • 웹 서버(Web Server) : HTTP, HTTPS를 통해 웹상의 정적 콘텐츠(css, javascript, image) 처리
  • 웹 애플리케이션 서버(WAS; Web Application Server) : 동적 콘텐츠(servlet, JSP) 처리
    • ex) Tomcat, WebLogic, Jeus, Resin 
  • 데이터베이스 서버(DB Server) : 데이터 수집, 저장을 위한 용도로 사용하는 서버
    • ex) MySql, Oracle, MS-SQL, DB2
  • 파일 서버(File Server) : 파일을 저장하고 관리하기 위한 서버. 대용량 HDD, SSD 등

 

형상 관리

목적 : 프로젝트 생명주기 동안 제품의 무결성과 변경에 대한 추적성을 확보

절차 : 형상식별 - 형상통제- 형상감사 - 형상기록(식통감기)

 

형상통제위원회(CCB; Chage Control Board) : 형상관리의 중요한 변경사항을 검토하고 승인

 

형상 관리 도구

  • 공유 폴더 방식(RCS, SCCS) : 개발이 완료된 파일을 미리 약속된 위치의 공유 폴더에 복사
  • 클라이언트/서버 방식(CVS, SVN) : 중앙에 버전 관리 시스템을 항시 동작
  • 분산 저장소 방식(GIT) : 로컬 저장소와 원격 저장소로 분리

RCS(Revision Control System) 

수정을 한 사람만으로 제한. 

 

CVS(Concurrent Versions System)

중앙 집중형 서버를 두고 클라이언트가 접속해서 버전관리.

- 텍스트 파일만 지원

 

SVN(Subversion)

중앙 집중형 클라이언트-서버 방식

- CVS는 텍스트 파일만 가능했지만 SVN은 실행 파일과 같은 바이너리 파일 지원.

- 커밋 실패 시 롤백 가능

 

Git

로컬 저장소와 원격 저장소로 분리되어 분산 저장하는 도구

- 커밋 실패 시 롤백 가능

 

백업 유형

  • 전체 백업(Full Backup) : 백업받고자 하는 데이터 전체에 대해 백업
  • 차등 백업(Differential Backup) : 마지막 전체 백업 이후 변경된 모든 데이터를 백업
  • 증분 백업(Incremental Backup) : 정해진 시간을 기준으로 그 이후에 변경된 파일만 백업

 


모듈 구현

재사용

- 재공학(ReEngineering) : 기존 소프트웨어를 버리지 않고 기능을 개선시키거나 새로운 소프트웨어로 재활용

- 재개발(ReDevelopment) : 기존 시스템 내용을 참조하여 완전히 새로운 시스템을 개발

 

모듈은 결합도는 약하게, 응집도는 높게, 모듈 크기는 작게 만들어야 함.

 

응집도(Cohesion)

모듈의 독립성을 나타내는 정도. 모듈 내부 구성요소 간 연관 정도

높->낮 순서대로 기순통절시논우

기능적 응집도(Functional Cohesion) : 단일한 목적
순차적 응집도(Sequential Cohesion) : 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우
통신적 응집도(Communication Cohesion) : 동일한 입력과 출력 사용
절차적 응집도(Procedual Cohesion) : 순차적으로 수행
시간적 응집도(Temproal Cohesion) : 특정 시간에 처리
논리적 응집도(Logical Cohesion) : 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들
우연적 응집도(Coincidental Cohesion) : 연관이 없을 정도의 응집도

결합도(Coupling)

모듈 내부가 아닌 외부 모듈과의 연관도. 모듈 간의 관련성

낮->높 순서대로 자스제외공내

자료 결합도(Data Coupling) : 파라미터. 한 모듈의 내용을 변경해도 다른 모듈에 영향 x.
스탬프 결합도(Stamp Coupling) : 배열이나 객체, 구조 등 전달
제어 결합도(Control Coupling) : 어떤 모듈이 다른 모듈의 내부 논리 조직을 제어. 하위 모듈에서 상위 모듈로 제어 신호가 이동(권리 전도 현상 발생)
외부 결합도(External Coupling) : 두개의 모듈이 외부에서 도입된 데이터포맷, 통신 프로토콜 등을 공유. 외부에서 선언한 데이터를 외부에서 참조.
공통 결합도(Common Coupling) : 파라미터가 아닌 모듈 밖에서 선언되어 있는 전역변수 참조. 공유되는 공통 데이터 영역을 여러 모듈이 사용
내용 결합도(Content Coupling) : 다른 모듈 내부의 변수나 기능을 또 다른 모듈에서 사용. 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조.

 

 

팬인은 높게, 팬아웃은 낮게 설계해야 함.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'정보처리기사 공부' 카테고리의 다른 글

<실기> 통합 구현  (1) 2025.03.17
<실기> 데이터 입출력 구현  (1) 2025.03.15
<실기> UI 설계  (0) 2025.03.12
<실기> SQL 응용  (1) 2025.03.12
정보시스템 구축관리  (0) 2025.02.05