ITIL의 개념 ITIL의 정의 영국의 OGO(Office of Government Commerce)에서 태동한 정보 기술(IT) 서비스를 지원, 구축, 관리하는 프레임워크 효과적인 IT 서비스 관리를 위한 일종의 교본으로 ITIL에서 제시하는 서비스 관리 수준(SLA) 프로세스는 사전 준비, SLA 개발, 운영 및 개선 단계의 생명주기를 거치며 반복됨 기존의 ITIL ver.2.0이 프로세스 정립에 대해 주안점을 두었다면, ITIL ver.3.0은 프로세스보다는 IT가 현업에 제공하는 서비스의 생명주기에 초점을 맞추는 철저한 현업 중심, 비즈니스 중심의 IT를 강조 ITIL의 특징 IT 서비스의 제공 및 관리를 위한 Best Practice 모음 → 방법론이 아님 IT 서비스의 제공 및 관리에 대한 벤..
SLA의 개요 SLA의 정의 정보시스템 수요자와 공급자 사이의 상호 동의에 의해 일정 수준의 서비스를 명시하고 이를 문서화 한 양식 기대되는 서비스 수준에 대해 계약 당사자 간 사전 협약을 체결하는 것 SLA의 등장 배경 정보 서비스에 대한 최소한의 보장 요구(요구 서비스에 대한 보장) 서비스 측정과 계량화가 어려움 서비스 공급자와 수요자의기대 차이가 큼 SLA의 목적 서비스 제공자 측면 제공 서비스의 범위/기준의 명확화 향후 분쟁 발생 시 조정 자료로 활용 고객의 기준 확인 및 서비스 작용 이용자 측면 서비스 이용의 효율성 증대 기대 수준 협약으로 요구 성능 보장 향후 계약 및 평가 자료로 활용 SLA의 생명주기 SLA는 한 번 작성으로 끝나는 것이 나니라, 지속적인 개선 활동과 연계되어야 함 서비스 ..
소프트웨어 테스트의 개요 정의 기대되는(Expected) 수행 결과를 무한 실행 도메인(Infinite Execution Domain)에서 적절히 선택된(Selected) 유한(Finite) 테스트 케이스를 통하여 프로그램의 수행 결과를 동적(Dynamic)으로 검증하는 것 Expected 사용자의 기대치, 명세, 묵시적 요구 사항, 합당한 기대치 Selected 테스트 집합의 선택 기준에 따라 효과가 크게 달라짐 Finite 한정된 자원과 일정 대비 무한한 테스트 요구 사항 사이의 Trade-off 고려가 필요 Dynamic 비확정된 시스템 상태에 따라 입력에 대한 프로그램의 실행 노출되지 않은 숨어있는 결함(Fault)을 찾기 위해 소프트웨어를 작동시키는 일련의 행위와 절차로, 오류 발견을 목적으로 ..
테스트 단계에 따른 분류 단위 테스트 개별적으로 테스트할 수 있는 소프트웨어 기능만을 따로 분리하여 기능을 검증 일반적으로 코드 접근을 허용하고, 디버깅 도구의 지원 하에 실행하며, 코드를 직접 작성한 개발자가 수행 모듈은 독립된 프로그램이 아니기 때문에 테스트 드라이버(Driver) 또는 스터브(Stub)가 필요 Driver : 테스트를 위한 제어 프로그램으로, 가상의 주 프로그램 기능 Stub : 테스트를 위한 종속 프로그램으로, 가상의 부 프로그램 기능 단위 테스트의 유형 인터페이스 테스트 다른 모듈과의 데이터 인터페이스에 대한 테스트 자료구조 테스트 모듈 내의 자료 구조상 오류가 없는가를 테스트 수행 경로 테스트 구조 및 루프 테스트 등에 의한 논리 결로 테스트 오류 처리 테스트 각종 오류들이 모..
소프트웨어 테스트 기법의 개요 소프트웨어 테스트 기법의 개념 테스트 기법들은 가능한 한 많은 잠재적 장애를 도출하고자 하는 테스트의 목적을 달성하고자 개발 테스트 기법 적용의 주된 원칙은 입력 도메인, 시나리오, 상태, 데이터 흐름 등을 고려하여 체계적으로 접근하는 것 일반적인 테스트 기법의 분류 화이트 박스(White-box) 테스트 모듈의 구조, 분기, 실행 경로 등을 테스트하는 과정 테스트하는 사람이 모듈의 내용을 상세히 알고 있다는 것을 전제 블랙 박스(Black-box) 테스트 테스트를 실시하는 사람이 모듈 내부에 대한 상세 지식이 없다는 것을 전제 프로그램 사양서로부터 가능한 모든 입력 조건(예측 가능/불가능 포함)에 대하여 테스트 케이스를 선정 블랙 박스 테스트와 화이트 박스 테스트의 비교 ..
소프트웨어 테스트 프로세스 공정 흐름 소프트웨어 테스트 프로세스 공정 내용 계획 수립 테스트 계획은 인력 조정, 사용 가능한 테스트 시설과 장비, 예상치 못한 결과에 대한 계획의 내용을 포함하여 활동 계획을 수립 테스트 케이스 생성 실행되는 테스트의 수준과 특정 테스트 기법을 토대로 생성 테스트 케이스는 형상 관리 통제를 받아야 하며, 예상 결과를 포함해야 함 테스트 환경 개발 예상 결과의 운용 기록 및 복구, 스크립트, 다른 테스트 자료들을 비롯하여 테스트 케이스의 개발과 통제가 용이하도록 개발되어야 함 실행 실행은 과학적 실험의 기본적인 원칙을 구현해야 함 테스트 수행 결과를 명확히 문서화 해야 함 테스트 결과 평가 결과를 평가하여 소프트웨어가 기대한 대로 실행되었는지, 또는 예상치 않은 결과는 없었..
소프트웨어 설계 개념 데이터 설계 : 분석 과정 중에 생성된 정보 영역을 소프트웨어를 구현하는 데 필요한 데이터 구조로 변환함 아키텍쳐 설계 : 프로그램의 주요 구조 요소들 사이의 관계를 정의 인터페이스 설계 : 소프트웨어가 상호작용하는 시스템과 인간 간의 교류를 나타냄 프로세저 설계 : 프로그램 아키텍처의 구조요소들을 소프트웨어 구성 요소에 대한 절차 서술로 변환 소프트웨어 설계 특성과 품질 소프트웨어 설계 특성 설계 품질 평가 시 좋은 설계에 대한 기준 소프트웨어 설계는 계층화와 모듈화를 기반으로, 각 프로세스와 데이터에 대하여 상세하게 요구 사항을 반영해야 한다.
설계 원리 개념 소프트웨어를 구성 요소로 나누는데 적용되는 기준 기능과 데이터 구조를 소프트웨어에 대한 개념적 표현으로부터 분리하는 방법 소프트웨어 설계의 기술적 품질을 정의하는 균일한 기준 추상화 현실 세계를 컴퓨터 세계로 변환시키는 과정 소프트웨어 공학 프로세스의 각 단계에서 추상화가 정제됨 요구 사항 분석 시 환경에 친숙한 용어들로 설명 설계가 진행됨에 따라 추상화 수준이 낮아짐 소스 코드가 생성될 때 최하위 수준의 추상화에 도달 기능(프로시저) 추상화 제한된 특정 기능을 갖는 명령어들의 명명된 순서 자료(데이터) 추상화 데이터 객체를 기술하는 데이터들의 명명된 집합체 제어 추상화 내부적인 상세 표현이 없는 프로그램 제어 메커니즘 단계적 정제(Stepwise Refinement) Niklaus Wi..
모듈화의 개요 모듈화의 정의 시스템을 분해하고 추상화하여 소프트웨어의 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 및 수정을 용이하도록 하는 소프트웨어 설계 기법 모듈화의 장점 프로그램의 효율적인 관리 및 성능 향상 전체적인 소프트웨어 이해의 용이성 증대 및 복잡성 감소 소프트웨어 시험, 통합, 수정 시 용이성 제공 기능의 분리가 가능하고 인터페이스가 단순 오류의 파급 효과를 최소화 모듈의 재사용 가능으로 개발과 유지보수가 용이 모듈화의 목표 모듈 간 결합도의 최소화 모듈 내 요소들 간의 응집도 최대화 결합도(Coupling) 결합도의 정의 소프트웨어 구조 내에서 모듈 간의 관련성을 측정하는 척도 결합도의 목표 모듈 상호간 낮은 결합도 추구 이해하기 쉬운 소프트웨어 구현을 위해 간단한 연결 추구 오..
데이터 설계 데이터 설계 시 기본적으로 요구 사항 정의와 명세 부분에서 인식된 데이터 개체의 논리적 표현을 선택해야 함 데이터 설계 중에 가장 중요한 것은 논리적인 데이터 구조에 대해 직접적으로 작용하는 프로그램 모듈을 식별하는 것 데이터 설계 원칙(Wasserman) 기능과 행위에 적용된 체계적 분석 원리들이 데이터에도 적용될 수 있어야 함 모든 데이터 구조와 각각의 데이터에 대해 수행되는 연산들이 식별되어야 함 데이터 사전이 만들어져 데이터와 소프트웨어 설계 모두를 정의하는 데 이용되어야 함 저수준의 데이터 설계 결정은 나중 단계에 이루어져야 함 데이터 구조는 데이터를 직접 이용하는 모듈 안에서만 표현되어야 함 유용한 데이터 구조와 그것에 적용되는 연산의 라이브러리가 개발 되어야 함 소프트웨어 설계와..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.