정보처리기사

[정보처리기사] 소프트웨어 구축 (1)

hminor 2023. 7. 21. 11:34
반응형

회차별 모르거나 헷갈리는 것만 기술

아예 기억조차 안나면 헤드에 볼드체와 🔅로 정리

1회차

  • 재공학: 예방 유지보수 측면에서 소프트웨어 위기 해결
    • 분석 → 재구성 → 역공학 → 이관
  • 재사용 방법
    • 합성 중심: 모듈을 끼워 맞춰 완성
    • 생성 중심: 추상화 형태
  • 소프트웨어 개발 모델
    • 폭포수 모델
    • 프로토타입 모델
    • 나선형 모델
    • RAD: Case 도구를 이용한 빠른 시스템 개발
    • V 모형
    • 4세대 기법
  • 화이트박스 vs 블랙박스 테스트 기법
    • 화이트박스 테스트 기법: 소스 코드의 논리적인 모든 경로 테스트
    • 블랙박스 테스트 기법: 소스 코드로 구현된 기능이 완전히 동작하는 것을 입증하는 테스트
      • 동경원오비
  • 스크럼
    • 스프린트 계획 회의를 통해 스프린트 백로그를 작성
  • 🔅 IT 서비스 관리
    • SLM(Service Level Management)
      • 서비스의 품질을 높이는 일련의 관리 및 활동
    • SLA(Service Level Agreement)
      • 서비스 수준을 명시적으로 정리한 문서
    • ITSM(Information Technology Service Management)
      • IT 서비스를 구현, 전달 및 관리하기 위한 일련의 정책과 관행
    • ITIL(Information Technology Infrastructure Library)
      • IT 서비스를 쉽게 제공하고 관리할 수 있는 가이드 혹은 프레임워크
      • ITSM을 실현하는 도구 또는 방법
  • PMBOK
    • 착수 → 계획 → 실행 → 통제 → 종료
  • Putnam 기법
    • 랠리 노드(Rayleigh-Norden) 곡선의 노력 분포도를 기초
    • SLIM: 랠리 노드 곡선과 Putnam 예측 모형을 기초로 개발한 자동화 추정도구
  • FP
    • 기능의 개수를 기준으로 소프트웨어의 규모를 측정
    • ESTIMACS: FP모형을 기초로 개발된 자동화 추정 도구
    • 기능 분류
      • 내부 논리 파일(ILF), 외부 연계 파일(EIF), 외부 입력(EI), 외부 출력(EO), 외부 조회(EQ)
  • 개발 일정 산정
    • WBS
    • CPM 네트워크 구성
    • 최소 소요 기간 산정(임계경로)
    • 소요 M/M, 기간을 산정하여 CPM 수정
    • 간트 차트로 표현
  • CPDN(Contents Platform Network Device)
    • 콘텐츠를 플랫폼에 맞게 가공하고 네트워크를 통해 사용자의 단말기로 서비스가 이루어짐을 표현
  • 현행 시스템 분석 - 미들웨어의 종류
    • RPC: 클라이언트가 원격에서 동작하는 프로시저를 호출하는 시스템
    • MOM(Message Orient Middleware)
      • 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어
    • ORB(Object Request Broker)
      • 객체지향 시스템에서 객체 및 서비스를 요청하고 전송할 수 있도록 지원하는 미들웨어
    • DB 접속 미들웨어: 애플리케이션과 데이터베이스 서버를 연결해주는 미들웨어
    • TP 모니터(Transaction Processing Monitor**)**
      • 트랜잭션이 올바르게 처리되고 있는지 데이터를 감시하고 제어
    • WAS: 동적인 콘텐츠 처리를 위한 미들웨어
    • ESB: 기업 안팎에 있는 모든 시스템 환경을 연동하는 미들웨어
  • 요구 공학 : 도분명확
  • 요구사항 분석 도구 - HIPO(Hierarchy Input Process Output)
    • 개념
      • 하향식 소프트웨어 개발을 위한 문서화 도구
      • 시스템의 기능을 여러 개의 고유 모듈들로 분할하여 이들 간의 계층구조를 표현한 도표
    • 종류(가총세)
      • 가시적 도표
      • 총체적 도표
      • 세부적 도표
  • DFD
    • 처리 과정(원): 자료를 변환시키는 처리 과정을 나타냄
    • 자료 흐름(방향선)
    • 자료 저장소(위아래 이중선): 파일, DB 등 자료가 저장되는 곳
    • 단말기(사각형): 데이터의 입출력 주체
  • DD: DFD의 모든 자료들에 대한 사항을 상세히 작성
    • =: 자료 정의
    • +: and
    • (): 자료의 생략 (생략 가능한 자료)
    • {}: 자료의 반복 (여러개)
    • [ | ]: 자료의 선택(여러 대안 중 하나 선택)
    • **: 주석
  • Mini-Spec: DFD에서 각 기능(처리)들이 어떻게 수행하는지를 상세히 작성
  • 객체지향 분석 방법론 - 럼바우 방법
    • 객체 모델링: 객체 다이어그램
    • 동적 모델링: 상태 다이어그램
    • 기능 모델링: DFD(자료 흐름도)
  • 🙄**데이터 모델링 vs 럼바우(헷갈림 주의)**🙄
    • 데이터 모델링(DB관련)
      • 개념적 모델링: ERD
      • 논리적 모델링: 정규화, 트랜잭션 인터페이스
      • 물리적 모델링: 성능, 반정규화
    • 럼바우(객체지향 분석 방법론)
      • 객체 모델링: 객체 다이어그램
      • 동적 모델링: 상태 다이어그램
      • 기능 모델링: 자료 흐름도(DFD)
  • 설계 모델링, 소프트웨어 설계 절차 및 유형 - 협약에 의한 설계
    • 선행 조건: 컴포넌트 오퍼레이션 사용 전에 참이 되어야 할 조건
    • 결과 조건: 사용 후 만족되어야 할 결과 조건
    • 불변 조건: 오퍼레이션이 실행되는 동안 항상 만족되어야 할 조건
  • 소프트웨어 아키텍처 패턴 종류
    • 계층화 패턴
    • 클라이언트 - 서버 패턴
    • 마스터 - 슬래이브 패턴
    • 파이프 - 필터 패턴
    • 브로커 패턴
    • Point to Point 패턴
    • 이벤트 - 버스 패턴
    • MVC 패턴
    • 블랙보드 패턴 - 명확히 정의된 해결 전략이 알려지지 않은 문제에 대해서 유용한 패턴
    • 인터프리터 패턴 - 특정 언어로 작성된 프로그램을 해석한 컴포넌트를 설계시 사용되는 패턴
  • UML의 특징(가구명문)
    • 가시적 언어
    • 구축 언어
    • 명세화 언어
    • 문서화 언어
  • UML 구성요소(사관다)
    • 사물
    • 관계
      • 종류(일연의집실)
        • 일반화 관계(실선 속빈 화살표)
        • 연관 관계(실선 속찬 화살표)
        • 의존 관계(점선 속찬 화살표) : 짧은 시간만 유지
          • 확장의존관계:<<Extend>>
          • 포함의존관계:<<Include>>
        • 집합 관계
          • 집약 관계(실선 속빈 마름모): 상위가 사라져도 부분 객체가 사라지지 않음
          • 합성 관계(실선 속찬 마름모): 상위가 사라지면 함께 객체들도 사라짐
        • 실체화 관계(점선 속빈 화살표)
    • 다이어그램
  • 감성공학의 접근 방법
    • 1류 접근 방법: 인간의 어휘를 이용해 디자인을 확인
    • 2류 접근 방법: 문화적 감성 추가
    • 3류 접근 방법: 수치화
  • 형상 관리 도구
    • 종류
      • 변경 관리
      • 버전 관리
      • 형상 관리
  • 빌드 자동화 도구 종료
    • Make: 유닉스 계열 운영체제에서 주로 사용
    • Ant: Java 기반 빌드 도구, 오래됨
    • Maven: 프로젝트에 필요한 모든 의존성을 리스트 형태로 알려 관리할 수 있다.
    • Jenkins: Java 기반
    • Gradle: 안드로이드 기반
  • 프레임워크 특징(모재확제)
    • 모듈성
    • 재사용성
    • 확장성
    • 제어의 역흐름
  • 단위 모듈의 작성 원칙(정명완일추)
    • 정확성
    • 명확성
    • 완전성
    • 일관성
    • 추적용이성

