전체 글 669

[정보처리기사] 화면설계

사용자 인터페이스 사용자의 만족도에 가장 큰 영향을 미치는 요소 소프트웨어 영역 중 가장 많은 변경이 발생 구분 CLI(Command Line Interface) : 텍스트 형태의 명령 GUI(Graphical User Interface) : 아이콘이나 메뉴를 마우스로 선택하는 그래픽 환경 NUI(Natural User Interface) : 사용자의 말과 행동이 기기를 조작 사용자 인터페이스의 기본원칙 직관성, 유효성(목적부합), 학습성, 유연성(요구사항 수용) 사용자 인터페이스 설계시 고려 사항 사용자 중심, 일관성, 단순성, 결과 예측 가능, 가시성, 표준화, 접근성, 명확성, 오류 발생 해결 UI 설계 도구 와이어 프레임(Wireframe) : 화면 단위로 개략적인 레이아웃이나 UI 요소 뼈대 설..

[정보처리기사] 인터페이스 심화

▷ 인터페이스 구현 송수신 시스템 간의 데이터 교환 및 처리를 실현해주는 작업 데이터 통신을 이용한 구현 송신 측이 특정 데이터 포맷( JSON / XML )으로 인터페이스로 전송하면 인터페이스는 수신측으로 이를 전달하는 구조 수신측은 전달받은 데이터 포맷을 파싱(구문분석)하여 해석한다. - JSON ( JavaScript Object Notation ) : 데이터 객체를 속성-값의 쌍 형태로 표현하는 개방형 표준 포맷 - AJAX ( Asynchronous JavaScript and XML ) : 클라이언트와 서버 간의 XML 데이터를 주고 받는 비동기 통신 기술 인터페이스 엔티티를 이용한 구현 인터페이스가 필요한 시스템 사이에 별도의 인터페이스 엔티티( 인터페이스 테이블 ) 을 두어 상호 연계하는 것..

[정보처리기사] 모듈 연계를 위한 인터페이스

모듈 연계 내부 모듈 - 외부모듈 혹은 내부 모듈 간 데이터 교환을 위한 관계를 설정하는 것 EAI ( Enterprise Application Integration ) 기업 내 각종 어플리케이션 및 플랫폼 간의 상호 연동이 가능하게 해주는 솔루션 Point to Point 가장 기본적인 어플리케이션 통합 방식 ( 1 : 1 연결로 변경 및 재사용 어려움 ) Hub & Spoke : 단일 접점인 허브 시스템을 통해 데이터를 전송하는 중앙 집중형 방식 ( 확장 및 유지보수 용이 ) Message Bus ( ESB 방식 ) : 어플리케이션 사이 미들웨어를 두는 방식 ( 확장성 및 대용량 처리 용이 ) Hybrid : Hub & Spoke 와 Message Bus 방식을 통합, 그룹 내에서는 Hub & Spo..

[정보처리기사] 인터페이스 기본

