Certificate/정보처리기사

소프트웨어 설계

Dev다D 2021. 1. 4. 20:44
반응형

운영체제 현행 시스템 분석 시 고려사항

지원 측면

- 기술 지원

- 주변 기기

- 구축 비용

품질 측면

- 신뢰도

- 성능

현행 시스템 분석을 위한 플랫폼 성능 특성 분석 기법

- 사용자 인터뷰 : 현행 플랫폼 사용자 인터뷰를 통해 속도의 적정성 확인

- 성능 테스트 : 현행 플랫폼을 대상으로 성능, 부하 테스트를 수행

- 산출물 점검 : 현재 플랫폼과 유사한 타사 제품의 성능 자료 등을 분석

OSI 7계층

- 데이터 링크 계층 : 프레임의 동기화, 오류 제어, 흐름 제어 등 전송 에러 제어

- 물리 계층 : 매체 간의 인터페이스, 전기적, 기능적, 절차적 기능 정의

- 응용 계층 : 사용자와 네트워크 간 응용서비스 연결, 데이터 생성

- 표현 계층 : 코드 변환 구문 검색, 암호화, 형식 변환, 압축

요구분석 기법

요구사항 분류

- 요구사항이 기능인지 비기능인지 확인

개념 모델링

- 문제 도메인의 엔터티(Entity)들과 개별 관계 및 종속성을 반영

요구사항 할당

- 요구사항을 만족시키기 위한 아키텍처 구성요소를 식별하는 활동

- 다른 구성요소와 어떻게 상호 작용하는지 분석을 통해 추가적인 요구사항을 발견 가능

요구사항 협상

- 두 명의 이해관계자가 서로 상충하는 내용을 요구하는 경우, 어느 한쪽을 지지하기보다는 적절한 지점에서 합의하기 위한 기법

요구사항 특성

- 기능적 : 기능성, 완전성, 일관성

- 비기능적 : 신뢰성, 사용성, 효율성, 유지 보수성, 이식성

요구사항 관리 도구

상용제품

- 헬릭스 RM(Helix RM)

- 지라(Jira)

- 오르카노스(Orcanos)

- 리큐테스트(ReQtest)

오픈소스 기반

- 레드미안(Redmine)

- 테스트링크(Testlink)

요구사항 명세 원리

- 명확성

- 완전성

- 검증 가능성

- 일관성

- 수정 용이성

- 추적 가능성

- 개발 후 이용성

UML 구성요소

- 사물(Things)

- 관계(Relationships)

- 다이어그램(Diagrams)

- 클래스 : 시스템 내 클래스의 정적 구조를 표현, 속성과 동작으로 구성

- 유스케이스 : 사용자 관점에서 시스템의 활동을 표현, 시스템의 기능적 요구 정의

- 시퀀스 : 객체 간 상호작용을 메시지 흐름으로 표현, 객체 사이 메시지를 보내는 시간을 표현

UML의 특징

- 가시화

- 구축

- 명세화

- 문서화 언어

애자일 방법론

- XP

- 스크럼

- 린

애자일 선언문

- 개인과 상호작용

- 변화에 대응

- 동작하는 소프트웨어

- 고객과 협력

XP(eXtreme Programming)의 5가지 가치

- 용기

- 단순성

- 의사소통

- 피드백

- 존중

분석 자동화 도구 등장 배경

- 소프트웨어 위기의 극복 대응 방안으로 등장했다.

- 사용자의 요구사항과 실제 시스템 간의 차이 발생 극복하기 위해 등장했다.

- 시스템의 재사용성, 생산성 및 유지보수의 어려움을 극복 하기 위해 등장했다.

- 분석 자동화 도구의 사용으로 개발 난이도 상승에 영향을 주지 않는다.

모델링 절차

- 요구사항 분석

- 개념 모델링

- 논리 모델링

- 물리 모델링

CASE 도구의 주요 기능

상위

- 모델들 사이의 모순 검사 기능

- 모델의 오류 검증 기능

- 자료 흐름도 작성 기능

하위

- 소스 코드 생성 가능

UI 유형

- CLI(Command Line Interface) : 명령어를 텍스트로 입력하여 조작하는 사용자 인터페이스

- GUI(Graphical User Interface) : 그래픽 환경을 기반으로 한 마우스나 전자펜을 이용하는 사용자 인터페이스

- NUI(Natural User Interface) : 사용자가 가진 경험을 기반으로 키보드나 마우스 없이 신체 부위를 이용하는 사용자 인터페이스

- OUI(Organic User Interface) : 입력 장치가 곧 출력 장치가 되고, 현실에 존재하는 모든 사물이 입출력 장치로 변화할 수 있는 사용자 인터페이스

UI 설계 프로세스 순서

- 문제정의