2회차

  • 소프트웨어 공학
    • 소프트웨어의 위기를 극복하고자 효율적으로 품질 높은 소프트웨어를 개발하기 위한 학문
  • 재공학
    • 예방 유지보수 측면
    • 과정: 분석 → 역공학 → 이관
  • RAD
    • CASE 도구를 이용해 빠르게 개발
  • RAID
    • RAID-0: 스트라이핑
      • 논리적으로 연결된 디스크를 물리적으로 뭉쳐 하나로 사용하는 것
    • RAID-1: 미러링
    • RAID-3: 하나의 디스크에 패리티 정보 저장 (byte 단위)
    • RAID-4: RAID-3번 + 블록 단위로 저장
    • RAID-5: 각각에 패리티 정보를 저장
    • RAID-6: 패리티 정보를 가진 디스크를 하나 더 복사
  • V모형
    • 폭포수 모델 + 테스트를 추가
  • 애자일 방법론 - ASD
    • Adaptive Software Development
      • 합동 애플리케이션 개발을 사용하는 방법론
  • IT 서비스 관리
    • SLM(Service Level Management)
    • SLA(Service Level Agreement)
      • 서비스 수준을 명시한 문서
      • Agreement → 계약
    • ITSM
      • IT 서비스를 관리하기 위한 것
    • ITIL(IT Infrastructure Library)
      • IT 서비스를 쉽게 제공하고 관리할 수 있는 가이드 혹은 프레임워크
      • ITSM을 지원하는 도구 또는 방법
  • PMBOK
    • PM이 되기 위한 지식의 집합
    • PMI에서 제작한 프로젝트 관리 프로세스 및 지식 체계
  • 개발 비용산정 - 수학적 기법
    • Putnam
      • Rayleigh-Norden 곡선의 노력 분포도를 기초
      • SLIM: 랠리 노드 곡선과 Putnma 예측 모형을 기초로 개발한 자동화 추정도구
    • FP(기능 점수)
      • ESTIMACS: FP모형을 기초로 개발한 자동화 추정도구
      • 기능 분류
        • 내부 논리 파일(ILF), 외부 연계 파일(EIF), 외부입력(EI), 외부출력(EO), 외부조회(EQ)
  • 개발 일정 산정
    • WBS
    • CPM 네트워크 구성
    • 최소 소요 기간 산정(임계 경로)
    • CPM 수정
    • 간트 차트
  • 현행 시스템 분석
    • CPDN(Content Platform Device Network)
      • 콘텐츠를 플랫폼에 맞게 가공하고 네트워크를 통해 사용자의 단말기로 서비스가 이루어짐을 표현
    • 미들웨어 종류
      • RPC(Remote Procedure Call)
        • 원격 프로시저 호출
        • 클라이언트가 원격에서 동작하는 프로시저를 호출하는 시스템
      • MOM(Message Oriented Middleware)
        • 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어
      • ORB(Object Request Broker)
        • 객체지향 시스템에서 객체 및 서비스를 요청하고 전송할 수 있도록 지원하는 미들웨어
      • DB 접속 미들웨어
        • 애플리케이션과 DB 서버를 연결해주는 미들웨어
      • TP 모니터
        • 트랜잭션이 올바르게 처리되고 있는지 데이터를 감시 및 제어
      • WAS
        • 동적인 콘텐츠를 처리하이 위한 미들웨어
      • ESB
        • 기업 안팎에 있는 모든 시스템 환경을 연동하는 미들웨어
  • 요구 공학 - 요구사항 분석 도구
    • HIOP(Hierarchy Input Process Output)
      • 개념
        • 하향식 소프트웨어 개발을 위한 문서화 도구
        • 시스템의 기능을 여러 개의 고유 모듈들로 분할하여 이들 간의 계층구조를 표현한 도표
      • HIPO Chart의 종류
        • 가시적 도표
        • 세부적 도표
        • 총체적 도표
  • 요구사항 분석 모델링
    • 모델링 구분
      • 기능 모델링: 활동 상태의 변화에 대한 모델링
      • 정적 모델링: 상품 코드, 상품 명 등에 대한 모델링
      • 동적 모델링: 상태의 변화에 대한 모델링
  • 요구사항 분석 모델링
    • 구조적 분석 도구
      • 자료 흐름도(DFD)
        • 구성요소
          • 처리 과정: 원
            • 자료를 변환시키는 처리 과정을 나타냄
          • 자료 흐름: 화살표
          • 자료 저장소: 위아래 이중선
            • 파일, DB 등 자료가 저장되는 곳
          • 단말: 사각형
            • 데이터의 입출력 주체(사용자)를 나타냄
        • 자료 사전(DD)
          • 개념
            • DFD(자료 흐름도)에 기술된 모든 자료를 상세히 정의
          • 사용 기호
            • +: AND
            • (): 생략
            • {}: 선택
              • 여러 대안 중 하나
            • []: 반복
              • 자료의 반복
  • 럼바우
    • 객체 모델링: 객체 다이어그램
    • 동적 모델링: 상태 다이어그램
    • 기능 모델링: DFD
  • Booch(부치) 방법
    • 미시적 거시적
  • Jacobson
    • Use case
  • Coad와 Yourdon
    • ERD
  • 소프트웨어 설계
    • 소프트웨어 설계의 원리,원칙 (정분추모)
      • 정보은닉
      • 분할과 정복
      • 추상화(과자제)
        • 과정 추상화
        • 자료 추상화
        • 제어 추상화
      • 모듈화
    • 협약에 의한 설계
      • 선행 조건
      • 결과 조건
      • 불변 조건
  • 소프트웨어 아키텍처 패턴
    • 개념
      • 주어진 상황에서의 소프트웨어 아키텍쳐에서 일반적으로 발생하는 문제점들에 대한 일반화되고 재사용 가능한 솔루션.
      • 스프트웨어 디자인 패턴과 유사하지만 더 큰 범우에 속한다.
    • 종류
      • 계층화 패턴
      • 파이프 필터 패턴
      • 이벤트 버스 패턴
      • 피어 투 피어 패턴
      • 브로커 패턴
      • 클라이언트 서버 패턴
      • 마스터 슬레이브 패턴
      • MVC 패턴
      • 블랙보드 패턴: 해결 전략이 알려지지 않은 문제에 대해 유용한 패턴
      • 인터프리터 패턴
  • UML
    • 개념
      • 프로그램 설계를 표현하기 위해 사용하는 표기법
    • 특징(가구명문)
      • 가시화 언어
      • 구축 언어
      • 명세화 언어
      • 문서화 언어
    • 구성요소
      • 사물
      • 관계
        • 일반화 관계: 실선 빈화살표
          • 한 클래스가 다른 클래스를 포함하는 상위 개념일 때
          • 상속 관계
        • 연관 관계: 실선의 꽉찬 화살표
          • 한 클래스가 다른 클래스에서 제공하는 기능을 사용할 때 표시
        • 의존 관계: 점선의 꽉찬 화살표
          • 매우 짧은 시간만 유지
          • 한 클래스가 다른 클래스를 오퍼레이션의 매개변수로 사용하는 경우
            • 오퍼레이션: 요청 시 오브젝트가 수행할 수 있는 서비스
        • 집합관계
          • 집합 연산 관계: 실선 빈 마름모
            • 상위가 사라져도 하위는 그대로 유지
          • 합성 연관 관계: 실전 꽉찬 마름모
            • 상위가 사라지면 하위도 함께 사라짐
        • 실체화 관계: 점선 빈화살표
          • 인터페이스를 구현받아 추상 메서드를 오버라이딩하는 것을 의미
      • 다이어그램
        • 구조 다이어그램
          • 클래스 다이어그램
          • 객체 다이어그램
          • 컴포넌트 다이어그램
          • 배치 다이어그램
          • 복합체 다이어그램
          • 패키지 다이어그램
        • 행위 다이어그램
          • 유스케이스 다이어그램
          • 시퀀스 다이어그램
          • 커뮤니케이션 다이어그램
          • 상태 다이어그램
          • 활동 다이어그램
          • 타이밍 다이어그램
  • 스토리보드
    • 개발 후 완성된 콘텐츠의 최종 결과를 예상할 수 있는 기초 문서
  • 목업
    • 와이어프레임보다 좀 더 실제 화면과 유사하게 만든 정적인 형태의 모형
  • UI 품질 요구사항(기신사효유이)
    • 기능성
    • 신뢰성
    • 사용성
    • 효율성
    • 유지보수성
    • 이식성
  • 감성공학
    • 제품과 관련된 인간의 감성
      • 감각적 감성
      • 기능적 감성
      • 문화적 감성
    • 접근 방법
      • 1류 접근 방법: 디자인 요소와 연계
      • 2류 접근 방법: 문화적 일부를 반영
      • 3류 접근 방법: 수치화
  • 화면 레이아웃 구성
    • HTML: 웹 페이지의 기본 구조 담당
  • 서버 환경 구축
    • 웹 서버: 정적 파일을 제공
      • Apach Web Server
      • IIS
      • NginX
      • GWS
    • 웹 애플리케이션 서버(WAS): 동적인 웹 서비스 제공하기 위한 미들웨어 설치된 하드웨어
      • WebLogic, WebSpere, JEUS, Tomcat
    • Load Balancer
      • 여러 대의 서버가 존재할 경우 요청을 적절히 분배해주는 역할
      • 분배 방식
        • Random
        • Least Loaded
        • Round Robin
    • CDN(Centent Delivery Network)
      • 용량이 큰 콘텐츠 데이터를 빠른 속도로 제공하기 위해 사용자와 가까운 곳에 분산되어 있는 데이터 저장 서버
  • 개발 소프트웨어 환경
    • 시스템 소프트웨어
      • OS
      • JVM
      • Web Server
      • WAS
        • DBMS
  • 개발 소프트웨어 환경
    • 개발 소프트웨어
      • 요구사항 관리 도구
      • 설계/모델링 도구
      • 구현도구
      • 테스트 도구
      • 형상관리 도구
        • 변경 관리
        • 버전 관리
        • 형상 관리(식통감기)
          • 형상 식별
          • 형상 통제: CCB(형상 통제 위원회)
          • 형상 감사
          • 형상 기록
  • 소프트웨어 버전 관리 도구 유형
    • 공유 폴더 방식
      • RCS, SCCS
    • 클라이언트 서버 방식
      • CSV
      • SVN: 최초 1회만 파일 원본 저장 후 변경 데이터만 저장
    • 분산 저장소 방식
      • Git
      • Bitkeeper: SVN과 유사
      • Clear Case: IBM에서 개발된 유로 버전 형상 관리 툴
  • 버전 관리 주요 용어
    • checkout: clone과 유사하다고 생각하면 될 듯?
    • trunk: 전체적인 소스 코드(루트 프로젝트)
  • 빌드 자동화 도구 종류
    • Make: 유닉스 계열 운영체제
    • Ank: Java 기반
    • Maven
      • 프로젝트에 필요한 모든 의존성을 리스트 형태로 Maven에게 알려 관리할 수 있도록 돕는 방식
    • Jenkins: Java 기반, 지속적인 통합(CI) 서비스 제공
    • Gradle: Groovy를 기반으로 한 안드로이드 앱 개발 환경
  • 프레임워크
    • 특징(모재확제)
      • 모듈화
      • 재사용성
      • 확장성
      • 제어의 역흐름
  • 단위 모듈의 작성 원칙(정명완일추)
    • 정확성
    • 명확성
    • 완전성
    • 일관성
    • 추적성
  • 응집도
    • 기능적 응집도: 같은 기능을 하는것끼리는 뭉쳐있어야 한다.
    • 순차적 응집도: 모듈의 출력값이 다음의 입력값으로 사용
    • 통신적 응집도: 동일한 입력, 동일한 출력
    • 절차적 응집도: 모듈의 내용이 순차적으로 수행
    • 시간적 응집도: 비슷한 시간대
    • 논리적 응집도: 비슷한 것끼리 모아둔것
    • 우연적 응집도: 연관 없는것 끼리 모아둔것
  • 공통 모듈 구현요소
    • DTO: 프로세스 사이에서 데이터를 전송하는 객체
    • VO: 도메인에서 속성들을 묶어서 특정 값을 나타내는 것
    • DAO: 실질적으로 DB에 접근하는 객체

