XP(eXtreme Programming)의 5가지 핵심원칙 1. 의사소통 2. 단순성 3. 용기 4. 존중 5. 피드백
구조적 다이어그램
- 클래스, 객체, 컴포넌트, 배치(Deployment), 패키지, 복합체 구조
행위 다이어그램
- 유스케이스, 시퀀스, 커뮤니케이션, 상태, 활동, 타이밍, 상호작용개요
사용자 인터페이스(UI) 설계 원칙 1. 직관성 2. 유효성 3. 학습성 4. 유연성
결합도 : 자료 - 스탬프 - 제어 - 외부 - 공통 - 내용
응집도 : 우연 - 논리 - 시간 - 절차 - 교환 - 순차 - 기능
= 모듈의 독립성은 결합도와 응집도에 의해 측정!
결합도가 약할수록, 응집도가 높을수록 품질이 높다
: 23가지의 디자인 패턴을 정리하고 각각의 디자인 패턴을 생성(Creational), 구조(Structural), 행위(Behavioral) 3가지로 분류했다.
식별, 분류, 배열
- 순차코드 : 자료를 순서, 크기 등 차례로 번호를 부여하는 방법
(= 순서코드, 일련번호)- 블록코드 : 코드화 대상 중, 공통성이 있는 것 끼리 블록으로 구분
(= 구분코드 ex. 1001~1100 총무부)- 10진코드 : 코드화 대상을 0~9까지 분할, 이 후 필요한 만큼 반복
(= 도서 분류식 코드)- 그룹분류코드 : 코드화 대상을 일정 기준에 따라 대-중-소분류 후 그룹 안에서 일련번호 부여
(ex. 1-01-001 본사-총무부-인사계)- 연상코드 : 코드화 대상 항목 명칭이나 약자와 관련 숫자, 문자, 기호를 이용해 코드를 부여
(ex. TV-40 : 40인치 티비)- 표의 숫자 코드 : 코드화 대상 항목의 성질의 물리적 수치를 코드에 적용
(= 유효 숫자 코드. ex. 120-300-60 = 책상 사이즈)- 합성 코드 : 필요 기능을 위해 2개 이상의 코드를 조합하여 만듬
(ex. KE-711 : 대한항공 711기)
1) 요구사항 검토
1. 동료검토 : 요구사항 명세서 작성자가 직접 설명, 동료가 들으면서 결함을 발견하는 형태의 검토방법
2. 워크스루 : 검토 회의 전, 명세서를 미리 배포해 사전 검토 이후에 검토회의를 통해 결함을 발견하는 형태의 검토방법
3. 인스펙션 : 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하며 결함을 발견하는 형태의 검토방법
2) 프로토 타이핑 : 사용자의 요구 파악, 실제 설계될 sw에 대한 견본품 제작
3) 테스트 설계 : 테스트 케이스를 설계, 요구사항을 현실적으로 테스트
4) CASE 도구 활용 : 일관성 분석을 통해 요구사항 변경의 추적 및 분석
표준화된 인터페이스를 제공하며 시스템 간의 데이터 교환에 일관성을 보장한다.
종류
1. DB : 데이터와 클라이언트를 연결
2. RPC : 원격 프로시저를 로컬 프로시저처럼 호출
3. MOM(Message Oriented Middleware) : 비동기형 메시지 기반 전달 방식
4. TP-Monitor(Transaction Processiong Monitor) : 트랜잭션 처리 모니터. 트랜잭션 처리 및 감시 MW. 사용자 수가 증가해도 빠른 응답 속도를 유지해야 하는 업무에 사용(항공기, 철도예약)
5. ORB : 객체 요청 브로커. 객체 지향 미들웨어로 코바(Corba)표준 스펙 구현
6. WAS : 웹 어플리케이션 서버. 웹 환경 구현 및 동적 컨텐츠 어리를 위해 사용. HTTP 세션 처리 등 JAVA, EJB 구현 가능
1. 화이트박스 테스트
- 원시코드를 오픈 후 모든 경로를 테스트
- 설계된 절차에 초점을 둔 구조적 테스트
- 모듈 안의 작동을 직접 관찰
// 종류 : 문장 , 분기 , 조건 , 경로 검증
2. 블랙박스 테스트
- 소프트웨어의 내부 구조나 작동 원리를 모르는 상태에서 소프트웨어의 동작을 검사하는 방법
- sw가 수행할 특정 기능을 알기 위해 각 기능이 완전히 작동되는 것을 입증하는 테스트 = 기능테스트
- 사용자 입장에서 소프트웨어 혹은 제품에 대한 요구사항과 결과물이 일치하는지 확인하기위한 테스트 기법
// 종류 : 동등 분할 기법, 경계값 분석, 원인-결과 검사, 오류 예측
3. 인수 테스트
- 개발한 sw가 사용자의 요구사항을 충족하는지 중점을 둔 테스트
- 사용자가 직접 테스트, 문제가 없으면 테스트 종료
- 제품의 결함을 찾기보다 완성도를 확인하는 과정
// 종류 : 사용자or운영or계약 인수 테스트
// 알파테스트 : 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트
// 베타테스트 : 선정된 사용자가 본인 환경에서 직접 테스트
4. 통합 테스트
- 상향식 통합 테스트
- 상위 모듈에서 하위 모듈 방향으로 통합하면서 테스트
- 주요 종속 모듈은 스텁(stub)으로 대체- 하향식 통합 테스트
- 하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트
- 가장 하위 부터 수행되므로 스텁 필요X, 클러스터는 필요O
- 하위 모듈을 클러스터로 결합, 더미 모듈인 드라이버(Driver) 작성
- 구축유형
- xUnit : Java, C++, .Net 등 다양한 언어를 지원하는 단위테스트 프레임워크
- STAF : 서비스 호출 및 컴포넌트 재사용 등의 환경 지원
- FitNesse : 웹 기반 tc설계, 실행, 결과
- NTAF : FitNesse의 장점(협업)과 STAF의 장점(재사용 및 확장성)을 통합한 자동화 프레임워크
- Selenium : 다양한 브라우저 및 개발언어를 지원하는 테스트 프레임워크
- Water : Ruby를 사용하는 애플리케이션 테스트 프레임워크