[정보처리기사] 소프트웨어공학 용어

Posted by 신희준 on October 5, 2017


2017 - 10 - 05 (목)

  • 소프트웨어공학 용어

  • 공단공개문제 참조


    1 .. 소프트웨어 개발 용어


    객체(Object) : 데이터와 절차를 일체화 한것으로 실제로 존재하거나 추상적이라도 개별적으로 인식할 수 있는 모든 항목

    클래스(Class) : 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 데이터 추상화를 의미, 공통된 속성과 연산(메서드)를 갖는 객체의 집합.

    메시지(Message) : 객체들 간에 상호작용을 하는데 사용하는 수단으로 객체에서 객체로 메시지가 전달되면 메소드를 시작함

    메소드(Method) : 객체지향 개념에서 객체가 메시지를 받아 실행해야 할 객체의 구체적인 연산, 객체의 속성을 참조 및 변경하는 수단

    추상화(Abstraction) : 불필요한 부분을 생략하고 객체의 속성 중 가장 중요한 것에만 중점을 두어 개략화시킨 것

    캡슐화(Encapsulation) : 자료 부분과 연산 부분 등 정보처리에 필요한 기능을 묶어 정보를 은폐하여 외부에서 변경못하게 함. 인터페이스가 단순화 되며 응집도가 향상됨.

    정보 은닉(Information Hiding) : 객체는 다른 객체로부터 자신의 자료를 숨기고 자신의 연산만을 통하여 접근을 허용하는 것

    상속(Inheritance) : 상위 클래스의 메소드와 속성을 하위 클래스가 물려받는 것.

    다형성(PolyMorphism) : 한 메시지가 객체에 따라 다른 방법으로 응답할 수 있는 것.


    객체지향 분석 방법

    럼바우 분석 기법 : 객체 모형 >> 동적 모형 >> 기능모형
    ( 객체 모델링 : 시스템에서 요구되는 객체를 찾아내어 객체들의 특성 규명 )
    ( 동적 모델링 : 상태도를 이용하여 객체들의 제어 흐름, 상호 반응 연산순서를 나타내주는 과정 )
    ( 기능모델링 : 자료흐름도 (DFD)를 이용하여 각 객체에서 수행되는 동작들을 기술)


    테스트(순서대로)

    단위 테스트 : 가장 작은 단위인 클래스나 객체를

    통합 테스트 : 객체를 몇개 결합하여 하나의 시스템으로 완성 시키는 과정 검사

    검증 테스트 : 요구사항 만족 여부 검사

    시스템 테스트 : 모든 요소들이 적합하게 통합되고 제대로 기능이 수행되는지 검사

    Client/Server 구조 : 네트워크를 이용하는 분산 시스템 형태의 모델로, 데이터와 처리기능 정보를 요청하는 클라이언트와 정보를제공하는 서버에 분할하여 사용한다.

    저장소 구조 : repository에 공동으로 활용하는 데이터를 보관하고 모든 서브시스템이 여기에 저장된 공유 데이터에 접근하여 정보를 검색, 저장, 변경한다.

    계층 구조 : 계층 하나를 서브시스템으로 생각하여 하위 계층은 서버, 상위 계층은 클라이언트 역할을 하도록 구성한다.

    소프트웨어 재사용 : 이미 개발된 소프트웨어 전체 혹은 일부분을 다른 소프트웨어 개발이나 유지에 이용하는 것.

    소프트웨어 재공학 : 기존 시스템을 이용하여 보다 나은 시스템을 구축하고 새로운 기능을 추가하여 소프트웨어 성능을 향상시키는 것.

    소프트웨어 역공학 : 소프트웨어를 분석하여 소프트웨어 개발 과정과 데이터 처리 과정을 설명하는 분석 및 설계 정보를 추출하는 과정.