3회차

  • 재사용
    • 방법
      • 합성 중심
      • 생성 중심
  • RAD: CASE 도구를 이용해 빠르게 개발
  • FDD(Feature-Driven Development)
    • 신규 기능 단위로 개발
  • ASD(Adaptive Software Develoment)
    • 합동 애플리케이션 개발
  • IT 서비스 관리
    • SLM
    • SLA
    • ITSM
      • IT 서비스를 구현, 전달 및 관리하기 위한 일련의 정책과 관행
    • ITIL(IT Infrastructure Library)
      • ITSM을 하기 위한 도구 및 방법
  • 개발 비용 산정
    • FP
      • ESTIMAC: 개발 자동화 추정 도구
  • 현행 시스템 분석 - 미들웨어 종류
    • RPC: 클라이언트가 원격에서 동작하는 프로시저를 호출
    • MOM: 메시지 기반의 비동기형 메시지를 전달하는 미들웨어
    • ORB(Object Request Broker)
      • 객체지향 시스템에서 객체 및 서비스를 요청하고 전송할 수 있도록 지원하는 미들웨어
    • DB 접속 미들웨어
      • 애프리케이션과 DB 서버를 연결해주는 미들웨어
    • TP 모니터(Transaction Processing Monitor***)***
    • WAS
    • ESB
      • 기업 안팎에 있는 모든 서비스 환경을 연동하는 미들웨어
  • 요구 공학
    • 요구사항 분석 도구
      • HIPO
        • 개념
          • 하향식 소프트웨어 개발을 위한 문서화 도구
          • 시스템의 기능을 여러 개의 고유 모듈들로 분할하여 이들 간의 계층구조를 표현한 도포
  • 자료 사전
    • 기호
      • (): 생략
      • {}: 자료의 반복, 여러개 넣는 것
      • [ | ]: 여러 개중 하나
  • 소프트웨어 설계
    • 소프트웨어 설계의 원리(정분추모)
      • 정보 은닉
      • 분할과 정복
      • 추상화
        • 과정 추상화
        • 자료 추상화
        • 제어 추상화
      • 모듈화
    • 협약에 의한 설계
      • 선행 조건
      • 결과 조건
      • 불변 조건
  • 소프트웨아 아키텍처 패턴 (헷갈리는 것만)
    • 브로커 패턴
      • 분리된 컴포넌트로 구성된 분산 시스템에서 사용되는 패턴
    • 피어 투 피어 패턴
      • 피어라 부르는 각 컴포넌트 간에 서비스를 주고 받는 패턴
    • 이벤트 버스 패턴
      • 이벤트 버스를 통해 특정 채널로 메시지를 발행
    • MVC 패턴
      • M: DB, V: 사용자 뷰, C: 로직
    • 블랙보드 패턴
      • 명확히 정의된 해결 전략이 알려지지 않은 문제에 대해 유용한 패턴
  • UML 관계(헷갈리는 것만)
    • 일반화 관계: 상속
    • 실체화 관계: 인터페이스로 오버라이딩
  • 감성 공학 접근 방법
    • 1류 접근 방법: 디자인
    • 2류 접근 방법: 문화적
    • 3류 접근 방법: 척도
  • 서버 환경 구축
    • 웹서버(WEB)
      • 클라이언트에게 정적 파일을 제공하는 웹 서버 애플리케이션이 설치된 하드웨어
    • 웹 애플리케이션 서버(WAS)
      • 동적인 웹 서비스를 제공하기 위한 미들웨어가 설치된 하드웨어
    • CDN
      • 용량이 큰 콘텐츠 데이터를 빠른 속도로 제공하기 위해 사용자와 가까운 곳에 분산되어 있는 데이터 저장 서버
  • 버전 관리 도구
    • RCS
      • 소스 파일의 수정을 한 사람만으로 제한
    • CVS
      • 오랜 기간 사용된 형상 관리 도구로, 다양한 운영체제를 지원
    • SVN
      • CSV의 단점을 보완하기 위해 만들어짐
      • 최초 1회만 원본을 저장하고, 이후엔 차이점만 저장
    • Clear Case
      • IBM에 개발한 유료 버전 형상 관리 툴
    • BitKeeper
      • SVN과 비슷한 중앙 통제 방식으로 대규모 프로젝트에서 빠른 속도를 내도록 개발
  • 버전 관리 주요 용어
    • Trunk: Root 프로젝트
  • 빌드 자동화 도구
    • Make
      • 유닉스 계열 운영체제
    • Ant
      • Java
    • Maven
      • 프로젝트에 필요한 모든 의존성을 리스트 형태로 Maven에게 알려 관리할 수 있게 돕는 방식
    • Jenkins
    • Gradle
      • 안드로이드, Groovy
  • 프레임워크 특징(모재확제)
    • 모듈성
    • 재사용성
    • 확장성
    • 제어의 역흐름
  • ORM 프레임워크
    • iBatis, myBatis, Hibernate
  • 단위 모듈(정명완일추)
  • 공통 모듈 구현 요소
    • DTO: 프로세스 사이에서 데이터를 전송하는 객체
    • DAO: 실질적으로 DB에 접근하는 객체
    • Service: DAO를 호출하는 객체
    • Controller: 비즈니스 로직을 수행하는 객체