Codemental

[일학습병행제 SW개발 L5] 외부평가 준비 및 자료(5) - 면접형 기출문제 정리 본문

자격증/일학습병행제 SW L5

[일학습병행제 SW개발 L5] 외부평가 준비 및 자료(5) - 면접형 기출문제 정리

s.a 2022. 6. 13. 03:51
반응형

[ 면접평가  - 시험시간 ] :  15분 ( 1명씩 진행하여 대기 있음)

[ 면접평가  - 기출 복원 ] 

** 2019년 09월 (https://blog.naver.com/yongyos/221667270221)

(1) 요구사항의 4가지 순서는? (도출, 분석, 설계서 작성, 확인)

(2) 절차형 언어인 SQL의 특징은?

(3) 웹 어플리케이션 서버를 정의하시오.

(4) 보안 컨설턴트, 사이버 수사관, 관제센터를 각각 설명하시오.

(5) ?

(6) ?


**2022년 02월 (https://pkguma.tistory.com/5?category=983660)

[ 요구사항 확인 ]

1) 현행 시스템 파악 절차 3단계

2) 요구사항 개발 프로세스 4단계

 

[ 소프트웨어 개발 보안 구축 ]

3) 기억이 나지 않는다....

3) 입력 데이터 검증 및 표현 중 3가지

 

[ SQL 응용 ]

5) 트리거란? 

 

[ 화면설계 ] 

6) UI의 설계 원칙 중 3가지


[ 기출 복원 내용 정리 ] 

1. 요구사항 개발 프로세스 (도분명확)

 

 

2. 웹 어플리케이션 서버 정의 

WAS (Web Application Server) 웹 어플리케이션 서버

다양한 서버 내 알고리즘, 비즈니스 로직, DB 조회 등 클라이언트 요청에 따라 동적인 컨텐츠를 제공하는 서버, 프로그램

- HTTP 프로토콜을 기반으로 하여 클라이언트의 요청에 따라 구현된 비즈니스 로직을 통해 동적으로 만들어진 컨텐츠를 반환

(Ex. Tomcat, JBoss, Jeus, ...)

- 데이터베이스 접속 기능, 여러 개의 트랜잭션 관리 등 수행

 

Web Server 웹 서버

HTTP 요청을 받아 Static contents를 제공하는 서버, 프로그램

- HTTP 프로토콜을 기반으로 하여 클라이언트의 요청을 서비스하는 기능을 담당 (Ex. Apache Server, Nignx, ...)

 

기능 1: 정적인 컨텐츠 제공 

- WAS를 거치지 않고, 바로 요청한 컨텐츠를 제공할 수 있다.

기능 2: 동적인 컨텐츠 제공을 위한 요청 전달

- 요청을 WAS에 보내고, WAS가 처리한 결과를 클라이언트에게 전달한다.

 

3. 현행 시스템 파악 절차 3단계

 

4. 입력 데이터 검증 및 표현 

SQL 삽입 입력란에 SQL을 삽입하여 무단으로 DB를 조회하거나 조작하는 보안약점
입력 데이터에 SQL 예약어 및 특수문자가 입력되지 않게 필터링을 설정하여 해결
크로스사이트스크립트(XSS) 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취하거나 비정상적 기능 수행을 유발하는 보안약점
HTML태그의 사용을 제한하거나 <, >, & 등의 문자가 삽입되지 않도록 Backend에서 다른 문자로 치환
위험한 형식 파일 업로드 악의적인 스크립트를 업로드함으로써 시스템에 손상을 주거나, 시스템을 제어할 수 있는 보안약점
확장자 제한(구현되어 있는 언어 피하기), 파일명암호화, 웹사이트와 서버 경로분리, 실행속성 제거
경로조작 및 자원삽입 데이터 입출력 경로를 조작하여 서버자원을 수정/삭제할 수 있는 보안약점
/, \ 등의 문자로 경로순회공격을 못하도록 필터적용
운영체제 명령어 삽입 시스템 명령어의 실행을 유도함으로써 권한을 탈취하거나 시스템 장애를 유발하는 보안약점
웹 인터페이스를 통해 시스템 명령어가 전달되지 않도록 하고, 시스템에서는 외부입력값에 대해 검증절차 부여
신뢰하지 않는 URL 주소로 자동접속 연결 사이트 주소를 입력값으로 받는 경우, 이를 조작하여 방문자를 피싱 사이트로 유도하는 보안약점
연결되는 외부 사이트의 주소를 "화이트 리스트"로 관리함으로써 방지

 

5. UI의 설계 원칙

  • 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 한다
  • 유효성 : 사용자의 목적을 정확하게 달성하여야 한다
  • 학습성 : 누구나 쉽게 배우고 익힐 수 있어야 한다
  • 유연성 : 사용자의 요구사항을 최대한 수용하며, 오류를 최소화하여야 한다

 

** UI 품질 요구사항

1. 기능성 : SW가 사용자의 요구사항을 정확하게 만족하는 기능을 제공하는지 여부

1) 적절성/정합성: 사용자의 목적 달성을 위해 적절한 기능을 제공할 수 있는 능력

2) 정밀성/정확성: 요구하는 결과를 정확하게 산출할 수 있는 능력

3) 상호 운용성: 다른 시스템들과 서로 어울려 작업할 수 있는 능력

4) 보안성: 접근 권한에 따라 허용/차단할 수 있는 능력

5) 호환성: 표준, 관례, 규정을 준수할 수 있는 능력

 

2. 신뢰성 : SW가 요구된 기능을 정확하고 일관되게 오류 없이 수행할 수 있는 정도

1) 성숙성: 고장을 피해갈 수 있는 능력

2) 고장 허용성: 결함 시에도 규정된 성능 수준을 유지할 수 있는 능력

3) 회복성: 고장 시 규정 성능 수준까지 다시 회복하고, 복구할 수 있는 능력

 

3. 사용성 : 사용자와 컴퓨터 사이에 발생하는 어떠한 행위에 대하여 사용자가 정확하게 이해하고 사용하며, 향후 다시 사용하고 싶은 정도

1) 이해성

2) 학습성

3) 운용성

4) 친밀성: 사용자가 SW를 다시 사용하고 싶어 하도록 하는 능력

 

4. 효율성 : 사용자가 요구하는 기능을 할당된 시간 동안 한정된 자원으로 얼마나 빨리 처리할 수 있는지 정도

1) 시간 효율성: 적절한 반응 시간 및 처리 시간, 처리율을 제공할 수 있는 능력

2) 자원 효율성: 적절한 자원 양과 종류를 제공할 수 있는 능력

 

5. 유지 보수성 : 환경의 변화 or 새 요구사항이 발생했을 때 SW를 개선하거나 확장할 수 있는 정도

1) 분석성: 결함이나 고장 원인, 수정될 부분들의 식별을 가능하게 하는 능력

2) 변경성: 결함 제거 or 환경 변화로 인한 수정 등을 쉽게 구현할 수 있는 능력

3) 안정성: 예상치 못한 결과를 최소화할 수 있는 능력

4) 시험성: SW의 변경이 검증될 수 있는 능력

 

6. 이식성 : SW가 다른 환경에서도 얼마나 쉽게 적용할 수 있는지 정도

1) 적용성: 원 목적 제공되는 것 외에 다른 환경으로 변경될 수 있는 능력

2) 설치성

3) 대체성: 동일 환경에서 동일 목적을 위해 다른 SW를 대신하여 사용될 수 있는 능력

4) 공존성: 자원 공유 환경에서 다른 SW와 공존할 수 있는 능력