과목1. 소프트웨어 설계, 4강. 요구사항 확인-요구사항 확인(1)
[ 목차 ]
1. 요구분석의 개념
2. 요구분석 활동 유형
3. 요구분석 기법
4. 구조적 개발 VS 객체지향 개발
5. 객체지향의 용어
1. 요구분석의 개념
1) 도출된 요구사항들 간의 상충을 해결하고 소프트웨어의 범위를 파악하여 소프트웨어가 환경과 어떻게 상호작용하는지 분석하는 과정
2) 외부사용자와의 인터페이스 및 내부시스템 구성요소간의 인터페이스를 분석하여 시스템을 계층적, 구조적, 유기적으로 표현
2. 요구분석 활동 유형
1) 도메인 분석
1] 문제 영역 안에 있는 중요한 사항들을 인식하기 위해 정보를 수집하고 배경을 분석하는 단계
2] 사용자와의 인터뷰, 설문조사, 실사를 통해 현황을 파악하고 새로운 시스템에 대한 요구분석을 모델링하기 위한 것
3] 문제영역 분석 : 개발자는 문제영역에 전문성이 없기 떄문에 사용자의 요구를 잘못 이해하고 분석할 수 있음
문제영역과 관련된 프로젝트를 개발한 경험이 많은 분석가를 투입하여 문제영역 분석 과정을 거침
4] 인터페이스 설정 : 외부 사용자 및 내부 시스템 구성요소간의 인터페이스를 정확히 분석
도메인 분석을 통해 찾아낸 중요한 개념, 특성, 관계에 대하여 연결 설정
2) 요구사항 분석
1] 목표분석 : 고객의 요구분석은 먼저 고객 요구의 목표 수준을 확인하는 것으로 시작
2] 요구사항 구조화 : 각 요구사항을 상위, 하위개념에 맞춰 계층구조화
3] 구조 모델링 : 구조적 특성을 자세하게 모델링(개념화) 하는 것
3) 행위 분석
1] 시스템이 외부 사건들의 결과로서 어떻게 작용하는지 분석
2] 인터페이스 조건에 대한 행위 정의
3] 인터페이스 조건 분석
4] 참여자들의 조건, 행위 분석
모델링 : 도메인 분석을 통해 찾아낸 중요한 개념, 특성, 관계에 대하여 개념화 하는 작업
3. 요구분석 기법
1) 사용자 그룹 인터뷰
1] 요구사항을 도출한 사용자를 대상으로 인터뷰 수행
2] 대상이 많을수록 좋고 회의록 작성은 필수
3] 필요시 녹음하여 반복 청취
2) 이해관계자 설문조사
1] 사용자와 대면 조사가 어려울 때 설문 형식으로 조사
2] 현행 시스템의 개선 의견을 끌어냄
3) 문헌 조사
1] 유사 프로젝트, 업무 문서, 양식을 조사하여 현재 시스템 정보에 대한 이해를 도출
2] 산업 및 기업 표준, 정부 정책, 규제 및 법규 또한 조사
3] 개발팀은 업무 도메인 교육이나 튜토리얼에 참가
4) 프로토타이핑
1] 요구사항에 대한 이해를 하기 위해 기본적인 기능만 빠르게 구현하여 사용자로부터 피드백 받는 기법
2] 개발자의 아이디어를 사용자로부터 조기에 피드백을 받고자 할 때 사용
3] 프로토타이핑 전용언어로 모의 사용자(mock-up) 인터페이스를 만들어 사용
5) 사용자 스토리텔링
1] 사용자의 요구사항을 이야기 형식으로 기술하여 자연스럽게 개발자가 요구사항을 이해하도록 구성하는 기법
2] 주로 애자일 방법에서 사용하며 개발자와 사용자가 서로 긴밀히 대화하면서 요구사항을 함께 만듬
4. 구조적 개발 VS 객체지향 개발
1) 구조적 장점 : 구조가 단순하여 이해, 수정이 쉽고 정확함
2) 구조적 단점 : 소프트웨어 재사용과 유지보수가 어려움
3) 객체지향 장점 : 현실 세계를 프로그램에 반영해 소프트웨어 재사용, 유지보수가 향상되어 소프트웨어 위기 해결방안
5. 객체지향의 용어
1) 객체
1] 클래스의 인스턴스이며 객체들 간의 상호작용은 메시지를 통해 이루어짐
2] 데이터 : 객체가 가지고 있는 상태, (=속성, 변수, 자료구조)
3] 연산자 : 객체의 데이터를 처리하는 행위, (= 메소드, 동작, 함수, 프로시저)
2) 클래스
1] 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 데이터 추상화를 의미
2] 공통된 속성과 연산을 갖는 객체의 집합
3] 인스턴스 : 클래스에 속한 각각의 객체
3) 메시지
1] 객체들 간에 상호작용을 하는데 사용되는 수단
2] 객체에서 객체로 메시지가 전달되면 메소드를 시작함
4) 메소드
1] 객체지향 시스템에서 전통적 시스템의 함수 또는 프로시저에 해당하는 연산기능
2] 객체지향 개념에서 객체가 메시지를 받아 실행해야 할 객체의 구체적인 연산
5) 캡슐화
1] 속성과 메소드를 하나로 묶어서 객체로 구성
2] 정보은폐가 되어 외부에서 변경이 불가능하고 프로그램변경에 대한 오류의 파급효과가 적어 재사용이 용이함
6) 정보은폐 : 고려되지 않은 영향들을 최소화하기 위해 객체가 다른 객체로부터 자신의 자료를 숨기고 자신의 연산만을
통하여 접근을 허용하는 것
7) 상속
1] 상위 클래스의 메소드와 속성을 하위 클래스가 물려받는 것
2] 다중 상속은 한 클래스가 여러 상위 클래스로부터 상속받는 것
8) 다형성
1] 한 메시지가 객체에 따라 다른 방법으로 응답할 수 있는 것
2] 많은 상이한 클래스들이 동일한 메소드명을 이용하는 능력
'자격증 > 정보처리기사 1과목' 카테고리의 다른 글
1-6강. 요구사항 확인-분석모델 확인(1) (0) | 2020.03.05 |
---|---|
1-5강. 요구사항 확인-요구사항 확인(2) (0) | 2020.03.05 |
1-3강. 요구사항 확인-현행시스템 분석(3) (0) | 2020.03.03 |
1-2강. 요구사항 확인-현행시스템 분석(2) (0) | 2020.03.03 |
1-1강. 요구사항 확인-현행시스템 분석(1) (0) | 2020.03.03 |