Frog is cry
시스템 분석 설계 : 7-소프트웨어 공학 및 IPT 본문
1장 소프트웨어 공학
소프트웨어 개발 주기(Life Cycle)
> 소프트웨어 생명주기라고도 하며 소프트웨어의 계획, 계발 결정, 개발 과정, 유지보수, 폐기처분을 망라하는 소프트웨어의 일생을 의미하는 말이다.
폭포수형 모델의 특징
> 가장 오래되고 널리 사용되어져 온 전통적인 수명주기 모델이다.
> 한 단계가 완전히 끝난 다음에 다음 단계로 진행하므로 개발 단계가 명확하여 이해나 적용이 용이하다.
> 각 단계별로 산출물이 명확하다.
> 임의의 단계에서 문제 발생 시 전 단계로 되돌아가 다시 개발해야 하는 문제가 발생할 수 있다.
> 새로운 요구사항 발생 시 적용이 되지 않는 문제가 발생할 수 있다.
> 사용자에게 소프트웨어의 모형을 보여줄 수 없다는 문제가 있다.
폭포수(Waterfall)형 모델의 개발 단계
Type1
계획 단계 > 분석 단계 > 설계 단계 > 구현 단계 > 테스트 단계 > 유지보수 단계
Type2
타당성 조사 > 요구 사항 확인 > 기본 설계 > 상세 설계 > 코딩 > 통합 > 실행 > 사용과 유지보수
설계 단계
소프트웨어를 단위 모듈로 분해하여 그 처리 과정을 설계하고 모듈과 모듈 간의 관계를 설계하여 설계 명세서를 만드는 단계로 오류를 가장 많이 범하며 소프트웨어가 큰 경우는 기본 설계와 상세 셜계로 나누어 실시한다.
기본 설계
> 개발될 소프트웨어에 대한 전체적은 하드웨어 및 소프트웨어 구조, 제어 구조, 자료 구조의 개략적인 설계를 작성하는 단계이다.
상세 설계
> 기본 설계가 완료되면 각 단위 프로그램에 대한 제어 구조, 자료 구조, 인터페이스, 알고리즘 등을 상세하게 기술하는 단계이다.
2장 IPT 및 모듈 설계
IPT(Improved Programming Technique) 기법의 개요
> 소프트웨어의 개발에 대한 생산성의 증대와 프로그램의 품질 개선을 위한 효율적인 프로그램 개발 기법을 의미한다.
IPT의 적용 목적
> 개발자의 생산성을 향상시킨다.
> 완성된 프로그램의 품질을 향상시켜 유지보수를 용이하게 한다.
> 프로그램의 표준화로 개인 격차를 해소하고 개발 요원의 교대 근무를 용이하게 한다.
> 보기 쉽고 이해하기 쉬우며, 개발과 유지보수의 양면에서 경제적인 프로그램을 만들 수 있게 한다.
IPT의 기술적 기법
구조적 프로그램의 기본 구조
순차(Sequence) 구조
> 기술된 명령문을 순서대로 수행하는 구조이다.
조건(Condition, Selection) 구조
> 일련의 동작 중 조건에 따라 두 가지 이상의 경우 중 한 가지만 선택하여 수행하는 구조이다.
반복(Iteration, Repetition) 구조
> 조건에 따라 임의 동작들을 반복 실행하는 구조이다.
HIPO(Hierachy plus Input Process Output)
HIPO의 특징
> 문서화와 설계의 효율성을 강화할 수 있다.
> 표준화된 문서 작성 기법을 사용한다.
> 프로그램의 기능을 계층 구조로 도식화한다.
> 하향식(Top-Down) 기법이다
> 기능과 자료의 의존 관계를 동시에 표현할 수 있다.
> 절차보다는 기능 중심 설계이다.
> IPO, 즉 입력(Input) - 처리(Process) - 출력(Output)의 기능을 명확히 하여 설계할 수 있다.
> 도식 목차(Visual Table Of Contents), 총괄 다이어그램(Overview Ddiagram), 상세 다이어그램(Detail Diagram)으로 전개된다.
> IBM에서 개발하였다.
HIPO의 구성
도식 목차(Visual Table Of Contents)
> 시스템이나 프로그램을 여러 기능으로 분해하여, 분해된 기능 사이에 어떤 관계가 있는지를 계층 구조 형식으로 나타낸 도표로 구조 형식으로 나타낸 도표로 계층 구조도(Hierarchy Diagram), 범례(Legend), 보충 설명란(Extended Description)으로 구성되어 있다.
총괄 도표(Overview Diagram)
> 시스템이나 프로그램 전체의 개괄적인 기능을 IPO(입력-처리-출력)의 형태로 사용자의 입장에서 나타낸 그림이다.
상세 도표(Detail Diagram)
> 정보 처리에 대한 상세한 사항을 IPO(입력-처리-출력)의 형태로 나타낸 것을 의미한다.
모듈 설계
> 모듈(Module)이란 프로그램보다 하나 작은 단위로 이름을 가지고 구성되어 독립적으로 컴파일 가능하며 다른 모듈에서 호출될 수 있도록 구성되어진 서브 루틴을 의미한다.
모듈의 특징
> 모듈은 독립적으로 컴파일 가능하다.
> 모듈은 다른 모듈의 호출에 의해 종속적으로 실행된다.
> 모듈은 재사용이 가능하다.
> 업무 처리가 비슷한 처리에 부품처럼 공통으로 사용할 수 있다.
> 모듈의 작성은 독립적으로 작성될 수 있으므로 분담하여 작성할 수 있다.
> 모듈은 메모리를 효율적으로 사용할 수 있다.
모듈 작성시 유의사항
> 하나의 모듈은 적절한 크기(Size)로 작성되어야 한다.
> 모듈 내의 응집도(Cohesion)는 되도록 강하게 한다.
> 모듈 간의 결합도(Coupling)는 약하게 한다.
> 다른 곳에도 적용이 가능하도록 표준화한다.
>. 보기 쉽고, 이해하기 쉽게 한다.
모듈화의 효과
> 시스템 개발 시 시간과 노동력을 점감할 수 있다.
> 시스템 개발 비용을 절감할 수 있다.
> 프로그램의 신뢰도를 향상시킬 수 있다.
> 시스템의 복잡성을 해결할 수 있다.
> 시스템에 대한 이해가 용이하다.
'자격증 > 정보처리산업기사' 카테고리의 다른 글
시스템 분석 설계 : 9-객체지향 분석 및 설계 (0) | 2020.08.08 |
---|---|
시스템 분석 설계 : 8-구조적 분석 및 설계 (0) | 2020.08.08 |
시스템 분석 설계 : 6-시스템 평가와 문서화 (0) | 2020.08.08 |
시스템 분석 설계 : 5-프로세스 및 프로그램 설계 (0) | 2020.08.08 |
시스템 분석 설계 : 4-파일 설계 (0) | 2020.08.06 |