- 소프트웨어 공학의 3R
역공학(Reverse Engineering)
재공학(Re-Engineering)
분석→재구성→역공학→이관
재사용(Reuse).
- 소프트웨어 개발 방법론
폭포수 모델
프로토타이핑 모델 : 시제품
나선형 모델 : 위험관리
계획 → 위험분석 → 개발 → 평가
- 애자일 방법론
XP: 의사소통, 용기, 피드백, 존중, 단순성
스크럼: 스프린트, 백로그
- 비용산정
하향식: 전문가 판단, 델파이 기법
상향식: 원시코드 라인 수, 단계별 노력
수학적
COCOMO: 조직형, 반분리형, 내장형
Putnam: Raylegih-Norden, SLIM
FP: 내부 논리 파일(ILF), 외부 연계 파일(EIF), 외부 입력(EI), 외부 출력 (EO), 외부 출력 (EQ)
- 일정 산정
WBS
CPM 네트워크 작성
임계경로 계산: 최대 프로젝트 기간 계산
간트 차트 표현 : 막대 그래프
- 요구사항 개발 프로세스
도출(Elicitation)
분석(Analysis)
명세(Specification)
확인 및 검증(Validation & Verification)
- HIPO – 하향식
가시적 도표 - 전반적인 그림
총체적 도표 - 여기서부터 입력, 출력
세부적 도표 - 자세하게
- 객체지향 분석 방법론
Rumbaugh(럼바우) 방법
객체 모델링: 객체 다이어그램
동적 모델링: 상태 다이어그램
기능 모델링: DFD
Booch : 미시, 거시적 개발 프로세스
Jacboson: Use Case
Coad, Yourdan : E-R다이어그램
- UML (Unified Modeling Language)
가시화 언어
명세화 언어
구축 언어
문서화 언어
- UI 설계 도구
와이어프레임
스토리보드
프로토타입
목업(Mockup)
유스케이스
- 형상관리 도구: CVS, SVN, GIT
소프트웨어 개발 과정에서 발생하는 모든 변경을 통제하고 관리하는 방법
변경관리, 버전관리, 형상관리
절차
식별: 관리 항목 구분
통제: 변경 요청 검토, CCB 승인을 거쳐, 베이스라인에 반영
감사
기록
- 빌드 도구
종류
- Make: Unix에서 사용
- Ant: Java 기반의 빌드 도구, XML 기반 빌드 스크립트
- Maven: 의존성 관리와 프로젝트 라이프 사이클에 강점
- Jenkins: Java 기반의 오픈소스 지속성 통합 서비스 도구
- Gradle: Groovy 기반의 오픈 소스 빌드 자동화
- 프레임워크
- 프레임워크
- 라이브러리
- API
- ORM
- 모듈 설계: 결합도는 낮추고, 응집도는 높혀야 함
- 결합도: 자스제외공내(자료,스탬프,제어,외부,공통,내용)
- 응집도: 우논시절교순기(우연적,논리적,시간적,절차적,교환적,순차적,기능적)
- 팬인, 팬아웃
- 개발 보안
- 네트워크 보안: IPSec, SSL, S-HTTP
- DBMS 보안: API, Plug-In, TDE
- 시큐어 코딩
- EAI & ESB : 기업 내 다양한 애플리케이션 간의 통합하는 목적
- EAI: 기업 내 다양한 애플리케이션을 서로 연결하고 통합
Point-to-Point, Hub&Spoke, Message Bus, Hybrid
- ESB: 서비스 지향 아키텍처(SOA) 기반, 다양한 서비스를 하나의 버스를 통해 연결하여 통합
- 인터페이스
- 전송 데이터: JSON(이름과 값의 쌍), XML(구조화된 문서 표현), YAML(데이터 직렬화 언어), AJAX(비동기 방식으로 데이터 교환)
- SOAP: HTTP, HTTPS, SMTP으로 메시지 교환(SOAP, UDDI, WSDL)
- REST: HTTP URI, HTTP Method 이용
구성 : 자원, 행위(GET, POST, PUT, DELTE) 표현
'자격증 > 정보처리기사' 카테고리의 다른 글
정보처리기사 실기 요약4 (0) | 2024.08.06 |
---|---|
정보처리기사 실기 요약3 (0) | 2024.08.06 |
정보처리기사 실기 요약2 (0) | 2024.08.06 |