1코스 소프트웨어 디자인
제1장 요건 검토
001 소프트웨어 라이프 사이클
- 소프트웨어 라이프 사이클
- 폭포 모델
- 프로토타입 모델
- 나선형 모델(점진적 모델)
- 애자일 모델
- 서로 밀치다
- 경험치
- 칸반
- 마른
- 결정
- ASD
- 기능 주도 개발(FDD)
- DSDM
- 아버지
- 폭포수 모델과 애자일 비교
002 스크럼 기법
- 스크럼 개요
- 스크럼 개발 프로세스
003 XP(eXtreme Programming) 기술
- 익스트림 프로그래밍(XP)
- XP 개발 과정
004 현재 시스템 이해
- 현재 시스템 식별 프로세스
- 시스템 구성 파악
- 시스템 기능 식별
- 시스템 인터페이스 식별
- 건축 구성을 알고
- 소프트웨어 구성 파악
- 하드웨어 구성 파악
- 네트워크 구성 파악
005 개발 기술 환경 이해
- 개발 기술 환경의 정의
- 운영 체제(OS)
- OS 관련 요구 사항을 결정할 때 고려 사항
- 데이터베이스 관리 시스템(DBMS)
- DBMS 관련 요구 사항 식별을 위한 고려 사항
- 웹 애플리케이션 서버(WAS)
- WAS(웹 응용 프로그램 서버)에 대한 요구 사항을 식별하기 위한 고려 사항
- 오픈 소스 사용 시 고려 사항
006 요구사항의 정의
- 요구사항의 개념 및 특징
- 요구 사항 유형
- 요구 사항 개발 프로세스
- 요구사항 도출(requirement elicitation)
- 요구 사항 분석
- 요구 사항 사양
- 요구사항 검증(Requirements Validation)
007 요구 사항 분석
- 요구 사항 분석 개요
- 구조해석기법
- 데이터 흐름도(DFD)
- 재료 사전
008 요구사항 분석 CASE 및 HIPO
- 요구 사항 분석을 위한 CASE(자동 도구)
- 하이포
009 통합 모델링 언어(UML)
- 통합 모델링 언어(UML) 개요
- 것들
- 관계
- 협회 예) 사람, 집
- 관계를 맺다 예) 컴퓨터, 프린터
- 봉쇄 관계 예) 문, 열쇠
- 일반화 관계 ex) 커피, 아메리카노, 에스프레소
- 종속 관계 ex) 클래스, 할인율
- 구체화 관계 ex) 날 수 있다, 비행기, 새
- 도표
010 UML 메인 다이어그램
- 사용 사례 다이어그램
- 클래스 다이어그램
- 시퀀스 다이어그램
2장 화면 디자인
011 사용자 인터페이스
- 사용자 인터페이스(UI) 개요
- 사용자 인터페이스(UI) 속성
- 사용자 인터페이스의 분류
- 사용자 인터페이스의 기본 원칙
- 사용자 인터페이스 디자인 지침
- 사용자 인터페이스 개발 시스템 기능
012 UI 표준 및 지침
- UI 표준 및 지침
- 한국 웹 콘텐츠 접근성 지침(KWCAG)
- 전자정부 웹표준 준수 가이드라인
013 UI 디자인 도구
- UI 디자인 도구
- 와이어프레임
- 조롱하다
- 스토리보드
- 원기
- 사용 사례
014 UI 요구 사항 확인
- UI 요구 사항 확인
- 목표 정의
- 활동 정의
- UI 요구 사항 작성
- 필수 항목 확인
- 컨텍스트 시나리오 작성
- 쓰기 요구 사항
015 품질 요구 사항
- 품질 요구 사항
- 기능
- 신뢰할 수 있음
- 사용자 친근성
- 능률
- 유지 보수성
- 휴대성
016 UI 프로토타이핑 및 검증
- UI 프로토타입 개요
- UI 프로토타입의 장단점
- 프로토타이핑 유형
- UI 프로토타입 계획 및 생성 시 고려 사항
- UI 프로토타이핑 단계
017 UI 디자인 문서 작성
- UI 디자인 문서 개요
- UI 디자인을 위한 문서 표지 만들기
- UI 디자인 문서의 개정 이력 생성
- UI 요구 사항 설명 작성
- 시스템 구조 생성
- 사이트맵 만들기
- 쓰기 프로세스 정의
- 화면 디자인
018 사용성 평가
- UI 사용성 평가
- 구현 차이를 줄이기 위한 UI 디자인 원칙 검토
- 밸류에이션 갭을 줄이기 위한 UI 디자인 원칙 검토
019 UI 디테일 디자인
- UI 시나리오 문서 개요
- UI 시나리오 문서 작성 원칙
- UI 시나리오 문서 작성을 위한 일반 규칙
- UI 시나리오 문서 요구 사항
- UI 시나리오 문서의 기대 효과
020 HCI/UX/감성공학
- 인간-컴퓨터 상호 작용 또는 인터페이스(HCI)
- UX(사용자 경험)
- 감성공학
3장 애플리케이션 설계
021 소프트웨어 아키텍처
- 소프트웨어 아키텍처 설계
- 모듈성
- 추출
- 프로세스 추상화
- 데이터 추상화
- 제어 추상화
- 점진적 개선
- 정보 숨기기
- 소프트웨어 아키텍처의 품질 기능
- 시스템 페이지
- 비즈니스 측면
- 건축적 측면
- 소프트웨어 아키텍처의 설계 프로세스
- 디자인 목표 설정
- 시스템 유형 결정
- 아키텍처 패턴 적용
- 하위 시스템 사양
- 시험
022 건축 패턴
- 아키텍처 패턴 개요
- 레이어드 패턴
- 클라이언트-서버 패턴
- 튜브 필터 패턴
- 모델 뷰 컨트롤러 패턴
- 모델: 하위 시스템의 핵심 기능 및 데이터를 저장합니다.
- 보기: 사용자에게 정보를 표시합니다.
- 컨트롤러: 사용자가 입력한 변경 요청을 처리하기 위해 모델에 명령을 보냅니다.
- 모델: 하위 시스템의 핵심 기능 및 데이터를 저장합니다.
- 기타 패턴
- 마스터-슬레이브 패턴
- 브로커 패턴
- 피어 투 피어 패턴
- 이벤트 버스 패턴
- 칠판 패턴
- 인터프리터 패턴
023 객체지향
- 객체 지향 개요
- 물체
- 데이터: 속성, 상태, 분류 등을 나타내는 객체가 소유한 정보.
- 기능: 개체가 수행하는 기능으로 개체의 데이터(속성, 상태)에 대해 작동하는 알고리즘입니다.
- 수업
- 캡슐화
- 사유지
- 다중 상속: 클래스는 둘 이상의 수퍼클래스에서 속성과 작업을 상속합니다.
- 다중 상속: 클래스는 둘 이상의 수퍼클래스에서 속성과 작업을 상속합니다.
- 다형성
- 관계
024 객체지향 분석 및 설계
- 객체 지향 분석의 개념
- 객체 지향 분석 방법론
- Rumbaugh 방법: 가장 일반적으로 사용되는 방법
- Booch 방법: 마이크로 및 매크로 개발 프로세스를 모두 사용하는 방법
- Jacobson 방법: 사용 사례에 초점을 맞춘 방법
- Coad와 Yourdon의 방법: ER 다이어그램 사용
- Wirfs-Brock 방법: 고객 사양을 평가하여 수행하는 기법
- Rumbaugh의 분석 기법
- 개체 모델링
- 동적 모델링
- 기능 모델링
- 객체지향 설계 원리
- 개인 책임의 원칙
- 개폐 원칙
- Liskov 대체 원리
- 인터페이스 분리의 원리
- 종속성 역전 원칙
025 모듈
- 모듈 개요
- 커플 링
- 데이터 조합
- 각인(도장)의 조합
- 제어 클러치
- 외부 결합 정도
- 공유(공유) 결합
- 콘텐츠 조합
- 응집력
- 기능적 응집력
- 순차적 응집력
- 교환(통신) 응집력
- 절차적 응집력
- 시간적 응집력
- 논리적 응집력
- 우발적 결속
- 팬인/팬아웃
026 공통 모듈
- 공통 모듈 개요
- 재사용
- 효과적인 모듈 설계 계획
027 코드
- 코드 개요
- 코드 유형
- 코드 할당 체계
028 디자인 패턴
- 디자인 패턴 개요
- 디자인 패턴 사용의 장단점
- 생성 패턴
- 텍스처 패턴
- 행동 패턴
4장 인터페이스 설계
029 시스템 인터페이스 요구사항 분석
- 시스템 인터페이스 요구 사항 구성
- 시스템 인터페이스 요구 사항 분석
- 시스템 인터페이스 요구 사항 분석 프로세스
030 인터페이스 요구사항 검토
- 요건 확인
- 인터페이스 요구 사항 검토 계획 수립
- 인터페이스 요구 사항 확인 및 문제 해결
- 인터페이스 요구 사항에 대한 기준선 생성
- 요구 사항 확인 방법
- 인터페이스 요구 사항 검토의 핵심 요소
031 인터페이스 시스템 식별
- 개발 시스템의 식별
- 내부 및 외부 시스템 식별
- 내/외부 시스템 환경 및 관리주체 파악
- 시스템 내부/외부 네트워크 연결 정보 식별
- 인터페이스 식별
- 인터페이스 시스템의 식별
032 송수신 데이터 식별
- 식별할 데이터
- 정보 흐름 식별
- 송수신 데이터 식별
033 인터페이스 방식의 명세
- 인터페이스 메서드 사양의 개념
- 시스템 연계 기술
- 인터페이스 통신 유형
- 인터페이스 처리 유형
- 인터페이스 생성 주기
- 송수신 방법 지정
- 송수신 데이터 지정
- 오류 식별 및 시정 조치 결정
034 시스템 인터페이스 설계 작성
- 시스템 인터페이스 설계 문서 개요
- 시스템 인터페이스 나열
- 시스템 인터페이스 정의 생성
035 미들웨어 솔루션 사양
- 미들웨어 개념
- DB(데이터베이스)
- RPC(원격 프로시저 호출)
- MOM(메시지 지향 미들웨어)
- TP 모니터(트랜잭션 처리 모니터)
- 개체 요청 브로커(ORB)
- 웹 애플리케이션 서버(WAS)
- 미들웨어 솔루션 식별
- 미들웨어 솔루션 사양 작성