- 사용자 모델 정의

- 작업 분석

- 컴퓨터 오브젝트 및 기능 정의

- 사용자 인터페이스 정의

- 디자인 평가

UI 흐름 설계 프로세스

- 기능 작성

- 입력 요소 확인

- 유스케이스 설계

- 기능 및 양식 확인

UI 화면 설계 구분

와이어 프레임

- 이해관계자들이 화면 구성을 협의하거나 서비스의 간략한 흐름을 공유하기 위해 화면 단위의 레이아웃을 설계하는 작업

스토리보드 

- 정책, 프로세스, 콘텐츠 구성, 와이어 프레임(UI, UX), 기능 정의, 데이터베이스 연동 등 서비스 구축을 위한 모든 정보가 담겨 있는 설계 산출물

정황 시나리오 제작 

- 요구사항 정의에 사용되는 초기 시나리오를 말하며, 이상적인 시스템 동작에 초점을 맞추어 시나리오를 제작하는 방법

프로토타입

- 정적인 화면으로 설계된 와이어 프레임 또는 스토리보드에 동적 효과를 적용함으로써 실제 구현된 것처럼 시뮬레이션할 수 있는 모형

감성공학의 접근 방법

1류 접근 방법

- 인간의 감성을 표현하는 어휘를 이용하여 제품 이미지를 조사, 그 분석을 통해 제품 디자인 요소와 연계시키는 접근 방법

2류 접근 방법

- 개인의 연령, 성별 등의 개별적 특성과 생활 방식으로부터 개인이 갖고 있는 이미지를 구체화하는 감성의 심리적 특성을 강조한 접근 방법

3류 접근 방법

- 기존의 감성적 어휘 대신 공학적인 방법으로 접근하여 인간의 감각을 측정, 이를 바탕으로 수학적 모델을 구축하여 활용하는 접근 방법

공동 모듈 원칙

- 정확성

- 명확성

- 완전성

- 일관성

- 추적성

응집도 유형

- 기능적 : 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우

- 순차적 : 모듈 내에서 한 활동으로부터 나온 출력 값을 다른 활동이 사용할 경우

- 통신적 : 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우

- 절차적 : 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우

- 시간적 : 연관된 기능이라기보다는 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우

- 논리적 : 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우

- 우연적 : 모듈 내부의 각 구성요소들이 연관이 없을 경우

소프트웨어 설계 유형

- 자료구조 설계

- 아키텍처 설계

- 인터페이스 설계

- 프로시저 설계

소프트웨어 아키텍처 4+1 뷰

- 유스케이스 뷰

- 논리 뷰

- 프로세스 뷰

- 구현 뷰

- 배포 뷰

객체 지향 구성요소

- 클래스는 같은 종류의 집단에 속하는 속성과 행위를 정의한 요소이다.

- 메서드는 한 클래스 내에 속한 객체들이 가지고 있는 데이터 값들을 단위별로 정의한 요소이다.

- 매서드는 클래스로부터 생성된 객체를 사용하는 방법이다.

- 인스턴스는 객체지향 기법에서 클래스에 속한 각각의 객체로서 실제 메모리상에 할당되어 있다.

- 한 클래스 내에 속한 객체들이 가지고 있는 데이터 값들을 단위별로 정의한 요소는 속성이다.

디자인 패턴 유형

- 생성 패턴

- 구조 패턴

- 행위 패턴

시스템 아키텍처

: 시스템 목적을 달성하기 위해서 시스템 각 컴포넌트가 무엇이며 어떻게 상호작용하는지, 정보가 어떻게 교환하는지를 설명하는 프레임워크

시스템 아키텍처의 기본 요구사항

- 시스템 구성 및 동작 원리를 나타내고 있어야 한다.

- 시스템 구성요소에 대해 설계 및 구현을 지원하는 수준으로 자세히 기술한다.

- 구성요소 간의 관계뿐만 아니라 시스템 외부 환경과의 관계를 설명해야 한다.

- 요구사항 및 시스템의 전체 생명주기를 고려해야 한다.

인터페이스 정의서의 항목

- 인터페이스 ID

- 최대 처리 횟수

- 데이터 크기(평균/최대)

- 시스템 정보

- 데이터 정보

내/외부 송/수신 연계기술

- DB Link

- DB Connection

- API/Open API

- JDBC

- Hyper Link

- Socket

미들웨어 솔루션 유형

- DB 미들웨어

- 원격 프로시저 호출

- 메시지 지향 미들웨어

- 트랜잭션 처리 모니터

- 레거시 웨어

- 객체 기반 미들 웨어

- WAS

EAI와 ESB의 세부 기술 및 토폴로지

- 허브 앤 스포크

- 어댑터

- 브로커

- 메시지

- 큐

반응형