• Home
  • About
    • ming photo

      ming

      studying

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • Archive
    • All Posts
    • All Tags
    • All categories
  • categories
    • HTML+CSS+JavaScript
    • JAVA
    • Algorithm
    • DB
    • JSP
    • 정보처리기사
    • Spring
    • Thymeleaf
    • 기술면접
  • Projects

2과목.소프트웨어 개발_02장.통합구현

20 Jan 2021

2과목.소프트웨어 개발

- 2장.통합 구현

* 단위 모듈

 - 단위모듈 : 어떠한 기준으로 나눠놓은 모듈
   : 기준 - 하나의 기능(단위 기능)  => 모듈의 개수 = 기능의 개수 -> 독립적 컴파일 가능, 처리/명령문,데이터 구조 포함되어있다
 * 단위 = 기준

  - 모듈화 단계 : 추상화 -> 구조화 -> 캡슐화

  - 입/출력 기능 구현 : 모듈끼리 데이터 연동(인터페이스) OR 통신
    => IPC(Inter-Process Communication) -> 대표적인 인터페이스 집합
      : 메모리나 통신,메세지 등의 여러구성으로 통신을 가능하게 한다
      -> Shared Memory : 공유 가능한 메모리 구성
         Socket : 소켓을 이용하여 네트워크 경우
         Semaphores : 공유 자원에 대한 접근 제어
         Pipes & named Pipes : 선입선출 형태로 구성
         Message Queueing : 메세지 전달

  - 알고리즘 구현 : 모듈간 데이터 입출력 해결 후 들어온 데이터를 어떻게 할건지 구현(알고리즘)한다
    => 구현된 알고리즘이 사용자의 요구와 일치하는지 확인하고, 구현 가능한 언어를 사용해 구현한다

  - 단위 모듈 테스트 : 모듈 조립 후 테스트(검증)
    => 모듈 조립이 끝난 후 에러가 발생하면 디버깅(오류해결과정)이 오래걸리기 때문에 미리 테스트 하는것이 좋다
      -> 모듈 자체에 대한 에러만 테스트 가능하다 -> 전체 시스템에 대한 에러는 조립 후 확인 가능하다

      - 테스트 방법 1. 화이트 박스 : 소스 코드의 논리적인 경로 테스트
                   2. 블랙 박스 : 해당 기능의 작동 여부 테스트

      - 테스트 케이스 1. 식별자(Identifier) : 식별자,일련번호
                     2. 테스트 항목(Test Item) : 테스트 대상
                     3. 입력 명세(Input Secification) : 입력 데이터,조건
                     4. 출력 명세(Output Secification) : 예상 결과
                     5. 환경 설정(Environmental Needs) : 필요 HW/SW
                     6. 특수 절차 요구(Special Procedure Requirement) : 요구 절차
                     7. 의존성 기술(Inter-case Dependencies) : 케이스간 의존성

      - 테스트 케이스 단계 1. 계획(제어) : 계획 수립
                         2. 설계(분석) : 시나리오 및 케이스 작성
                         3. 구현(실현) : 테스트 프로시저 작성, 테스트 수행
                         4. 평가 : 평가 기록
                         5. 완료 : 산출물 저장
      - 개발 지원 도구 1. 통합 개발 환경(IDE) : 개발에 필요하고 도움을 주는 여러 요소들을 하나로 동합한 것
                                          => 컴파일, 디버깅, 외부서비스 연동 등 대부분의 기능이 포함되어 있어 개발의 편의성을 높여준다
                      2. 빌드 도구 : IDE로 개발이 완료되면 소스코드를 소프트웨어(제품)로 변환 시키는 것
                                 =>  전처리기,컴파일러 등 포함된다 Ant(표준없음,HML),Maven(의존성),Gradle(의존성,groovy) 등이 대표적인 빌드 도구 이다
                      3. 기타 협업 도구(그룹웨어) : 일정 관리 및 정보 공유, 의사소통 등의 지원을 위한 도구들 -> 도구에 익숙하지 않으면 방해가 될 수도 있다


Share Tweet +1