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 / 최대 처리 횟수 / 데이터 크기(평균/최대) / 시스템 정보 / 데이터 정보
|
'자격증 > 정처기' 카테고리의 다른 글
[정보처리기사] 2022년 2회 기출 오답 (0) | 2024.02.20 |
---|---|
[정보처리기사] 5과목 - 정보시스템 구축 관리 (1) | 2024.01.30 |
[정보처리기사] 4과목 - 프로그래밍 언어 활용 (1) | 2024.01.30 |
[정보처리기사] 3과목 - 데이터베이스 구축 (0) | 2024.01.29 |
[정보처리기사] 2과목 - 소프트웨어 개발 (1) | 2024.01.26 |