#117_개발 단계에 따른 테스트 종류
- 단위 테스트 : 각의 모듈에 대해 독립적인 환경에서 기본 데이터만 입력하여 테스트
- 통합 테스트 : 시스템 모듈간의 상호 인터페이스가 원활하게 수행되고 있는가를 확인하는 작업으로, 프로그램 단위별로 디버깅이 끝난 것을 모아 서로 연관된 프로그램군(Group)을 계통적으로 검사하며, 시스템 분석가에 의해 테스트 데이터가 작성됨(결합 테스트)
- 시스템 테스트 : 시스템이 초기의 목적을 만족시키는가를 확인하는 작업
- 인수 테스트 : 사용자의 요구 사항을 만족시키는가를 확인하는 작업으로, 개발 과정 이후에 사용자에게 인수하는 과정에서 수행함
- 테스팅 검토 : 테스트가 계획대로 수행되었는지를 확인하는 작업
#118_문서화의 목적 및 효과
- 시스템 개발팀에서 운용팀으로 인수인계가 용이
- 개발 후에 시스템의 유지보수가 용이
- 개발팀을 원활히 운용할 수 있음
- 시스템 개발 중의 추가 변경 또는 시스템의 개발 후의 변경에 따른 혼란을 방지할 수 있음
- 시스템 개발 방법과 순서를 표준화할 수 있어 효율적인 작업과 관리가 가능
- 복수 개발자에 의한 병행 개발을 가능하게 함
- 타업무 개발에 참고할 수 있음
#119_폭포수 모델(Waterfall Model)
- 전적(전통적) 생명 주기 모델로서, 폭포수에서 한번 떨어진 물이 거슬러 올라갈 수 없듯이 소프트웨어 개발도 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후에 다음 단계를 진행하며 이전 단계로 넘어 갈 수 없는 방식
- 가장 오랫동안 사용되어 온 모델로 적용 사례가 많음
- 단계별 정의가 분명하며, 각 단계별로 산출물이 명확히 나옴
- 새로운 요구 사항을 시스템에 반영하기가 어려움
- 개발 순서 : 타당성 조사 -> 계획 -> 요구 사항 분석 -> 기본 설계(개략 설계) -> 상세 설계 -> 구현(Coding) -> 통합 시험 -> 시스템 실행 -> 유지보수
타당성 조사 | 시스템의 정의와 가능성 조사 및 다른 방법과 비교 조사하는 단계 |
계획 | 사용자 문제의 정의, 정체 시스템 차원의 기본 목표와 요구사항 결정, 추진 방안의 제시를 통해 시스템 개발 비용 및 소요 기간, 인력 등의 개발 계획을 수립하는 단계 |
요구사항 분석 | 소프트웨어에 요구되는 기능, 성능, 그리고 인터페이스 등 사용자의 요구 사항을 구체적으로 이해하는 단계 |
기본 설계(=개략 설계) | 개발될 소프트웨어에 대한 전체적인 하드웨어 및 소프트웨어 구조, 제어 구조, 자료 구조의 개략적인 설계를 작성하는 단계 |
상세 설계 | 각 단위 프로그램에 대한 사항을 상세히 기술하는 단계 |
구현(Coding) | 설계 단계에서 만들어진 설계 사양서를 바탕으로 프로그램을 작성하는 단계로, 코딩과 디버깅, 단위 테스팅을 수행하는 단계 |
통합 시험 | 단위 프로그램별로 구현된 것을 통합시키며 시험하는 단계 |
시스템 실행 | 전체 시스템이 정확하게 실행하는가를 확인하는 단계 |
유지보수 | 시스템의 사용 중에 발생하는 여러 변경 사항에 대해 적응하고, 변화에 대비하는 과정 |
#120_그 밖에 소프트웨어 생명 주기
- 프로토타이핑 모델(Prototyping Model) : 사용자의 요구 사항을 정확히 파악하기 위해 실제 개발될 소프트웨어에 대한 모형(Prototype, 시제품)을 만들어 의사 소통의 도구로 삼으면서 개발하는 기법
- 나선형 모델 : 폭포수 모델과 프로토타이핑의 장점에 위험 분석 기능을 추가한 모델(점증적 모델)
- 4세대 기법(4GH) : 자연어로 표현하는 4세대 언어를 이용하여 개발자가 조사한 요구 사항을 자동으로 구현(Coding)시키는 비절차적 기법
#121_IPT 기법의 도입 목적
- 보기 쉽고 이해하기 쉬우며, 개발과 유지보수의 양면에서 경제적인 프로그램을 만들 수 있게 함
- 개발자의 생산성을 향상시킴
- 완성된 프로그램의 품질을 향상시켜 유지보수를 용이하게 함
- 프로그램의 표준화로 개인 격차를 해소하고, 개발요원의 교대 근무를 용이하게 함
#122_HIPO
- 시스템 실행 과정인 입력, 처리, 출력을 계층적으로 기술하는 방법
- 시스템을 설계하거나 문서화하기 위한 도구임
- 체계화된 문서 작성이 가능하며, 보기 쉽고 알기 쉬움
- 하향식(Top-down)방식을 사용하여 나타냄
- 개발 과정에서 문서화를 부산물로 얻을 수 있음
- 도표상에 기능 위주로 입력 내용, 처리 방법, 출력 내용이 제시되므로 시스템의 이해가 쉬움
- 기능과 자료의 의존 관계를 동시에 표현 할 수 있음
- 유지보수 및 변경이 용이함
- HIPO의 구성
도식 목차(Visual Table of Contents) |
ㆍHIPO에서 지정된 기능을 계층적으로 나타낸 도표 ㆍ시스템의 구조와 각 기능의 관계를 도식화한 것으로, 특정 기능을 쉽게 찾을 수 있음 |
총괄 도표(Overview Diagram) |
ㆍ시스템 또는 프로그램의 기능을 입력, 처리, 출력 관계로 도표화한 것 ㆍ사용자의 관점에서 본 시스템 또는 프로그램의 기능과 처리 내용을 나타내는 것 |
상세 도표(Detail Diagram) | 총괄 도표에 나타난 기능을 구성하는 기본 요소들을 상세히 기술한 도표 |
#123_구조적 분석
- 요구 분석 명세서를 작성하기 위하여 널리 사용되어 오는 IPT 기법 중 하나임
- 구조적 분석은 도형 중심의 분석용 도구와 분석 절차를 이용하여 사용자의 요구 사항을 파악하고 문서화하는 체계적인 분석 기법임
- 구조적 분석용 도구 : 자료 흐름도(DFD), 자료 사전(DD), 소단위 명세서(Mini-Spec), 개체 관계도(ERD), 상태 전이도(STD)
- 도형 중심의 문서화 도구를 사용함으로 분석자와 사용자간 대화가 용이
- 시스템을 하향식으로 세분화함
- 하향식 분할 원리를 적용하여 분석의 중복성을 배제함
- 사용자의 요구사항을 논리적으로 표현하여 전체 시스템을 일관성 있게 이해할 수 있음
- 자료 흐름도의 구성 요소
구성 요소 | 의미 | 표기법 |
처리 | 입력된 자료를 출력으로 변환하는 것 | O |
자료 흐름 | 발생지, 종착지, 처리 및 저장소 사이에서 자료의 흐름을 나타냄 | → |
자료 저장소 | 시스템 상의 자료를 저장하기 위한 장소 |
ㅡ ㅡ |
단말 | 시스템에 필요한 자료가 입력되는 발생지와 시스템에서 처리된 자료가 출력되는 종착지를 나타냄 | ㅁ |
#125_자료 사전(DD)
- 자료 흐름도의 대상이 되는 모든 자료에 대한 기본적인 사항들을 더 자세히 정의하기 위해 사용되는 도구로, 메타데이터 또는 데이터의 데이터 라고도함
- 이름을 이용해 정의를 쉽게 찾을 수 있어야 하며, 이름이 중복되어서는 안됨
- 갱신하기 쉬워야 하며, 정의하는 방식이 명확해야 함
- 중복된 정의가 없어야 함
- 자료 사전의 정의 대상 : 자료 흐름(Data Flow)을 구성하는 자료 항목, 자료 저장소(Data Store)를 구성하는 자료 항목, 자료에 대한 의미, 자료 요소(Data Element)의 단위 및 값
- 자료 사전의 기호
기호 | 의미 | 기호 | 의미 |
= | 자료의 정의 | { } | 자료의 반복 |
+ | 자료의 연결 | | | 대체 항목의 나열 |
( ) | 자료의 생략 | *...* | 자료의 설명 |
[ ] | 자료의 선택 |
#126_소단위 명세서(Mini-Spec.)
- 자료 흐름도상의 최하위 처리 절차를 상세하게 기술하는데 사용하는 도구로, 프로세스 명세서라고도 함
- 구조적 언어, 의사 결정표, 의사 결정도를 이용하여 기술함
#127_상태 전이도(STD)
- 시스템에 어떤 일이 발생할 경우 시스템의 상태와 상태의 변화를 모델링하는 것
- 시스템의 행위를 정의하는 도구
- 시스템의 상태란 시스템이 수행 중인 상태를 의미하는 것으로 직사각형으로 나타냄
- 상태의 변화란 시스템이 어떤 상태에서 다른 상태로 변환되는 과정을 의미하는 것으로 화살표로 나타냄
- 상태의 변화를 일으키는 조건과 그 조건이 상태를 변화시킬때 시스템이 취하는 행동을 제시해야됨
- 화살표의 시작은 상태 변화를 일으키는 사건을 의미하며, 화살표의 끝은 사건의 결과로 발생하는 조검임
'자격증 > 정보처리산업기사 - 개정전' 카테고리의 다른 글
정보처리산업기사 필기_4과목, 운영체제(#137~#147) (0) | 2020.04.18 |
---|---|
정보처리산업기사 필기_3과목, 시스템 분석 및 설계(#128~#136) (0) | 2020.04.18 |
정보처리산업기사 필기_3과목, 시스템 분석 및 설계(#106~#116) (0) | 2020.04.17 |
정보처리산업기사 필기_3과목, 시스템 분석 및 설계(#95~#105) (0) | 2020.04.17 |
정보처리산업기사 필기_2과목, 전자계산기 구조(#90~#94) (2) | 2020.04.17 |