CS 필기 노트(39)
-
소프트웨어 공학의 3R, 형상관리
소프트웨어 재공학 소프트웨어 재사용 소프트웨어 생산성을 향상시키기 우한 작업으로 해당 소프트웨어를 반복 사용한다. 클래스, 객체등이 소프트웨어 재사용성을 향상시키는데 도움이 된다. 소프트웨어 재공학 기존 소프트웨어를 파기하지 않고 변경된 사용자의 요구에 따라 재구축하는 것이다. 유지 보수에 대한 장기적인 전략적 고려와 함께 많은 비용, 시간이 필요하다. 소프트웨어 역공학 현재 프로그램으로 부터 데이터, 구조, 절차에 관한 분석 정보를 추출하는 과정이다. 원시 코드를 분석하여 문서화를 다시하거나 ERD를 재생시킨다. CASE (Computer Aided Software Engineering) 도구 소프트웨어 개발 일부 또는 전체를 자동화 하기 위한 도구로, 속도를 향상시킨다. 소프트웨어 부품의 재사용과 시..
2020.10.16 -
소프트웨어 테스트
화이트 박스 테스트 원시 프로그램을 하나씩 검사하는 방법으로 모듈안의 작동 상태를 확인할 수 있다. 검증 기준을 바탕으로 원시 코드의 모든 문장을 실행한다. 세부적 오류, 논리 오류, 반복문 오류를 잡는다. 종류 - 기초 경로 검사 : 복잡도를 구하고 검사 대상을 결정한 수 검사 수행 - 루프 검사 : 루프에 값을 대입하여 경우의 수마다 테스트 블랙 박스 테스트 소프트웨어 인터페이스에서 실시되는 검사로 설계된 모든 기능이 정상적으로 수행되는지 확인한다. 주로 입출력 위주의 검사 방법이다. 모듈 안의 작동 상태는 확인할 수 없다. 종류 - 균등 분할 검사 : 정상과 오류 자료를 동일하게 입력하여 테스트 - 경계값 검사 : 한계값을 집중적으로 입력하여 테스트 - 오류 예측 검사 : 오류가 수행될 값을 입력하..
2020.10.15 -
개발 방법론
구조적 방법론 개념 정형화된 분석 절차에 따라 사용자 요구사항을 문서화 하는 체계적인 분석 방법론. 탑다운 프로그래밍을 수행한다. 구성요소 분석 - 분할 정복, 정형화, 하향식 설계 - 데이터 흐름 중심, 모듈의 응집도, 재활용성 프로그래밍 - 연속, 반복, 조건 장단점 장점 : 모듈화로 인하여 컨트롤이 쉽다. 단점 : 거시 관점이 부족하고, 프로그램 로직 중심의 개발이다. 정보공학 방법론 개념 기업 전체, 또는 기업의 주요 부분을 계획, 분석, 설계에 정형화된 기법들을 통합 적용하는 기법이다. 비즈니스 시스템을 공학적으로 접근하기 위해 체계화 시킨 개발방법론 구성요소 - 1단계 정보전략계획 : 경영 전략, 관련조직 - 2단계 업무영역 분석 : 데이터 모델링, 프로세스 모델링 - 3단계 업무시스템 설계 ..
2020.10.15 -
객체 지향 소프트웨어
객체 지향 객체라는 중심 개념을 도입하여 프로그램을 개발하는 것으로 클래스에 대한 개념을 처음 도입했다. 구성요소 : 객체, 속성, 메소드, 클래스, 메세지, 클래스, 인스턴스 객체 지향의 기본 원칙 추상화 : 시스템에서 가장 중요한 부분을 정확하고, 간단하게 표현하는 것으로 다른 객체와 구분되는 속성이다. 캡슐화 : 객체를 이용하여 서로 관련 있는 데이터들을 하나의 단위로 묶는 기법이다. 정보 은폐 : 고려되지 않은 영향을 최소화 하는것으로, 자신의 연산만을 통하여 접근을 허용한다. 상속성 : 상위 클래스의 메소드와 속성을 하위 클래스가 물려받는 것이다. 객체 지향 분석의 개발 방법 객체 지향 분석 모델링 구성 요소인 클래스, 객체, 속성 등을 이용하여 문제를 모형화 시킨다. 객체를 인스턴스화 하여 식..
2020.10.15 -
프로젝트 비용 산정 모델
비용 측정 방법 하향식 측정 총 비용을 전체 시스템에서 측정한 후 단계별로 세분화한다. 상향식 측정 비용을 단계별로 측정하여 마지막에 총 비용을 산출한다. 대표적으로 LOC기법이 있다. LOC기법 개발 비용 = 개발기간 * 투입 인원 * 1인당 인건비 개발 기간 = 예측된 코드 라인 수 / (투입 인원 * 1인당 인건비) COCOMO 모형 loc에 기반한 비용 산정 기법이다. 비용 견적의 강도와 유연성이 높아 소프트웨어 개발비 견적을 측정할 때 많이 사용한다. 조직형 : 5만 라인 이하의 소프트웨어를 개발할때 쓰이며 자료 처리, 계산 등에 쓰임 반분리형 : 5만 ~ 30만 라인에 사용되며, 트랜잭션 처리, db관리 시스템, 개발 지원도구 등에 사용된다. 내장형 : 30만 라인 이상에 사용되며 시스템 소프..
2020.10.15 -
소프트웨어 생명주기 모형 (waterfall, prototype, spiral, RAD)
소프트웨어의 생명주기 1. 계획 소프트웨어 개발에 필요한 자원과 비용을 측정하고 계획한다. 2. 요구사항 분석 사용자가 요구한 문제를 상세하고 정확하게 분석한다. 3. 설계 소프트웨어의 구조, 알고리즘을 작성하는 단계 4. 구현 설계한 문서들을 기초로 코딩하고 번역하는 단계 5. 테스트 구현된 소프트웨어에 내재되어 있는 오류를 찾아주는 단계 6. 유지보수 여러 환경에 따라 소프트웨어를 적응 및 유지시키는 단계 폭포수 모형 (waterfall model) 선형 순차 모형으로, 각 단계가 끝날 경우 결과물이 명확히 나와야한다. 개발 단계는 위의 생명 주기와 같으며 총 6단계의 과정을 거친다. 상위 단계를 완료하지 않으면 후에 심각한 영향을 준다는 것이 특징이며 고객의 요구가 개발 단계의 후반이 되서야 확인 ..
2020.10.15