모르겠는건 여기 참고
https://1d1cblog.tistory.com/87
https://velog.io/@yuhyeonp
요구사항확인
연습문제
9-5. UML 다이어그램 중 구현 단계에서 사용하기에 가장 적합한 것은?
- 유즈케이스 다이어그램
- 컴포넌트 다이어그램 + 배치 다이어그램
- 활동 다이어그램
- 클래스 다이어그램
예상문제
20. 다음은 서점 시스템의 요구사항에 대한 내용이다. 비기능 요구사항에 대한 설명은?
- 사용자는 로그인 또는 비로그인을 통해 책을 구매할 수 있어야 한다.
- 사용자가 책을 현금으로 구매하였을 경우 현금영수증 처리를 할 수 있어야 한다.
- 동시에 100명 이상이 주문을 요청해도 처리할 수 있어야 한다. -> 시스템 품질 (비기능)
- 사용자가 마이페이지에 저장해 놓은 도서 목록은 일정 기간 동안 그대로 저장되어 있어야 한다.
21. 요구사항 협상은 요구사항이 서로 충돌하는 경우 이를 적절히 해결하는 과정이다. 다음 중 요구사항이 서로 충돌되어 적절한 기준점을 찾아 합의해야 하는 경우가 아닌 것은?
- 두명의 이해관계자가 요구하는 요구사항이 서로 충돌되는 경우
- 요구사항이 서로 우선순위가 다른경우 -> 이미 우선순위가 부여 됐으므로 충돌x
- 요구사항과 자원이 서로 충돌되는 경우
- 기능 요구사항과 비기능 요구사항이 서로 충돌되는 경우
화면설계
연습문제
10-3. 소프트웨어 아키텍처에 관한 설명으로 가장 옳지 않은 것은?
- 아키텍처의 결정은 비기능적 요구사항과 큰 관련이 있다.
- 물리적 구성을 바탕으로 정의하는 시스템의 상세 설계도이다.
-> 시스템의 "논리적" 구성을 정의하는 것으로, "초기 설계" 또는 "개략 설계"라고도 한다
- 초기 계획 단계에서 작성되어 개발 및 유지 보수 작업 등에 영향을 준다.
- 작업자들 간의 상호 이해, 타협 및 의사 소통을 위해 사용된다.
14-2. 소프트웨어 품질 체계인 ISO/IEC 9126의 품질 특성 중 신뢰성(Reliability)에 속하지 않는 특성은?
- 성숙성(Maturity)
- 결함허용성(Fault Tolerance)
- 회복성(Recoverability)
- 정확성(Accuracy) --> 기능성에 속함
18-1. 다음 중 사용자 인터페이스의 시나리오 문서에 포함되는 내용이 아닌 것은?
- 다양한 상황에서의 예외 처리 방식
- 대표 화면 간 인터랙션 흐름
- GUI
-> UI 시나리오 문서가 완성되면 이것을 토대로 GUI를 설계한다
- 기능 구조
18-2. 완성된 UI 시나리오 문서를 가지고 다음 작업을 진행하는 담당자가 아닌 것은?
- 인터랙션 디자이너
-> UI시나리오 문서를 작성하는 사람
- 개발자
- 품질 관리자
- GUI 디자이너
애플리케이션 설계
연습문제
22-1. 소프트웨어 아키텍처의 패턴중 Pipe-Filter에 대한 설명으로 옳은 것은?
- 컴포넌트 간의 인터페이스가 복잡한 시스템에 적합하다.
- 유저가 직접 데이터 흐름에 간섭할 필요가 있는 경우에 사용된다.
- 모든 컴포넌트가 동시에 처리되어야 하는 병렬처리 시스템에 적합하다.
- 하나의 컴포넌트에서 처리가 끝나면 다음 컴포넌트가 결과물을 받아 처리하는 과정이 반복된다.
-> Pipe-Filter Pattern: 각 단계를 필터 컴포넌트로 캡슐화하여 앞의 컴포넌트에서 처리한 결과를 파이프를 통해서 전송하면 뒤의 컴포넌트에서 결과를 받아 다음 작업을 수행하는 구조
23-3. 결합도 강 -> 약 순서
내용(content) > 공통(common) > 외부(external) > 제어(control) > 스탬프(stamp) > 자료(data) 결합도
23-6. 응집도 강 -> 약 순서
기능적(functional) > 순차적(sequential) > 교환적(communication) > 절차적(procedural) > 시간적(temporal) > 논리적(logia) > 우연적(coincidental) 응집도
26-2. Iterator 패턴에 대한 설명으로 옳지 않은 것은?
- 내부 표현 방법의 노출 없이 접급이 가능하다.
- 클라이언트는 독립적으로 원하는 알고리즘을 선택하여 사용할 수 있다.
-> 행위패턴의 '전략'
- 배열이나 리스트 같은 자료 구조를 처리하는 데 사용된다.
- 집합 객체의 각 요소들에 대해 순차 접근하는 방식이다.
예상문제
2. 추상화의 유형 중 이벤트 발생의 구체적인 절차 또는 방법을 정의하지 않고 대표할 수 있는 표현으로 대체하는 것
- 과정 추상화
-> 자세한 수행 과정을 정의하지 않고, 전반적인 흐름만 파악할 수 있게 설계하는 방법
- 데이터 추상화
-> 데이터의 세부적인 속성이나 용도를 정의하지 않고, 데이터 구조를 대표할 수 있는 표현으로 대체하는 방법
- 제어 추상화
- 이벤트 추상화
-> 없음
3. 소프트웨어 아키텍처 설계에 대한 설명으로 옳지 않은 것
- 이해 관계자들의 의사소통 도구로 활용된다.
- 설계된 모듈을 프로그래밍 언어를 통해 구현한다. -> 아키텍처 '구현'에 관한 설명
- 애플리케이션을 모듈로 분할하고, 모듈 간 인터페이스를 결정하는 과정이다.
- 기본 원리에는 모듈화, 추상화, 단계적 분해, 정보은닉이 있다.
4. 소프트웨어 아키텍처의 품질 속성 중 다음 설명이 의미하는 것은?
- 개발 비용을 더 투자하여 유연성이 높은 아키텍처를 만들것인지를 결정하는 것이다.
- 유연성이 떨어지는 경우 이후 유지보수에 많은 비용이 소모될 수 있다는 것을 고려해야 한다.
- 비용과 혜택
- 시장 적시성
-> 정해진 시간에 맞춰 프로그램을 출시하는 것
- 가용성
-> 장애 없이 정상적으로 서비스를 제공하는 것
- 구축 가능성
-> 모듈 단위로 구분된 시스템을 적절하게 분배하여 유연하게 일정을 변경할 수 있도록 하는 것
5. 소프트웨어 아키텍처의 설계 과정
- 요구사항을 분석하여 전체 시스템의 설계 목표를 설정한다.
- 시스템과 서브시스템의 타입을 결정한다.
- 표준 아키텍처를 설계한다.
- 서브시스템의 기능과 서브시스템 간의 인터페이스를 정의(=구체화)한다.
- 검토
8. 아키텍처 스타일과 이를 기반으로 하는 시스템의 관계를 짝지은 것
- Layer Pattern - OSI 참조 모델
- Master-Slave Pattern - 장애 허용 시스템, 병렬 컴퓨팅 시스템
- Blackboard Pattern - 차량 식별 시스템
- MVC Pattern - 대화영 애플리케이션
14. 객체지향 개념에서 연관된 데이터와 함수를 함께 묶어 외부와 경계를 만들고 필요한 인터페이스만을 밖으로 드러내는 과정
- 정보 은닉(Information Hiding)
-> 한 모듈 내부에 포함된 절차와 자료들의 정보가 감추어져 다른 모듈이 접근하거나 변경하지 못하도록 하는 기법
- 클래스(Class)
-> 공통된 속성과 연산(행위)을 갖는 객체의 집합. 객체의 일반적인 타입(Type)
- 캡슐화(Encapsulation)
- 통합(Intergration)
18. 두 모듈이 동일한 자료 구조를 조회하는 경우의 결합성이며 자료 구조의 어떠한 변화, 즉 포맷이나 구조의 변화는 그것을 조회하는 모든 모듈 및 변화되는 필드를 실제로 조회하지 않는 모듈에까지도 영향을 미치게 되는 결합성은?
- Data Coupling 자료
-> 어떤 모듈이 다른 모듈을 호출하면서 매개 변수나 인수로 데이터를 넘겨주고, 호출 받은 모듈은 받은 데이터에 대한 처리 결과를 다시 돌려주는 방식
- Stamp Coupling 스탬프
- Control Coupling 제어
-> 어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해 제어 신호를 이용하여 통신하거나 제어요소를 전달하는 결합도
- Content Coupling 내용
-> 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합되어 있다고 한다.
- Common Coupling 공통
-> 두 모듈이 동일한 전역 데이터를 접근할 때
24. 효과적인 모듈 설계 방법
- Coupling은 약하게, Cohesion는 강하게 설계.
- Complexity와 Redundancy(중복성)은 줄인다
- Matintenance가 용이하도록
- Module 크기는 시스템의 전반적인 기능과 구조를 이해하기 쉬운 크기로 설계
26. 공통 모듈을 설계할 때 공통 부분을 명세하기 위한 기법
- 명확성
- 일관성
- 정확성
- 완전성
- 추적성
28. 다음과 같이 주로 도서 분류 코드에 사용되는 코드
- 도서 목록 : 부여 코드
- ..국문학.. : ....100....
- ..철..학.. : ....200....
- ..정보학.. : ....300....
- 10진코드
- 순서코드
-> 1,2,3,4...
- 문자코드
-> ??
- 분류코드
-> 1-01-001 : 본사-총무부-인사계, 2-01-001 : 지사-총무부-인사계
33. 디자인 패턴에 대한 설명
- Singleton: 하나의 객체를 생성하여 해당 객체를 어디서든 참조할 수 있도록 한다.
- Bridge: 구현에서 추상을 분리하여, 독립적으로 다양성을 가질 수 있다.
- Chain of Responsibility: 한 객체가 처리하지 못한 요청을 다음 객체가 처리하는 형태
- Strategy: 알고리즘들을 개별적으로 캡슐화하여 필요할 때 마다 원하는 알고리즘을 선택하여 사용할 수 있는 패턴
인터페이스 설계
연습문제
27-3. 시스템 인터페이스 요구사항 분석 절차
- 요구사항 선별
- 요구사항 관련 자료 준비
- 요구사항 분류
- 요구사항 분석 및 명세서 구체화
- 요구사항 명세서 공유
27-4. 시스템 인터페이스 관련 요구사항 중 비기능적 요구사항에 해당하지 않는 것은?
- 인사 및 조직 정보 등록 -> 기능적 요구사항
- 운영 접근 통제
- 처리 속도 및 시간
- 시스템 장애 대응
29-1. 다음 중 인터페이스 시스템 식별에 대한 설명으로 틀린 것은?
- 인터페이스 별로 인터페이스에 참여하는 시스템들을 송신 시스템과 수신 시스템으로 구분하여 작성하는 것 -> 인터페이스 시스템 식별
-> 인터페이스 요구사항 명세서와 인터페이스 요구사항 목록 기반 -> 내 외부 시스템 사이의 인터페이스를 식별
- 식별된 내,외부 시스템 간 인터페이스에 참여하는 시스템들을 송신 측과 수신 측으로 구분한다.
- 인터페이스가 내부 시스템 간 또는 내,외부 시스템 간에 발생하는지를 파악하여 대내외 여부를 기재한다.
- 개발하고자 하는 시스템과 타 시스템 사이의 인터페이스를 유일하게 식별할 수 있도록 인터페이스명을 부여한다.
30-1. 송,수신 시스템 사이에서 교환되는 데이터에 대한 설명
- 송,수신 데이터 항목은 인터페이스별로 전송되는 데이터 항목과 순서가 다르다.
- 인터페이스 표준 항목 중 시스템 공통부는 시스템 간 연동 시 필요한 공통 정보를 의미한다.
- 인터페이스 표준 항목 중 거래 공통부는 연동 처리 시 필요한 직원, 승인자, 기기, 매체 등으로 구성된다.
- 대,내외 연계 시 사용하는 공통 코드와 연계 시스템 등에서 사용하는 상태 또는 오류 코드와 같은 공통 코드 항목에 대해 코드값과 코드명, 코드 설명 정보 등을 공통 코드로 관리해야 한다.
30-2. 송,수신 데이터 식별에 대한 설명
- 개발하고자 하는 시스템과 연계할 내,외부 시스템 사이의 정보 흐름과 데이터베이스 산출물들을 기반으로 송,수신 데이터를 식별하고 정의한다.
- 송,수신 데이터를 식별하는데 필요한 데이터베이스 산출물에는 테이블 정의서, 코드 정의서, ERD 등이 있다.
- 데이터베이스 산출물들을 기반으로 송,수신 시스템 사이에서 교환되는 범위를 파악하고 데이터 항목을 식별한다.
- 코드성 데이터 항목에 대해 연계 시스템에서 사용하는 코드명과 코드값이 다를 경우 코드 매핑 대상으로 식별하고 양쪽 시스템에서 사용하는 코드 정보를 확보한다.
31-1. 인터페이스 송,수신 방법을 명세화 하는데 포함되는 항목
- 인터페이스 발생 주기
- 인터페이스 통신 유형
- 인터페이스 처리 유형
- 인터페이스 연계 방식
31-3. 인터페이스 통신 유형
31-4. 인터페이스 처리 유형과 발생 주기에 대한 설명
- 인터페이스 처리 유형은 업무의 성격 및 전송량을 고려하여 정의한다.
- 인터페이스 발생 주기는 업무 성격과 송,수신 데이터 양을 고려하여 매일, 수시 등으로 정의한다
- 인터페이스 처리 유형
-- 실시간 방식: 사용자가 요청한 내용을 바로 처리해야할 때
-- 지연 처리 방식: 데이터를 매 건 단위로 처리할 경우 비용이 많이 발생할 때
-- 배치 방식: 대량의 데이터를 처리할 경우
32-2. 시스템 인터페이스 정의서
- 데이터 송.수신 시스템 간의 데이터 저장소와 속성등을 작성한다.
- 최대 처리 횟수: 단위 시간당 처리될 수 있는 해당 인터페이스 최대 수행 건수
- 데이터 크기: 해당 인터페이스 1회 처리 시 소요되는 데이터의 평균 및 최대크기
- 인터페이스 ID, 인터페이스명, 처리 유형, 통신 유형 -> 시스템 인터페이스 목록에 기록
33-1. 미들웨어 솔루션의 유형
- ORB: 객체 지향 미들 웨어, 코바(CORBA) 표준 스펙을 구현한 미들웨어
- DB: 데이터베이스 벤더에서 제공하는 클라이언트에서 데이터베이스와 연결하기 위한 미들웨어
- WAS: 웹환경을 구현하기 위한 미들웨어
- MOM: 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어
33-2. 개발 및 운영 환경에서 사용될 미들웨어 솔루션을 확인하는 방법
- 아키텍처 구성 정보를 검토
- 프로젝트의 구매 SW를 검토
- 프로젝트에서 사용될 미들웨어 솔루션에 대해 정리
- 솔루션의 제약사항에 대해 검토 -> 명세서 작성 시 수행
예상문제
2. 시스템 인터페이스 요구사항 명세서의 항목
- 인터페이스 이름
- 연계 대상 시스템
- 연계 범위 및 내용
- 연계 방식
- 송신 데이터 (수신 데이터는 아님)
- 인터페이스 주기
- 기타 고려사항
6. 요구사항 명세서 검토 방법
- 워크스루: 검토 회의 전에 요구사항 명세서를 미리 배포하여 사전 검토한 후에 짧은 검토 회의를 통해 결함을 발견하는 형태
- 인스펙션: 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견하는 형태
- 동료 검토: 요구사항 명세서 작성자가 명세서의 내용을 직접 설명하고 이해관계자들이 이를 들으면서 결함을 발견하는 형태
10. 시스템 연계 기술
- DB Link: 수신 시스템에서 DB Link를 생성하고 송신 시스템에서 해당 DB Link를 직접 참조하는 방식
- 연계 솔루션: EAI 서버와 송, 수신 시스템에 설치되는 클라이언트를 이용하는 방식
- Socket: 서버가 통신을 위한 소켓을 생성하여 포트를 할당하고 크랄이언트의 통신 요청 시 클라이언트와 연결하여 통신하는 네트워크 기술
- Web Service: 웹 서비스에서 WSDL과 UDDI, SOAP 프로토콜을 이용하여 연계하는 방식
12. 인터페이스 오류 식별 및 처리 방안 명세화
- 오류가 발생하는 영역을 구분할 수 있는 발생 영역 구분자를 정의한다.
- 오류 발생 시 오류 코드, 오류 메시지, 오류 설명 및 해결 방법 등을 정의한다.
- 오류를 식별하는 오류 코드는 오류 발생 영역 구부낮와 오류 그룹 번호 등을 참조하여 정의한다.
- 오류 처리에 참고할 수 있도록 오류 발생 원인 등 상세한 설명을 포함해서 정의한다.
13. 시스템 인터페이스 설계서
- 설계서: 시스템의 내, 외부 인터페이스를 식별하고 인터페이스의 명세를 기술하기 위해 작성한다.
- 설계서: 시스템 인터페이스 목록과 시스템 인터페이스 정의서로 구성
--목록: 연계 업무와 연계에 참여하는 송,수신 시스템의 정보, 연계 방식과 통신 유형 등에 대한 정보를 포함
--정의서: 데이터 송신 시스템과 수신 시스템 간의 데이터 저장소와 속성 등의 상세 내역을 포함