인터페이스 요구사항 검증 방법 1) 요구사항 검토 - 동료검토 (Peer Review) : 요구사항 명세서 작성자가 동료들에게 설명하고 동료들이 결함을 발견하는 형태 - 워크스루 (Work Through) : 요구사항 명세서를 미리 배포하여 사전 검토 후 짧은 검토 회의로 결함을 발견하는 형태 - 인스펙션 (Inspection) : 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 결함을 검토하는 형태 2) 프로토타이핑(Prototyping) 실제 개발될 소프트웨어의 견본품을 만들어 최종 결과물을 예측하는 형태 3) 테스트 설계 요구사항을 테스트 할 수 있도록 작성, 테스트 케이스를 생성하여 요구사항이 현실적으로 테스트 가능한지 검토 4) CASE 도구 활용 일관성 분석(Coinsistency Ana..

[정보처리기사] 서버 개발 프로그램

서버개발 웹 애플리케이션의 로직을 구현할 서버 프로그램을 제작하여 WAS에 탑재하는 것 서버 프로그램 : 웹서버로부터 받은 요청을 처리하여 결과를 반환하는 역할 서버개발 프레임워크 서버프로그램 개발시 다양한 네트워크 설정, 요청 및 응답처리, 아키텍처 모델 구현등을 손쉽게 처리할 수 있도록 클래스나 인터페이스를 제공하는 소프트웨어 서버 개발 프레임워크는 대부분 모델-뷰 컨트롤러(MVC) 패턴을 기반으로 개발되었다. *MVC : 시스템을 세부분으로 분리하여 서로 영향 받지 않고 개발할 수 있는 아키텍처 패턴 종류 Spring JAVA 기반 프레임워크, 전자 정부 표준 프레임워크 기반 기술로 사용 Node.js JavaScript 기반 프레임워크, 비동기 입출력 처리와 이벤트 위주의 높은 처리 성능, 실시간..

[정보처리기사] 코드(Code) 및 디자인 패턴

코드(Code) 자료의 분류, 조합, 집계, 추출을 용이하게 하기위해 사용하느 ㄴ기호 정보를 일정한 규칙에 따라 작성하여 신속 정확하게 전달 할 수 있다. 주요기능 식별 기능 : 데이터 간의 성격에 따라 구분 분류 기능 : 특정 기준이나 동일한 유형에 해당하는 데이터를 그룹화 배열 기능 : 의미를 부여하여 나열할 수 있음 표준화 기능 : 다양한 데이터를 기준에 맞추어 표현할 수 있음 간소화 기능 : 복잡한 데이터를 간소화할 수 있음 코드의 종류 - 순차코드 (Squence Code) : 일정한 기준에 따라 차례대로 일련번호를 부여하는 방법 ( 1, 2, 3, 4,... ) - 블록코드 (Block Code) : 공통성 있는 것끼리 블록으로 구분하고 블록에 일련번호 부여하는 방법 ( 1001 ~ 1100 ..

[정보처리기사] 모듈(Module)

모듈 ( Module ) 소프트웨어 내 작업 단위 모듈은 독립성을 가져야 한다. 결합도(Coupling)는 약하게 (과도한 상호작용 X) 응집도(Cohesion)는 강하게 (하나의 기능만 수행) 모듈의 크기는 작게 - 결합도 (Coupling) (모듈 간 상호작용 정도) 자료(Data) 결합도 : 다른 모듈에 호출되어서 받은 인수를 처리 후 결과를 반환 스탬프(검인) 결합도 : 모듈 간 인터페이스의 자료구조를 함께 조회 제어(control) 결합도 : 한 모듈이 다른 모듈의 논리 흐름을 제어 외부(external) 결합도 : 한 모듈이 선언한 데이터를 다른 모듈이 참조 공통(공유)(Common) 결합도 : 공유되는 데이터 영역을 여러 모듈이 사용 내용(Content) 결합도 : 한 모듈이 다른 모듈의 기..

[정보처리기사] 객체지향 ( Object-Oriented )

객체지향 각 요소들을 객체(Object)로 만든 후, 객체들을 조립해서 소프트웨어를 개발하는 기법 객체지향 구성요소 객체(Object) : 데이터와 데이터를 처리하는 함수를 묶어 놓은 SW 모듈 - 데이터 : 객체의 정보, 속성, 상태, 분류 - 함수 : 객체가 수행하는 기능, 객체의 상태를 참조하거나 변경하는 수단 클래스(Class) : 공통된 속성과 연산을 갖는 객체의 집합, 각각의 객체를 인스턴스(instance)라고 한다. 메시지(Message) : 객체들 간의 상호작용으로 사용되는 수단, 객체의 동작이나 연산을 일으키는 외부 요구사항 객체지향 특징 캡슐화(Encapsulation) : 외부에서 접근을 제한하기 위해 인터페이스를 제외한 세부내용을 은닉하는 것 ( 정보의 은닉 ) 상속(Inherit..

[정보처리기사] 소프트웨어 아키텍처

소프트웨어 아키텍처 소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체 아키텍처 설계의 기본원리 - 모듈화(Modularity) 시스템의 기능들을 모듈 단위로 나누어 유지보수를 향상시키는 것 모듈의 크기가 너무 작으면 모듈 간의 통합비용이 많이 듦 반대로 모듈의 크기가 너무 크면 개발비용이 많이 듦 - 추상화(Abstraction) 전체적이고 포괄적인 개념을 설계화 한 후 세분화, 구체화 하는 과정 과정 추상화 : 전반적인 흐름만 설계 ( 자세한 수행 과정 X ) 데이터 추상화 : 데이터의 구조를 대표할 수 있는 표현으로 대체 ( 세부적인 속성이나 용도 X ) 제어 추상화 : 이벤트 발생을 대표할 수 있는 표현으로 대체 ( 정확한 절차 및 방법 X ) - 단계적 분해(Stepwi..

[정보처리기사] 개발환경 구축

▷ 하드웨어 환경 Client (인터페이스 제공) Server(서비스 제공) 웹서버(Web Server) 클라이언트로부터 직접 요청받아 처리하는 서버, 저용량 정적파일 제공(HTML, CSS) 웹서버 기능 - HTTP/HTTPS 지원 : 브라우저 요청받을 때 사용하는 프로토콜 - 통신 기록(Communication log) 처리한 요청을 로그파일로 기록 - 정적 파일 관리(Managing Static Files) HTML, CSS 관리 저장 - 대역폭 제한(Bandwidth Throttling) 네트워크 트래픽의 포화를 방지 하기 위한 응답속도 제한 - 가상 호스팅(Virtual Hosting) 하나의 서버로 여러 도메인 연결 - 인증 (Verfication) 합법적 사용자인지 인증 웹 애플리케이션 서버..