1. 요구사항 확인

인터페이스

- 플랫폼의 유형 ( 싱투멀 )

글 사이드 / 사이드 / 티 사이드 플랫폼

 

- 플랫폼 성능 특성 측정항목 ( 경사응가 )

과시간 / 용률 / 답시간 / 용성

데이터베이스 관리 시스템(DBMS)

- DBMS 현행 시스템 분석 고려사항 ( 가성호기구 )

용성 / 능 / 상호환성 / 술지원 / 축비용

 

- 데이터 흐름도 구성요소 ( 프플스터 )

Process(원) / Data Flow(화살표) / Data Store(평행선) / Terminator(사각형)

운영체제(OS)

- 컴퓨터

윈도즈 / 유닉스 / 리눅스

- 모바일

안드로이드 / iOS


UML

- UML의 특징 ( 가구명문 )

시화 / 축 / 세화 / 서화 언어

 

- UML 구성 요소 ( 사관다 )

물 / 계 /이어그램

 

- 사물의 종류

구조 / 행동 / 그룹 / 주해 사물

 

- 정적(구조적) 다이어그램 ( 클객 컴배 복패 )

래스 / 체 / 포넌트 / 치 / 합체 구조 / 키지

  • 클래스 다이어그램
    : 클래스 이름, 속성, 연산, 접근 제어자(제한자)

- 동적(행위적, 순차) 다이어그램 ( 유시커 상활타 )

스케이스 / 퀀스 / 뮤니케이션 / 태 / 동 / 이밍

  • 유스케이스 다이어그램
    : 사용자의 요구를 분석
    - 사용자 액터(주액터): 시스템 사용으로 이득 얻는 대상
    - 시스템 액터(부액터): 본 시스템과 데이터를 주고받는 연동 시스템
  • 시퀀스 다이어그램
    : 액터, 객체, 생명선, 실행, 메시지 / 객체들간의 메시지 교환
  • 상태 다이어그램
    : 하나의 객체가 가진 상태와 이의 상태변화에 대한 동작 순서 나타냄.

- UML의 관계 ( 연의 일실 포집 )

관 / 존 / 반화 / 체화 / 함 / 


CASE (소프트웨어 개발 자동화) 

자동화(표준화), 모델 간 모순 검사, 오류 검증, 모듈 재사용성 향상

소프트웨어 생명주기

- 폭포수

선형 순차적, 고전적, 전통적

 

- 프로토타입

견본, 시제품, 요구사항 변경 용이

 

- 나선형

폭포수 + 프로토타입 + 위험 분석 기능

계획 수립 위험 분석  개발 및 검증 고객 평가

 

- 애자일

짧은 주기(Sprint, Iteration) 반복 개발 진행, 고객 소통, 상호작용, 요구사항 대응

ex) XP / Lean / Scrum / FDD / DSDM

 

하향식 설계(Top-down): 절차 지향, 순차적

상향식 설계(Bottom-up): 객체 지향, 기능 추가 어려움

애자일 방법론 유형

- 애자일 선언문 ( 개변동고 )

인과 상호작용 / 화에 대응 / 작하는 소프트웨어 / 객과 협력

 

- XP 5가지 가치 ( 용단의 피존 )

 / 순성 / 사소통 / 드백 /

고객 참여, 짧고 반복적인 주기로 빠르게 개발
  • 짝 프로그래밍: 다른 사람과 함께 프로그램 수행, 개발 책임 공동으로 나눔
  • 공동 코드 소유: 개발 코드에 대한 권한과 책임 공동으로 소유

- Lean 개발방법론 7가지 원칙 ( 낭품지 확인사전 )

비제거 / 질 내재화 / 식 창출 / 늦은 정 / 빠른도 / 람 존중 / 체 최적화

 

- 스크럼

개발 작업에 모든 것을 스스로 해결

백로그: 요구사항에 우선순위를 부여한 기능목록

스프린트: 개발주기, 2 ~ 4주 단기 목표

스프린트 회고: 스프린트 동안 발생한 문제점 파악, 해결방안 모색

번 다운 차트

사용자 인터페이스(UI)

- UI 유형 ( CGVNO )

CLI / GUI / VUI / NUI / OUI

 

- UI 설계 원칙 ( 직유 학유 )

관성 / 효성 / 습성 / 연성

 

- UI 화면 설계 구문 ( 와스프 )

