#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)

 - 시스템에 어떤 일이 발생할 경우 시스템의 상태와 상태의 변화를 모델링하는 것

 - 시스템의 행위를 정의하는 도구

 - 시스템의 상태란 시스템이 수행 중인 상태를 의미하는 것으로 직사각형으로 나타냄

 - 상태의 변화란 시스템이 어떤 상태에서 다른 상태로 변환되는 과정을 의미하는 것으로 화살표로 나타냄

 - 상태의 변화를 일으키는 조건과 그 조건이 상태를 변화시킬때 시스템이 취하는 행동을 제시해야됨

 - 화살표의 시작은 상태 변화를 일으키는 사건을 의미하며, 화살표의 끝은 사건의 결과로 발생하는 조검임

+ Recent posts