2 minute read

요구 사항 프로세스

  • 도출 : 인터뷰, 브레인 스토밍, 이해관계자와의 의사소통
  • 분석 : 타당성 조사, 상충 해결, 범위 파악
  • 명세 : 문서화, 잘못된 부분 추적
  • 확인 : 검토, 요구사항 관리도구, 형상 관리

디자인 패턴 : 모듈설계 해결 방식

  • 생성 패턴 : 객체 생성
    • 추상 팩토리 : 추상적인 클래스에 의존 하지 않고, 인터페이스를 통해 객체 그룹을 생성
    • 빌더 : 인스턴스 조합으로 객체 생성, 같은 객체를 생성하지만, 다른 결과가 나올수 있다.
    • 팩토리 메소드 : 서브 클래스, 캡슐화로 객체를 생성, 상위 : 인터페이스 정의, 서브 : 생성
    • 프로토 타입 : 원복 객체 복제 후 생성
    • 싱글 톤 : 클래스 내에 인스턴스가 한개임을 보장해, 메모리 최소화
  • 구조 패턴 : 클랙스 객체를 조합하여 더큰 구조
    • 어댑터 : 호환성 없는 클래스의 인터페이스를 타 클래스가 이용
    • 브릿지 : 구현부 - 추상층 분리, 기능/ 구현 두개의 별도 클래스
    • 컴포지트 : 복합 객체, 단일 객체 구분없이 사용, 트리처럼 복합 객체 속에 복합 객체
    • 데코레이터 : 임의의 객체에서 부가 기능 추가
    • 퍼싸드 : wrapper 객체, 상위에 인터페이스 구성하여 , 간편하게 서브 클래스 사용
    • 플라이웨이트 : 인스턴스 공유로 메모리 저약
    • 프록시 : 집근이 어려운 객체에서 연결, 인터페이스 역할
  • 행위 패턴 : 클래스 객체 상호 작용, 책임 분배
    • 책임 연쇄 : 다음 객체로 넘어간다
    • 커맨드 : 요청을 객체의 형태로 캡슐화하여 재이용과 취소 쉽게!, 명령어 단순화
    • 인터프리터 : 언어의 문법 표현 정의 패턴, SQL-통신 프로토콜 개발시 사용
    • 이터레이터 : 자료 구조같은 접근이 잦은 인터페이스에 동일 인터페이스 사용
    • 중재자 : 상호작용(인터페이스) 캡슐화하여 객체 정의
    • 메멘토 : 되돌리기
    • 옵서버 : 상태변화한 객체의 상속객체들에게 상태 전달
    • 상태 : 동일 동작을 다르게 처리
    • 전략 : 동일 계열, 알고리즘, 상호 교환
    • 템플릿 메소드 : 상위 클래스 : 골격 정의 하위 : 세부 처리 구체화
    • 방문자 : 분산 처리 기능은 각 클래스를 방문하여 수행

럼바우 분산 기법

  • SW 구성 요소를 그래픽 표기법을 이용하여 모델링
    • 객체 모델링 : 객체 다이어그램
    • 동적 모델링 : 상태 다이어그램, 시간 흐름
    • 기능 모델링 : 자료 흐름도

SW 생명 주기 모형

  • 폭포수 : 이전 단계 회귀 불가 , 검토 -> 계획 -> 분석 -> 설계 -> 구현 -> 시험 -> 유지보수
  • 프로토타입 : 견본 제작
  • 나선형 : 여러번의 SW 개발 과정
  • 애자일 : 고객 요구사항 반영

미들웨어

  • DB : 2-Tier 아키텍처
  • RPC (Remote Procedure Call) : 프로시져 호출 , 사용
  • MOM (Message Oriented Midleware) : 메시지 기반 비동기형 메시지 전달
  • TP(Transaction Processing)-Monitor : 트랜잭션 업무, 공항 철도
  • ORB(Object Request Broker) : 객체 지향
  • WAS(Web Application Server) : 웹앱 서버
  • MW 식별

UML (Unified Modeling Language)

  • 사물 : 구조(클래스), 행동(상호작용), 그룹(패키지), 주해 (주석)
  • 관계
    • 연관 관계 : 사람 -> 집
    • 집합 관계 : 컴퓨터 < >- 프린터(다른 컴퓨터에서도 프린터 사용가능)
    • 포함 관계 : 문 «»- 키(다른 문에서 키 사용 불가)
    • 일반화 관계 : 노트북 < - 맥북
    • 의존 관계 : 등급 …..> 할인율
    • 실체화 : 새 …… > 날다
  • 다이어그램
    • 구조적 다이어그램
      • 클래스
      • 객체
      • 컴포넌트
      • 배치 : 노드 , 위치
      • 복합체 구조
      • 패키지
    • 행위 다이어그램
      • 유스케이스 : 요구
      • 시퀀스 : 상호작용, 메시지, 활성박스, 라이프라인, 실행
      • 커뮤니케이션 : 시퀀스 + 객체 연관
      • 상태 : 상속 상태
      • 활동 : 처리 흐름 순서
      • 상호작용
      • 타이밍

객체 지향

  • 객체 : 하나의 SW 모듈
  • 클래스 : 객체 집합
  • 캡슐화 : 정보 은닉, 재사용 높, 결합도 낮
  • 상속
  • 다형성 : 클래스에 따른 다른 의미를 가진다.