본문 바로가기

Lobo's study room/정보처리기사

(329)
[SW 공학]리팩토링(Refactoring) 리팩토링(Refactoring) 외부기능은 그대로 유지하면서 비효율적인 내부의 코드의 구조를 개선하는 소프트웨어 시스템 변경 기법. Code smell(이상 코드)을 제거하고 SW 이해도를 향상시킨다.
[SW 공학]디자인 패턴(Design pattern) 디자인 패턴(Design pattern) 의사소통 수단의 일종으로서 반복적으로 나타나는 문제들을 해결해 온 전문가들이 경험을 모아서 정리한 일관된 설계 기법 SW 공학에서 디자인 패턴은 객체 지향적인 SW 개발과 효율적이고 효과적인 SW를 만드는 해결책으로 사용된다. 디자인 패턴을 맹신한 나머지 모든 문제를 패턴으로 해결하려는 것은 지양해야 한다. 종류(생구행) -생성패턴(추빌팩프싱):추상 팩토리, 빌더, 팩토리 메소드, 프로토타입, 싱글톤 -구조패턴(어블컴데 퍼플프):어댑터, 브릿지, 컴포지트, 데코레이터, 퍼사드, 플라이웨이트, 프록시 -행위패턴(전인상중반책커옵메):전략, 인터프리터, 상태, 중재자, 반복자, 책임연쇄, 커맨드, 옵저버, 메멘토
[SW 공학]동료검토(Peer Review) 동료검토(Peer Review) 명세서 또는 코드를 작성한 자가 직접 설명하는 것을 들으면서 의견을 나누고 결함을 발견하는 활동
[SW 공학]다형성(Polymorphism) 다형성(Polymorphism) 하나의 객체가 여러 타입의 객체를 참조할 수 있도록 구현하여 다양하게 사용될 수 있도록 하는 원리. 다형성으로 인해 하나의 함수는 상속을 통해 기능을 확장시키고 변경하는 것이 가능하다.
[SW 공학]다중 정의(Overloading)과 재정의(Overriding) 다중 정의(Overloading) 한 클래스 내에서 비슷한 일을 하는 메소드를 같은 이름의 메소드로 여러개 정의하는 것. 예를 들면 생성자를 들 수 있고, 이름만 동일하고 파라미터 수와 타입에 의해 구별된다. 재정의(Overriding) 상속 관계에 있는 두 클래스 중 하위 클래스에서 상위 클래스의 메소드를 정의하는 것. 상속을 통해 구현되고, 이름, 인자, 리턴타입이 동일한 형태로 구현된다.
[SW 공학]기술 부채(Technical debt) 기술 부채(Technical debt) 프로그램 개발에 대해 정상적이고 객관적인 방법이 아닌 주관적이고 편법 적용을 통해 발생되는 추가 작업 비용. 기술적 부채는 품질의 영향이 발생하나 시스템 작동에 직접적인 영향을 주지 않고 가시적이지 않아 관리가 잘 되지 않는 문제가 발생한다.
[SW 공학]결합도(Coupling)와 응집도(Cohension) 결합도(Coupling) 모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈간의 상호 의존성을 나타내는 정도 자료-스탬프-제어-외부-공통-내용(순으로 높다) (자스제외공내) 결합도는 낮고, 응집도는 높을수록 "유지보수성이 높다"라고 할 수 있음. 응집도(Cohension) 모듈이 독립적인 기능으로 정의한 정도(독립성). 즉, 한 모듈 내부의 처리 요소들 간의 기능적 연관 정도 기능적-순차적-통신적-시간적-논리적-우연적(순으로 낮다)
[SW 공학]객체지향프로그래밍(OOP, Object-Oriented Programming)과 AOP(Aspect Oriented Programming, 관점지향 프로그래밍) 객체지향프로그래밍(OOP, Object-Oriented Programming) 프로그램을 수많은 '객체'리는 기본 단위로 나누고 이 객체들의 상호작용을 통해 로직을 프로그래밍하는 방식 코드의 재사용이 용이하고 유지보수가 쉽다는 장점때문에 널리 활용된다. AOP(Aspect Oriented Programming, 관점지향 프로그래밍) 시스템을 핵심 관심사와 횡단 관심사로 분리하고 Weaving을 통해 프로그램을 구현하는 방법. ex)핵심 관심사 : 게시판 글쓰기 ex)횡단 관리사 : 로그인