이어프레임 / 토리보드 / 로토타입

와이어프레임 ⊂ 스토리보드 + 인터렉션 → 프로토타입

 

- UI 설계 프로세스 ( 문사 작컴 인디 )

제 정의 / 용자 모델 정의 / 업 분석 / 퓨터 오브젝트 및 기능 정의 / 사용자 터페이스 정의 / 자인 평가

 

- UI 흐름설계 ( 기입 유양 )

능 작성 / 력 요소 확인 / 스케이스 설계 / 기능 및 식 확인

 

- UI 화면 설계 구분

와이어프레임: 기획 초기에 대략적인 레이아웃

프로토타입: 테스트 가능, 동적 모형

유스케이스: 사용자 측면 요구사항, 달성하기 위해 수행할 내용 다이어그램으로 기술

목업: 시각적으로만 구현, 정적 모형

스토리보드: 최종적으로 참고하는 작업지침서

 

- 공통 모듈 원칙 ( 정명 완일추 )  

확성 / 확성 / 전성 / 관성 / 적성


파이프-필터 패턴

앞 시스템의 처리 결과물을 파이프로 전달받아 처리한 후 결과를 다시 파이프를 통해 서브시스템으로 넘겨주는 것을 반복

오버헤드: 필터 간 데이터 이동 시 데이터 변환으로 생김

응집도

응집도 강할수록 좋음

- 응집도 약한 순서 ( 우논시절 통순기 )

  연적 <  리적 < 간적 < 차적 <  환적 <  차적 <  능적 응집도

결합도

모듈 간 의존도, 결합도 약할수록 좋음

- 결합도 약한 순서 ( 자스제외공내 )

료 < 탬프 < 어 < 부 < 유 < 용 결합도

HIPO(Hierarchical Input, Process, Output)

하향식 설계

- HIPO 차트 종류 ( 가총세 )

시적 도표 / 체적 도표 / 부적 도표


소프트웨어 아키텍처

- 소프트웨어 아키텍처 4+1뷰 ( 유논구배 )

스케이스 뷰(+1) / 리 뷰 / 현 뷰 / 포 뷰  / 로세스 뷰

 

- 아키텍처 비용 평가모델 종류 ( SACAA )

SAAM / ATAM / CBAM / ADR / ARID

 

- 시스템 품질 속성 ( 가변성 보사시 )

용성 / 경 용이성 / 능 / 안성 / 용 편의성 / 험 용이성

3. 애플리케이션 설계

객체지향 방법론

- 객체지향 구성 요소 ( 클객메 메인속 )

래스 / 체 / 서드 / 시지 / 스턴스 / 

  • 클래스: 유사한 객체 묶어 공통 특성 표현, 데이터 추상화 단위
  • 인스턴스: 같은 클래스에 속한 각각의 객체
  • 인스턴스화: 클래스로부터 새로운 객체 생성

- 객체지향 기법 ( 캡상다추정관 )

슐화: 데이터 + 함수 묶음, 정보은닉, 재사용 용이, 결합도 낮아짐

형성: 메시지에 대해 각 객체가 가진 고유한 특성으로 응답할 수 있는 능력

            오버라이딩(부모-자식), 오버로딩(같은 이름의 메소드)

상화: 포괄적 개념 설계 후 세분화 및 구체

보은닉: 세부 내용이 은폐, 다른 모듈 접근 못하고 영향 안미침, 모듈 독립 수행

계성: 연관성

 

- 추상화 기법 ( 과자제 )

정 추상화 / 료 추상화 / 어 추상화

 

- 객체지향 분석의 방법론

Jacobson(야콥슨) 방법: 유스케이스 강조

Rumbaugh(럼바우) 방법: 객체 / 동적 / 기능 모델로 나눔

Booch(부치) 방법: 미시적(Micro) / 거시적(Macro) 개발 프로세스 모두 사용, 다이어그램

Coad-Yourdon(코드-요든) 방법: E-R 다이어그램 사용

Wirfs-Brock(워프-브록) 방법: 분석과 설계간 구분 없음, 고객명세서 평가

럼바우 분석기법

- 객체 모델링 기법(OMT)의 3가지 모델 ( 객동기 )

체 모델링: 정보 모델링, 객체 다이어그램 이용

적 모델링: 상태 다이어그램 이용

능 모델링: 자료흐름도(DFD) 이용

