[실기] - 문제 정리 - 소프트웨어 구축[1]
소프트웨어 구축[1]
1. 소프트웽 공학이란?
2. 소프트웨어의 3R을 쓰시오.
3. 재공학의 처리 순서를 쓰시오.
4. 공학중에 재사용의 방법을 쓰시오.
----------------------------------------------
5. 소프트웨어의 개발 단계(순서)를 쓰시오.
방법론
- 자료, 자료들의 집합, 자료의 흐름, 자료 저장소와 그것들의 관계-범위-단위를 구체적으로 명시하는 것을 말한다.
- DFD(자료 흐름도)에 대한 기호를 쓰시오.
- 데이터 흐름도(DFD)의 구성 요소 4가지 (개정 전 기출문제)
- 데이터가 각 프로세스를 따라 흐르면서 변환되는 모습을 나타낸 그림
- 자료사전의 기호를 쓰시오.
- 구조적 장법론(구조적 절차 개발)에 대한 4가지 명세화 기법을 쓰시오.
- ERD의 3가지 구성요소를 쓰시오. 그리고 기호를 쓰시오.
객체지향 분석 방법론의 종류의 각 특징에 맞는 답을 쓰시오.
- E-R 다이어그램 이용
- 럼바우 데이터 모델링에 대한 다음 설명에서 각 지문에 해당하는 모델링을 찾아 쓰시오
1) 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현한 모델링
ex) 자료 흐름도
|
2) 시간의 흐름에 따른 객체 간의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현하는 모델링
ex) 상태 변화도
|
3) 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 표시하는 모델링
ex) ER다이어그램
|
<보기>
ㄱ. operation
ㄴ. sequence
ㄷ. information
ㄹ. transaction
ㅁ. function
ㅂ. I/O
ㅅ. Dynamic
ㅇ. Cause-Effect
|
- 각 특징에 맞는 방법론을 쓰시오.
1) 미시적, 거시적 개발 프로세스를 모두 사용하는 분석 방법으로 클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의
2) 사용자, 외부 시스템, 다른 요소들이 시스템과 상호 작용하는 방법을 기술한 Use Case를 사용하는 분석 방법
3) E-R 다이어그램을 사용하여 객체의 행위를 모델링하고, 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결을 정의하며 연산과 메시지 연결 등의 과정으로 주로 관계를 분석하는 방법
4) 분석과 설계간 구분이 없으며 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 방법
럼바우(Rumbaugh) 객체지향 분석 기법
1) 객체 모델링에 활용되는 다이어그램
2) 동적 모델링에 활용되는 다이어그램 (20년 4회 필기 기출)
3) 자료 흐름도(DFD)를 주로 이용하는 것 (21년 3회 필기 기출)
- 객체 지향 방법론의 기법 5가지 이상 특징을 쓰시오.
- 객체지향 기법 중 객체의 상세한 내용을 개체 외부에 감추고 메시지를 통하여 다른 객체와 상호작용하며 구현부가 변경되어도 변경의 영향을 최소화할 수 있는 정보 은닉의 특징을 갖고, 서로 관련성이 많은 데이터와 이와 관련된 함수들을 한 묶음으로 처리하는 기법
- 객체지향 기법 중 상위 클래스의 속성과 메소드를 하위 클래스에서 재정의 없이 물려받아 사용하는 기법
- 객체지향 기법 중 하나의 메시지에 대해 각 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력
- 불필요한 부분을 생략하고 객체의 가장 중요한 것에만 중점을 두어 간략화 시킨것으로, 객체지향 기법 중 공통 성질을 추출하여 클래스를 설정하는 기법
객체지향프로그램(OOP)의 특성을 3가지 이상 쓰시오.
- 작업 계획을 짧은 단위로 세우고 시제품을 만들어 나가는 사이클을 반복함으로써 고객의 요구 변화에 유연하고도 신속하게 대응하는 개발 방법론이다. 이와 반대되는 개념이 전통적 개발 방법론이라 할 ‘워터폴(Waterfall) 방식’이다. 최근 이 용어는 소프트웨어 개발에 국한되지 않고 조직과 사업 등 기업경영 전반으로 사용 범위가 확산되고 있다.
모델
- ( )은 소프트웨어 개발 프로세스로 폭포수 모델의 확장된 형태 중 하나로 볼 수 있다. 아래 방향으로 선형적으로 내려가면서 진행되는 폭포수 모델과 달리, 이 프로세스는 코딩 단계에서 왼쪽으로 꺾여서 알파벳 V자 모양으로 진행된다.
- 인터페이스 중심으로 개발하는 방법으로 사용자의 요구사항을 정확히 파악하기 위해 견본품을 만들어 최종 결과물을 예측하는 모형
- 나선형 모델의 개발 순서(절차)를 쓰시오.
- CASE의 상위, 하위에 대해서 쓰시오.
- V모형의 4가지 테스트를 쓰시오.
[계획 단계]
- 프로젝트 핵심 대상 3가지를 쓰시오.
-
- 비용산정
하향식 기법
6. 전문가들의 편견이나 분위기에 지배되지 않도록 한 명의 조정자와 여러 전문가로 구성해, 전문가의 경험적 지식을 통한 문제해결 및 미래 예측을 위한 기법
상향식 기법
7. 소프트웨어 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법
8. 7번에 대한 공식을 쓰시오.
수학적 기법
8. 보헴(Bohem)이 제안한 모형으로 프로그램 규모에 따라 비용을 산정하고, 개발 노력 승수를 결정하는 모형 (20년 3회 필기 기출)
- 8번에 대한 3가지를 쓰시오.(영어와 한글 둘다)
9. 소프트웨어 개발 주기의 단계별로 요구할 인력의 분포를 가정하고, Rayleigh-Norden 곡선의 노력 분포도를 이용한 프로젝트 비용 산정기법으로, 자동화 추정도구로 SLIM가 있는 비용 산정 기법 (20년 3회 필기 기출)
10. 1971년 미국 IBM의 Allen J. Albrecht에 의해 제안된, 요구 기능을 증가시키는 인자별로 가중치를 부여하여 기능 점수를 계산하여 비용을 산정하는 모형으로, 원시 코드의 구현에 이용되는 프로그래밍 언어에 독립적이며 프로젝트의 영향도와 가중치의 합을 이용하여 기능점수를 계산하고, 자동화 추정도구로 ESTIMACS가 있는 비용 산정 기법
- 일정산정
11. 프로젝트를 이루는 소작업 별로 언제 시작디고 언제 끝나야 하는지를 한 눈에 볼 수 있음 자원 배치 계획에 유용하며 CPM 네트워크로 부터 만드는 것이 가능
12. 4가지 순서를 쓰시오.
13. 기능을 세분화 하여 작업 분해를 () 하며, 전후 관계를 전재로해서 네트워크를 작성하여 프로젝트를 완료하기 위해서 팀에게 주어져야할 시간을 ()를 작성한다. 그리고 최종으로 일정에 대해서 ()를 작성한다.
[현행 시스템 분석] - 미들웨어
-인터넷 상에서 HTTP를 통해 클라이언트/서버 환경에서 사용자 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어로서, Server단에서 Application을 동작할 수 있도록 지원하는 서버는 무엇인가?
-데이터베이스 벤더(Vendor)에서 제공하는 클라이언트에서 원격의 데이터베이스와 연결하기 위한 미들웨어 종류 중에는 DBMS, JDBC, ODBMS 등이 존대한다.
- 응용 프로그램의 프로시저를 사용하여 원격 프로시저를 마치 로컬 프로시저처럼 호출하는 방식의 미들웨어
-메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어
객체 지향 미들웨어로 코바(CORBA) 표준 스펙을 구현한 미들웨어
항공기나 철도 예약 업무 등과 같은 온라인 트랜잭션 업무에서 트랜잭션을 처리 및 감시하는 미들웨어
트랜잭션이 올바르게 처리되고 있는지 데이터를 감시하고 제어하는 미들웨어는?
[분석 단계]
- 분석 단계의 요구사항 개발 프로세스 4단계를 쓰시오.
- 비기능적 요구사항과 기능적 요구사항에 대해서쓰시오.
- 요구사항 확인에 대한 다음 설명에서 괄호에 들어갈 알맞은 답을 쓰시오
(가 )요구사항은 시스템이 무엇을 하는지, 어떤 기능을 하는지 등 사용자가 시스템을 통해 제공받기를 원하는 기능이나 시스템이 반드시 수행해야하는 기능을 의미한다.
(나) 요구사항은 품질이나 제약사항과 관련된 요구사항으로 시스템의 장비 구성 성능, 인터페이스, 테스트, 보안 등의 요구사항을 말한다
|
- 소프트웨어 개발 과정에서 사용되는 요구 분석, 설계, 구현, 검사 및 디버깅 과정을 컴퓨터와 전용의 소프트웨어 도구를 사용하여 자동화하는 도구로, 자료흐름도 등의 다이어그램을 쉽게 작성하게 해주는 소프트웨어도 여기에 속함
- 시스템의 분석 및 설계나 문서화할 때 사용하는 기법으로 시스템의 실행 과정인 입력, 처리, 출력의 기능을 나타내고, 차트 종류로는 가시적 도표, 총체적 도표, 세부적 도표가 있으며, 기능과 자료의 의존 관계를 동시에 표현할 수 있는 하향식 소프트웨어 개발을 위한 문서화 도구
- 주요프로세스, 하위 프로세스, 입력,출력으로 구성된 문서화 도구는?
[설계 단계]
- 상위 설계와 하위 설계의 종류를 쓰시오.
- 소프트웨어의 설계의 종류 쓰시오.
소프트웨어 설계의 원리
- 모듈화는 모듈 간 ( ① )의 최소화, 모듈 내 ( ② )의 최대화가 목표
- 다른 프로그램에 링크되어 특정한 기능을 수행하도록 작성된 독립적인 프로그램의 단위
- 특정 기능을 수행하는 코드의 집합으로, 재사용성과 유지보수성을 높이기 위해 독립적으로 구성된 프로그램 단위
- 재사용성, 유지보수성의 특징을 가지고 있으며, 추가적으로 의존성 최소화, 캡슐화, 단일 책임 원칙(SRP) 등의 개념도 () 설계에서 중요한 요소
- 추상화의 종류 3가지를 쓰시오.
- 불필요한 부분을 생략하고 객체의 가장 중요한 것에만 중점을 두어 간략화 시킨것으로, 객체지향 기법 중 공통 성질을 추출하여 클래스를 설정하는 기법
- 객체지향 프로그래밍에서 특정 객체를 생성하기 위해 변수와 메서드를 정의하는 일종의 틀이자 데이터를 추상화하는 단위
- 클래스를 인스턴스화 한것.
- 4+1 뷰(관점)에 대해서 작성하시오.
a. 시스템을 계층으로 구분하여 구성하는 고전적인 방법의 패턴은 __________ 패턴입니다.
b. 하나의 서버 컴포넌트와 다수의 클라이언트 컴포넌트로 구성되는 패턴은 __________ 패턴입니다.
c. 데이터 스트림 절차의 각 단계를 필터로 캡슐화하여 파이프를 통해 전송하는 패턴은 __________ 패턴입니다.
d. 서브시스템을 모델, 뷰, 컨트롤러로 구조화하는 패턴은 __________ 패턴입니다.
e. 컴포넌트에서 처리된 결과물을 다시 돌려받는 방식으로 작업을 수행하는 패턴은 __________ 패턴입니다.
f. 사용자가 원하는 서비스와 특성을 브로커 컴포넌트에 요청하면 브로커 컴포넌트가 요청에 맞는 컴포넌트와 사용자를 연결해 주는 패턴은 __________ 패턴입니다.
g. 피어라 불리는 하나의 컴포넌트가 클라이언트가 될 수도, 서버가 될 수도 있는 패턴은 __________ 패턴입니다.
h. 소스가 특정 채널에 이벤트 메시지를 발행하면 해당 채널을 구독한 리스너들이 메시지를 받아 이벤트를 처리하는 패턴은 __________ 패턴입니다.
i. 모든 컴포넌트들이 공유 데이터 저장소와 블랙보드 컴포넌트에 접근이 가능한 패턴은 __________ 패턴입니다.
j. 프로그램 코드의 각 라인을 수행하는 방법을 지정하고, 기호마다 클래스를 갖도록 구성된 패턴은 __________ 패턴입니다.
단답형 문제:
a. 시스템을 계층으로 구분하여 구성하는 고전적인 방법의 패턴은 무엇입니까?
b. 하나의 서버 컴포넌트와 다수의 클라이언트 컴포넌트로 구성되는 패턴은 무엇입니까?
c. 데이터 스트림 절차의 각 단계를 필터로 캡슐화하여 파이프를 통해 전송하는 패턴은 무엇입니까?
d. 서브시스템을 모델, 뷰, 컨트롤러로 구조화하는 패턴은 무엇입니까?
e. 컴포넌트에서 처리된 결과물을 다시 돌려받는 방식으로 작업을 수행하는 패턴은 무엇입니까?
f. 사용자가 원하는 서비스와 특성을 브로커 컴포넌트에 요청하면 브로커 컴포넌트가 요청에 맞는 컴포넌트와 사용자를 연결해 주는 패턴은 무엇입니까?
g. 피어라 불리는 하나의 컴포넌트가 클라이언트가 될 수도, 서버가 될 수도 있는 패턴은 무엇입니까?
h. 소스가 특정 채널에 이벤트 메시지를 발행하면 해당 채널을 구독한 리스너들이 메시지를 받아 이벤트를 처리하는 패턴은 무엇입니까?
i. 모든 컴포넌트들이 공유 데이터 저장소와 블랙보드 컴포넌트에 접근이 가능한 패턴은 무엇입니까?
j. 프로그램 코드의 각 라인을 수행하는 방법을 지정하고, 기호마다 클래스를 갖도록 구성된 패턴은 무엇입니까?
- UML의 특징 4가지을 쓰시오.
- UML이 무엇인지? 서술하시오.
- 관계의 종류를 쓰시오.
-UML의 구성요소 3가지를 쓰시오.
- 객체 기술에 관한 국제 표준 기구(OMG)에서 정의한 표준으로 시스템 분석, 설계, 구현 등 개발자와 사용자 간 의사소통이 원활하게 이루어지도록 표준화한 객체 지향 모델링 언어를 뜻하는 개념은 무엇인가?
- 객체 지향 프로그래밍 소프트웨어 집약 시스템을 개발할 때 산출물을 명세화, 시각화, 문서화할 때 사용하는 범용 모델링 언어
- 밑에 각 설명에 대한 UML의 관계를 작성하시오. 영어, 한글로 작성하고 화살표도 그려보시오.
1) 두 개 이상의 사물이 서로 연관되어 있는 관계입니다. 사물 간의 연결을 실선으로 표현하며, 관계의 방향성을 화살표로 나타냅니다.
2) 상속관계에 대한 특징이 있으며, 한 사물이 다른 사물에 비해 더 일반적이거나 구체적인지를 나타내는 관계입니다. 하위에서 상위로 향하는 속 빈 화살표로 표현합니다. 상위 모듈이 하위 모듈보다 더 일반적인 개념을 가지고 있으며, 하위 모듈이 상위 모듈보다 더 구체적인 개념을 가진다. 한 클래스가 다른 클래스를 포함하는 상위 개념일 때 IS-A관계라하며, 일반화 관계로 모델링한다.
3) 관련된 관계이지만, 짧은 시간만 사용하는 관계이며, 사물 사이에 일시적인 연관성을 나타내며, 필요에 따라 짧은 시간 동안만 서로에게 영향을 미치는 관계입니다. 포함 관계와 달리 소유 관계는 아니지만, 한 사물의 변화가 다른 사물에도 영향을 줍니다. 영향 주는 사물이 영향 받는 사물 쪽으로 점선 화살표로 연결됩니다.
4) 추상 메서드를 오버라이딩한 것으로 사물이 수행할 수 있거나 수행해야 하는 기능에 따라 서로를 그룹화하는 관계입니다. 사물에서 기능 쪽으로 속 빈 점선 화살표를 사용하여 표현합니다.
5) 한 사물이 다른 사물에 포함된 관계로, 포함하는 쪽(전체)과 포함되는 쪽(부분)은 독립적입니다. 전체에서 부분으로 향하는 속 빈 마름모를 사용하여 표현합니다. 하나의 사물이 다른 사물에 포함되어 있는 관계로, 전체와 부분으로 구분되어지며 서로 독립적이다. 클래스들 사이의 전체 또는 부분 같은 관계 예제 : 프린터(부분)는 컴퓨터 (전체)에 연결해서 사용할 수 있으며, 다른 컴퓨터(전체)에 연결해서 사용할 수도 있다.
6) 포함하는 사물(전체)이 포함되는 사물(부분)에 영향을 미치는 관계입니다. 전체와 부분은 생명주기를 공유하며 독립될 수 없습니다. 부분에서 전체로 향하는 속이 채워진 마름모로 표현합니다. 문(전체)을 열 수 있는 키(부분)는 하나이며, 해당 키(부분)로 다른 문(전체)을 열 수 없다. 문(전체)이 없어지면 키(부분)도 더 이상 필요하지 않다
관계의 종류 6가지 : 연관,집합,포함,일반화,의존,실체화 알맞게 쓰시오.
- () 관계 : 2개이상의 사물이 서로 관련되어 있는 관계, 사물 사이를 실선으로 연결하여 표현(사람, 집)
- () 관계 : 하나의 사물이 다른 사물에 포함되어 있는 관계, 부분에서 전체로 속이 빈 마름모 실선을 이용(컴퓨터, 프린터)
- () 관계 : 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계, 부분에서 전체로 속이 꽉찬 마름모 실선 이용(문, 키)
- () 관계 : 하나의 사물이 다른 사물에 비해 더 일반적이거나 구체적인 관계(커피 -> 아메리카노, 에스프레소)
- () 관계 : 필요에 의해 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계(등급, 할인율)
- () 관계 : 사물이 할수 있거나 해야하는 기능으로, 서로를 그룹화 할 수 있는 관계(비행기, 새)
다음은 UML의 관계(Relationships)에 대한 설명이다. 괄호( ) 안에 공통적으로 들어갈 용어를 쓰시오.
- ( ) 관계는 하나의 객체에 여러 개의 독립적인 객체들이 구성되는 관계이다.
- ( ) 관계는 하나의 사물이 다른 사물에 포함되어 있는 관계를 포현한다.
- ( ) 관계는 포함되는 쪽(Part; 부분)에서 포함하는 쪽(While; 전체)으로 속이 빈 마름모를 연결하여 표현한다.
위 그림에서 보면, 어떤 다이어그램인가? 또는 위 그림이 UML중에 어떤 관계인지? 작성하시오.
[UML]
1. 아래는 UML클래스의 관계에 관한 문제이다. 보기를 보고 알맞는 관계를 선택하여 작성하시오.
보기
ㄱ. 의존 ㄴ. 연관 ㄷ. 일반화
다이어그램
- (______)는 문제 해결을 위한 도메인 구조를 나타내어 보이지 않는 도메인 안의 개념과 같은 추상적인 개념을 기술하기 위해 나타낸 것이다. 또한 소프트웨어의 설계 혹은 완성된 소프트웨어의 구현 설명을 목적으로 사용할 수 있다.
- (______)는 자기만의 속성(attribute)(멤버 변수)과 일정한 행동(behavior)(메서드)으로 구성되어 있다.
- 서로 연관이나 상속, 의존 관계 등으로 서로 간의 상호 작용을 표현한다.
- 대표적인 구조 다이어그램이다
다음은 UML의 관계(Relationships)를 나타내는 그림이다. 해당 그림에 가장 올바른 "관계의 유형"을 쓰시오.
UML을 이용한 다이어그램 중 해당 그림에 해당하는 다이어그램을 쓰시오.
무슨 다이어그램인지? 쓰시오.
- 논리적으로 관련된 클래스나 요소들을 폴더 모양으로 묶어 하나의 그룹으로 표현합니다. 의존 관계(Dependency)는 패키지 간의 참조나 의존성을 화살표로 나타냅니다. 의존 관계는 한 패키지가 다른 패키지의 기능이나 클래스를 참조하거나 사용한다는 의미입니다.
- 의존 관계 : 결제 패키지가 카드와 계좌이체 패키지에 의존합니다
다음은 판매와 관련된 다이어그램이다. 해당 다이어그램의 명칭을 쓰시오.
UML 클래스 다이어그램에서 클래스 간의 다양한 관계를 이해하기 위해, 연관 관계를 포함한 이어 맞추기 문제를 준비했습니다. 각 문제에 대한 설명, 관계 유형, 그리고 기호 및 화살표 표기를 정리하였습니다.
이어 맞추기 문제:
번호설명관계 유형기호 및 화살표 표기
1 | 한 클래스가 다른 클래스의 인스턴스를 소유하며, 전체가 소멸될 때 부분도 함께 소멸되는 강한 생명 주기 의존 관계. | a. 합성 관계 | ◆─────▶ |
2 | 한 클래스가 다른 클래스의 인스턴스를 포함하지만, 전체가 소멸되어도 부분은 독립적으로 존재할 수 있는 약한 포함 관계. | b. 집합 관계 | ◇─────▶ |
3 | 한 클래스가 다른 클래스의 기능을 사용하지만, 두 클래스 간의 생명 주기나 소유권이 없는 일시적인 관계. | c. 의존 관계 | ─ ─ ─ ─ ─▶ |
4 | 한 클래스가 다른 클래스를 일반화하여 상속받는 관계로, "is-a" 관계로 표현되며, 빈 삼각형 화살표로 표시. | d. 일반화 관계 | ─────▷ |
5 | 한 클래스가 인터페이스를 구현하여 그 인터페이스의 메서드를 정의하는 관계로, 점선과 빈 삼각형 화살표로 표시. | e. 실체화 관계 | ─ ─ ─ ▷ |
6 | 한 클래스가 다른 클래스의 인스턴스를 멤버 변수로 포함하여 지속적인 관계를 유지하는 경우. | f. 연관 관계 | ─────▶ |
답안:
번호관계 유형기호 및 화살표 표기
1 | a. 합성 관계 | ◆─────▶ |
2 | b. 집합 관계 | ◇─────▶ |
3 | c. 의존 관계 | ─ ─ ─ ─ ─▶ |
4 | d. 일반화 관계 | ─────▷ |
5 | e. 실체화 관계 | ─ ─ ─ ▷ |
6 | f. 연관 관계 | ─────▶ |
2. 빈칸 채우기 문제:
a. 한 클래스가 다른 클래스의 인스턴스를 소유하며, 전체가 소멸될 때 부분도 함께 소멸되는 강한 생명 주기 의존 관계를 __________ 관계라고 하며, 기호는 __________로 표시합니다.
b. 한 클래스가 다른 클래스의 인스턴스를 포함하지만, 전체가 소멸되어도 부분은 독립적으로 존재할 수 있는 약한 포함 관계를 __________ 관계라고 하며, 기호는 __________로 표시합니다.
c. 한 클래스가 다른 클래스의 기능을 사용하지만, 두 클래스 간의 생명 주기나 소유권이 없는 일시적인 관계를 __________ 관계라고 하며, 기호는 __________로 표시합니다.
d. 한 클래스가 다른 클래스를 일반화하여 상속받는 관계로, "is-a" 관계로 표현되며, 빈 삼각형 화살표로 표시되는 것을 __________ 관계라고 하며, 기호는 __________로 표시합니다.
e. 한 클래스가 인터페이스를 구현하여 그 인터페이스의 메서드를 정의하는 관계로, 점선과 빈 삼각형 화살표로 표시되는 것을 __________ 관계라고 하며, 기호는 __________로 표시합니다.
3. 단답형 문제:
a. 한 클래스가 다른 클래스의 인스턴스를 소유하며, 전체가 소멸될 때 부분도 함께 소멸되는 강한 생명 주기 의존 관계는 무엇이며, 어떤 기호로 표시합니까?
b. 한 클래스가 다른 클래스의 인스턴스를 포함하지만, 전체가 소멸되어도 부분은 독립적으로 존재할 수 있는 약한 포함 관계는 무엇이며, 어떤 기호로 표시합니까?
c. 한 클래스가 다른 클래스의 기능을 사용하지만, 두 클래스 간의 생명 주기나 소유권이 없는 일시적인 관계는 무엇이며, 어떤 기호로 표시합니까?
d. 한 클래스가 다른 클래스를 일반화하여 상속받는 관계로, "is-a" 관계로 표현되며, 빈 삼각형 화살표로 표시되는 것은 무엇이며, 어떤 기호로 표시합니까?
e. 한 클래스가 인터페이스를 구현하여 그 인터페이스의 메서드를 정의하는 관계로, 점선과 빈 삼각형 화살표로 표시되는 것은 무엇이며, 어떤 기호로 표시합니까?
무슨 다이어그램에 대한 설명인지 쓰시오.
- 패키지 다이어그램은 폴더 모양으로 패키지를 표현하고, 점선 화살표로 의존 관계를 나타냅니다.
<<import>>라는 스테레오 타입이 사용되었으므로, ordering 패키지가 products 패키지를 가져와 사용하는 의존 관계가 있다는 것을 알 수 있습니다. - <<import>> : 여기서는 ordering 패키지가 products 패키지를 가져와(import) 사용하는 것을 나타냅니다.
- 의존 관계 : ordering 패키지가 products와 pricing 패키지를 의존합니다.
클래스와 같은 여러 모델 요소들을 그룹화하여 표현하기 위한 수단으로, 시스템의 서로 다른 패키지들 사이의 의존 관계를 표현하기 위한 다이어그램
() 빈칸을 채우시오..
- 다이어그램의 종류 : 크게 구조다이어그램, 행위 다이어그램
- 구조다이어그램 : 클래스, 객체, 컴포넌트, 배치, 복합체 구조, 패키지
- () 다이어 그램 : 클래스와 클래스가 가지는 속성. 클래스 사이의 관계를 표현하는것 . 정적모델링
- () 다이어 그램 : 클래스에 속한 사물들. 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현, 럼바우 객체지향 분석기법에서 객체 모델링에 활용
- () 다이어그램 : 실제 구현 모듈인 컴포넌트 간의 관계나 컴포넌트 간의 인터페이스를 표현
- () 다이어그램 : 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현
- () 구조 다이어그램 : 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현
- () 다이어그램 : 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현
- 행위 다이어그램 : 유스케이스, 시퀀스 ,커뮤니케이션, 상태, 활동, 상호작용, 타이밍
- () 다이어그램 : 사용자의 요구를 분석하는 것으로, 기능 모델링 작업에 사용. 사용자와 사용사례로 구성. 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자의 관점에서 표현
- () 다이어그램 : 상호작용하는 시스템이나 객체들이 주고받는 메시지를 표현
- () 다이어그램 : 동작에 참여하는 객체들이 주고받는 메시지와 객체들 간의 연관 관계를 표현
- () 다이어그램 : 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호작용에 따라 상태가 어떻게 변화하는지 표현, 럼바우의 동적 모델링
- () 다이어 그램 : 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현
- () 다이어 그램 : 상호작용 다이어그램 간의 제어 흐름을 표현
- () 다이어그램 : 객체상태변화와 시간제약을 명시적으로 표현
[UI]
1. 사용자가 제품, 서비스 혹은 시스템을 사용하거나 체험하는 데 있어 지각하는 것이 가능한 조직적 상호교감적인 모델을 창조하고 개발하는 디자인의 한 분야
사람(사용자)과 사물 또는 시스템, 특히 기계, 컴퓨터 프로그램 등 사이에서 의사소통을 할 수 있도록 일시적 또는 영구적인 접근을 목적으로 만들어진 물리적, 가상적 매개체
2. UI 설계 원칙 4가지를 쓰시오.
3. 명령어를 텍스트로 입력하여 조작하는 사용자 인터페이스
4. 그래픽 환경을 기반으로 한 마우스, 전자펜을 이용하는 사용자 인터페이스
5. 키보드나 마우스 없이 신체 부위를 이용하는 사용자 인터페이스
6. 현실에 존재하는 모든 사물이 입출력장치로 변화할 수 있는 사용자 인터페이스
1. 시나리오 흐름을 전체적으로 나타냄, UI 화면 설계를 위해서 정책이나 프로세스 및 콘텐츠의 구성, 와이어 프레임(UI, UX), 기능에 대한 정의, 데이터베이스의 연동 등 구축하는 서비스를 위한 대부분 정보가 수록된 문서로서, 디자이너와 개발자가 최종적으로 참고하는 설계 산출물
2. 초기 설계 도구, UI 화면 설계에서 이해관계자들과 화면구성을 협의하거나 서비스의 간략한 흐름을 공유하기 위해 화면 단위의 레이아웃을 설계하는 작업
3. 디자인, 사용 방법 설명, 평가 등을 위해 와이어프레임보다 좀 더 실제화면과 유사하게 만든 정적인 형태의 모형(정적 디자인)
4. 실제 서비스와 유사한 모델로 개발하여 사용자의 요구사항에 접한한지 검증하기 위함
5. 사용자의 요구를 분석하는 것으로, 기능 모델링 작업에 사용. 사용자와 사용사례로 구성. 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자의 관점에서 표현
[개발 및 구축 단계]
5개의 변수명 표기법을 작성하고 특징을 쓰이오.
여러 대의 서버가 존재할 경우 요청을 적절히 분배해주는 역할 무슨 용어에 관한 설명인가? 그리고 그이 관련된 장치를 쓰시오.
형상관리에 구성과 형상 괸리 절차에 대해서 작성하시오.
형상 통제에 대해서 작성하시오.
- MVC패턴의 계층 구조를 쓰시오.
프레임워크의 4가지 특징을 쓰시오.
1. 어떠한 목적을 달성하기 위해 복잡하게 얽혀있는 문제를 해결하기 위한 구조이며, 소프트웨어 개발에 있어 하나의 뼈대 역할을 한다.
2. 자바(JUnit), C++(CppUnit), .Net(NUnit) 등 다양한 언어를 지원하는 단위테스트 프레임워크
3. 데이터를 송신 시스템의 DB에서 읽어와 제공하는 애플리케이션 프로그래밍 인터페이스로, 운영체제나 프로그래밍 언어 등에 있는 라이브러리를 응용프로그램 개발 시 이용할 수 있도록 규칙 등에 대해 정의해 놓은 인터페이스
4. 효율적인 프로그램 개발을 위해 필요한 프로그램을 모아놓은 집합체로서, 프로그래밍 언어에 따라 일반적으로 도움말, 설치 파일, 샘플 코드 등을 제공하는 프로그램