반응형

     정보

    • 업무명     : 정보처리기사 필기 : 제1과목 소프트웨어 설계 (애플리케이션 설계)

    • 작성자     : 이상호

    • 작성일     : 2021-03-01

    • 설   명      :

    • 수정이력 :

     

     

     내용

    [소프트웨어 아키텍처]

    • 소프트웨어 아키텍처의 설계

    • 모듈화

    • 추상화

      • 과정추상화

      • 데이터 추상화

      • 제어 추상화

     

    • 단계적 분해

    • 정보 은닉

    • 소프트웨어 아키텍처의 품질 속성

      • 시스템 측면

      • 비즈니스 측면

      • 아키텍처 측면

     

    • 소프트웨어 아키텍처의 설계과정

      • 설계 목표 설정

      • 시스템 타입결정

      • 아키텍처 패턴 적용

      • 서브시스템 구체화

      • 검토

     

    [아키텍처 패턴]

    • 아키텍처 패턴

      • 아키텍처 패턴의 장점

      • 종류 : 레이어 패턴, 클라이언트-서버 패턴, 파이프-필터 패턴, 모델-뷰-컨트롤러 패턴

    • 레이어 패턴

    • 클라이언트-서버 패턴

    • 파이프-필터 패턴

    • 모델-뷰-컨트롤러 패턴

    • 기타

      • 마스터-슬레이브 패턴, 브로커 패턴, 피어-투-피어 패턴

      • 이벤트-버스 패턴, 블랙보드 패턴, 인터프리터 패턴

     

    [객체지향]

    • 객체 : 데이터와 그 데이터에 관련되는 동작을 모두 포함한 개념이다.

    • 객체 지향 : 실 세계의 개체(Entity)를 속성(Attribute)과 메소드(Method)  가 결합된 형태의 객체(Object)로 표현하는 개념이다.

    • 객체 지향의 구성요소

      • 객체 : 데이터+ 연산. 메소드 : 객체의 구체적인 연산을 정의한 것이다.

      • 클래스(Class) : 유사한 객체들을 모아 공통된 특성을 표현한 것. 클래스로부터 생성된 새로운 객체를 인스턴스(Instance)라고 한다.

      • 메시지(Message) : 객체들 간의 상호작용이 일어나기 위해서 메시지가 필요하며 메시  지를 통하여 객체의 동작이 수행된다.

     

    • 객체 지향기법

      • 캡슐화(Encapsulation)

      • 상속(Inheritance)

      • 추상화(Abstraction)

      • 다형성(Polymorphism)

     

    [모듈]

    • 모듈화

      • 모듈이란 소프트웨어를 각 기능별로 분할하는 것으로, 소프트웨어 구조를 이루는 기본  단위이다.

      • 모듈화는 독립성이 높아야 하며, 모듈의 독립성은 결합도와 응집도에 의해 측정된다.

     

    • 결합도

      • 한 모듈과 다른 모듈간의 상호의존도를 측정하는 것으로 독립적인 모듈이 되기 위해서는  결합도가 약해야 한다.

     

    • 응집도(cohesion)

      • 한 모듈 내에 있는 구성 요소들이 서로 관련되어 있는 정도를 의미하며, 관련성을 측정  하는 것으로 응집도가 높도록 설계되도록 해야 한다.

     

    [공통 모듈]

    • 공통 모듈의 개념

      • 전체 프로그램의 기능 중 공통적으로 사용할 수 있는 모듈

      • 공통 모듈 명세 작성 원칙

        • 정확성

        • 명확성

        • 완전성

        • 일관성

        • 추적성

     

    [코드]

    • 주요 기능

      • 식별 기능, 분류 기능 , 배열 기능

         

    • 코드의 종류

      • 순차코드

      • 블록코드

      • 10진코드

      • 그룹 분류 코드

      • 연상코드

      • 표의 숫자 코드

      • 합성 코드

     

    [디자인 패턴]

    • 생성패턴 5개

      • 추상팩토리

      • 빌더

      • 팩토리 메소드

      • 프로토타입 싱글톤

     

    • 구조패턴 7개

      • 어댑터

      • 브리지

      • 컴포지트

      • 데코레이터

      • 퍼씨드

      • 플라이웨이트

      • 프록시

     

    • 행위패턴 11개

      • 책임 연쇄

      • 커맨드

      • 인터프리터

      • 반복자

      • 중재자

      • 메멘토

      • 옵서버

      • 상태

      • 전략

      • 템플릿 메소드

      • 방문자

     

    [연습문제]

    • 공통모듈의 작성원칙 중 해당 기능에 대한 요구사항의 출처와 관련 시스템 등  유기적 관계에 대한 식별이 가능하도록 작성해야 하는것은?

      • ① 정확성(Correctness)

      • ② 추적성(Tranceability)

      • ③ 명확성(Clarity)

      • ④ 일관성(Consistency)

     

    • 다음 중 객체지향(Object Orient)의 기법에 대한 설명으로 옳지 않은 것은?

      • ① 캡슐화(Encapsulation)는 동일한 이름의 여러 오퍼레이션(메소드)을 다른 사양으로 정의 가능하다.

      • ② 추상화(Abstraction)는 공통의 성질을 추출하여 슈퍼클래스를 구성한다.

      • ③ 정보은닉(Information Hiding)은 캡슐화된 항목을 다른 객체(Object)로부터 숨긴  다.

      • ④ 상속(Inheritance)은 부모 클래스의 속성과 메소드를 상속받아 사용한다.

     

    • 다음에서 설명하는 디자인 패턴에 해당하는 것은?

    • 기존에 만들어진 클래스를 사용하려고 하는데 인터페이스가 일치하지 않거나, 관련이 없어  사용하지 못했던 클래스 들을 다시 사용할 수 있게 만들고자 한다.

      • ① 브리지

      • ② 컴포지트

      • ③ 데코레이터

      • ④ 어댑터

     

     참고 문헌

    [논문]

    • 없음

    [보고서]

    • 없음

    [URL]

    • 없음

     

     문의사항

    [기상학/프로그래밍 언어]

    • sangho.lee.1990@gmail.com

    [해양학/천문학/빅데이터]

    • saimang0804@gmail.com
    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기