1과목 소프트웨어 설계
1장 요구사항 확인
001 소프트웨어 생명 주기
- 소프트웨어 생명 주기(Software Life Cycle)
- 폭포수 모형(Waterfall Model)
- 프로토타입 모형(Prototype Model, 원형 모형)
- 나선형 모형(Spiral Model, 점진적 모형)
- 애자일 모형(Agile Model)
- 스크럼
- XP
- 칸반
- Lean
- 크리스탈
- ASD
- 기능 중심 개발(FDD)
- DSDM
- DAD
- 폭포수 모형과 애자일의 비교
002 스크럼(Scrum) 기법
- 스크럼의 개요
- 스크럼 개발 프로세스
003 XP(eXtreme Programming) 기법
- XP(eXtreme Programming)
- XP 개발 프로세스
004 현행 시스템 파악
- 현행 시스템 파악 절차
- 시스템 구성 파악
- 시스템 기능 파악
- 시스템 인터페이스 파악
- 아키텍처 구성 파악
- 소프트웨어 구성 파악
- 하드웨어 구성 파악
- 네트워크 구성 파악
005 개발 기술 환경 파악
- 개발 기술 환경의 정의
- 운영체제(OS, Operating System)
- 운영체제 관련 요구사항 식별 시 고려사항
- 데이터베이스 관리 시스템(DBMS)
- DBMS 관련 요구사항 식별 시 고려사항
- 웹 애플리케이션 서버(WAS; Web Application Server)
- 웹 애플리케이션 서버(WAS) 관련 요구사항 식별 시 고려사항
- 오픈 소스 사용에 따른 고려사항
006 요구사항 정의
- 요구사항의 개념 및 특징
- 요구사항의 유형
- 요구사항 개발 프로세스
- 요구사항 도출(Requirement Elicitation, 요구사항 수집)
- 요구사항 분석(Requirement Analysis)
- 요구사항 명세(Requirement Specification)
- 요구사항 확인(Requirement Validation, 요구사항 검증)
007 요구사항 분석
- 요구사항 분석의 개요
- 구조적 분석 기법
- 자료 흐름도(DFD)
- 자료 사전
008 요구사항 분석 CASE와 HIPO
- 요구사항 분석 위한 CASE(자동화 도구)
- HIPO
009 UML(Unified Modeling Language)
- UML(Unified Modeling Language)의 개요
- 사물(Things)
- 관계(Relationships)
- 연관 관계 ex) 사람, 집
- 집합 관계 ex) 컴퓨터, 프린터
- 포함 관계 ex) 문, 키(Key)
- 일반화 관계 ex) 커피, 아메리카노, 에스프레소
- 의존 관계 ex) 등급, 할인율
- 실체화 관계 ex) 날 수 있는, 비행기, 새
- 다이어그램(Diagram)
010 주요 UML 다이어그램
- 유스케이스(Use Case) 다이어그램
- 클래스(Class) 다이어그램
- 순차(Sequence) 다이어그램
2장 화면 설계
011 사용자 인터페이스
- 사용자 인터페이스(UI, User Interface)의 개요
- 사용자 인터페이스(UI)의 특징
- 사용자 인터페이스의 구분
- 사용자 인터페이스의 기본 원칙
- 사용자 인터페이스의 설계 지침
- 사용자 인터페이스 개발 시스템의 기능
012 UI 표준 및 지침
- UI 표준 및 지침
- 한국형 웹 콘텐츠 접근성 지침(KWCAG; Korean Web Content Accessibility Guidelines)
- 전자정부 웹 표준 준수 지침
013 UI 설계 도구
- UI 설계 도구
- 와이어프레임(Wireframe)
- 목업(Mockup)
- 스토리보드(Story Board)
- 프로토타입(Prototype)
- 유스케이스(Use Case)
014 UI 요구사항 확인
- UI 요구사항 확인
- 목표 정의
- 활동 사항 정의
- UI 요구사항 작성
- 요구사항 요소 확인
- 정황 시나리오 작성
- 요구사항 작성
015 품질 요구사항
- 품질 요구사항
- 기능성(Functionality)
- 신뢰성(Reliability)
- 사용성(Usability)
- 효율성(Efficiency)
- 유지 보수성(Maintainability)
- 이식성(Portability)
016 UI 프로토타입 제작 및 검토
- UI 프로토타입의 개요
- UI 프로토타입의 장·단점
- 프로토타이핑의 종류
- UI 프로토타입 계획 및 작성 시 고려 사항
- UI 프로토타입 제작 단계
017 UI 설계서 작성
- UI 설계서의 개요
- UI 설계서 표지 작성
- UI 설계서 개정 이력 작성
- UI 요구사항 정의서 작성
- 시스템 구조 작성
- 사이트 맵(Site Map) 작성
- 프로세스(Process) 정의서 작성
- 화면 설계
018 유용성 평가
- UI 유용성 평가
- 실행 차를 줄이기 위한 UI 설계 원리 검토
- 평가 차를 줄이기 위한 UI 설계 원리 검토
019 UI 상세 설계
- UI 시나리오 문서 개요
- UI 시나리오 문서 작성 원칙
- UI 시나리오 문서 작성을 위한 일반 규칙
- UI 시나리오 문서의 요건
- UI 시나리오 문서로 인한 기대 효과
020 HCI / UX / 감성공학
- HCI(Human Computer Interaction or Interface)
- UX(User Experience)
- 감성 공학
3장 애플리케이션 설계
021 소프트웨어 아키텍처
- 소프트웨어 아키텍처의 설계
- 모듈화(Modularity)
- 추상화(Abstraction)
- 과정 추상화
- 데이터 추상화
- 제어 추상화
- 단계적 분해(Stepwise Refinement)
- 정보 은닉(Information Hiding)
- 소프트웨어 아키텍처의 품질 속성
- 시스템 측면
- 비즈니스 측면
- 아키텍처 측면
- 소프트웨어 아키텍처의 설계 과정
- 설계 목표 설정
- 시스템 타입 결정
- 아키텍처 패턴 적용
- 서브시스템 구체화
- 검토
022 아키텍처 패턴
- 아키텍처 패턴(Patterns)의 개요
- 레이어 패턴(Layers pattern)
- 클라이언트-서버 패턴(Client-Server Pattern)
- 파이프-필터 패턴(Pipe-Filter Pattern)
- 모델-뷰-컨트롤러 패턴(Model-View-Controller Pattern)
- 모델(Model): 서브시스템의 핵심 기능과 데이터를 보관한다.
- 뷰(View): 사용자에게 정보를 표시한다.
- 컨트롤러(Controller): 사용자로부터 입력된 변경 요청을 처리하기 위해 모델에게 명령을 보낸다.
- 기타 패턴
- 마스터-슬레이브 패턴
- 브로커 패턴
- 피어-투-피어 패턴
- 이벤트-버스 패턴
- 블랙보드 패턴
- 인터프리터 패턴
023 객체지향(Object-Oriented)
- 객체지향의 개요
- 객체(Object)
- 데이터: 객체가 가지고 있는 정보로 속성이나 상태, 분류 등을 나타낸다.
- 함수: 객체가 수행하는 기능으로 객체가 갖는 데이터(속성, 상태)를 처리하는 알고리즘이다.
- 클래스(Class)
- 캡슐화(Encapsulation)
- 상속(Inheritance)
- 다중 상속(Multiple Inheritance): 한 개의 클래스가 두 개 이상의 상위 클래스로부터 속성과 연산을 상속받는 것이다.
- 다형성(Polymorphism)
- 연관성(Relationship)
024 객체지향 분석 및 설계
- 객체지향 분석의 개념
- 객체지향 분석의 방법론
- Rumbaugh(럼바우) 방법: 가장 일반적으로 사용되는 방법
- Booch(부치) 방법: 미시적, 거시적 개발 프로세스 모두를 사용하는 방법
- Jacobson 방법: Use Case를 강조하여 사용하는 방법
- Coad와 Yourdon 방법: E-R 다이어그램을 사용하는 방법
- Wirfs-Brock 방법: 고객 명세서를 평가해서 수행하는 기법
- 럼바우(Rumbaugh)의 분석 기법
- 객체 모델링
- 동적 모델링
- 기능 모델링
- 객체지향 설계 원칙
- 단일 책임 원칙
- 개방-폐쇄 원칙
- 리스코프 치환 원칙
- 인터페이스 분리 원칙
- 의존 역전 원칙
025 모듈
- 모듈(Module)의 개요
- 결합도(Coupling)
- 자료 결합도
- 스탬프(검인) 결합도
- 제어 결합도
- 외부 결합도
- 공통(공유) 결합도
- 내용 결합도
- 응집도(Cohesion)
- 기능적 응집도
- 순차적 응집도
- 교환(통신)적 응집도
- 절차적 응집도
- 시간적 응집도
- 논리적 응집도
- 우연적 응집도
- 팬인(Fan-In) / 팬아웃(Fan-Out)
026 공통 모듈
- 공통 모듈의 개요
- 재사용(Reuse)
- 효과적인 모듈 설계 방안
027 코드
- 코드(Code)의 개요
- 코드의 종류
- 코드 부여 체계
028 디자인 패턴
- 디자인 패턴(Design Pattern)의 개요
- 디자인 패턴 사용 장·단점
- 생성 패턴(Creational Pattern)
- 구조 패턴(Structural Pattern)
- 행위 패턴(Behavioral Pattern)
4장 인터페이스 설계
029 시스템 인터페이스 요구사항 분석
- 시스템 인터페이스 요구사항 구성
- 시스템 인터페이스 요구사항 분석
- 시스템 인터페이스 요구사항 분석 절차
030 인터페이스 요구사항 검증
- 요구사항 검증(Requirements Verification)
- 인터페이스 요구사항 검토 계획 수립
- 인터페이스 요구사항 검토 및 오류 수정
- 인터페이스 요구사항 베이스라인 설정
- 요구사항 검증 방법
- 인터페이스 요구사항 검증의 주요 항목
031 인터페이스 시스템 식별
- 개발 시스템 식별
- 내·외부 시스템 식별
- 내·외부 시스템 환경 및 관리 주체 식별
- 내·외부 시스템 네트워크 연결 정보 식별
- 인터페이스 식별
- 인터페이스 시스템 식별
032 송·수신 데이터 식별
- 식별 대상 데이터
- 정보 흐름 식별
- 송·수신 데이터 식별
033 인터페이스 방법 명세화
- 인터페이스 방법 명세화의 개념
- 시스템 연계 기술
- 인터페이스 통신 유형
- 인터페이스 처리 유형
- 인터페이스 발생 주기
- 송·수신 방법 명세화
- 송·수신 데이터 명세화
- 오류 식별 및 처리 방안 명세화
034 시스템 인터페이스 설계서 작성
- 시스템 인터페이스 설계서의 개요
- 시스템 인터페이스 목록 작성
- 시스템 인터페이스 정의서 작성
035 미들웨어 솔루션 명세
- 미들웨어(Middleware)의 개념
- DB(DataBase)
- RPC(Remote Procedure Call)
- MOM(Message Oriented Middleware)
- TP-Monitor(Transaction Processing Monitor)
- ORB(Object Request Broker)
- WAS(Web Application Server)
- 미들웨어 솔루션 식별
- 미들웨어 솔루션 명세서 작성
'5. 방학 활동 > Write UP' 카테고리의 다른 글
[2023.2.10] 공모전 스터디 2주차 (0) | 2023.02.28 |
---|---|
[2023.2.11] 정처기 자격증 스터디 3주차 (0) | 2023.02.28 |
[2023.02.20] 워게임&CTF 스터디 1팀 문제풀이(암호, 포렌식) (0) | 2023.02.27 |
[2023.02.05] 워게임&CTF 스터디 2팀 문제풀이(rev-basic-3) (0) | 2023.02.27 |
[2023.02.11] 워게임&CTF 스터디 1팀 문제풀이(포너블(2))] (0) | 2023.02.26 |