1. 개발환경
1) 구현도구 - Eclipse, Visual Studio Code, IntelliJ등
2) 빌드도구 - Ant, Maven, Gradle 등
3) 테스트도구 - xUnit, Spring Test 등
4) 형상관리도구 - CVS, SVN(Subversion) , Git 등
2. 서버환경구성
1) 웹 서버 : 정적 파일들을 제공하는 웹서버 애플리케이션이 설치되는 하드웨어. ex) Apache, Nginx, IIS
2) 웹 애플리케이션 서버 : 동적 웹서비스 제공하기 위해 WAS와 서비스에 관련된 애플리케이션이 설치되는 하드웨어 ex) Tomcat, JEUS
3. 모듈화 - 소프트웨어를 기능 단위로 분해한 것
1) 모듈 : 프로그램을 기능별로 분할한 논리적인 일부분
※ 모듈화는 독립성이 높아야 하며, 독립성이 높으려면 응집도는 높고 결합도는 낮아야 한다.
2) 결합도 - 내공외제스데(왼쪽부터 결합도가 높음)
- 내용 결합도 - 모듈의 내용을 미리 조사하여 알고 있지 않으면 사용하지 못하는 경우
- 공통 결합도 - 전역변수를 참조하고 갱신하는 경우
- 외부 결합도 - 외부변수를 사용하는 경우
- 제어 결합도 - 제어정보를 파라미터로 넘겨서 일부만 사용하는 경우
- 스탬프 결합도 - 파라미터로 오브젝트나 배열등의 전달을 통해 상호작용이 일어나느경우(자료결합도보다 많은 데이터)
- 자료 결합도 - 파라미터로 변수 전달을 통해서 상호작용이 일어나는 경우
3) 응집도 - 기순통절시논우(왼쪽부터 응집도가 높음)
- 기능적 응집도 - 모든 기능이 단일한 목적을 위해 수행되는 경우
- 순차적 응집도 - 한 활동으로부터 나온 출력값을 다른 활동의 입력값으로 활용하는 경우
- 통신적 응집도 - 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 기능들이 모여있는 경우
- 절차적 응집도 - 다수의 관련 기능을 가질 때 모듈의 구성요소들이 그 기능을 순차적으로 수행하는 경우
- 시간적 응집도 - 특정 시간에 처리되어야 하는 활동들을 하나에 모아놓은 경우
- 논리적 응집도 - 유사한 성격을 갖거나 특정 형태로 분류되는 처리요소들이 모인 경우
- 우연적 응집도 - 요소드링 서로 관계 없는 것들이 모인 경우
4) 구조도 - 모듈간의 인터페이스를 계층구조로 표현한 도형, 사각형은 모듈, 백색원의 화살표는 자료의 이동
5) 팬인 : 특정 모듈을 직접 제어하는 모듈의 수
6) 팬아웃 : 한 모듈에 의해 직접 제어되는 모듈의 수
7) HIPO
- 하향식 개발 기법
- 가시적 도표, 총괄도표, 세부도표로 구성됨
8) N-S Chart
- Box Diagram 이라고도 불림
- 화살표나 GOTO문을 사용하지 않음
4. 프레임워크 - 소프트웨어의 구체적 기능 일부분의 설계와 구현을 재사용 할 수 있도록 제공하는 소프트웨어 환경
1) 프레임워크의 특징 - 모듈화, 재사용성, 확장성, 제어의 역흐름
2) DAO - 특정 데이터 조작 기능을 제공
3) DTO - 프로세스 사이에서 데이터를 전송하는 객체
4) VO - getter 기능만 제공하는 불변 클래스를 만들어서 사용
5) JAVA 시큐어 코딩 - 임력 데이터 검증 및 표현
6) 프레임워크 종류 : Spring, Node.js, Django
5. 소프트웨어 테스트
1) 개발자는 자신이 개발한 프로그램 및 소스 코드를 테스팅하지 않음
2) 낚시의 법칙 : 경험적으로 자주 오류가 발생하는 부분을 집어내는 것
3) 파레토 법칙 : 전체 결함의 80%는 소프트웨어 전체 기능중 20%에 집중되어있다.
4) 살충제 패러독스 : 동일한 테스트 케이스를 반복하면 더이상 새로운 결함을 발견할 수 없음
6. 배치프로그램 - 일련의 작업들을 작업 단위로 묶어 정기적으로 반복 수행하거나 정해진 규칙에 따라 일과렂ㄱ으로 처리하는 것
1) 배치 스케줄러 - 일괄 처리를 위해 주기적으로 발생하거나 반복적으로 발생하는 작업을 지원하는 도구
'자격증 > 정보처리기사' 카테고리의 다른 글
| Part3. 통합구현 (0) | 2023.06.19 |
|---|---|
| Part2. 데이터 입출력 구현 - 정규화와 데이터 조작 프로시저 (0) | 2023.06.16 |
| Part2. 데이터 입출력 구현 - 데이터 저장소 (0) | 2023.06.14 |
| Part1. 요구사항확인 - 요구사항확인(2) (0) | 2023.06.10 |
| Part1. 요구사항확인 - 요구사항확인(1) (1) | 2023.06.10 |