1. 개발환경 구축
개발 도구
- 빌드 도구, 구현 도구, 테스트 도구, 형상 관리 도구
서버 하드웨어 개발환경
- 웹 서버, 웹 애플리케이션 서버, 데이터베이스 서버, 파일 서버
소프트웨어 개발환경
- 운영체제, 미들웨어, DBMS
형상 관리
- 소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경 사항을 관리하기 위한 활동
- 공유 폴더 방식(RCS, SCCS), 클라이언트/서버 방식(CVS, SVN), 분산 저장소 방식(Git)
2. 공통 모듈 구현
모듈
- 모듈화를 통해 분리된 시스템의 각 기능들, 그 자체로 하나의 완전한 기능을 수행할 수 있는 독립된 실체
- 독립성을 높이기 위해, 결합도는 낮게, 응집도는 강하게, 모듈의 크기는 작게
모듈화
- 소프트웨어의 성능을 향상시키거나, 복잡한 시스템의 수정, 재사용, 유지 관리에 용이 하도록 기능 단위의 모듈로 분해하는 설계 및 구현
- 루틴, 메인 루틴, 서브 루틴
응집도
- 모듈 내부 구성요소 간 연관 정도
- 우연적 < 논리적 < 시간적 < 절차적 < 통신적 < 순차적 < 기능적
결합도
- 모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈 간의 상호의존성
- 내용 < 공통 < 외부 < 제어 < 스탬프 < 자료
MVC 패턴
- Model: 내부 비즈니스 로직을 처리하기 위한 역할, 애플리케이션이 무엇을 하는가
- View: 모델, 컨트롤러가 보여주려고 하는 것들을 화면에 처리, 화면에 무엇을 보여주는가
- Controller: 뷰에 명령을 보내 화면 요청 결과를 전달, 모델이 어떻게 처리할 것인가
팬인 과 팬아웃
- 시스템 복잡도 최적화를 위해, 팬인은 높게, 팬아웃은 낮게
- 팬인: 어떤 모듈을 제어하는 모듈의 수
- 팬아웃: 어떤 모듈에 의해 제어되는 모듈의 수
공통 모듈 테스트
- 화이트박스 테스트, 메서드 기반 테스트, 화면 기반 테스트, 테스트 드라이버 / 테스트 스텁
3. 서버 프로그램 구현
4. 배치 프로그램 구현
배치 프로그램
- 사용자와의 상호작용 없이 일련의 작업들을 작업 단위로 묶어 정기적으로 반복 수행하거나 정해진 규칙에 따라 일괄 처리하는 방법
- 이벤트 배치, 온디맨드 배치, 정기 배치
배치 스케줄러
- 배치 프로세싱을 위해 주기적으로 발생하거나, 반복적으로 발생하는 작업을 지원하는 도구
- 스프링 배치, 쿼츠 스케줄러
Cron 표현식
'Others > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 애플리케이션 테스트 관리 (0) | 2021.07.07 |
---|---|
[정보처리기사] 소프트웨어 개발 보안 설계 (0) | 2021.07.07 |
[정보처리기사] SQL 응용 (0) | 2021.07.06 |
[정보처리기사] 인터페이스 구현 (0) | 2021.07.05 |
[정보처리기사] 통합 구현 (0) | 2021.07.02 |