개발환경 구축
(1) 개발환경 구축의 개념
- 개발환경 구성 시 구현될 시스템 요구사항의 명확한 이해가 필요
- 개발 도구와 서버의 선정이 이루어져야 함. 개발에 사용되는 도구들의 사용 편의성과 성능, 라이선스를 확인
(2)개발 도구의 분류
- 빌드 도구
- 작성한 코드의 빌드 및 배포를 수행하는 도구
- 각각의 구성요소와 모듈에 대한 의존성 관리를 지원
- 구현 도구
- 개발자의 코드 작성과 디버깅, 수정 등과 같은 작업을 지원하는 도구
- 프로그램 개발 시 가장 많이 사용
- 테스트 도구
- 코드의 기능 검증과 전체 품질을 높이기 위해 사용하는 도구
- 코드의 테스트, 테스트에 대한 계획, 수행 및 분석 등의 작업 가능
- 형상 관리 도구
- 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구
- 프로젝트 진행 시 필수로 포함
(3) 개발환경 구성요소
- 서버 하드웨어 개발환경
- 웹 서버
- HTTP 요청/응답 처리
- 웹 상의 정적 콘텐츠를 처리
- WEB-WAS-DB 3계층 구조를 활용
- 주요 제품으로 Apache 웹 서버, IIS 웹 서버 Nginx 등 존재
- 웹 애플리케이션 서버
- 동적 컨텐츠를 처리하기 위해 사용
- 주요 제품으로 Tomcat, Weblogic 등 존재
- 데이터베이스 서버
- 데이터의 수집, 저장을 위한 용도
- MySql, Oracle, MS-SQL 등
- 파일 서버
- 파일 저장 하드웨어로 물리 저장 장치를 활용한 서버
- 대용량 HDD, SSD 등
- 웹 서버
- 클라이언트 하드웨어 개발환경
- 클라이언트 하드웨어 개발환경
- 서버 개발환경에서 제공된 서비스를 사용하기 위해 UI제공
- 클라이언트 프로그램, 웹 브라우저, 모바일 앱, 모바일 웹
- 클라이언트 하드웨어 개발환경
(4) 소프트웨어 개발환경
- 운영체제 (Windows, Unix, Linux)
- 서버의 하드웨어를 사용자 관점에서 편리하고 유용하게 세ㅏ용하기 위한 소프트웨어
- 프로젝트의 성격에 따른 운영체제 사용
- 미들웨어 (Tomcat, Weblogic)
- 컴퓨터와 컴퓨터 간의 연결을 쉽고 안전하게 하며 이에 대한 관리를 보조
- 자바 기반 환경에서 JVM을 설치하여 컨테이너로의 기능을 주로 이용
- DBMS (MySql, Oracle, MS-SQL)
- 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성, 데이터베이스를 관리
- 데이터의 저장 및 활용을 위해 DBMS설치
(5) 형상 관리
- 형상 관리의 개념
- 소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경 사항을 관리하기 위한 활동
- 형상 관리의 목적
- 프로젝트 생명주기 동안 제품의 무결성과 변경에 대한 추적성을 확보
- 형상 관리의 절차
- 형상 식별: 형상 관리 대상을 정의 및 식별하는 활동
- 형상 통제: 형상 항목의 버전 관리를 위한 형상통제위원회 운영
- 형상 감사: 소프트웨어 베이스라인의 무결성 평가
- 형상 기록: 소프트웨어 형상 및 변경관리에 대한 각종 수행결과를 기록
- 형상 관리 도구 유형
- 공유 폴더 방식(RCS, SCCS), 클라이언트/서버 방식(CVS, SVN), 분산 저장소 방식(GIT)
유형 | 설명 |
우연적 응집도 | 모듈 내부의 각 구성요소가 여관이 없을 경우의 응집도 |
논리적 응집도 | 유사한 성격을 갖거나 특정 형태로 뷴로되는 처리 요소들이 한 모듈에서 처리되는 경우의 응집도 |
시간적 응집도 | 연관된 기능이라기보다 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우의 응집도 |
절차적 응집도 | 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우의 응집도 |
통신적 응집도 | 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우의 응집도 |
순차적 응집도 | 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우의 응집도 |
기능적 응집도 | 모듈 내부의 모든 기능이 단일한 목적으로 수행되는 경우의 응집도 |
공통 모듈구현
(6) 재사용
- 재사용의 개념
- 재사용은 목표 시스템의 개발 시간 및 비용 절감을 위하여 검증된 기능을 파악하고 재구성하여 시스템에 응용하기 위한 최적화 작업
- 재사용은 이미 개발되어 그 기능, 성능 및 품질을 인정받았던 소프트웨어의 전체 또는 일부분을 다시 사용하는 기법
- 재사용의 종류
- 함수와 객체 재사용, 컴포넌트 재사용, 애플리케이션 재사용
(7) 공통 모듈 구현의 개념
- 모듈의 개념
- 모듈은 그 자체로 하나의 완전한 기능을 수행할 수 있는 독립된 실체
- 모듈화를 통해 분리된 시스템의 각 기능들로 서브 프로그램, 작업 단위 등과 같은 의미로 사용
- 모듈의 특징
- 각각의 모듈은 상대적으로 독립성을 가지고 있음
- 모듈 내부에는 그 모듈을 하나로 통합하는 수 많은 조합이 존재
- 모듈은 단독으로 컴파일 가능하며, 재사용 가능
(8) 소프트웨어 모듈 응집도
- 응집도의 개념
- 응집도는 모듈의 독립성을 나타내는 정도로, 모듈 내부 구성요소 간 연관 정도
- 하나의 모듈은 하나의 기능을 수행할수록 응집도가 높음
- 응집도의 유형
!!!!테이블!!!!!!
(9) 스프트웨어 모듈 결합도
- 결합도의 개념
- 모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈 간의 상호의존성
- 소프트웨어 구조에서 모듈 간의 관련성을 측정하는 척도
- 결합도의 유형
유형 | 설명 |
내용 결합도 | - 다른 모듈 내부에 있는 변수나 기능을 사용 - 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합도 |
공통 결합도 | - 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신 - 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도 |
외부 결합도 | - 두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜, 또는 디바이스 인터페이스를 공유할 경우의 결합도 - 외부 모듈에서 선언한 데이터를 외부의 다른 모듈에서 참조할 때의 결합도 |
제어 결합도 | - 어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로 제어신호를 이용하여 통신하는 경우의 결합도 - 하위 모듈에서 상위 모듈로 제어 신호가 이동하여 상위 모듈에게 처리 명령을 부여하는 권리 전도 현상이 발생하는 결합도 |
스탬프 결합도 | - 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도 - 두 모듈이 동일한 자료 구조를 조회하는 경우의 결합도 |
자료 결합도 | - 한 모듈의 내용을 변경하더라도 다른 모듈에는 영향을 미치지 않는 상태로 가장 바랍직한 결합도 - 모듈 간의 인터페이스로 전달되는 파라미터로만 모듈 간의 상호 작용이 일어나는 결합도 |
배치 프로그램
(10) 배치프로그램의 개념
- 사용자와의 상호 작용 없이 일련의 작업들을 작업 단위로 묶어 정기적으로 반복 수행하거나 정해진 규칙에 따라 일괄 처리하는 방법
'정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] 7. 애플리케이션 테스트 케이스 관리 (0) | 2024.04.08 |
---|---|
[정보처리기사 실기] 6. 소프트웨어 개발 보안 설계 (1) | 2024.04.06 |
[정보처리기사 실기] 4. 통합 구현 (0) | 2024.03.17 |
[정보처리기사 실기] 3. 데이터 입출력 구현 (0) | 2024.03.17 |
[정보처리기사 실기] 2. 화면 설계 (0) | 2024.03.12 |