본문 바로가기
📝 정보처리기사

2021 -1회 -필기 -소프트웨어설계(기출정리)

by 매이슨 2021. 8. 14.

 

  • 리눅스 명령어
    • ls : 파일 목록 확인
    • cat : 파일 내용 화면표시
    • pwd : 현재 경로 확인
    • uname : 버전확인
  • 소켓기술
    • 통신을 위한 프로그램 생성, 포트할당, 클라이언트의 통신 요청 시 클라이언트와 연결하는 내ㆍ외부 송ㆍ수신 연계기술
    • 소켓생성 → 포트할당 → 클라이언트의 요청연결
  • DB연계기술
    • 수신시스템에서 DB링크 생성 → 송신시스템에서 해당 DB링크를 직접 참조
  • 캡슐화
    • 객체지향 개념에서 연관된 데이터와 함수를 함께 묶어 외부와 경계를 만들고 필요한 인터페이스만을 밖으로 드러내는 과정
  • 어댑터(Adapter)
    • GoF(Gangs of Four) 디자인 패턴의 구조패턴중 하나
  • 미들웨어
    • 서로 다른 기종간의 하드웨어나 프로토콜,통신환경 등 연결하여 응용프로그램과 운영환경 간에 원만한 통신이 이루어질 수 있게 서비스를 제공하는 소프트웨어
  • RPC(Remote Procedure call)
    • 응용프로그램의 프로시져 사용하여 원격프로시저를 로컬프로시저처럼 호출하는 미들웨어 (원격 == remote)
  • 미들웨어 종류
    • DB / RPC / MOM / TP-monitor / ORB / WAS
  • 소프트웨어 설계 지침
    • 모듈의 기능을 예측할 수 있도록 정의
    • 이식성을 고려
    • 적당한 모듈의 크기를 유지
    • 가능한 모듈을 독립적으로 생성 / 응집도 높 / 결합도 낮
    • 응집도 높→낮 / 기순통절시논우 {기능, 순차,통신(교환), 절차, 시간(일시), 논리, 우연}
    • 결합도 강→약 / 내공외제스자 {내용, 공통(공유), 외부, 제어, 스탬프(검인), 자료}
  • 객체지향 분석 방법론 중 coad-yourdon 방법
    • E-R다이어그램을 사용, 객체의 행위를 데이터 모델링 하는데 초점을 둠
  • Booch 기법
    • 미시적 & 거시적 개발 프로세스를 모두 사용하는 방법
  • 럼바우
    • 객 / 동 / 기
  • Jacobson 기법
    • Usecase 강조
  • CASE(Computer Aided Software Engineering)
    • 소프트웨어 모듈의 재사용성이 향상된다.
    • 자동화된 기법을 통해 소프트웨어 품질이 향상된다.
    • 소프트웨어 유지보수를 간편하게 수행할 수 있다.
    • CASE가 나온이유 <신기료조증후군>
  • UML(Unified Modeling Language)
    • 기능적 모델은 사용자 측면에서 본 시스템 기능이며, UML에서는 Use case Diagram을 사용한다.
    • 정적 모델은 객체, 속성, 연관관계, 오퍼레이션의 시스템의 구조를 나타내며, UML에서는 Class Diagram을 사용한다.
    • 동적모델은 시스템의 내부동작을 말하며, UML에서는 Sequence Diagram, State Diagram, Activity Diagram을 사용한다.
    • Sequence Diagram은 객체들 사이의 메시지 교환을 나타냄, State Diagram은 하나의 개개체가 가진 상태와 그 상태의 변화에 의한 동작순서를 나타낸다.
  • 확장(Extend) 유스케이스
    • 특별한 조건을 만족할 때 수행
  • 디자인 패턴을 이용한 소프트웨어 재사용의 장점
    • 소프트웨어 코드 품질 향상
    • 개발자들 사이의 의사소통 원활
    • 소프트웨어 품질&생산성 향성
  • Object(객체) 모델링
    • 정보모델링이라고도 함
    • 시스템에서 요구되는 개개체를 찾아내어 속성과 연산식별 및 객체들 간의 관계를 규정하여 다이어그램으로 표시하는 모델링
  • Dynamic(동적) 모델링
  • Function(기능적) 모델링
    • DFD
  • 객체지향 분석
    • 소프트웨어를 개발하기 위한 업무를 객체와속성, 클래스와 멤버, 전체와 부분 등으로 나누어 분석하는기법 (상향식)키워드
    • ※('하향식' 키워드 → 구조적분석)
  • 애자일 소프트웨어 개발 기법의 가치
    • 프로세스와 도구보다는 개인과 상호작용에 더 가치를 둔다.
    • 계약 협상보다는 고객과의 협업에 더 가치를 둔다.
    • 계획에 따르기보다는 변화에 대응하는 것에 더 가치를 둔다.
    • 문서 보다는 실제 작동하는 소프트웨어에 더 가치를 둔다.
  • 클래스 다이어그램(Class Diagram)
    • UML 다이어그램 중 시스템 내 클래스의 정적구조를 표현하고 클래스와 클래스, 클래스의 속성 사이의 관계를 나타내는 것.
  • Activity Diagram
    • 키워드 → 전체흐름, 화살표로 이동모습 표시
  • State Diagram
    • 상태에서 어떤조건, 행위에서 다음상태로 무엇(어떤게)으로 넘어가느냐 등
  • 하향식설계 (Top-down)
    • 소프트웨어 설계 시 제일 상위에 있는 main user function에서 시작하여 기능을 하위 기능들로 분할해 가면서 설계하는 방식