Programming
[2020 정보처리기사 필기 요약] 2과목 - 소프트웨어 개발(제품 소프트웨어 패키징)
- 3 - 제품 소프트웨어 패키징 5. 소프트웨어 버전 등록 1) 소프트웨어 패키징의 형상 관리 형상 관리는 소프트웨어 개발 과정에서 소프트웨어 변경 사항을 관리하기 위해 개발된 일련의 활동이다. 변경의 원인을 알아내고 제어하며, 적절히 변경되고 있는지 확인하여 해당 담당자에게 통보한다. 2) 형상관리의 중요성 지속적인 소프트웨어의 변경사항을 체계적으로 추적하고 통제할 수 있다. 제품 소프트웨어에 대한 무절제한 변경을 방지할 수 있다. 제품 소프트웨어에서 발견된 버그나 수정 사항을 추적할 수 있다. 소프트웨어는 형태가 없어 가시성이 결핍되므로 진행 정도를 확인하기 위한 기준으로 사용될 수 있다. 3) 형상 관리 기능 품질 보증을 위한 요소로서 다음의 기능을 수행 형상 식별 : 관리 대상의 이름과 관리 번..
[2020 정보처리기사 필기 요약] 2과목 - 소프트웨어 개발(통합 구현, 제품 소프트웨어 패키징)
- 1 - 데이터 입출력 구현 데이터와 입출력, 자료구조와 관련된 내용은 다른 좋은 예제가 많이 있기 때문에 다루지 않겠습니다. 1. 데이터저장소 / 데이터베이스 / DBMS 1) 데이터 저장소 소프트웨어 개발 과정에서 다루어야 할 데이터들을 논리적인 구조로 조직화 하거나, 물리적인 공간에 구축한 것 구분 : 논리 데이터저장소, 물리 데이터 저장소 논리 데이터 저장소 : 데이터 및 데이터 간의 연관성, 제약조건 식별 -> 논리적 구조로 조직화 물리 데이터 저장소 : 소프트웨어가 운용될 환경의 물리적 특성을 고려해 하드웨어적 저장장치에 저장한 것 2) 데이터베이스 특정 조직의 업무를 수행하는데 필요한 상호 관련된 데이터들의 모임 통합된 데이터(Integrated Data) : 자료의 중복을 배제한 데이터 ..
[2020 정보처리기사 필기 요약] 1과목 - 소프트웨어 설계(애플리케이션 설계, 인터페이스 설계)
- 3 - 애플리케이션 설계 21. 디자인패턴 1) 디자인 패턴의 개요 각 모듈의 세분화된 역할이나 모듈들 간의 인터페이스와 같은 코드를 작성하는 수준의 세부적인 구현 방안을 설계할때 참조할 수 있는 전형적인 해결방식 또는 예제이다. 재사용할 수 있는 기본형 코드 개발과정 중 문제가 발생하면 문제에 해당하는 디자인 패턴을 참고 * 아키텍쳐 패턴과 디자인 패턴의 차이! 아키텍처 패턴은 디자인 패턴보다 상위 수준의 설계에 사용됨 아키텍쳐 패턴이 전체 시스템의 구조를 설계하기 위한 참조 모델이라면, 디자인 패턴은 서브시스템에 속하는 컴포넌트들과 그 관계를 설계하기 위한 참조 모델임 2) 생성 패턴 객채의 생성과 참조 과정을 캡슐화하여 객체가 생성되거나 변경되어도 프로그램 구조에 영향을 받지 않도록 유연성을 더..
[Java] 자바 코드 실행시간 측정 방법
[Java] 자바 코드 실행시간 측정 방법 System.currentTimeMillis();이라는 System 함수를 이용해서 쉽게 측정이 가능합니다. 1. 사용 방법 먼저 특정 코드가 실행되기 전에 아래 코드를 삽입하고, long start = System.currentTimeMillis(); 특정 코드가 실행되고 난 후 end 변수를 생성해 시간을 기입하고, long end = System.currentTimeMillis(); (end - start) / 1000.0 으로 나누면 초 단위로 실행시간을 확인할 수 있습니다. System.out.println("SDB에서 노드생성까지의 실행시간 : " + (end - start)/1000.0); 2. 사용 결과 폴더와 아이템을 생성하는 시간을 측정하기 위..
[2020 정보처리기사 필기 요약] 1과목 - 소프트웨어 설계 요약(애플리케이션 설계)
- 3 - 애플리케이션 설계 16. 소프트웨어 아키텍처 1) 소프트웨어 아키텍처의 설계 소프트웨어의 골격이 되는 기본 구조이자, 소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체이다. 소프트웨어 개발 시 적용되는 원칙과 지침으로, 이해관계자들의 의사소통 도구다. 기본적으로 좋은 품질을 유지하면서 사용자의 비기능적 요구사항(품질이나 제약사항)으로 나타난 제약을 반영하고, 기능적 요구사항(요구항목)을 구현하는 방법을 찾는 해결 과정이다. 애플리케이션의 분할 방법과 분할된 모듈에 할당될 기능, 모듈 간의 인터페이스 등을 결정한다. * 소프트웨어 프로그램의 기둥, 근간이라고 생각하시면 됩니다. 건물을 지으려고 하는데 명확한 건축 설계 원칙이 있어야지 건축가들이 헷갈리지 않겠죠? 2) ..
[2020 정보처리기사 필기 요약] 1과목 - 소프트웨어 설계 요약(화면설계_2)
- 2 - 화면 설계 12. 품질 요구사항 1) 품질 요구사항 소프트웨어의 품질은 소프트웨어의 기능, 성능, 만족도 등 소프트웨어에 대한 요구사항이 얼마나 충족하는 가를 나타내는 소프트웨어 특성의 총체임. - ISO/IEC 9126 소프트웨어 품질 특성과 평가를 위한 표준 지침 - 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성 2) 기능성 소프트웨어가 사용자의 요구사항을 정확하게 만족하는 기능을 제공하는 여부 - 정합성, 정확성, 상호운용성, 보안성, 호환성 3) 신뢰성 소프트웨어가 요구된 기능을 정확하고 일관되게 오류 없이 수행할 수 있는 정도 - 성숙성, 고장허용성, 회복성 4) 사용성 사용자와 컴퓨터 사이에 발생하는 어떠한 행위에 대하여 사용자가 정확하게 이해하고 사용하며, 향후 다시 사용..
[Java] OPC UA Server 코드(Prosys SDK기반)
[Java] OPC UA Server 코드(Prosys SDK기반) 위는 OPC UA 서버에 접속했을 때의 화면이다. createObjectsFolder() 메소드를 통해 Objects 밑에 MyObjects라는 오브젝트 기반 폴더를 생성했다. 현재 서버는 opc.tcp://localhost:50500이라는 URL로 동작하고 있고, 서버에 접속하기 위해선 opc.tcp://localhost:50500/OPCUA/OPCUAServer의 URL을 따라가면 접속할 수 있다. 이 서버 코드는 Prosys의 OPC UA Java SDK를 이용해서 작성했으며, prosys의 sdk가 없으면 동작하지 않는다. 하지만 기본적으로 OPC UA가 서버 구동되는 흐름은 동일하기 때문에 sdk가 없어도 참고하는데는 무관하다고..
[2020 정보처리기사 필기 요약] 1과목 - 소프트웨어 설계 요약(화면설계)
- 2 - 화면 설계 8. 사용자 인터페이스(UI) * 장애인, 비장애인 관계 없이 누구나 동등하게 인터페이스를 가지고 동일한 결과를 얻을 수 있으며, 조작 방법이 간단하도록 설계하는 것을 생각하면 됩니다! 1) 사용자 인터페이스의 개요 사용자와 시스템 간의 상호작용이 원활하게 이루어지도록 도와주는 장치나 소프트웨어를 의미 사용자 인터페이스의 세가지 분야 정보 제공과 전달을 위한 물리적 제어에 관한 분야 콘텐츠의 상세적인 표현과 전체적인 구성에 관한 분야 모든 사용자가 편리하고 간편하게 사용하도록 하는 기능에 관한 분야 * 인터페이스는 사용자가 정보를 물리적으로 조종하고, 그 기능을 간편하게 사용할 수 있어야 합니다. 2) 사용자 인터페이스의 특징 사용자의 만족도에 가장 큰 영향을 미치는 요소. 가장 많..
[2020 정보처리기사 필기 요약] 1과목 - 소프트웨어 설계 요약(요구사항확인_2)
- 1 - 요구사항 확인 5. 요구사항 분석 기법 1) 요구사항 분석 기법 개발 대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호한 부분을 걸러내기 위한 방법 - 요구사항 분류 + 개념 모델링 + 요구사항 할당 + 요구사항 협상 + 정형 분석 2) 요구사항 분류 요구사항을 보다 쉽게 이해할 수 있도록 현실 세계의 상황을 단순화하여 개념적으로 표현한 것을 모델이라고하며, 이러한 모델을 만드는 과정을 모델링이라 함. 개념 모델은 문제의 주체인 개체(Entity)들과 그들 간의 관계 및 종속성을 반영. 이해관계자별로 관점이 다르기 때문에 개념 모델도 다양화되어야 함. 유스케이스 다이어그램, 데이터 흐름 모델, 상태 모델, 목표기반 모델, 사용자 인터랙션, 객체 모델, 데이터 모델 등. 주로 UML을 통해..
[오류해결] *.jar에 기본 Manifest 속성이 없습니다.
[오류해결] *.jar에 기본 Manifest 속성이 없습니다. Java 프로젝트를 jar 파일로 Export 한 후 Window 환경에서 cmd를 통해 실행을 시켜보면 이와 같은 문제가 발생할 경우가 있습니다. 이것은 이클립스에서 jar파일을 만들때 단순한 jar파일로 만들어서 package라던가, 라이브러리라던가, 프로젝트가 실행되기 위해 필요한 모듈과 속성, 설정 파일이 포함되지 않아서 생기는 오류입니다. 해결 방법 Export - Java - Runnable JAR file로 jar 파일을 생성하면 해결 됩니다. Main으로 지정한 프로젝트 실행점을 확인하고, 프로젝트에서 사용된 Library를 어떻게 sub-folder로 묶을 것인지, 패키지화 시킬 것인지에 대한 설정을 해준다음 finish를 ..