1. 개발환경 구축
형상 통제
- 형상 항목의 버전 관리를 위해 변경 여부와 변경 활동을 통제하는 활동
- 형상통제는 형상 항목의 형상 관리를 위해 형상통제위원회(CCB)를 구성하며, 소프트웨어 변경의 요구, 평가, 승인이 이루어진다.
개발 도구의 분류
1. 빌드 도구
- 작성한 코드의 빌드 및 배포를 수행하는 도구
- 각각의 구성요소와 모듈에 대한 의존성 관리를 지원
2. 구현 도구
- 코드의 작성과 디버깅, 수정 등과 같은 작업과 구현소프트웨어가 어떤 프로그래밍 언어로 개발되는지 선택
- 프로그램을 개발할 때 가장 많이 사용되는 도구
3. 테스트 도구
- 코드의 기능 검증과 전체의 품질을 높이기 위해 사용하는 도구
- 코드의 테스트, 테스트에 대한 계획, 수행 및 분석 등의 작업 기능
4. 형상 관리 도구
- 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구
- 프로젝트 진행 시 필수로 포함되는 도구
서버의 종류
1. 웹 서버
- HTTP를 이용한 요청/응답을 처리
- 웹 상의 정적 콘텐츠(CSS, Javascript, Image)를 처리
- Apache 웹 서버, IIS 웹 서버, Google Web Server 등이 존재
2. 웹 애플리케이션 서버
- 동적 콘텐츠(Servlet, JSP)를 처리하기 위해 사용
- Tomcat, Weblogic 등이 존재
3. 데이터베이스 서버
- 데이터의 수집, 저장을 위한 용도로 사용
- MySQL, Oracle, MS-SQL 등이 존재
4. 파일 서버
- 물리 저장장치를 활용한 서버
- 대용량 HDD, SSD 등의 장치가 존재
클라이언트 하드웨어 개발환경
1. 클라이언트 프로그램
- 설치를 통해 사용자와 커뮤니케이션하는 프로그램
- Visual Basic, C#, Delphi 등으로 개발되어 사용
2. 웹 브라우저
- 웹 서비스 형태로 서버에서 웹 애플리케이션 응답 시 브라우저를 통해 사용자와 커뮤니케이션함
- 일반적인 형태의 웹 사이트가 해당
3. 모바일 앱
- 모바일 디바이스에 설치되어 활용되는 애플리케이션
- App Store, Android Market 등을 통해 다운로드 가능
4. 모바일 웹
- 웹 브라우저와 동일한 형태로 모바일상 웹 브라우저를 통해 서비스 제공
- 모바일에 최적화되어 제공되는 웹사이트가 해당
2. 공통 모듈 구현
모듈
- 모듈의 기능적 독립성은 소프트웨어를 구성하는 각 모듈의 기능이 독립됨을 의미함
- 모듈이 하나의 기능만을 수행하고 다른 모듈과의 과도한 상호작용을 배제함으로 이루어진다.
- 모듈 간결합도는 낮게, 응집도는 강하게 만드는 것이 좋음
1. 결합도
- 모듈 내부가 아닌 외부의 모듈과의 연관도, 모듈 간의 상호의존성. 낮을수록 좋음
2. 응집도
- 모듈의 독립성을 나타내는 개념. 높을수록 좋음
응집도 유형
1. 우연적 응집도
- 모듈 내부의 각 구성요소들이 연관이 없을 경우
2. 논리적 응집도
- 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우
3. 시간적 응집도
- 연관된 기능이라기보다는 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우
4. 절차적 응집도
- 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우
5. 통신적 응집도
- 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우
6. 순차적 응집도
- 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우
7. 기능적 응집도
- 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우
위의 7가지 응집도는 아래로 내려갈수록 강해짐(좋아짐)
응집도 : 우논시절 통순기
결합도 유형
1. 내용 결합도
- 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우
2. 공통 결합도
- 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용하는 경우
3. 외부 결합도
- 두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜, 또는 디바이스 인터페이스를 공유할 경우
4. 제어 결합도
- 단순 처리할 대상인 값만 전달되는 게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우
5. 스탬프 결합도
- 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우
6. 자료 결합도
- 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호작용이 일어나는 경우
위의 7가지 결합도는 아래로 내려갈수록 낮아짐(좋아짐)
결합도 : 내공 외제 스자
- 팬 인(Fan in) : 어떤 모듈을 제어하는 모듈의 수
- 팬 아웃(Fan Out) : 어떤 모듈에 의해 제어되는 모듈의 수
3. 서버 프로그램 구현
데이터베이스 객체 종류
1. DAO(Data Access Object)
- 특정 타입의 데이터베이스에 추상 인터페이스를 제공하는 객체로 세부내용 노출 없이 데이터 조작
2. DTO(Data Transfer Object)
- 프로세스 사이에서 데이터를 전송하는 객체로 데이터 저장/회수 외에 다른 기능이 없음
- 간단한 엔티티를 의미하는 작은 객체 기반 클래스
3. VO(Value Object)
- DTO와 달리 고정 클래스를 가짐
4. 배치 프로그램 구현
배치 프로그램
- 사용자와의 상호작용 없이 일련의 작업들을 작업 단위로 묶어 정기적으로 반복 수행하거나 정해진 규칙에 따라 일괄 처리하는 방법
- 대량건의 데이터를 특정 시간에 일괄적으로 처리하는 것이 핵심임
'개발 > 자격증 공부' 카테고리의 다른 글
정보처리기사 오답 정리(14. SW 개발 보안 구현) (0) | 2023.01.10 |
---|---|
정보처리기사 오답 정리(13. SW 개발 보안 설계) (0) | 2023.01.08 |
정보처리기사 오답 정리(11. SQL 응용) (0) | 2023.01.04 |
정보처리기사 오답 정리(10. 인터페이스 구현) (0) | 2023.01.02 |
정보처리기사 오답 정리(9. 내외부 연계 모듈 구현) (0) | 2022.12.31 |