개발 환경 구축
개발 도구(빌구테형) : 빌드 도구, 구현 도구, 테스트 도구, 형상 관리 도구
서버 하드웨어 개발 환경
웹 서버, 웹 애플리케이션 서버, 데이터베이스 서버, 파일 서버
- 웹 서버(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 |