1) 개발 환경 구축하기
- 개발과 품질 관리에 대한 요구사항을 분석하여 형상 관리 서버, 테스트 서버, 빌드 서버를 결정
-> 구현 도구, 테스트 도구, 형상 관리 도구, 빌드 도구 등 설계
- IDE(Integrated Development Environment)
통합 개발 환경, 프로그램 개발에 관련된 모든 작업을 하나의 프로그램에서 처리하는 환경을 제공하는 소프트웨어
-> Eclipse, Visual Studio, Atom
- 형상관리 도구
-> Git, CVS, SVN 등
- 빌드 도구
-> Maven, Ant, Gradle 등
- 서버 개발 프레임워크를 활용한 개발 환경 구축
개발 프레임워크는 재사용 가능한 라이브러리와 애플리케이션 인터페이스, 설정 정보 뿐만 아니라 개발과 운영을 지원하는 도구도 함께 제공하는 경우 많음
-> Spring, dJango, node.js 등
-> 전자 정부 표준 프레임워크는 실행 환경, 운영 환경, 공통 컴포넌트와 함께 Eclipse 기반의 개발환경 제공
* CI : Continuous Integration
2) 공통 모듈 구현하기
•애플리케이션 개발 모델의 이해
- 아키텍처 스타일
많은 사람들 또는 신뢰 기간에서 검증한 보편적인 설계 방법
- 애플리케이션 개발 모델
아키텍처 모델, 아키텍처 스타일의 여러 설계 방식
- 클라이언트/서버(Client/Server) 아키텍처
-> 서버에 다수의 클라이언트가 접속하는 구조
-> 데이터가 서버에 집중 -> 보안적, 관리적, 측면에서 용이
-> 서버에 부하가 발생할 수 있음
- 계층적(Layerd) 아키텍처
시스템의 고유한 역할을 수행하는 여러개의 계층으로 구성하는 방식
-> 인접한 계층 간에는 요청과 응답을 주고 받지만, 각 계층의 처리에는 관여하지 않도록 느슨한 결합구조
-> 변경 영향이 인접 계층에만 제한되어 유지보수 용이
-> 계층 분할 시 많은 노하우 필요
- MVC 아키텍처
애플리케이션을 모델, 뷰, 컨트롤러로 구성
- M : 애플리케이션의 핵심 기능 포함, 상태 관리, 변화 발생 시 V와 C에 통보
- V : 모델로 부터 정보를 얻어 사용자에게 결과를 생성
- C : 사용자의 입력을 받아 모델과 뷰에 명령 전달
-> 효율적인 모듈화
-> 동일한 모델에 대해 다양한 뷰 제공
-> 다소 복잡
- 저장소(Repository) 아키텍처
중앙의 자료구조와 독립된 컴포넌트로 구성된 아키텍처
-> 대용량 데이터의 이동이 필요한 경우 적합
-> 컴포넌트의 추가와 삭제 용이
-> 데이터 관리가 중앙 집중화되어 관리 용이
-> 저장소 문제 발생 시 전체 시스템에 영향
* COCOMO 모델 : 비용 산정 시, 완성될 소프트웨어의 크기(라인 수, LOC)를 추정하고 이를 준비된 식에 대입하여 개발에 필요한 M/M을 예측하는 것
* CMM : 능력 성숙도, 초기/반복/정의/관리/최적화 순
* LOC ; Line of Code
* 폭포수 모델 : 단계적 완결
* 프로토타입 : 시제품 제작
* 나선형 모델 : 진화된 프로토타입 모델, 계획 및 요구분석/위험 분석/프로토타입 개발/평가 순으로 지속적 개발
* 테일러링 : 꼬리에 꼬리를 무는 개발
* 럼바우 분석 기법 : 객체 모델링, 동적 모델링, 기능 모델링
* 푸트남 : 노력 분포도 이용
* 델파이 : 전문가들에게 자문을 구하는 방식
- 재사용을 지원하는 프레임워크 활용
- 개발 프레임워크 특징
- 모듈화
- 재사용성
- 확장성 : 다형성을 통해 애플리케이션이 프레임워크의 인터페이스 확장
- 제어의 역흐름 : 프레임 워크코드가 전체 애플리케이션 처리 흐름 제어, 다형성 통해 애플리케이션이 확장한 메소드 호출
-> 일정 수준 이상의 품질 보장, 모듈화를 통한 유지보수 용이
- 단위테스트 구현하기
전체 모듈을 통합하여 테스트하기 전에 개별코드의 완성도를 측정
-> 미리 코드의 오류는 발견할 수 있어서 후반부 공정의 시간 절약
-> 개별 코드를 테스트하는 테스트 코드 작성
-> 테스트주도 개발(TDD, Test Driven Development)에서는 테스트코드를 먼저 작성하고 테스트 코드를 성공하는 서비스코드를 작성하기도 함
'전공 > 정보처리기사 실기' 카테고리의 다른 글
정보처리기사 실기 - 4. 서버 프로그램 구현(3) /알고리즘 (0) | 2021.04.15 |
---|---|
정보처리기사 실기 - 4. 서버 프로그램 구현(2) /DTO/DAO/개발보안/cron/crontab (0) | 2021.04.15 |
정보처리기사 실기 - 3. 통합 구현(3) /연계모듈/EAI/ESB/SOAP (0) | 2021.04.09 |
정보처리기사 실기 - 3. 통합 구현(2) /연계 매커니즘/데이터보안 (0) | 2021.04.09 |
정보처리기사 실기 - 3. 통합 구현(1) /연계데이터/태그/JSON (0) | 2021.04.09 |