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 인터페이스 상세 설계

