서버 부분


 

개발 도구 분류

      빌드도구 (maven gradle)

      구현 도구(intelij , eclipse)

      테스트도구 (xunit,PMD)

      형상관리도구 (git) 산출물에 대한 버전관리

 

서버하드웨어 개발환경

   웹서버: HTTp를 이용한 (Apache)

   웹 애플리케이션 서버 : 동적 컨텐츠 처리(tomcat)

   데이터베이스 서버 (mysql)

   파일 서버 : 물리저장장치 활용 (HDD,SSD)

 

소프트웨어 개발 환경

    운영체제, 미들웨어 , DBMS

 

형상관리 : 개발 변경 사항 관리  

         절차 : 형상식별(대상정의) -> 형상 통제(버전관리) -> 형상감사(무결성) -> 형상 기록(보고서)

 

소프트웨어 형상 관리 도구 유형

     공유폴더방식 : 개발완료파일은 공유폴더에 복사

     클라이언트/서버방식 : 중앙에 버전관리 시스템을 동작

      분산 저장소 방식 : 로컬 저장소와 원격 저장소 분리

 

소프트웨어 형상 관리 도구별 특징

    CVS : 클라이언트/서버로 구성 다수의 인원이 동시에 가능한 형상 관리 도구

    SVN : 하나의 서버에서 소스를 관리 도구

   RCS : 소스 파일의 수정은 한사람만 동시에 불가

   BitKeeper : 중앙통제방식에서 대규모 프로젝트에서 속도를 위해

   Git : 분산형 버전 관리

   Clear Case : 복수 서버, 복수 클라이언트 확장성 가능

 

 

공통 모듈 구현

 

모듈 : 하나의 기능을 수행할 수 있는 독립된 실체

모듈화: 개발시 생산성을 위해 기능 단위로 분할하는 기법 (정보은닉, 분할과정복, 데이터추상화,모듈독립성)

응집도 : 모듈의 독립성을 나타냄 ( 우논시절 통순기)

         우연적 응집도 : 구성요소가 연관ㅇ ㅣ없음

         논리적           : 한 모듈에서 처리

         시간적            : 특정 시간에 처리를 한 모듈에서

         절차적           : 순차 실행

         통신적            : 동일한 입출력을 하는 모듈이 모여

         순차적             : 출력값을 다른 활동이 사용

         기능적             : 모든 기능이 단일 목적으로 (강한것)

 

결합도: 외부 모듈과의 연관도 모듈관 관련도 ( 내공 외제 스자)

 

           내용 결합도 : 다른 모듈의 기능 사용

           공통 결합도 : 모듈 밖 전역 변수 사용

           외부 결합도 : 두 모듈이 외부 디바이스 인터페이스 ㅅ용

           제어            : 어떻게 처리하는지 제어 요소 전달

           스탬프        : 인터페이스로 배열 객체 전달

           자료             : 파라미터를 통해서만 모듈 상호작용 (낮은것)

 

 

프레임워크  - 모듈화(캡슐화) , 재사용성(반복적으로 사용할 수 있는 컴포넌트) , 확장성(다형성) , 제어의역흐름 ( 처리흐름을 거꾸로)

 

 

파레토의 법칙 : 결함의 80%는 전체의 20%에 있다.

살충제 패러독스 : 동일한 테스트케이스로만 실행하면 새로운 결함을 발견할 수 없다.

오류-부재의 궤변 - 사용자의 요구사항을 만족하지 못하면 품질이 높다고 할 수 없다.

 

 

 

 

 

공통모듈 구현 절차 : DTO/VO -> SQL -> DAO -> SERVICE -> Controller -> 화면

 

Fan-In: 모듈 자신을 기준으로 들어오면 fan-in  / 나가면 fan-out

 

공통 모듈 테스트 종류

      화이트박스 테스트 : 테스트케이스 많이

      메서드 기반 테스트 : 공통모듈의 외부에 공개된 메서드 기반 ㅔㅌ스트

      화면 기반 테스트 : 화면단위로 화면에 직접 데이터를 입력하며

      테스트 드라이버/ 테스트 스텁 활용 테스트 : 화면또는 하위모듈이 구현되지않는경우

                   테스트 드라이버 : 하위모듈만있음

                   테스트 스텁 : 상위 모듈만 있음

Junit :자바 단위테스트도구

+ Recent posts