자료흐름도(Data Flow Diagram) = 버블 차트

구조적 분석 기법 중 하나, 요구사항 분석에서 기술, 명확한 시간 흐름 표현 불가

- 자료흐름도 구성요소 ( 프플스터 )

Process(원) / Data Flow(화살표) / Data Store(평행선) / Terminator(사각형)

객체지향 설계 원칙(SOLID)

단일 책임의 원칙(SRP): 모든 객체는 하나의 책임만, 완전한 캡슐화

개방 폐쇄의 원칙(OCP): 확장에는 Open, 수정에는 Close

리스코프 치환의 원칙(LSP): 하위 타입 객체는 상위 타입 객체로 바꿀 수 있고, 상위가 한 일을 하위가 할 수 있어야 함 

인터페이스 분리의 원칙(ISP): 클라이언트가 비사용 매서드에 의존하면 안됨

의존성 역전의 원칙(DIP): 변화하기 어려운 것에 의존해야 함


디자인 패턴

  • 장점
    범용적 코딩 스타일, 구조 파악 용이
    객제 지향 설계, 구현의 생산성 높임
    원활한 의사소통 가능
    설계 변경요청에 유연한 대처 가능
    검증된 구조의 재사용으로 개발 시간 및 비용 절약
  • 단점
    초기 투자비용이 부담
    절차적 언어 등 다른 기반 개발에 부적합

- 디자인 패턴 구성 요소 ( 패문솔사결샘 )

턴 이름 / 제 / 루션 / 례 / 과 / 플 코드

GoF = Gamma 디자인 패턴

- 목적에 따른 디자인패턴 유형 ( 생구행 )

성 / 조 / 

 

- 생성 패턴 ( 추빌팩프싱 )

상(abstract) 팩토리 / 더 / 토리 메서드(가상 생성자 패턴) / 토타입 / 글톤

 

- 구조 패턴 ( 어브컴데 퍼플프 )

댑터 / 릿지 / 포지트 /  코레이터 / 사이드 / 라이 웨이트 / 록시

 

- 행위 패턴

커맨드 / 중재자 / 옵서버 / 상태 / 전략 / 방문

4. 인터페이스 설계

요구사항

- 요구사항 유형

기능적: 실제 기능

비기능적: 성능, 보안, 품질, 안정성 등

 

- 요구사항 개발 단계 ( 도분명확 )

요구사항 출 / 요구사항 석 / 요구사항 세 / 요구사항 인 및 검증

 

요구사항 명세 원리 및 검증 항목  ( 명완검 일수 추개 ) 

확성 / 전성 / 증 가능성 / 관성 / 정 용이성 / 적 가능성 / 발 후 이용성

 

- 요구사항 검토 기법 ( 동워인 )

료 검토 / 크 스루 / 스펙션


시스템 아키텍처

- 시스템 구성요소 ( 입출처제피 )

력 / 력 / 리 / 어 / 드백

 

- 시스템 아키텍처 설계 원칙 ( 대확 고운보 )

규모 트랜잭션 처리 및 온라인 성능 보장 / 시스템 아키텍처 장성 보장 / 서비스 가용성 보장 / 영관리 효율성 / 시스템 안 강화

 

- 인터페이스 시스템 구성 ( 송수중 )

신 시스템 / 신 시스템 / 계 서버

 

- 내외부 송/수신 연계기술 ( 링커 에제 하소 )

DB Link 기술 / DB Connection 기술 / API/Open API 기술 / JDBC 기술 / Hyper Link 기술 / Socket 기술

 

- 미들웨어 솔루션 유형 ( 디원메트 레객와 )

DB 미들웨어 / 격 프로시저 호출 / 시지 지향 미들웨어 / 랜잭션 처리 모니터 / 거시웨어 / 체 기반 미들웨어 / WAS

 

공개종
(데이터 표준)
인터페이스 데이터 통부 / 인터페이스 데이터 별부 / 인터페이스 데이터 료부
액정 스패조
(UI 표준 구성 요소)

전체적인 UX 원칙 / 책 및 철학 / UI 타일 가이드 / UI 턴 모델 정의 / UI 표준 수립을 위한 직 구성
인최 크시데
(인터페이스 정의서 주요 항목)
터페이스 ID / 대 처리 횟수 / 데이터 기(평균/최대) / 스템 정보 / 이터 정보