분류 전체보기32 014. 디자인 패턴 1. 디자인 패턴의 개념 가. 디자인 패던의 정의 소프트웨어를 개발하는 동안 공통적으로 발생하는 문제점들의 해법을 재사용이 가능하도록 공통언어로 정형화한 소프트웨어 설계 양식. 소프트웨어 개발 시 일어날 수 있는 일반적인 문제점들을 유형에 따라 분류하고, 문제 해결을 위한 정형화된 소프트웨어 설계 양식. 재이용 가능한 객제지향 소프트웨어의 요소. 나. 디자인 패턴의 필요성 동일 문제의 해법으로 제시된 디자인 패턴을 사용하므로 개발기간을 단축함. 정형화된 디자인 패턴을 사용하므로 소프트웨어 개발 시 의사소통이 용이함. 소프트웨어의 디자인이 명료해지고, 재사용성, 확장성, 유지보수성이 향상됨. 다. 디자인 패턴의 등장배경 소프트웨어 개발시 자주 발생하는 문제들의 공통점을 찾아내어 해결하기 위해 등장. GoF.. 2022. 10. 1. 013. 관점 지향 프로그래밍 (Aspect Oriented Programming) 관점 지향 프로그램(Aspect Oriented Programming, AOP)의 개요 가. 관점 지향 프로그램의 정의 핵심 관심사(Core Concerns)에 대한 관점과 횡단 관심사(Cross-cutting Concerns)에 대한 관점들로 프로그램을 분해해 객체지향 방식(OOP)에서 추구하는 모듈을 효과적으로 지원하도록 하는 프로그래밍 기법. 나 관점 지향 프로그램의 특징 특징 내용 모듈화 횡단 관심사를 포괄적이고 체계적으로 모듈화함으로 혁신적인 횡단 관심사의 구현 방법을 도입함 캡슐화 AOP에서 횡단 관심사는 애스펙트라는 새로운 단위로 캡슐화함으로 모듈화가 이루어짐 단순화 핵심 모듈은 더 이상 횡단 관심사의 모듈을 직접 포함하지 않으며 횡단 관심사의 모든 복잡성은 애스펙트로 분리 융합화 AOP는 .. 2022. 10. 1. 012. 객체 지향 1. 객체지향의 개념 가. 객체지향(Object)의 정의 프로그램에서 사용하기 위하여 데이터와 연산을 캡슐화와 정보은닉으로 묶는 방법 데이터는 속성(Attribute)으로 연산은 메서드(Method)로 구현됨 나. 객체지향(Object Oriented)의 정의 실세계의 개체(Entity)를 속성(Attribute)과 메서드(Method)가 결합된 형태의 객체(Object)로 표현하는 개념에 바탕을 두는 소프트웨어 설계 및 개발 방법 다. 객체지향의 등장 배경 구조적 기법의 문제점 객체지향 - 데이터와 프로세스의 분리 - 이해와 유지보수의 어려움 - 프로세스 중심 접근 방법으로 재사용성의 한계 - 외부환경 변화에 대처가 어려움 - 대규모 시스템 개발 및 유지보수 비효율적 -데이터와 프로세스의 캡슐화 - 자.. 2022. 10. 1. 011. 소프트웨어 역공학 1. SW보안 취약점 분석 기술, 소프트웨어 역공학 가. 소프트웨어 역공학의 의미 디어셈블러, 디컴파일러를 이용하여 바이너리로부터 원시 코드를 생성함 소프트웨어 실행 파일을 분석하여 소프트웨어 특성과 유용한 정보를 찾아냄 나. 역공학 방지 기술 코드 난독화 역공학을 통한 보안 취약점 공격에 대한 방지 기술로서 코드를 복잡하게 만들어 원시 코드를 알아보기 힘들게 하는 기술 프로그램의 의미를 유지하면서 배치, 논리, 자료, 구조 등을 변화시켜 역공 학자나 분석도구의 분석을 어렵게 하는 기술 2. 코드 난독화의 종류와 기술 가. 코드 난독화의 종류 (Layout obfuscation) 구분 종류 설명 기법에 따른 종류 배치 난독화 (Layout Obfuscation) 실행 파일에 포함되어 있는 문자열의 내용을.. 2022. 10. 1. 010. 3R (Reverse Engineering, Re Engineering, Re Use) 1. 소프트웨어 3R의 개요 가. 소프트웨어 3R의 정의 레포지토리를 기반으로 역공학, 재공학, 재사용을 통해 소프트웨어 생산성을 극대화하는 기법 나. 소프트웨어 3R의 등장 배경 소프트웨어 위기 극복 소프트웨어 개발 생산성 향상 유지보수 비용의 절감 소프트웨어 변경 요구사항의 신속한 대처 다. 소프트웨어 3R의 목표 소프트웨어 유지보수 오류 및 비용을 축소함 시스템의 이해, 변경, 테스트 용이 현 사용 시스템을 CASE 도구를 사용하여 유지보수 및 수정이 가능하도록 지원 현재 시스템의 컴포넌트를 재사용 소프트웨어 위기 극복 2. 소프트웨어 3R의 구성 가. 소프트웨어 3R의 관련 개념 순공학 : 주상개념의 현실화, 요구분석-> 설계-> 구현 재구조화 : 기능 변경 없이 소스코드의 재편성(표현의 변형) .. 2022. 10. 1. 이전 1 2 3 4 5 6 7 다음