안녕하세요 에이블러여러분들!!
ㅈㅣ난주에 빅분기필기를 보고왔는데요 ..
3과목이 너무 어려웠어요 ㅠㅠㅠ
과락일거같은 느낌이 강하게드는데ㅠㅠㅠ
그래도 당장 이번달 말에 보는 정처기 실기 공부를 소홀히 할 수 없죠....!!
작년에 필기를 붙고 실기를 1번 떨어졌습니다
글서 바로 올해 1회차 시험을 응시합니당
빅분기가 끝난후 3주정도 시간이 있는데 할 수 있는데까지 최선을 다해서 빠이팅!!
아 참 정보처리기사 관련해서는 제가 개인적으로 중요하다고 생각하는 개념이나
시험에 나올 거 같은 것만 포스팅하려구합니당 !!
첫번째 포스팅은!!
[정보처리기사 실기] 소프트웨어공학 3R (역공학/재공학/재사용)
소프트웨어 공학의 3R이란?
완성된 소프트웨어를 기반으로 역공학,재공학,재사용을 통해 소프트웨어의 생산성을 극대화 하는 기법
역공학(Reverse Engineering)
재사용(Reuse)
재공학(Re- Engineering)
소프트웨어 개발 및 유지보수 과정에서 중요한 역할
한글과 영어 모두 외워두기!!!
역공학(Reverse Engineering)
역공학은 기존의 소프트웨어 시스템으로부터 더 높은 수준의 추상화를 추출하거나 시스템의 비기능적 특성을 분석하는 과정입니다. 이 단계에서는 기존 시스템의 코드를 분석하여 시스템의 구조, 기능, 작동 원리 등을 이해하고 문서화합니다. 역공학은 특히 문서화가 불충분하거나 소스 코드만이 남아 있는 레거시 시스템을 다룰 때 유용합니다. 이 과정을 통해 개발자는 시스템의 변경이 필요한 부분과 개선할 수 있는 기회를 식별할 수 있습니다.
재사용(Reuse)
재사용 단계에서는 역공학을 통해 얻은 지식을 활용하여 기존의 코드나 구성요소를 새로운 소프트웨어 개발에 재활용합니다. 이는 라이브러리, 모듈, 프레임워크, 혹은 완전한 시스템의 형태로 이루어질 수 있으며, 개발 시간과 비용을 절감하고 소프트웨어의 신뢰성을 향상시키는 데 목적이 있습니다. 재사용은 합성중심과 생성중심의 접근 방식을 포함할 수 있으며, 효율적인 소프트웨어 개발을 위한 중요한 전략입니다.
재사용의 2가지 접근방식 - 합성중심재사용/생성중심재사용
합성중심 재사용(Composition-based Reuse)
합성중심 재사용은 이미 존재하는 소프트웨어 구성요소를 조합하여 새로운 애플리케이션을 구축하는 접근 방식입니다. 이 방식에서 개발자는 라이브러리, 프레임워크, 모듈, 클래스 등의 형태로 제공되는 재사용 가능한 구성요소들을 선택하여, 이들을 조합하고 통합함으로써 새로운 소프트웨어 솔루션을 생성합니다. 합성중심 재사용은 컴포넌트 기반 개발(Component-Based Development, CBD)과 밀접하게 연관되어 있으며, 소프트웨어의 모듈성과 재사용성을 증진시키는 데 중점을 둡니다. 이 방식의 주요 이점은 개발 시간과 비용을 절감하고, 검증된 구성요소를 사용함으로써 최종 소프트웨어 제품의 신뢰성을 향상시킬 수 있다는 것입니다.
생성중심 재사용(Generation-based Reuse)
생성중심 재사용은 고수준의 사양이나 템플릿을 기반으로 소프트웨어 코드나 구성요소를 자동으로 생성하는 방식입니다. 이 접근 방식은 특히 도메인 특화 언어(Domain-Specific Languages, DSLs)나 모델 주도 개발(Model-Driven Development, MDD)과 같은 방법론에서 자주 볼 수 있습니다. 개발자는 특정 애플리케이션 도메인에 적합한 고수준 추상화를 정의하고, 이를 바탕으로 소프트웨어 구성요소나 시스템 전체를 자동으로 생성할 수 있습니다. 생성중심 재사용의 장점은 개발 과정을 자동화하여 효율성을 높이고, 반복적인 작업을 줄이며, 오류를 감소시킬 수 있다는 것입니다.
합성중심과 생성중심 재사용은 서로 다른 장점과 적용 분야를 가지며, 특정 프로젝트의 요구 사항과 목표에 따라 선택됩니다. 합성중심 접근 방식은 유연성과 모듈성에 초점을 맞추고, 생성중심 접근 방식은 자동화와 효율성을 강조합니다. 이 두 접근 방식을 적절히 조합하고 활용함으로써, 소프트웨어 개발 프로세스를 최적화하고, 고품질의 소프트웨어 제품을 더욱 빠르고 효율적으로 생산할 수 있습니다.
재공학(Reengineering)
재공학은 역공학과 재사용의 과정을 통해 얻은 지식을 바탕으로 기존 소프트웨어를 현대화하거나 개선하는 단계입니다. 이 과정에서는 시스템의 구조를 재조정하고, 코드를 최적화하며, 새로운 기능을 추가하거나 기존 기능을 개선합니다. 재공학의 목표는 소프트웨어의 유지보수성, 성능, 그리고 기능성을 향상시키는 것입니다. 재공학은 또한 시스템을 새로운 플랫폼이나 기술 스택으로 이전하는 과정을 포함할 수 있습니다.
역공학, 재사용, 그리고 재공학의 통합적 접근은 소프트웨어의 생명주기를 연장시키고, 비용을 절감하며, 시스템의 품질을 지속적으로 개선하는 데 중요한 역할을 합니다. 이 세 단계는 소프트웨어 공학에서 유지보수와 소프트웨어 혁신 과정을 지원하는 핵심 원칙입니다.
역공학, 재사용, 그리고 재공학의 통합적 접근은 소프트웨어의 생명주기를 연장시키고, 비용을 절감하며,
시스템의 품질을 지속적으로 개선하는 데 중요한 역할을 합니다.
이 세 단계는 소프트웨어 공학에서 유지보수와 소프트웨어 혁신 과정을 지원하는 핵심 원칙입니다.
영어로도 외우기 영어로도 외우기 영어로도 외우기
'KT에이블스쿨 5기 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] 객체지향설계 SOLID 5가지 원칙 (0) | 2024.04.14 |
---|---|
[정보처리기사 실기] redo와 undo +은행거래예시 (0) | 2024.04.14 |
[정보처리기사 실기] CRUD - Create(생성), Read(읽기), Update(갱신), Delete(삭제) (0) | 2024.04.14 |
[정보처리기사 실기] 트랜잭션(Transaction)의 4가지 특성과 5가지 논리적상태 +은행거래예시 (0) | 2024.04.14 |
[정보처리기사 실기] SQL(Structured Query Language) 개념과 문법 (2) | 2024.04.12 |