소프트웨어공학
1번
다음 중 응집도(cohesion)가 가장 높은 것은?
2번
다음은 웹사이트 회원가입 양식에 나이를 입력하는 텍스트 박스의 요구사항이다. 경곗값 분석 기법을 이용해 테스트 케이스를 작성할 경우, 입력값의 집합으로 옳은 것은?
3번
다음 소프트웨어 개발 방법론과 모델링 도구를 바르게 연결한 것은?
(가) (나) (다)
4번
다음 코드에 대해 조건 커버리지를 100 % 만족하는 테스트 케이스 집합은? (단, 단축연산(short-circuit evaluation)은 수행하지 않는다)
5번
V 모델의 단계에서 (가) ~ (라)에 들어갈 내용을 바르게 연결한 것은?

(가) (나) (다) (라)
6번
다음은 클래스 다이어그램을 Java 코드로 구현한 것이다. (가) ~ (다)에 들어갈 내용을 바르게 연결한 것은?

(가) (나) (다)
7번
다음 파이썬 코드에서 문장 커버리지를 100% 만족하는 (가) ~ (다)에 들어갈 경로를 바르게 연결한 것은? (단, 단축연산은 수행하지 않는다)
(가) (나) (다)
8번
객체 지향 설계 원칙에 대한 설명으로 옳지 않은 것은?
9번
(가)에 해당하는 시암 치댐버(Shyam R. Chidamber)와 크리스 캐머러(Chris F. Kemerer)의 객체지향 설계 척도는?
10번
시험 운영 중인 보안관제 시스템이 다음 표와 같이 운영되면서 정상 가동 중에 고장이 발생하였을 때, 시스템의 가용성(availability)은?
가동1 | 고장1 | 가동2 | 고장2 | 가동3 | 고장3 | 가동4 | |
시간(h) | 12 | 4 | 9 | 2 | 10 | 3 | 5 |
11번
다음과 같이 Java 코드를 변경하였을 때 적용된 기법은?
void select(int num) { System.out.println("1. 한국어, 2. 영어"); if(num == 1) System.out.println("한국어"); else System.out.println("영어"); } |
|
void select(int num) { System.out.println("1. 한국어, 2. 영어"); lang(num); } void lang(int i) { if(i == 1) System.out.println("한국어"); else System.out.println("영어"); } |
12번
다음과 같은 조건으로 소프트웨어 개발 프로젝트를 수행할 때, 계약 기간 내에 프로젝트를 성공적으로 수행하기 위해 필요한 최소 기간은?
프로젝트 명 | 재고관리 시스템 개발 | |||
추정 소스 코드 라인 수 | 65,000 LOC | |||
개발자 1인당 월평균 생산성 (LOC/MM) | 초급자 | 1,000 | 중급자 | 1,500 |
현재 투입 가능 개발자 수 (명) | 초급자 | 4 | 중급자 | 2 |
13번
다음 설명에 해당하는 소프트웨어 형상 관리 활동은?
○ 형상 관리 계획서에 따라 변경 관리 프로세스가 진행되었는지 평가한다.
○ 형상 항목의 변경이 요구사항에 맞게 이루어졌는지 확인한다.
14번
프로토타입 모델에 대한 설명으로 옳지 않은 것은?
15번
SPICE(ISO/IEC 15504) 모델에서 정의한 프로세스 성숙도 수준에 속하지 않은 것은?
16번
다음 Java 코드의 실행 결과는?
class Car {
public void type() {
System.out.println("Car");
}
}
class Truck extends Car {
public void type() {
System.out.println("Truck");
}
}
class Campingcar extends Truck {
public void type() {
super.type();
System.out.println("Camping car");
}
}
public class Main {
public static void main(String[] args) {
Car c = new Campingcar();
c.type();
}
}
17번
순환 복잡도(cyclomatic complexity)가 4인 Java 코드는?
18번
다음 파이썬 코드에 적용한 디자인 패턴은?
class Greeting(object):
def say(self):
kor = Korea()
kor.kor_hi()
jan = Japan()
jan.jan_hi()
chn = China()
chn.ch_hi()
class Korea(object):
def kor_hi(self):
print("안녕하세요\n")
class Japan(object):
def jan_hi(self):
print("곤니찌와\n")
class China(object):
def ch_hi(self):
print("니하오마\n")
class Hello(object):
def sayhello(self):
sh = Greeting()
sh.say()
insa = Hello()
insa.sayhello()
19번
다음 파이썬 코드에 해당하는 결합도(coupling)는?
a = 0
b = 0
def getinput():
c = int(input("숫자 입력? "))
return c
def getadd():
c = a + b
return c
def main():
global a
global b
a = getinput()
b = getinput()
c = getadd()
print("{} + {} = {}".format(a, b, c))
main()
20번
다음 세부 품질 요소를 모두 포함하는 ISO/IEC 9126의 소프트웨어 품질 특성은?
○ 보안성
○ 준수성
○ 상호운용성
○ 정확성
○ 적합성
21번
WBS(work breakdown structure)에 대한 설명으로 옳지 않은 것은?
22번
기능점수(function point)에 대한 설명으로 옳지 않은 것은?
23번
다음 CPM 네트워크의 각 노드가 작업명과 작업에 소요되는 예상 기간을 나타낼 때, 프로젝트를 완성하는 데 예상되는 최단 기간은?

24번
UML 설계의 4+1 View 모델에 대한 설명으로 옳은 것은?
25번
다음 코드에서 제시된 설계 원칙은?
class Gongmuwon {
private String name;
private String dept;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void setDept(String dept) {
this.dept = dept;
}
}