본문 바로가기

기사패스

(5)
[SW 공학]다형성(Polymorphism) 다형성(Polymorphism) 하나의 객체가 여러 타입의 객체를 참조할 수 있도록 구현하여 다양하게 사용될 수 있도록 하는 원리. 다형성으로 인해 하나의 함수는 상속을 통해 기능을 확장시키고 변경하는 것이 가능하다.
[SW 공학]다중 정의(Overloading)과 재정의(Overriding) 다중 정의(Overloading) 한 클래스 내에서 비슷한 일을 하는 메소드를 같은 이름의 메소드로 여러개 정의하는 것. 예를 들면 생성자를 들 수 있고, 이름만 동일하고 파라미터 수와 타입에 의해 구별된다. 재정의(Overriding) 상속 관계에 있는 두 클래스 중 하위 클래스에서 상위 클래스의 메소드를 정의하는 것. 상속을 통해 구현되고, 이름, 인자, 리턴타입이 동일한 형태로 구현된다.
[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)횡단 관리사 : 로그인
[SW 공학]3R(Reverse, Re-engineering, Reuse) 3R(Reverse, Re-engineering, Reuse) 소프트웨어 생산성 향상, 품질 향상, 유지보수성을 극대화 하는 기법 역공학(Reverse Engineering):기존 개발된 시스템을 자동화된 도구를 이용하여 사양서, 설계서 등의 문서로 추출하는 방법 재공학(Re-engineering):기존 시스템을 산업계의 표준 프로그래밍으로 맞추거나 고수준의 언어로 재구성하거나 타 하드웨어에서 사용할 수 있도록 변환하는 방법 재사용(Reuse):성능 및 품질을 인정받았던 소프트웨어의 전체 또는 일부분을 다시 사용하는 방법