소프트웨어 설계

canyi·2024년 12월 1일
0

정보처리기사2025

목록 보기
1/2

1.요구사항 확인

1-1-1. 현행 시스템 분석

플랫폼
애플리케이션이나 서비스를 개발하고 실행 할 수 있는 기반 환경(주로 소프트웨어)

플랫폼 성능 분석시 고려하는 항목

  • 경과시간(Turnaround Time): 작업이 완료될 때까지의 시간
  • 사용률(Utilization): 작업이 진행될 동안의 지원 사용률(CPU, 메모리)
  • 응답시간(Response Time)
  • 가용성(Availability): 얼마나 안정적인가?(장애 가능성)

1-1-2. 요구사항 확인

자료 사전의 예시(사내 메신저 앱의 '직원 리스트 데이터')

UML 다이어그램

시험에서 자주 나오는 부분:

1) 구조적/정적 다이어그램(Structural/Static Diagram)

  • 시스템 정적 구성요소와 그들 관의 관계를 보여 줌
  • 클래스(Class) 다이어그램
  • 객체(Object) 다이어그램
  • 컴포넌트(Component) 다이어그램
  • 배치(batch) 다이어그램
  • 볻합체 구조(Composite SAtructure) 다이어그램
  • 패키지 다이어그램

2) 행위적/ 동적 다이어그램(Behavioral/Dynamic Diagram)

  • 시스템의 동적 구성요소와 그들 간의 관계를 보여줌
  • 유스케이스(Use Case) 다이어그램
  • 시퀀스(Sequence, 순차) 다이어그램
  • 강태(State) 다이어그램
  • 커뮤니케이션(Communication) 다어어 그램
  • 활동(Activity) 다이어드램
  • 타이밍(Timing) 다이어그램

UML의 관계

Agile 방법론

스크럼 주요 용어

1-1-3. 분석 모델 확인

CASE

1.2 화면설계

1-2-1. UI요구사항 확인

1-3. 애플리케이션 설계

1-3-1. 공통 모듈 설계

모듈화의 장점

  • 오류 파급 효과를 최적화
  • 기능 분리가 가능하여 인터페이스가 단순
  • 모듈의 분리를 통한 재사용 가능으로 개발과 유지보수 용이
  • 프로그램의 효율적인 관리가 가능

모듈 재사용의 유형

  • 컴포넌트 재사용 / 애플리케이션 재사용 / 함수 및 객체 재사용

모듈화 측정 지표

모듈화의 원칙

응집도(Cohesion)

  • 모듈의 독립성을 나타내는 개념으로, 도듈 내부 구성요소 간 연관된 정도

응집도의 유형

결합도(Coupling)

  • 모듈과 모듈관의 연관도

결합도의 유형

FAN-IN / OUT 계산

  • 각 모듈이 어떤 모듈을 제어하고, 어떤 모듈에 의해 제어되는지 확인

공통 모듈 설계(5가지)

설계 과정에 따른 분류 - 상향식 설계와 하향식 설계(2가지)

코드 설계, 기능, 설계의 종류, 코드 오류의 종류

HIPO

소프트웨어 아키텍처

소프트웨어 아키텍처 4 + 1 뷰

소프트웨어 아키텍처 패턴 유형

  • 특정 상황을 위해 반복적으로 사용되는 설계 패턴
  • 소프트웨어 시스템의 설계를 단순화하고, 유지보수를 향상

1-3-2. 객체 지향 설계

객체

  • 실세계에 존재하거나 생각할 수 있는 것
  • 필요한 자료 구조와 이에 수행되는 함수들을 가진 하나의 독립된 존재
  • 객체는 속성, 동작, 고유 식별자를 가진 모든것

실제 코드 예시

객체 지향(Object - Oriented)설계

객체지향 주요 구성요소

객체 지향 설계의 원칙(SOILD)

영어 표현도 주의해야함

객체 지향 설계의 특징

  • 다형성
  • 캠슐화
  • 상속
  • 추상화
  • 정보은닉
  • 관계성(연관화, 집단화, 분류화, 일반화, 특수화)

객체지향 분석

객체 지향 분석 기법

디자인 패턴

1.4 인터페이스 설계

1-4-1 인터페이스 요구사항 확인

요구사항 개발 프로세스

  • 도출(Elicitation)
  • 분석(Analysis)
  • 명세(Specification)
  • 확인 및 검증(Validation)

1-4-2 인터페이스 시스템

서로 다른 시스템이나 구성 요소들이 상호작용을 하고 정보를 교환할 수 있도록 연결해 주는 시스템

1-4-3 인터페이스 상세 설계

profile
백엔드 개발 정리

0개의 댓글