01. 소프트웨어 공학 개념
▶ 소프트웨어 공학 : 소프트웨어의 위기를 극복하고자 효율적으로 품질 높은 소프트웨어를 개발 하기 위한 학문
▶ 소프트웨어 공학의 3R : 역공학 (Reverse Engineering) / 재공학 (Re-Engineering) - 유지보수의 생산성 / 재사용(Reuse)
▶ 소프트웨어의 개발 방법론 : 구조적 방법론 / 정보공학 방법론 (기업에서 쓰임) / 객체지향 개발 방법론 / CBD (컴포넌트 개발) / 애자일 방법론
▶ 애자일 방법론 종류 :
- XP 5가지 핵심 가치 - 의사선생님 약 주실 때 피존 용기에 담아주세요
의사소통, 피드백, 존중.용기,단순성 - 스크럼 주요 개념 : 스프린트 - 1~3주의 짧은 기간을 목표로 설정 / 백로그 - 요구사항 목록, 할일 목록 /
번다운차트 - 백로그 대비 시간을 표현한 차트 - 그외 애자일 방법론 - 크리스탈 / FDD / ASD(합동 애플리케이션 개발) / 린 / 칸반
▶ 소프트웨어 개발 모델 : 폭포수 / 프로토타이핑 / 나선형 (계획 → 위험분석 → 개발 → 평가) / RAD (Rapid Application Development) - 매우 짧은 개발 주기를 강조하는 점진적 개발 방식 / V모형 ( 단위, 통합. 시스템, 인수테스트)
▶ IT 서비스 관리
SML(Service Level Management) : 서비스의 품질을 높이는 일련의 관리 및 활동
SLA(Service Level Agreement) : 상호 동의에 의해 서비스 수준을 명시적으로 정의 한 문서
ITSM (Information Technology Service Managment) : 정책과 관행 협의 된 SLA에 맞는 IT 서비스를 제공하는 것
ITIL (IT Infrastructure Library) : IT 서비스를 쉽게 제공하고 관리 할 수 있는 가이드 혹은 프레임 워크로 ITSM을 실현하는 도구 또는 방법
02. 프로젝트 계획 및 분석
▶ 개발 비용 산정
- 하향식 : 사람이 하는 방식으로 전문가 기법 / 델파이 기법 이 있다.
- 샹향식 : LOC (낙관치 + (4 * 중간치) + 비관치 / 6) / MM
- 수학적 : COCOMO (조직형 Organic Mode, 반분리형 Semidetached Mode 내장형 Embedded Mode) / PUTNAM (Rayleigh-Norden 곡선, SLIM - Putnam 기반으로 개발한 비용산정 자동화 도구) / FP 기능점수기법 (ESTIMACS - FP모형을 기초로 개발된 자동화 추정 도구)
▶ 개발 일정 산정
WBS → PERT/CPM → 간트차트
- WBS : 목표를 달성하기 위해 필요한 활동과 업무를 세분화 하는 작업
- PERT : 낙관치 + (4 * 중간치) + 비관치 / 6
- CPM : 임계경로 (Critical Path)
- 간트차트 : 일정 계획의 최종 산출물로 바 형태의 도구
▶ 플랫폼 기능 분석
- 플랫폼 유형 : 싱투멀
싱글사이드 (소비자와 공급자 연결) / 투사이드(두 그룹을 중개하고 모두에게 개방) /
멀티사이드 (다양한 이해관계 그룹을 연결하여 중개) - CPND (Content Platform Network Device) : 무선 인터넷 서비스의 가치사슬
▶ 미들웨어 분석
미들웨어 : 중간에서 매개 역할을 하는 소프트웨어
종류 : 원격프로시저 호출 (RPC) / 메세지 지향 미들 웨어 (MOM) / ORB / DB접속 미들웨어 / TP 모니터 / WAS / ESB
▶ 요구사항 개발 프로세스
도분명확
- 도출 : 요구사항 소스 , 도출 기법
- 분석 : 요구사항을 분류, 개념모델링, 기술 구조 설계 및 요구사항 할당
- 명세 : 정형 명세 기법 (수학적), 비정형 명세 기법 ( 자연어)
- 확인
▶ 요구사항 분석 도구
- CASE 도구 : SADT, SREM, PSL/PSA, TAGS
상위 CASE : 생명주기 전반부에 사용
하위 CASE : 생명주기 후반부에 사용 - HIPO : 하향식 소프트웨어 개발을 위한 문서화 도구
HIPO차트 종류 : 가총세
가시적 (전체 기능과 흐름을 보여주는 트리 구조) /
총체적 (프로그램을 구성하는 기능을 기술한 것, 입력`처리`출력에 대한 전박적인 정보 제공)/
세부적 (기본 요소들을 상세하게 기술)
▶ 객체지향 분석 방법론
- 럼바우 - 객동기 객: 객체다이어그램 동 :상태다이어그램 기 : 자료흐름도(DFD)
- 부치 방법 - 미시적 거시적
- Jacobson - Use case 사용
- Coad 와 Yourdon 방법 - ER다이어그램
- Wirfs-Brock - 분석과 설계의 구분이 없음
03. 소프트웨어 설계
▶ 소프트웨어 아키텍쳐 4+1 뷰
시계 방향으로 논구배프유
논리적관점 (분석사/설계사) 구현 관점(개발자) 배치관점 (시스템 엔지니어) 프로세스 관점(시스템 통합자) + 유스케이스관점 (사용자)
▶ 소프트웨어 아키텍쳐 패턴
계층화 / 클라이언트-서버 / 마스터-슬레이브 / 파이프-필터 / 브로커 / 피어 투피어 / 이벤트-버스 / MVC / 블랙보드 인터프리터
▶ 설계 모델링 UML
UML 특징 : 가구명문 가시화,명세화,구축언어,문서화언어
UML 구성요소 : 사물, 관계, 다이어그램
- 사물 : 그 행주 구 그룹사물 / 행동사물 / 주해사물 / 구조사물
- 관계 : 일연의 실집합 일반화 / 연관 / 의존 / 실체화 / 집약 / 합성
- 다이어그램 : 구조 다이어그램 - 클객컴배복패 클래스 / 객체 / 컴포넌트 / 배치 / 복합 / 패키지 다이어그램
행위 다이어그램 - 유 시 커뮤 활동 상태 상호작용 타이밍
04. 화면 설계
▶ UI 유형 : CG NO CLI / GUI / NUI / OUI
▶ UI 설계 원칙 : 직유학유 직관성 유연성 학습성 유효성
▶ JavaScript 프레임워크 : React (페이스북에서 개발) / Vue.js (Evan You에 의해 개발) / AngularJS(구글에서 개발) / Ajax (비동기적 웹 어플리케이션 제작을 위한 웹 개발 기법
05. 서버 프로그램 구현 (개발시작!)
▶ 서버환경 구축
- 웹서버 : 정적파일을 제공하는 웹서버 애플리케이션이 설치 된 하드 웨어 / Apach Web Server, IIS, Nginx
- 웹 애플리케이션 서버 (WAS) : 동적인 웹서비스를 제공하기 위한 미들웨어가 설치 된 하드웨어
- 데이터 베이스 서버 (DBMS)
- 파일 서버
- 로드발란서(Load Balancer) : 요청을 적적히 분배 해주는 역할 / 분배방식 : 랜덤, 리스트 로드 ,라운드로빈
- CDN(Content Delivery Network) : 분산 되어 있는 데이터 저장 서버
▶ 형상관리도구
형상관리 절차 : 식통감기 식별 / 통제(소프트웨어 형샹 변경 요청을 검토하고 승인하여 현재의 베이스라인에 반영 될 수 있도록 통제, 형상 통제 위원회 (CCB) / 감사 / 기록
▶ 버전 관리 도구
- 공유폴더 방식 : RCS (Revision Control System) / SCCS
- 클라이언트 / 서버 방식 : CVS(가장 오래된 형상 도구) / SVN(원본과 차이점을 저장하는 방식)
- 분산 저장소 방식 : GIt(리누스 토발즈가 커널의 개발을 위해 만듬)
▶ 빌드 자동화 도구 종류
- Make : 유닉스 계열 운영체제에 주료 사용 되는 빌드 도구
- Ant : Java 기반의 빌드도구로 Remote Repository를 가져 올 수 없다
- Maven : 프로젝트에 필요한 모든 의존성을 리스트 형태로 알려 관리한다.
- Jenkins : Java 기반의 오픈소스로 지속적인 통합과 배포가 가능하다
- Gradle : Groovy를 기반으로 한 오픈 소스 형태의 자동화 도구로 안드로이드 앱 개발 환경에서 사용
▶ 단위모듈 구현
- 단위모둘 작성 원칙 : 정명완일추 정확성 / 명확성 / 완전성 / 일관성 / 추적성
- 결합도 : 자료 / 스탬프 / 제어 / 외부 / 공통 / 내용
- 응집도 : 기능 / 순차 / 통신 / 적차 / 시간 / 논리 / 우연
▶ Annotation : 주석
▶ ORM 프레임워크 : 객체와 관계형 데이터베이스의 데이터를 자동으로 연결해주는 것
▶ 시큐어 코딩
OWASP 에서 발표한 10가지를 기초로 KISA 에서 만들어서 발표한 것이 시큐어 코딩 가이드이고 그걸 기초로 코드를 짜는 것을 시큐어 코딩이라고 한다.
▶ 배치 프로그램
- 배치 ←→ 실시간
- 배치 프로그램의 필수 요소 : 대자견안성 대용량데이터 / 자동화 / 견고함 / 안정성 / 성능
- 스케줄 관리 종류 : 크론탭 (분,시,일,월,요일)
06. 인터페이스 구현
▶ 인터페이스 : 서로 다른 시스템, 장치 사이에서 정보나 신호를 주고 받을 수 있도록 도움을 주는 시스템
▶ 송수신 데이터 식별 : 송수진 시스템 사이에서 교환 되는 데이터는 규격화 된 표준 형식에 따라 전송한다.
→ 송수신 전문 구성 : 전문 공통부 (인터페이스 표준 항목을 포함) / 전문 개별부 (업무처리에 필요한 데이터 포함) /
종료부 (전송데이터의 끝을 표시하는 문자 포함)
▶ 인터페이스 기능 구현
- EAI (Enterprise Application Integration) : 기업에서 운영되는 서로 다른 플랫폼 및 어플리케이션들 간의 정보전달, 통합을 가능하게 해주는 솔류션
→ 구축 유형 : point to point / hub and spoke / message bus(ESB) / hybird
- ESB (Enterprise Service Bus) : 다양한 시스템과 연동하기 위한 멀티 프로토콜 지원. 버스를 통해 이기종 어플리케이션을 유연하게 통합하는 핵심 플랫폼
▶ 인터페이스 연계 기술
- Link : 데이터 베이스에 제공하는 DB링크 객체를 이용하는 연계 기술
- DB Connection : 수신시스템의 WAS 에서 송신 시스템 DB로 연결하는 DB Connection Pool을 이용
- JDBC : 수신 스스템의 프로그램에서 JDBC 드라이버를 이용하여 송신 시스템 DB와 연결
- API/ OpenAPI : 송신 시스테의 어플리케이션 프로그래밍 인터페이스 프로그램
- Web Server : WSDL, UDDI, SOAP 프로토콜을 이용하여 연계
- Hyper Link : 웹 애플리케이션에서 하이퍼링크 사용
- Soket : 네트워크를 경유하는 프로세스 간의 통신 접속점으로 IP Add + Port no가 합쳐서 있는 형태이다. 네트워크에서 서버와 클라이언트를 통신할 수 있게 해주는 교환 기술
▶ 인터페이스 전송 데이터
- JSON : 구조화 된 데이터를 표현하기 위한 문자 기반의 표준 포맷
- XML : 웹에서 구조화 한 문서를 표현 하고 전송하도록 설계한 마크업 언어
- YAML (Ain't Markup Language) : 구성 파일 작성에 자주 사용되는 데이터 직렬화 언어
- CSV (Comma Separated Values) : 몇가지 필드를 쉼표로 구분한 텍스트 데이터 및 텍스트 파일
▶ 인터페이스 구현
- AJAX : 브라우저가 비동기 방식으로 데이터를 교환 할 수 있는 통신 기능
- SOAP : HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메세지를 컴퓨터 네트워크상에서 교환하는 프로토콜로 SOA (서비스지향 아키텍쳐) 를 실현하기 위한 기술이다.
→ SOAP의 구성 요소 : SOAP(실제 통신 프로토콜) / UDDI(WSDL의 자료실) / WSDL(XML로 만들어진 언어)
→ SOAP 의 보안 프로토콜 : SAML(인증/권한관리) / XKMS(키관리) / XACML(접근제어) - REST : 자원 기반의 구조 (ROA) 의 개념으로 구현 되었다.
→ REST 특징 : 유니폼 인터페이스(표준만 따르면 어떤 언어나 플랫폼에서 사용이 가능하다) Stateless (상태정보 유지 안함 - 서버는 각각의 요청을 완전히 다른 것으로 인식하고 처리한다) / Cacheable (http 가 가진 캐싱 기능이 적용 가능) / Self-descriptiveness (자체 표현 구조 - REST API 만 보고도 쉽게 이해 할 수 있게 되어 있다)
▶ 인터페이스 구현 검증 도구
- xunit : 다양한 언어를 지원하느 단위 테스트 프레임워크
- STAF : 서비스 호출 및 컴포넌트 재사용 등 댜양한 환경을 지원하는 데스트 프레임워크
- FitNesse : 웹기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 데스트 프레임워크
- Selenium : 다양한 브라우저 및 개발 언어를 지원하는 웹 어플리케이션 데스트 프레임워크
- Watir : Ruby를 사용하는 애플리케이션 데스트 프레임워크
07. 객체지향 구현
▶ 객체지향 : 현실 세계의 유형, 무형의 모든 대상을 객체로 나누고 객체의 행동과 고유한 값을 정의하여 설계
▶ 객체지향 구성 요소 : 클래스 / 객체 / 속성 / 매서드 / 메세지
▶ 객체지향 언어 특징 : 캡슐화 / 정보은닉 / 상속 / 다형성 / 추상화
▶ 객체지향 설계 원칙 : SOLID
- 단일 책임 원칙 Single Responsibility Principle : 하나의 클래스는 하나의 책임만 가져야 한다
- 개방-폐쇄 원칙 Open - Closed Principle : 확장에는 열려 있고 수정에는 닫혀있어야 한다.
- 리스코프 치환의 원칙 Lisvok Substitution Principle : 자식은 언제나 부모를 대체 할 수 있어야 한다
- 인터페이스 분리의 원칙 interfacs Segreation Principle : 불필요한 인터페이스는 설계하지 않는다
- 의존성 역전의 원칙 Dependency Inversion Principle : 변경이 제일 없는 클래스에 의존 해야 한다
▶ 디자인 패턴
디자인패턴 : 객체 지향 프로그래밍 설계를 할 대 자주 발생하는 문제들에 대해 재사용 할 수 있도록 만들어 놓은 패턴 모듬
▶ Gof 디자인 패턴 : 생구행 생성 / 구조 / 행위 패턴
▶ 생성 : 빌 프로 팩 앱 싱
- 빌더 - 복합 객체의 생성과 표현을 분리하여 동일한 생성 절차에서도 다른 표현 결과를 만들어 낼 수 있음
- 프로토타입 : 원본 객체를 복사함으로써 객체를 생성함
- 팩토리 메소드 : 객체 생성을 서브클래스로 위임하여 캡슐화 함
- 앱스트랙 팩토리 : 추상 팩토리, 구체적인 클래스에 의존하지 않고 서로 연관 되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공
- 싱글톤 : 어떤 클래스의 인스턴스는 하나임을 보장하고 어디서든 참조할 수 있도록 함
▶ 구조 : 브 데 퍼 플 프록 컴 어
- 브리지 : 구현부에서 추상층을 분리 하여 독립적으로 확장
- 데코레이터 : 어떤 객체에 다른 객체를 덧붙이는 방식
- 퍼사드 : 서브시스템의 가장 앞쪽에 위치해 하나의 통합 된 인터페이스(Wrapper)를 제공
- 플라이웨이트 : 크기가 작은 여러개의 객체를 가능한 한 공유 할 수 있도록 하여 메모리 절약
- 프록시 : 접근이 어려운 객체로의 접근을 위해 객체의 대리나 대체글을 제공
- 컴포지트 : 객체들의 관계를 트리구조로 구성하여 복합 객체와 단일 객체를 구분없이 다룸
- 어댑터 : 클래스의 인터페이스를 다른 인터페이스로 변환하여 다른 클래스가 이용 할 수 있도록 함
▶ 행위 : 책커멘인 반중 상 옵전템방
- 책임연쇄
- 커맨드 : 캡슐화하여 재사용 하거나 취소 할 수 있도록 저장
- 메멘토 : 객체가 특정 상태로 다시 되돌아 올 수 있도록 내부 상태를 실체화
- 인터프리터
- 반복자 : 순차적으로 접근 할 수 있도록 동일한 인터페이스 제공
- 중재자 객체들의 상호작용을 캡슐화 하여 새로운 객체로 정의
- 상태 : 객체의 상태에 따라 동일한 동작을 다르게 처리해야 할때 사용
- 옵저버 : 객체 상태가 변할때 그 변화를 통지 받고 자동으로 갱신 될 수 있게 한다
- 전략 : 상호교환 가능하게 함
- 템플릿메서드 : 상위클래스는 골격만 작성하고 하위클래스에서 구체적인 처리를 한다
- 방문자 : 연산을 분리하여 별도의 클래스로 구성 (OCP를 적용한 것)
08. 애플리케이션 테스트 관리
▶ 소프트웨어 테스트 기본원칙
- 결함 집중 법칙 (파레토법칙) : 전체 결과의 80%가 전체 원인의 20%에서 일어나는 현상
- 살충제 패러독스 : 너무 똑같은 것만 사용하지 말고 주기적으로 테스트케이스를 리뷰 해야한다
- 테스팅은 정황에 의존한다
- 오류-부재의 궤변 : 오류 발견해서 고쳐도 그게 품질이 높다고 말할 수 없어
▶ 테스트오라클
- 테스트오라클 : 사전에 정의 된 참 값을 입력하여 비교하는 기법 및 활동
- 유형 : 참샘휴일 참오라클 (모든 테스트 케이스의 입력값의 기대결과를 확인) / 샘플링오라클 (특정 몇개에 입력값만) / 휴리스틱 (추정으로 처리하는 것) / 일관성 검사 (수행 전과 수행 후가 동일한지 확인)
▶ 소프트웨어 테스트 기법
- 프로그램 실행 여부에 정적 테스트 / 동적 테스트 로 나뉜다
- 화이트박스 테스트 - 문장 검증 / 선택 검증 / 경로 검증 / 조건 검증
- 기초 경로 검사 - McCabe 가 제안한 것 계산식 = 선 - 노드 +2
- 블랙박스 테스트 - 동경 원오비 동등분할 / 경계값 분석 / 원인-효과 그래프 / 오류 예측 검사 / 비교 검사
- 테스트 시각 - 검증(Verification) : 개발자 시각 / 확인 (Validation) : 사용자 시각
- 테스트목적 - 회복 / 안전 / 강도 / 성능 / 구조 / 회귀 / 병행 / A/B(새로운 서비스가 기존 서비스에 비해 정말 효과가 있는지 알아보는 테스트) / 스모크 (테스트 수행에 앞서 정말로 테스트 할 준비가 되었는지 판단)
- 테스트 종류 - 명세기반 / 구조기반 / 경험기반
▶ 테스트 커버리지 : 소프트웨어의 테스트 범위를 품질 측정 기준으로 얼마나 테스트 수행 하였나 보는것
▶ 테스트 커버리지 유형
- 기능기반 커버리지 : 애플리케이션의 전체 기능을 모수로 설정하고 기능의 수를 측정
- 라인 커버리지 : 소스코드의 Line 수를 모수로 테스트가 수행한 소스코드의 Line 수를 측정
- 코드 커버리지 : 구조 코드 자체가 얼마나 테스트 되었는지를 측정하는 방법
구문 커버리지 - 코드 구조 내의 모든 구문에 대해 한번 이상 수행 하는 테스트 커버리지
조건 커버리지 - 결정포인트 내의 모든 개별 조건식에 대해 T/F 를 실행
결정 커버리지 - 결정 포인트의 T/F를 실행
조건/결정 커버리지 - 결정포인트와 개별 조건식이 각각 T/F
변경 조건/결정 커버리지 - 모든 결정포인트 내의 개별 조건식은 적어도 한번 T/F 를 가져야 한다
다중 조건 커버리지 - 결정포인트내의 개별 조건식의 100% 조합을 보는 것
▶ 테스트 자동화 도구 유형
- 정적분석도구 : 애플리케이션을 실행하지 않고 분석하는 도구 pmd / cppcheck / checkStyle / ccm / SonarQube
- 테스트실행도구 : 테스트를 위해 작성 된 스크립트를 실행
- 성능 테스트 도구 : 많은 수의 가상의 사용자를 생성하여 부하를 테스트
- 테스트 통제 도구
- 테스트 장치(Test Harness) : 테스트 드라이버(상향식테스트) / 테스트 스텁(하향식테스트) / 테스트 케이스(입력값,실행조건,기대결과의 집합) / 테스트 수트(테스트 케이스의 집합) / 테스트 스크립트(명세) / 목 오브젝트(사전입력 후 행위 수행)
▶ 애플리케이션 성능 분석 지표
처리량 / 응답시간 / 경과 시간 / 자원 사용률
▶ 성능 분석 도구
JMeter : http, FTP 등 다양한 프로토콜을 지원하는 부하(스트레스) 테스트 도구
LoadUI : 웹서비스의 로드테스트로 테스트 형태에 따른 UI 제공
OpenSTA : http, https 프로토콜에 대한 부하 테스트 및 생산품 모니터링 도구
▶ 모니터링 도구
- Scouter : 단일 뷰 통합/실시간 모니터링
- NMon : 리눅스 서버 자원에 대한 모니터링 도구
- Zabbix : 웹 기반 서버, 서비스, 애플리케이션 모니터링 도구
- Jeniffer : 애플리케이션에서 서버로 유입되는 트랜잭션 수, 처리시간, 응답시간, 자원 활용률 등을 모니터링
▶ 정형 기술 검토회의 (FTR : Formal Technical Review)
S/W 개발 산출물을 대상으로 오류를 발견하기 위한 공식적인 활동
▶ 소스코드 품질 분석
동료 검토 (2-3명이 리뷰) / 워크스루 (팀회의) / 인스펙션(공식회의 느낌 : 계획→교육→준비→회의→수정→조치)
▶ 클린코드 작성 원칙 : 가단의중추 가독성 / 단순성 / 의존성 배제 / 중복성 최소화 / 추상화
09. 소프트웨어 유지보수
▶ 소프트웨어 유지보수 종류
수정 보수 : 미처 발견하지 못한 잠재적인 오류를 찾아 수정한다
적응 보수 : 환경 변화에 맞추기 위해 수행하는 유지보수
향상 보수 : 새로운 기능을 추가하거나 기존 기능을 개선
예방 보수 : 유지보수성 또는 신뢰성을 보장하기 위해 선제적으로 하는 유지보수
▶ 유지보수 관련 용어
- 레거시 시스템 : 낡은 기술이나 방법론으로 더 이상 쓰이지 않더라도 현대의 기술에 영향을 주는 경우도 포함 한다
- 외계인 코드 : 아주 오래되거나 참고 문서 또는 개발자가 없어 유지보수 작업이 어려운 프로그램
- 스파게티 코드 : 복잡한 프로그래밍 소스코드
10. 제품 소프트웨어 패키징
▶ 소프트웨어 품질 국제표준
- ISO/IEC 9126 : 기신사효유이 기능성 / 신뢰성 / 사용성 / 효율성 / 유지보수 용이성 / 이식성
- ISO/IEC 14598 : ISO 9126의 사용을 위한 절차와 기본 상황 및 소프트웨어 평가 프로세스에 대한 표준을 규정
- ISO/IEC 12119 : 품질 요구사항 및 테스트
- ISO/IEC 25000 : S/W 품질 평가 통합 모델 ISO/IEC 9126 + ISO/IEC 14598
▶ 소프트웨어 프로세스 국제표준
- ISO/IEC 9001 : 조직의 품질 경영 및 품질 보증
- ISO/IEC 12207 : 소프트웨어 개발 관련 생명주기 - 기본 / 지원 / 조직 생명주기로 구분 됨
- ISO/IEC 15504(SPICE) : 소프트웨어 개발에 관련하여 선정 된 프로세스 평가모델
부승관확예뻐졌네~ 불안정 수행→수행→관리→확립→예측→최적화 단계 - CMM : 조직의 S/W 개발 관련 전체 프로세스 평가 - 초기→반복→정의→관리→최적화
- CMMI : 다양한 CMM 모델을 통합한 프로세스 개선 프레임워크 초기→관리→정의→정량적 관리→최적화
▶ 애플리케이션 패키징 수행 순서
기능 식별 → 모듈화 → 빌드진행 →사용자 환경 분석 → 패킹징 적용 시험 → 패키징 변경 개선
'IT개념' 카테고리의 다른 글
정보처리기사 2021년 실기 기출 문제 오답 노트 (0) | 2023.04.21 |
---|---|
정보처리기사 2020년 실기 기출 문제 오답 노트 (0) | 2023.04.18 |
수제비 오답노트 6회차 (0) | 2023.04.17 |
수제비 오답노트 5회차 (0) | 2023.04.15 |
수제비 오답노트 4회차 (0) | 2023.04.15 |