Certification/ITPE

정보관리기술사 KeyNote #2. 소프트웨어공학

JYH 2021. 4. 15. 15:34

소프트웨어

  • SW특징
    - #복순변비무마복
    - Brook's Law
  • SW 공학
    - 구성요소 : #프작산기도 (#원기언도산)
    - 원리 : #정관모 추변일점 (정형성, 관심사의 분리, 모듈화, 추상화, 변화예측, 일반화, 점진화)
  • SW위기극복
    - 목표 : 품질, 생산성, 일관성
    - 관점 : 변경, 비용, 규모
    - 위기 : Cost 상승, Delevery 지연, Quality 저하
    - 노력 : #공표도품 (공학적, 표준, 도구, 품질)
  • SWEBoK 3.0
    - ISO/IEC 24773
    - #요설구테유 형관프방품 전경컴수공
  • SW 교육
    - 언플러그드 교육, 알고리즘 학습, 프로그래밍 언어, 피지컬 컴퓨팅(아두이노), Computational Thinking
  • SDLC
    - #타/요설구테유/폐
  • 폭포수 모델
    - 고전적, 하향식, V모델
  • 프로토타이핑 모델
    - 실험적 모형, 진화적 모형
    - 수직 모형, 수평 모형
    - Lean Startup, Rapid Prototype
  • 나선형 모델
    - #계위개고
    - 대규모, 위험부담 감소
    - 관리복잡, 많은 시간
  • V모델
    - #사시요구상코 디단통시인설
    - 검증(Verification), 확인(Validation)
    - 하이리히 법칙 (1:29:300)
    - Test설계도구, 정적분석도구, 커버리지측정도구, 동적분석도구
  • 반복적개발 모델
    - #증빌진릴
  • RAD 모델
    - 일부분 반복, 2~3개월 짧은 주기, 지속참여
    - JRP, JAD, CASE, Cutover
  • 클린룸 모델
    - 수학적(정형명세/검증), 통계적(테스트), 박스구조, 반복/증분
    - 반도체 공정에서 시작
    - #공증구정테
    - #블상클
    - #박함시
  • SVVP 모델
    - V&V 자원을 효과적 사용
    - IEEE1012
    - 검증(Verification) : 설계-구현과의 일치
    - 확인(Validation) : 요구-제품의 일치 확인 (QA)
  • 일정중시 모델
    - 달성여부 불확실
    - 우선순위 구분 상세설계, 구현, 테스트
  • 진화적 출시 모델
    - 버전

개발 방법론

  • SW 개발방법론
    - #프작산기도
    - SW설계/개발 원리(구조화/방법론), SDLC모델(구체화/절차)
  • 구조적 방법론
    - #연조반
    - 분할과 정복, 정형화, 구조적 조직화, 하향식
    - DFD, ERD, DD
    - 데이터 흐름중심, 모듈의 응집도/결합도, 재활용성
  • 정보공학 방법론
    - #기아데분공사
    - #IBBS/정분설시
    - Repogitory, I-CASE, 4GL, Prototyping
  • 정보화전략계획(ISP)
    - #전조자프포 (전략적 계획, 조직의 정보구조, 자원 배분, 프로젝트 계획, 포트폴리오 개발)
  • 객체지향 기본원칙
    - 문제=해결, 비즈니스 변화에 기민 대응
    - 개체, 속성, 메소드, 클래스, 객체
    - #객동기 시객구 테패평
    - OOSE, OMT, OOD
  • 객체지향 개발방법론(OOP)
    - #캡추다정상

  • 객체지향 설계원칙
    - #SOLID
    - SI 고응집도 / OLD 저결합도
  • 단일책임의 원칙(SRP)
    - 낮은결합도, 높은응집도
  • 개방폐쇄의 원칙(OCP)
    - 컴파일러, POSIX표준 (학장-오픈, 수정-클로즈)
    - MCI, MCA, EAI, ESB, SOA
  • 리스코프 치환의 원칙(LSP)
    - New버전의 Old버전 지원
  • 인터페이스분리의 법칙(ISP)
    - 최소한의 인터페이스 사용, 공유레퍼지토리 패턴
  • 의존성역전의 법칙(DIP)
    - 이벤트 드리븐, 콜백, 통신프로그래밍 모듈
  • 다형성
    - Overloading(동일클래스)
    - Overriding(재정의)

  • 추상클래스 vs 인터페이스
    - 추상클래스 : 인스턴스 생성없이 유사 클래스들의 공통특징을 정의하고, 하나이상의 추상 메소드를 포함
    - 인터페이스 : 객체와 객체 사이에서 일어나는 상호 작용의 매개
    - 변수 : 일반변수 가능 / 상수만 가능, 오버라이딩 금지
    - 함수 : 선언가능, 구현가능 / 선언가능, 구현불가능
    - 추상메소드 : 둘다 보유가능
    - 일반메소드 : 보유가능 / 보유불가능
    - 다중상속 : 불가능 / 가능
    - 장점 : 재사용 부품을 이해하여 확장 가능, 점진적 개발 용이 / 동시 개발로 개발기간 단축, 표준화, 클래스의 관계생성 가능

  • 집합연관 vs 복합연관
    - Aggregation Assocication / Composition Assocication
    - has a / own a
    - 생명주기 다름 / 생명주기 같음
    - 마름모(빈거) / 마름모(검정)
    - 자동차와 핸들, 타이어 / 극장과 매표소
  • 연관관계 vs 의존관계
    - Association / Dependency
    - 상호영향없음 / 영향 있음
    - 멤버변수 선언 / 함수내 인자 or 함수내 선언
  • 상속 vs 위임
    - Generation / Realization
    - 일반화 / 실체화
    - Extends / Implements, 인터페이스
    - is a / has a
    - 세모(실선) / 세모(점선)
    - 공통의 특성 일반화 / 인터페이스 내부로직 구현
    - 캡슐화 : 부모클래스 내부가 서브에서 보임 / 클래스 내부 안보이며, 인터페이스 통해서만 메시지 전달
    - 높은결합도, 정적(컴파일시 바인딩) / 낮은결합도, 동적(런타임시 바인딩)
    - 재사용용이, 객체지향 특성 활용 높음 / 실행시 동적활용, 클래스 수정등 변경영향 적음
    - 서브클래스의 영향도 있음 / 이해, 테스트수행 어려움
  • 상속
    - 특수화 : 상위클래스의 속성을 상속받아 하위클래스에서 실체화
    - 일반화 : 하위클래스의 공통적인 특성을 추상화하여 상위클래스로 정의
    - 단일, 다중, 반복
  • 위임
    - 디자인패턴의 구현원칙, 상속보다 위임 권장
    - 프록시 패턴
  • CBD
    - #유확유재 생고적
    - #분설추설구 검형인 응조기분정
    - RUP, Catalysis, 마르미-III, Select Perspcetive
    - 개발자 관점
  • 컴포넌트
    - #식분설구시전
    - 도출과정 : 핵심클래스 도출, 유스케이스 시나리오 도출, 도메인전문가 중심 수행, 유즈케이스-엔티티 매트릭스, UI기반
  • 애자일
    - Menifesto(2000) : #개변동고 프계문계 (개인과상호작용, 변화에 대응, 동작하는 SW, 고객과의 협력)
    - 가변적 요구대응, 고객만족, 개발자 동기부여, PM의 역할변화, Sweet Spots, 적용범위
    - 문제점 : 발주자(규모의 한계, 개발중심 계획부재), 사업관리자(산출물 부재, 관리통제의 상실), 개발자(요구사항의 변경, 고객의존성)
  • 대규모 IT 프로젝트의 애자일 도입 전략
    - ) 116
    - 대규모 IT프로젝트의 문제점 및 해결방안 : 일정지연(#파자후학), 범위증가(GoldPlating, ScopeCreep), 비용증가(Actual Cost 측정 어려움), 인력관리(의사소통 부족, 부적절한 인력 배치), 품질관리(요구사항의 변화), 위험관리(위험식별/대응/감시 미흡), 의사소통관리(커뮤니케이션 오류)
    - 전략수립 프로세스 : 프로젝트 환경 및 구조파악, 목표설정(Strategy Map), 내부역량분석(7S), 적용전략수립(SWOT, 4C), 실행 및 평가(IT-BSC, IT-ROI)
    - 적용 전략 : Methodology(하이브리드한 점진 반복적인 방식의 라이프사이클 모델 적용), Teaming(스크럼팀, CFT), Project Manager(코치/촉진자/후원적 역할, 일일단위점검 및 개선, 요구사항 검증의 주기적 검증), 프로젝트 개발(CI/CD, SW Visualization)
    - 로드맵 : 계몽 및 도입단계, 애자일관리 적용 단계, 애자일개발 적용 단계, 개발과 운영 연결 단계
  • XP
    - #용단커피존
    - #폐공지 게작메 간테리 주고코
    - #U ARIAS

  • TDD
    - TC통과한 코드만 반영
    - #사테코리
    - #빨테초유디
  • ATDD
    - #토증개데 (토론, 증류, 개발, 데모)
  • BDD
    - TC가 요구사항
    - 비개발자 사용
    - 유비쿼터스 언어, Outside-In
  • DDD
    - #EVARS (Enetity, Value, Aggegate, Repository, Service)
  • 페어프로그래밍
    - #교정구 협서동 (교대 프로그래밍, 정해진시간, 구두설명, 협의, 서로신뢰, 동시리뷰)
  • Daily Buid
    - CI보다 작은 단위
  • 스크럼
    #존용확정전 (존중, 용기, 확약, 정직, 전념)
    - 산출물 : PB, SB, Sprint
    - 구성원 : PO, SM, Team
    - 회의 : Spint Planing(1, 2부), Daily Scrum(15m, Burndown Chart), Review(demo, 2h), Retorspective(Start, Stop, Continue, #사자동무회 사전준비, 자료모으기, 동참이끌기, 무엇할지 결정, 회고)
    - 벨로시티(스토리포인트의 합), 번다운차트

  • 제품 백로그(Product Backlog)
    - ) 116
    - 정의 : 스크럼 방법론에서 프로젝트를 완료하는데 필요한 요규사항 목록들을 우선순위별로 정리한 목록
    - 절차 : 제품 백로그 작성(사용자 스토리 작성, 예측, 우선순위 지정), 제품 백로그 작성 후(스프린트 계획 회의)
    - 구성요소 : 테스크 관리(ID, Name, Who, 추정치, Subject), 속성 및 상태관리(Priority, Status, Story Rank)
  • 칸반
    - JIT, 품질, 생산성
    - 워크플로우 가시화, WIP, 워크플로우 측정/가시화
    - 백로그, 입력큐, WIP, done
    - 완료 스토리포인트(벨로시티)
    - 누적흐름도
  • Lean SW
    - TPS, 품질, JIT, 품질내재화
    - #낭지질늦빠사전
    - #가미전지 재결이
  • Lean Startup
    - Design Thinking, Lean UX, Agile, Growth Hacking
    - Rapid Prototype, CI/CD, MVP(Minimum Visable Product), Lean Thinking, DevOps
    - #ICD, BML
  • Design Thinking
    - 원하는것, 할수있는것, 가치있는것
    - #공정아시시
    - 사람중심, 통합적사고, 시행착오 통한 실험, 반복
  • FORM 모델
    - Feature모델
  • 프로덕트라인
    - Core Asset Development, Product Development, Management
    - 도메인공학, 애플리케이션공학, 관리
    - Pro-Active(FORM), Re-Active(AHEAD), Incremental, Extract(PULSE)
  • SSPL
    - 4대핵심요소 : Mass Customizing, Platform, Process, SW&System 융합
    - 도메인공학, 애플리케이션공학, SSPL스코핑, 자산베이스, 조직관리, 기술관리
    - ISO/IEC 26550

  • 도메인공학
    - #식분설구시전
  • AOP
    - 관심사 분리
    - #핵횡 결교충직 A

  • DI
    - 각 클래스 사이의 의존관계를 빈 설정(Bean Definition) 정보를 바탕으로 컨테이너가 자동으로 연결해 주는 기술
    - 의존성 주입, 3자의 주입
    - XML기반, Annotaion기반, XML+Annotation
    - Setter Injection, Construction Injection, Method Injection
  • DevOps
    - #이개소빌
    - #크메오포리 (Cross Function Team, Shared Metric, Automating Repeative Tasks(CI/CD), Post Moderms, Regular Release)
    - Small Release, Flow of Feature, CI, CD
    - Plan > Code > Buid > Test > Release > Deploy > Operation

  • CI
    - 자동화 빌드/테스트, 즉시검증, 단위코드의 품질 향상
    - 원칙 : 단일지점 유지, 단일빌드 명령어, 단일테스트 명령어, 실행파일 신뢰성
  • CD
    - 버전관리저장소, 지속적통합서버, 빌드스크립트, 메니지먼트툴, 품질관리툴
  • SW 가시화
    - 배경1) : 대기업 입찰제안, 품질확보 필요, 중소기업의 SW품질관리 필요, 가시성확보 위한 수단 제공, SP인증과 연계
    - 배경2) : SW비가시성, 품질프로세스 강화, 중소기업 개발환경 강화
    - #개수검 (개발, 수행, 검증)
    - 시각화, 문서화, 지표측정
    - 주요지표 : 요구사항(추적성, 달성율, 커버리지), 형상관리(항목, 등록율, 변경율), 정적테스팅 검증(기능, 비기능, 정형, 구조적 커버리지), 동적테스팅 검증(사용자(알바/베타), 코딩 표준 준수율, 매트릭 만족율, 정적분석 이행율), 결함수준(조치율)
  • SW Visualization Tool
    - 환경 : Docker, OpenStack
    - 요구 : RedMine, CodeBeamer, JIRA
    - CI : Jenkins, Hudson, SaltStack
    - 형상 : SVN, CVS, Git, RCS, Subversion
    - 빌드 : Ant, Maven
    - 릴리즈 : Ant, FTP
    - 테스트 : jUnit, xUnit, Selenium, PMD
    - QA : SonarQube, Staging(UAT)
  • 블루그린 배포
    - 동일 2셋트의 운영환경, 로드발랜싱
    - 상용환경 영향 최소화, 빠른 롤백
    - 목적 : 다운타임 감소
  • 카나리배포
    - 새로운 버전의 SW를 프로덕트 환경으로 보내어 모니터링
    - 목적 : 다양한 버전 검증
  • DevOps CALMS 모델
    - Culture, Automation, Lean, Measurement, Sharing

  • DevSecOps
    - CARTA
    - (R) DevSecOps (A) Adaptive Honeypot
    - Secure, Monitor, Scale, Adapt
    - 툴 : Contrast Fortity, AMI, ClamAV, CloudWatch, Nessus, OSSEC, SolarWinds

  • 테일러링
    - 기정의된 절차, 기법, 산출물을 재활용하여 계획 수립
    - 배경 : 선언적 내용, 다양성 배제, 전문인력 부재, 유지보수 문제
    - 시기 : 프로젝트 계획 수립중 개발방법론 적용 계획 수립 후 프로젝트 계획서에 반영
    - 내부요건 : 납기/비용, 기술환경, 구성원 능력, 고객요구사항
    - 외부요건 : 법적 제약사항, 국제표준 품질기준
    - 고려사항 : 프로젝트 대상, 일정/범위, 다중 플랫폼, 투입인력, 발주사 특성, 외부환경, 적용기술, 표준준용, 산출물, 교육
    - 절차 : #정검커커문 ① 프로젝트 특징 정의 ② 표준 프로세스 선정 및 검증 ③ 상위 수준의 커스터마이징 ④ 세부 커스터마이징 ⑤ 테일러링 문서화
  • SOA
    - 느슨한 결합, 서비스 지향 아키텍처
    - 이기종
    - 아키텍처 : Service Broker, Service Provider, Service Consumer
    - 기술요소 : XML, ESB, SOAP, WSDL, UDDI
    - 공개, 기민성, 확장, 연합, 자립적요소, 조합, 통합
  • SOA 거버넌스
    - #조아라
  • EIP
    - 메시징 중심 방식(!=서비스 중심방식)
    - 느슨한결합, 메시징시스템, 비동기메시징패턴, 패턴언어, 패턴아이콘, 기업통합패턴 다이어그램
    - Message, Channel, Router, Transiator, Monitoring
    - AMQP
  • EDA
    - 분산 시스템, 이벤트 생성, 발행, 상호작용
    - Decouple, 인터렉션, N:N통신, 이벤트기반, 트리거, 비동기식
    - Event Generator, Even Channel, Event Processing Engine
  • WOA
    - SOA 아키텍처 서브스타일
    - REST(Get, Put, Post, Delete), HTTP, XML, URI
  • MDA
    - 메타모델 기반, 구현환경 독립적 모델(PIM) 개발, 자동으로 구현환경 종속적 모델(PSM)로 변환하는 SW아키텍처
    - #MUCX
    - 2001.9. OMG 표준
    - 단점) DSL, 숙련기간 필요, 논리코드 단위분석 어려움

  • MDD
    - MDA 기반 개발 방법론
    - CIM, PIM, PSM, Code
    - 절차 : 타겟플랫폼 식별, 메타모델 식별/정의(CWMs) > 매핑기법 정의/구현(UML, Profile) > PIM 모델 작성 > PSM 모델 작성 > Application 완성
    - LG CNS, 3Level(100% 자동화)
    - MDD-F(Forword), MDD-R(Reversse)
  • ASD
    - MDD의 모델변경의 경직성을 완화
    - Analysis, Design, Automation, Construction, Intergration
  • MSA
    - 다수개의 작은 서비스 집합
    - 콘웨이 법칙, 클린스테이트(Define, Learn, Re-engineering, Sturcture)
    - CBD+OOP, 강한응집도, 높은결합도, Stateless, 비동기
    - 구조 : 분산처리, Vertical Slicing, Scale-out, Cross Cutting Function Handling
    - 인터페이스 : API Gateway, RESTful, Remote통신, Orchestration, AMQP(RabbitMQ, ZeroMQ)
    - 개발방법론 : Agile, CBD+OOP, DDD, 폴리그랏, 함수형언어
    - 데이터 : 데이터 분리, NoSQL, NewSQL
    - 조직 : 콘웨이 법칙, CFT
    - 아마존 AWS(람다), MS 애저(애저서비스, 패브릭), IBM 블루믹스(오픈휘스크), 구글(클라우드 펑션)

요구관리

  • 요구사항 관리
    - #추분명검 변
    - 요르돈의 법칙
  • 요구공학 프로세스
    - 타당성 조사 : 구현가능성, 최악사례, 모의실험, 시장성/투자성 조사, 지적소유권, 프로그램 보호법, 개발도구 사용권한 조사
    - 요구사항 추출 : 인터뷰, 브레인스토밍, 스토리보드, BPR
    - 요구사항 분석 : DFD, DD, Mini Spec, ERD, UML, DOD, STD, 시나리오, Warnier-Orr 분석기법, TSD
    - 요구사항 명세 : SRS, IEEE830, TTA명세서 템플릿
    - 요구사항 검증 : VV, 포멀/인포멀 리뷰, 인스펙션, 워크쓰루
  • 요구사항 추적표
    - IEEE830
    - #명검완수 이해추정일
  • 요구공학 관리
    - #협기변검 (협상, 기준선, 변경관리, 확인 및 검증)
  • 요구사항 명세서(SRS)
    - #명검완수 이해추정일
    - 기능/비기능(#이성확유품)
    - CASE A : 요구분석, 설계구현, 인력이 동일, 유사경험
    - CASE B : 요구분석, 설계구현, 인력이 다름, 유사경험 없음
    - CASE C : 일부단계 외주
  • 페르소나
    - #재리가 실다
    - ISO9241-210

프로젝트 관리

  • 프로젝트
    - #유일목점
  • 프로젝트 관리
    - 공정/예산/품질
    - #계조인지통 #착계실통종
  • 프로젝트 관리 지식영역
    - #1+3+1+HCR+PS
  • 통합
    - #헌/계/지식/감변/종 (프로젝트 헌장 작성, 프로젝트 관리 계획 개발, 프로젝트 작업 지시 및 관리, 프로젝트 지식관리, 프로젝트 작업 지시 및 관리, 통합변경통제 수행, 프로젝트 또는 단계 종료)
    - PM역량 : #기리전
    - ITO 공통 Input : EEF(기업환경요인), OPA(조직프로세스자산)
  • 범위
    - #계요범W/확통 (범위 관리 계획, 요구사항 수집, 범위 정의, WBS 작성, 범위 확인, 범위 통제)
    -  WBS : 2Week, Level, WP, 100%Rule, Top-Down, Phase/Activity/Task, CoA, CA, WBS Dictionary, 관리가능한크기
  • 일정
    - #계정순기개/통 (일정관리 계획, 활동 정의, 활동순서배열, 활동기간추정, 일정개발, 일정통제)
    - 일정추정 : 전문가, CPM, PERT, 몬테카룰로 시뮬레이션
    - 일정단축 : #크자패병, Resource Leveling, Resource Smooting, Re-Estimation, What-If Scenario
    - 활동순서정의 : PDM, ADM, Lead&Lag
    - CPM : Total Float, Slack Time, EF/ES/LF/LS, Activity, Duration, Forward Scheduling, Backward Scheduling
    - CCM : #RFP / 안전, 모니터링, 행동 #파자후학
    - TOC : 물리적제약(DBR개념활용), 정책적제약(TOC Thingking Process), 프로젝트관리(Critical Chain), 회계관리(Throughput Accounting)
  • 원가
    - #계산예/통 (원가관리 계획, 원가산정, 예산결정, 원가통제)
    - 예비자원 : 프로젝트 예비비/우발사태 예비비(Coningency Reserve), 경영자 예비비/관리 예비비(Management Reserve)
    - EVM : 측정(PV, EV, AC, BAC), 분석(SV, SPI, CV, CPI), 예측(ETC, EAC, VAC)
    - EVM 종료 : 0.100, 50.50, 주관적평가, 개수에 의한 방법, Weighted Milstone WBS

  • 품질
    - #계/관/통 (픔질관리 계획, 품질관리, 품질통제)
    - 제품 : #9품2패8평
    - 프로세스 : CMMI, 15504, 12207, 29119, TMMI
    - 품질경영 : 6시그마, 9000
    - 정량적 품질관리(QC7) : #특히관계파산체
    - 정성적 품질관리(new QC7) : #친계연애매매피 (PDPC, Process Decision Program Chart)
    - 관리도 : In Control, Out of Control, UCL, LCL, USL, LSL, 7Rule
    - 흐름도 : SIPOC(Supplier, Input, Process, Output, Customer)
    - 품질비용 : #예평내외
  • 자원
    - #계자/확팀팀/통 (자원관리계획, 활동자원 추정, 자원확보, 팀개발, 팀관리, 자원통제)
    - RACI Chart, OBS, RBS
    - 갈등관리 : #위스컴포프 (WithDraw, Smoothing, Compomissing, Forcing, Problem Solving)
    - 조직이론 : #매맥앨허맥 (매슬로우, 맥그리거, 엘더퍼, 허츠버그, 맥클랜드), #매-생안사존자(생존, 안전, 사회, 존중, 자아실현), 맥-성악성설, 앨-ERG(#존관성 존재, 관계, 성장), 허-위생,동기유발, 맥-#성친권 (성취, 친교, 권력)
    - 터크만 팀개발 단계 : #형갈표수해 (형성, 갈등, 표준화, 수행, 해산)
  • 의사소통
    - #계/관/감
  • 위험
    - #계식분계/실/감 (위험관리계획, 위험식별, 정성적 위험분석, 정량적 위험분석, 위험대응 계획, 위험대응 실행, 위험 감시)
    - 정성적 분석 : #전영긴품매범 (전문가 판단, 위험-확률 영향평가, 위험 긴급성 평가, 위험자료 품질평가, 확률-영향 매트릭스, 위험범주 분류)
    - 정량적 분석 : #인민의시EMV (인터뷰, 민감도분석, 의사결정트리, 시뮬레이션, EMV)
    - 위험대응(부정적) : #회전완수/에 (회피, 전가, 안화, 수용)
    - 위험대응(긍정적) : #활공향/에 (활용, 공유, 향상)
    - EMV(기대화폐가치) : 특정Case 기대값 + 반대Case 기대값 - 기회비용 (EMV > 0 기회, < 0 위기)
  • 조달
    - #계/수/통
    - 공정가/확정가 : FFP, FPIF, FP-EPA
    - 비용보상/원가보상 : CPFF, CPIF, CPAF
    - 복합형 : T&M (Time & Metrial)
    - 조달문서 : RFP, IFB, RFQ, RFI
  • 이해관계자
    - #식/계/교관/교감
    - 권력-이해관계도
    - 이해관계자 큐브(#조태도 조화, 태도, 도움), 현저성 모델(#권합긴 권력, 합법성, 긴급성), 이해관계자 참여수준 매트릭스(#미저중지주 미인지형, 저항형, 중립형, 지원형, 주도형)
  • PMBOK 5th 비교 6th 변경사항
    - 주요 추가사항 : Agile, 지식관리, Talent Triangle(역량삼각형) #기리전
    - 프로세스 변경사항 : 47개 기준 3개 추가, 1개 삭제, 1개 변경, 10개 이동/조정으로 총 49개 지식영역
    - 추가 : 프로젝트 지식관리, 자원통제, 위험대응실행
    - 삭제 : 조달종료
    - 변경 : 활동자원산정(시간관리 -> 자원관리)
    - 각 지식체계별 핵심 개념, 추세, 새로운 실무사례, 조정/테일러링 고려사항으로 구성 포멧 변경
    - 5th의 피드백, ISO21500, PM/PMI 연구결과 적용
    - PMI Lexicon 호환성
    - 부록 : 태일러링에 대해 지식영역별 조정/테일러링 체크리스트 추가
  • PMO
    - #예대인감 (예산, 대상기준, 인식부족, 감리와 충돌)
  • ISO 21500
    - BSI
    - Initiating, Planning, Implementing, Contolling, Closing

테스트

  • 테스트의 원리
    - #결완초집살 정오
    - 프로세스(ISTQB) : 계획과 제어, 분석과 설계, 구현과 실행, 완료조건의 평가와 리포팅
    - 테스트 vs 디버깅
    - 결함발견 / 결하의 원인을 밝히고 코드 수정
    - 요로돈의 법칙(SnowBall Effect)
  • 테스트의 완료조건
    - #완목기 커리스 (완전성, 목적, 기준, 커버리지, 리스크, 스케쥴)
  • 테스트 케이스
    - #식항입출환특의
    - IEEE829
    - 에러(인간, Error), 결함(Fault, 시스템), 장애(Failure, 이벤트)
  • ISO/IEC 29119
    - 테스팅 프로세스, 테스트 기법, 산출물 표준
    - #버프독기키
    - #프/조관동정 (조직, 관리, 동적, 정적)
    - 7925, 33063, 20246, 829, 1028

  • ISO/IEC 33063
    - #범참용오성 (범위, 참조, 용어, 오버뷰, 성과)
    - #프/조관동정
    - 29119-2, 15504-5
  • 테스트레벨
    - #사시요구상코 디단통시인설
  • 테스트웨어
    - 테스트베드 : 테스트타켓, 테스트하네스, 테스트 드라이버, 테스트 스텀
    - 테스트 베이시스, 테스트 슈트, 테스트 스크립트(시나리오), 테스트로그, 인시던트 리포트, 테스트 리포트
  • 테스트 하네스
    - 설계, 정/동적 분석, 커버리지 측정, 수행툴
  • 테스트 드라이버
    - Test Tool, 상향식, 시험대상 모듈을 호출하는 간이 SW
    - DVD플레이어에서 버튼이 개발되지 않음
  • 테스트 스텁
    - 더미 컴포넌트, 상/하향식, 시험대상 모듈이 호출하는 또다른 모듈의 기능을 대신하는 간이 SW
    - SW테스트시 DVD플레이어가 개발되지 않아 더미 사용
  • 테스트 자동화 상세도구
    - 관리도구, 설계도구(명세기반테스트 설계도구, 구조(코드)기반 설계도구), 정적분석도구(코드분석도구, 구조검사도구, 데이터분석도구), 커버리지 측정도구, 동적분석도구
  • 코드테스트
    - PMD, PHPUnit, PHPStorm, Chrome개발자 도구, Apache Jmeter
    - Selenium, Guitar
    - Yasca, Sparrow, AppScan, Potify
  • 테스트 자동화, 정적분석도구
    - 결합예방/발견 : PMD, FindBug, CppCheck, SonarQube
    - 코딩표준 : CheckStyle, StyleCop
    - 코드복잡도 : CCM, EclipsMetrics, SourceMonitor, Javancss
  • 테스트 자동화, 동적분석도구
    - Abvalanche, Valgrind
  • 테스트 자동화, 프레임워크
    - xUnit, STAF, FitNesse, NTAF, Selenium, Watir, Guitar
  • 테스트 자동화, 성능테스트 도구
    - JMeter, AB, OpenSTA, LoadUI
  • 테스트 자동화, 시스템모니터링 도구
    - Nagios, Zenoss, Zabbix, HypericHQ
  • 테스트 자동화, 모바일 UI/UX
    - Selenium, Guitar
    - DeviceAnyWhere, Sirocco, Experitest, Quality Commander, QC-Wing, Sikuli
  • 테스트 오라클
    - #참샘휴일
  • 테스트 유형
    - 명세 : 블랙박스, 테스트 베이시스 문서 분석, 기능/비기능적 테스트 케이스 도출
    - 구조 : 화이트박스, 컴포넌트/시스템코드 분석, 기개발 테스트 케이스 이용, 추가 테스트 케이스 도출
    - 경험 : 블랙박스, 지식/경험에서 테스트 케이스 도출
  • 단위 테스트
    - 최소단위
    - 인터페이스, 자료구조, 실행경로, 오류처리
  • 통합 테스트
    - 컴포넌트 상호작용, 사용자 인터페이스
    - #백빙상하 (백본, 빅뱅, 상, 하)
    - 엄브렐라 방식
  • 시스템 테스트
    - #기사VS보복
    - #동부RTRT (동시접속자, 부하, Response Time, Think Time, Request Interval(RT+TT), Throughput)
    - #회안강성구 (회복, 안전, 강도, 성능, 구조)
  • 인수 테스트
    - #사운계규 알베 (사용자, 운영지침, 계약, 규정, 알파(개발환경), 베타(사용환경))
    - SIT, UAT, PAT
    - #시기성보품 인데운제
  • 성능 테스트
    - #단복임 루스확가티
    - #루병 스임 티부
    - 루프백 : 오버로드 검증, 루프백코드 삽입, 병목지점 도출
    - 스파이크 : 동시 트랜잭션, 임계점 발견
    - 티어 : 티어별 수행, 부하지점 발견
  • 워크로드 모델
    - 시스템이 사용자로 부터 요청받은 작업을 처리하는 일의 양을 통계적으로 분석하는 활동
    - 평가항목(Max) : TPH, TPM, TPS, 동시사용자, 업무별가중치(%)
    - 기초데이터 : 웹기반(웹로그), TP-Monitor시스템(관리콘솔로그), ERP시스템(CCMS(SAP), Statspack(Oracle))
  • 사용성 테스트
    - IEEE9241-11
    - #카페스 (카드소팅, 페이퍼목업, 스크린목업)
  • 리틀의 법칙
    - L=λW : 공간내 머무는 객체수(L)은 객체의 공간유입양(λ)과 객체가 머무는 시간(W)에 비래
    - CU(동시사용자) = TPS * RI(RT+TT)
    - TPS = CU / RI(RT+TT)
  • 기능 테스트
    - #적정보상준 (적합성, 정확성, 보호성, 상호운용성, 준수성)
    - IEEE610
    - WHAT
  • 비기능 테스트
    - #신사효유이 (신뢰성, 사용성, 효율성, 유지보수성, 이식성)
    - HOW
  • 블랙박스 테스트
    - #블-동경의상 페분유직
    - IEEE610
    - 동치분해의 원칙
  • 화이트박스 테스트
    - 베이시스 경로 테스트, 브랜치 커버리지 테스트, 컨디션 커버리지 테스트, 데이터흐름 테스트, 루프백 테스트, 뮤테이션 테스트, 샌드위치 테스트, 스테이트먼트 커버리지 테스트
    - 보안시험 기법 : 코드 보안 검토, 소스 코드 오류 주입, 컴파일 시간 및 런타임 결함방지
  • 회귀테스트
    - 수정이 기대하지 않은 결과를 발생시키지 않는것을 증명하기 위한 시스템/컴포넌트에 대한 선택적 재테스트
    - #리셀프 (Retest All, Selective, Priority)
    - Riffle-Effect, Side-Effect, Record&Play
  • 유지보수 테스트
    - 변경, 마이그레이션, 단종
    - 절차 : 요구사항분석, As-Is, To-Be, 파일럿 테스트
  • 모델기반 테스트
    - 요구사항 바탕으로 테스트모델구축(UML)하고 적절한 테스트 전략 적용하여 테스트 케이스 자동 생성
    - 상태, 전이, 전이쌍 커버리지 전략
  • 크라우드 소싱 테스트
    - Pay-Per-Bug, 높은테스트 품질, 실사용자 참여
  • 패키지 SW 테스트
    - 커스트마이징, 애드온, 통합 인터페이스, 성능
  • 임베디드 테스트
    - #모프파 (모델, 프로토타입, 파이널 프로덕트)
    - 멀티블 V모델
    - SW : 명세기반, 상태전이, 리스크기반
    - HW : 블랙박스, 바운더리스캔, 스모그, 그레이박스
    - DESS
    - 디버거의 요구기능 : 풀ICE, JTAG, ROM모니터, ROM에뮬레이터
  • Record & Replay(임베디드)
    - Record : 사용자 이벤트의 녹화
    - Replay : 사용자 이벤트의 재생

  • R&R 문제점
    - Event Driven : User-driven기능과 event-driven 기능이 혼재됨
    - Time Critical : 때때로 시간제약사항이 있는 경우가 존재함
    - Platform Diversity : 플랫폼(H/W, OS 등)이 다양함
    - Platform S tability : 플랫폼(H/W, OS 등) 자체에 오류가 있는 경우가 있음
    - Development Environment : 컴파일러, 라이브러리 등이 불완전한 경우가 있음
  • 글로벌화 테스트
    - 글로벌화 검증테스트(GVT), 기능테스트(FVT), 번역검증테스트(TVT)
    - 국제화(G18n), 현지화(L10n)
  • 뮤테이션 테스트
    - 소스코드를 변형(뮤턴트)하여 동일한 입력값으로 다른 결과 출력시키는 테스트 케이스 선정, 테스트 케이스의 적합성 판단
    - 상속성 : IHD, IOD, IOR
    - 다형성 : OMD, PCD
    - 유형 : Do fewer(일부선택해 샘플링), Do Faster(여러 뮤턴트의 동일 컴파일), Do Smarter(여러기에 분산)
    - Mutant Score : Dead Mutant / Total Mutant(점수 높을수록 우수)

  • 비버깅(Bebugging)
    - 의도적으로 오류코드를 삽입하여 잔존 오류 추정, 테스트의 효율성 측정
    - ① 의도적 오류 100개 삽입 ② 테스트 결과 의도적 오류 10개 발견, 의도하지 않은 오류 20개 발견 ③ 잔존오류 = (20*0.9)/0.1 = 180개
  • 퍼즈 테스트
    - 랜덤데이터 입력, 실패 유발, 예외/오류 분석하여 보안취약점 발견
    - 조작기(Fuzzer)에 의한 시행, 오류 주입과 유사, 담당자의 높은 이해도, 재사용의 불용이성, 특별한 보안 오류 찾기
    - 분류 : 블랙박스 퍼징(입력값 무작위/단순, 어플리케이션 실행이 멈추거나, 실행이 일시적으로 보류되면 테스트 실패), 화이트박스 퍼징(소스코드 분석)
    - 커버리지 : Direct/Indirect Physical Attak, Local/Remote Wireless Attack
    - 발견 가능한 결함 종류 : Field Level(OverFlow, Integer Anomalies), Structual(UnderFlow, Unexpected Element), Sequence Level(Out of Sequence omitted, Spamming)
    - 취약점 탐지 유형 : System Crash, DDoS 공격 조건들, 보안 취약점, 성능저하, 느린반응

  • 스모크 테스트
    - 빌드검증테스트(BVT)
    - 테스트 환경을 테스트, 제3자(QA), 시나리오 없이 테스트
    - 매뉴얼, 빌드, 테스터, 테스트 분석정보, 인프라
  • 커서리 테스트
    - 개발자, 즉흥적, 비공식
    - 개발 진행단계
  • 새너티 테스트
    - 개발팀, TC없이 테스트, 공식
    - 개발완료단계
  • 백투백 테스트
    - 2개 혹은 그 이상의 다양한 컴포넌트나 시스템을 동일한 입력값으로 실행
    - 버전별 결과 확인, 안전성/신뢰성
    - ISO 26262 ASIL의 모든 레벨에서 모델과 코드사이에서 필수
  • 그레이박스 테스트
    - 내부시스템의 자세한 지식, 요구사항보다 상세설계문서 참고
    - 사전오류 미리 확인, 오류로 인한 추가 코딩 시간 단축
    - 다크그레이 블랙박스 : 외부 인터페이스만 사용, 내부 구현 코드 분석
    - 라이트그레이 블랙박스 : 외부 인터페이스만 사용, 결과 검사는 내부 쿼리 사용
  • 도메인 테스트
    - 입력변수들간의 상관관계존재시 상관관계 영향을 분할하여 TC도출
    - ON, OFF, IN/OUT
  • 명세기반 테스트
    - 프로그램 요구사항 명세를 근거로 TC선정하여 테스트
    - #블-동경의상 폐분유직
  • 등등분할(Equivalence Patitioning)
    - ECP(Equivalence Class Positioning)
  • 경계값 분석(Boundary Value Analysis)
    - #싱로오로라 (Single Fault Base, Robustness, Worse-Case, Robust-Worse-Case, Random)
  • 의사결정 테이블(Decision Table Test)
    - #아조기
    - MECE
  • 상태전이 테스팅(State Trasition Test)
    - Condition, History, Status, Transaction
    - #상전이가액 (상태, 전이, 이벤트, 가드, 액션)
    - ① 상태전이 다이어그램 ② 상태-이벤트 테이블 ③ 상태트리 ④ 테스트케이스 ⑤ 테스트 프로시저
  • 페어와이즈
    - 서로소 관계
    - 자동조합툴 : MS Pict
    - 한계 : 모두 발견 불가 (경험적으로 의미있고, 결함 발견 가능성이 높은 조합 추가)
  • 분류트리기법(CTM, Classification Tree Method)
    - 트리구조로 분석 및 표현
    - 트리끝단 조합으로 중복누락 회피
    - Early Test Design
    - CTE(Classification Tree Edition) 활용
    - 파라미터, 세부트리, ID부여, TC작성, 유효/비유효 분기점
  • 유즈케이스(Use Case Test)
    - 비즈니스 프로세스, 인수테스트 설계 용이
    - 기본흐름, 대체흐름(선택흐름)
    - 유형 : 유즈케이스 내부 테스팅, 유즈케이스간 상호작용
    - 컴포넌트(단위) 레벨 : 시나리오별, 문장별
    - 시스템(통합) 레벨 : 활동기반 커버리지, 전이기반 커버리지, 경로기반
  • 직교배열 테스트
    - 행+열, 서로소(Pairwise)
    - 모든 원소 직교배열
    - 비용 효율적
    - 파라미터, 레벨(값), 직교배열 테이블
    - 직교성/균형성
  • 구조기반 테스트
    - 내부구조, 복잡도 검증, 화이트박스
    - 컴포넌트 레벨, 통합 레벨, 시스템 레벨
    - #구결조 조결 변결 다경
  • 구문 커버리지(Statement Coverage)
    - 구문 100% 수행
  • 결정 커버리지(Decision Coverage)
    - 전체 조건식 참 1번, 거짓 1번
  • 조건 커버리지(Condition Coverage)
    - 개별 조건식 참 1번, 거짓 1번
  • 조건/결정 커버리지(C/DC)
    - 전체 조건식 참 1번, 거짓 1번
    - 개별 조건식 참 1번, 거짓 1번
  • 변경조건 커버리지(MC/DC)
    - 각 개별 조건식이 다른 개별 조건식에 영향을 받지 않고, 전체 조건식의 결과에 독립적으로 영향을 주도록 함
    - C/DC 향상
    - ISO 26262-6 SW테스트에 포함, ASIL D등급에서 필수
    - 진리표 통해 확인, 조건표의 데이터가 변경되는 조건만 취득하여 테스트

  • 다중조건 커버리지(MCC)
    - 모든 개별 조건식의 모든 가능한 논리적 조합을 고려한 강력한 커버리지
    - 테스트양 방대, 테스트전 100% 결함 제거 필요
  • 경로 테스트
    - 제어흐름도
    - McCabe 회전복잡도
    - 테스트 회수의 상한선 제공
  • 분기 테스트
    - 모든 분기의 결과를 참 1번, 거짓 1번
    - DC와 거의 동일
  • 루프 테스팅
    - #간중연구 (간단루프, 중첩루프, 연결루프, 구조루프)
    - #BOTY (Bypass, Once, Twice, Typical, Max(-1,0,1), Min(-1,0,1), Negative, Null)
    - 루프 크러싱 머신(차량 안전성 테스트)
  • Concolic Excution
    - CONcreate + symbOLIC
    - 하나의 입력값에 대해 프로그램을 수행후, 기호실행(Symbolic Excution)을 이용해 분기 조건을 구하고 이를 활용하여 TC 생성
  • 경험기반 테스트
    - #경-오탐체소리
  • 오류추정 테스트
    - 테스터의 시스템에 대한 완전한 이해
    - 취약점 식별
    - Experience Based, Heuristic, Specialist, Knowledge
  • 탐색적 테스트
    - 경험적, 체험적, 반복적
    - 살충제 페러독스 해결
    - #차박노시디 (차터, 타임박스, 노트, 세션, 디브리핑)

  • 체크리스트
    - What, 전문가, 경험기반
    - 그레이박스
  • SW 성능 튜닝
    - 응답시간/트랜잭션 처리, 대기큐/대기시간, 프로세스 상태 및 개수, 세션 상태 및 개수, 통신 큐 채널 상태, 자원, 오류 및 예외, 부하분산, 관점별 성능 튜닝
  • 리스크기반 테스트
    - 비즈니스, 기술 위험을 정량적으로 측정, 우선순위
    - #식분계추 (위험식별, 위험분석, 위험대응계획, 위험추적)
    - 장애발생가능성(기술, Likehood), 영향도(비즈니스, Impact)
    - STA(Several Testing Area), STTA(STrong TA), ITA(Intensive TA), FTA(Foundational TA)
    - HL : STA > STTA > ITA > FTA
    - LL : STA > ITA > STTA > FTA

품질

  • SW품질관리 체계
    - QM, QP, QC, QA
  • 품질 연혁
    - 데밍 : 통계적 관리, PDCA
    - 쥬란 : 품질 3분법(계획-통제-개선), 품질비용
    - 크로스비 : Zero Defect
  • SW품질
    - 명시적이거나 묵시적인 필요로 만족시키는 능력과 관련된 SW제품의 특성 및 특징의 전체(9126)
    - 품질Q = 요구사항 충족도(P) / 요구사항 기대치(E)
    - BigQ : 고객의 만족
    - SmallQ : 결함없는 SW요구명세에 부합하는 SW
  • McCall의 품질요소
    - #개운전 (개정, 운용, 전환)
  • SW 매트릭
    - SW 표준화된 측정방법
    - 단계별 활동 : #공수분해피 (공식화, 수집, 분해, 해석, 피드백)
    - 측정유형 : 프로세스, 프로젝트, 프로덕트
    - 요구매트릭
    - 설계매트릭 : 팬인, 팬아웃, 응집력, 결합도, 모듈성, 모듈설계복잡도, 설계복잡도, 통합복잡도
    - 코드매트릭 : LoC, CC
    - 시스템 매트릭 : MTBF, MTTR, MTTF
  • 신뢰성/가용성
    - 신뢰성(Reliability) : MTTF+MTTR
    - 가용성(Availabilit) : MTTF/(MTTF+MTTR)*100
    - 가용성 확보 전략 : 결함방지, 결함복구, 능동/수동 다중화, 예비
  • 웹서비스 가용성 수준
    - 99%(3.56일), 99.5%(1.825일), 99.8%(17.52시간), 99.99%(50분)
    - 웹 서비스에서 요구 되는 가용성은 내부 기준으로 99.8% 수준을 목표로 하고 있으나 실 수행 결과는 99.5% 수준
    - 이유 : 장비 노후화로 인한 시스템 교체, HA, 이중화 미구현
    - 해결 : 최근 낮은 중요도 서비스는 클라우드로 이관하여 가용성 테스트 진행 중, 주요 서비스에 대해서는 이중화 구현
  • McCabe 회전복잡도
    - #에노이 V(G) = e-n +2
  • Halstead S/W Science
    - 프로그램의 길이 N = n₁ log₂ n₁ + n₂ log₂ n₂
    - 프로그램의 크기 V = N log₂ (n₁ + n₂)
    - 프로그램 크기 L = (2 / n₁) * (n₂ / N₂)
    - 프로그램 노력 E = V / L
  • QM
    - 품질기획, 품질보증, 품질관리, 품질개선 총괄 경영
    - 운용, 수정, 적용
  • QP
    - 품질표준, 품질요구사항, 품질활동 프로세스를 정의
    - 수익비용분석, 품질비용분석, 실험계획법, 벤치마킹
  • QA
    - 품질요구사항, 품질통제 결과물에 대한 감사, 품질표준과 품질지표의 준수 보증
    - 요구사항과 제품의 일치성 확인
    - 12207, 15504
    - 리뷰, 워크쓰루, 인스펙션, 품질감사
  • QC
    - 품질활동 결과기록, 부적합 사항 식별 시정조치
    - 7QC : #특히관계파산체
    - n7QC : #친계연애매매피
  • 정적기법(Static Technique) - ISO/IEC 20246
    - 초기에 결함 발견
    - 정적 테스팅 : 매트릭스 기반, 전문가 기반, 시나리오 기반
    - 동적 테스팅 : 블랙박스, 화이트박스
  • Review - IEEE 1028
    - 정적기법, 동적 테스팅
    - Informal Review, Walkthrough, Techinical Review, Inspection
    - 관리자, 중재자, 작성자, 검토자, 기록자
    - Peer-Review
    - 공식화 수준 : Informal Review < Walkthrough < Technical Review < Inspection < Audits
  • Walkthrough
    - Informal 활동, 소스코드 리뷰
    - 작성자 주도, 미팅전 준비(Pre-Meeting prepagation)
    - 배우고 이해하고 결점을 발견
  • Technical Review
    - 조기 결함 발견 예방, 정확한 요구사항 반영, 오류발견, 관리의 편리
    - 정형기술검토, 결함증폭모형
  • Inspection
    - 코드 실행하지 않고 잠재적인 오류/표준 미준수 결함(Defect)를 발견, 개선하는 과정
    - #계사준인수후 (계획, 사전교육, 준비, 인스펙션, 수정, 후속조치)
    - 소스코드 점검 규칙 : 코딩스타일, 네이밍관습, 하드코딩, 실행시 오류 예상
  • 인스펙션 원칙
    - 질문, 체크리스트는 미리 작성
    - 2시간 이내 회의, 5명 이내
    - 인스펙션외 다른것 허용안됨
    - 오류해결책 시도하지 말것
    - 산출물 작성자가 아닌 산출물 비판
    - 심한논쟁, 반박 금지
    - 반드시 기록
    - 합동검토시 오류수정 금물(검토에 집중)
    - 인스팩션과 테스트 병행 적용
    - 전체 책임감있게 후속조치 수행 중요
  • 인스팩션 적용효과
    - 페이건 그래프

  • 결함증폭모형
    - 정형기술검토
    - 결함들 : 전달된오류들, 증폭된 오류들, 새로 생성된 오류들
    - 발견 : 오류발견 효율(%)
  • 정형기법
    - 시스템의 특성을 수학적 표기법 이용
    - 명세, 검증, 코드생성
  • 모델체킹
    - 시스템을 추상화한 모델이 시스템이 요구하는 속성을 만족하는지 여부 검사하는 논리 분석 기법
  • 상태폭발문제
    - 모델체킹시 고려할 상태의 수의 지수적 증가 현상
    - 기술적(추상화, 효율적 자료구조, 중복검증 회피, 결합추론), 물리적(메모리, 리소스 증설, 분산, 병렬처리)
  • Z명세(Zed)
    - 집합과 함수같이 잘 알려진 수학적 개체를 이용하여 시스템의 상태모델을 정의하는 모델 기반의 저영적 명세서 언어
    - Schema, Schema name, Schema Signature, Schema Predicate
    - 4가지 섹션 : 주어진 집합, 상태정의, 초기상태, 연산
    - 유형 : 대수적 방법, 모형기반방법
  • FMEA
    - 제품의 공정의 잠재고장모드와 그 영향 파악, 중요한 고장모드를 예방하는 대책 수립하고 과정을 문서화 하여 재발방지하는 체계적 접근법
    - 확인, 평가, 순위, 예방
    - RPN(Risk Priority Number): Serverity, Occurence, Detection
    - 설계, 공정(테스트)
    - 상향식, 귀납적
    - FMECA, DFA, FMEDA, SPLE, Sagety Analysis
    - 지멘스, MDS테크놀로지
  • HAZOP
    - 위험성 파악 위해 평가하고 위험하지 않지만 설계된 생산능력을 저해할 소지나 운영상의 문제점을 파악하고 분석하는 기법
    - 이탈, 원인, 결과, 현재안정조치, 위험등급, 개선번호, 개선권고사항
    - 이탈 = 공정변수 * 가이드워드
    - 가이드워드 = none, less, more, part of, as well as, reverse, other than
    - 상향식
  • FTA
    - 하위수준의 오작동 원인들의 부울식으로 분석해 나가는 하향식 분석
    - #정이구평대 (문제에 대한 정의, 시스템에 대한 이해, Fault Tree 구성, Fault Tree에 대한 평가, 장애요소에 대한 대응)
  • SW 안전성 확보 요소
    - 개발방법론
    - SW관리
    - 안전표준(기준)
    - 표준 모듈
    - 안전성 구성관리 
  • GS인증
    - TTA
    - #기신사효유이
    - 9126(25010), 12119(25051), 14598(25041)
  • SP인증
    - SW산업진흥법 23조
    - SW개발 프로세스 역량수준 평가/인증
    - 5개 영역, 17개 평가항목, 76개 세부평가항목
    - #조프개지프 (조직관리, 프로세스개선, 개발, 지원, 프로젝트관리)
    - 3등급(5) > 2등급(3)
  • CMMI 2.0
    - CMMI 연혁 : 1991. SW-CMM 1.0 / 2002. CMMI 1.1 / 2006. CMMI 1.2 / 2010. CMMI 1.3 / 2018.3. CMMI 2.0
    - 2018.3  공개 / 2020.3까지 1.3 수용 / 2019.1부터 2.0 인증평가 시작 / 2020.4부터 2.0만 인증평가
    - 변경부분 : 모델변경, 평가방법 변경, 인증일정
    - 기존 1.3을 수용하고, 비즈니스의 성공과 가치 위주의 사용자 중심의 SW성숙도 평가 모델
  • CMMI 2.0 모델구조
    - #MPPPI (Model, Practice Area, Proactice Group, Practices, Informative Material)
    - View

  • CMMI 2.0 Practice Area(20)
    - #거인견모형 성공요계프 (GOV, II, EST, MC, CM, MPM, SAM, RDM, PLAN, PQA)
    - #조동원의 위v프프 (OT, PR, CAR, DAR, RSK, VV, PCM, PAD)
    - Dev PA : TS, PI
    - L4 : MPM, PLAN, SAM, GOV, CAR, PCM
    - L5 : MPM, CAR

  • CMMI 2.0 대응전략
    - 변경사항 : 신규PA, 독립/통합PA(EST/PR 독립, RDM/MPM 통합), 심사방법변경, 심사범위변경, 교육
    - 심사범위변경에 따른 맞춤 대응
    - 개발QA 조직 및 EPG조직 기능 확대를 통한 이행보장
    - V2.0 전환 전략 조기 수립
    - 프로세스 변경 및 개선
  • TMMI
    - #초관정량최
  • ISO/IEC 12207
    - SW생명주기 단계별 필요한 프로세스
    - #기지조
    - #획공개운유 문형문VV합감품 관기훈개
  • ISO/IEC 15504(SPICE)
    - SW프로세스 능력평가
    - 12207프로세스(40개)와 프로세스 수행능력의 2차원으로 평가
    - #기지조
    - CUS, ENG / SUP / MAN, ORG
    - #불수관확예최
  • ISO/IEC 33020(A-SPICE 3.1)
    - 완성차 업체의 공급업체 평가
    - PRM : #기지조 #획공소시지 재프관
    - 3개 카테고리, 8개 프로세스 그룹, 32개의 프로세스
    - PAM : 프로세스 능력 지표(능력, 프로세스, 성과, 공통실행, 공통자원), 프로세스 수행 지표(PRM, 기본실행, 작업성과물)
    - #불수관확예혁
    - 2.5대비 변경사항 : 세분화되 평가척도 반영된 측정 프레임워크 33020 포함(PRM, PAM 구분)
    - PAM : 프로세스 수행 지표, 프로세스 능력 지표

l

  • ISO/IEC 9126 (25010)
    - #9품2패8평
    - 모델, SW품질평가 메트릭
    - ISO 25010
    - #기신사효유이 + 보호
    - 기능 : #적정보상준
  • ISO/IEC 12119 (25051)
    - 절차, SW패키지 제품에 대한 품질 요구사항
    - ISO 25051
    - 제품설명서, 사용자문서, 실행프로그램
    - 절차 : #설문프기작 (설명서 시험, 문서 시험, 프로그램 시험, 시험기록, 시험결과작성)
  • ISO/IEC 14598 (25041)
    - 평가, SW제품평가
    - ISO25041
    - #반재공격
    - #GP개구평평
    - #요명설수
  • ISO/IEC 25000(SQUARE)
    - 측정기법, 평가방안 통합
    - #요모관측평 (요구, 모형, 관리, 측정, 평가)
    - 요구 : 2503n(15288)
    - 모형 : 2501n(9126-1)
    - 관리 : 2500n(14598-2)
    - 측정 : 2502n(9126-2, 3, 4)
    - 평가 : 2504n(14598-1, 3, 4, 5, 6)
  • ISO/IEC 61508
    - 플랜트/시스템, 전기전자분야 기능안전성
    - #기일전 소정 안적기 (기능안전성, 일반요구사항, 전자장치 안전관련 요구사항, 소프트웨어 요구사항, 정의와 약어, 안전무결성 수준 결정방법의 예, 적용지침, 기법)
  • ISO/IEC 26262 2nd
    - ) 116
    - 정의 : 자동차에 탑재되는 SW 오류로 인한 사고방지 위해 ISO에서 제정한 자동차 안전 국제 규격
    - 2011.11.11
    - 3.5t 미만 승용차(2nd에서는 삭제), 차량의 전기전자장치의 기능안전성
    - #용기개 시하소 생지안 가반모 (용어, 기능안전관리, 개념, 시스템 수준 개발, 하드웨어 수준 개발, 소프트웨어 수준 개발, 생산/운영/서비스/페기, 지원, 안전분석, 가이드라인, 반도체, 모터사이클)
    - 사용실적에 의한 검증 논란
  • ASIL
    - 26262 자동차 안전성 보전등급
    - SEC, ASIL A~D
    - Serverity(s0~s3)
    - Exposure(e0~e4)
    - Controllability(c0~c3)

유지보수

  • 유지보수
    - #원시대 #수완예적 #계예응지 #데프문시 (원리(수정적, 완전적, 예방적, 적응적), 시점(게획, 예방, 응급, 지연), 대상(데이터, 프로그램, 문서, 시스템))
  • 리만의 SW변화의 원리
    - #변복진안 보성품시
    - ISO 14764
    - S(Specification & Solution)-Type, P(Procedures)-Type, E(Environment)-Type
  • 모듈화
    - #설-모시비 구-매기인
    - 분할과 정복, 정보은닉, 자료추상화, 모듈의 독립성
    - 모듈수-인터페이스 Trade-off
  • 응집도
    - #우논시절통순기
  • 결합도
    - #내공외제스자
  • 3R
    - 역공학(Reverse Engineering), 재공학(Re-engineering), 재사용(Re-use)
  • 재사용
    - #유적생사확신
    - #클디오모시
    - 블랙박스 : 실행 컴포넌트, 패키지
    - 화이트박스 : SW지식, 설계 및 데이터정보, 소스코드
    - 표준화, 공유&사용, TCO절감, 품질보증
  • 역공학
    - 유지보수 용이, 기존제품 개선, 취약성 점검, 콘텐츠 발전, 재사용성 증가, 보안성 강화
  • 코딩오류
    - 메모리누수, 중복된 Free선언, Null의 사용, 별칭의 남용, 배열 인덱스 오류, 수식예외 오류, 사용자 정의 자료형 오류, 스트림처리 오류, 버퍼 오류, 동기화 오류, 데드락, 레이스컨디션, 모순있는 동기화
  • 코드스멜
    - 중복된 코드, 긴메소드, 큰클래스, 너무 많은 인수, 두가지 이상 이유로 수정되는 클래스, 여러 클래스를 동시에 수정, 다른 클래스를 지나치게 애용, 유사 데이터들의 그룹중복, 기본 데이터 타입 선호
  • 리팩토링
    - 코드스멜 제거
    - #사테코리
    - 결합도 측면 (Move Method, Move Field, Extract Class)
    - 응집도 측면 (Pull Up Method, Pull Up Field, Push Down Method, Push Down Field, Inline Class)
    - 가독성 측면 (Rename)
  • 코딩컨벤션
    - 가독성
    - C언어 기준 표준 : CERT C 코딩표준, MISRA-C 표준
    - 낙타 컨벤션, 파스칼 컨벤션, 헝가리안 컨벤션
    - 람다 컨벤션(람다식) : 익명함수 (코드의 간결성, 지연연산을 통한 퍼포먼스 향상 이터레이션 관련 코드 구현시 불필요한 부분 제거)
    - Fortify, Compass/ROSE, LDRA, Splint
  • 코드 난독화
    - 저작권, 보안, 기술
    - #구데제예배
  • 형상관리
    - #식통감기
    - SCI, Baseline, Configuration Version, CCB, 변경프로세스
  • 베이스라인
    - #기분설시제운

아키텍처

  • IEEE1471 / ISO 42010
    - 유연성, 확장성
    - Mission, Environment, System, Architecture, Stakeholder, Architecture Description, Rationale, Concern, Viewpoint, View, Library Viewpoint, Model
  • 4+1 View
    -#유리PD
  • SW아키텍처 프레임워크
    - 비즈니스, 기술, 데이터, 애플리케이션
  • SW아키텍처 드라이버
    - 요구사항 아키텍처 구성에 영향을 주는 항목
    - #기품제
  • SW아키텍처 품질속성
    - #시비아 (시스템, 비즈니스, 아키텍처)
    - #가변성보테사 (가용성, 변경용이성, 성능, 보안, 테스트용이성, 사용성)
  • SW아키텍처 품질속성 시나리오
    - #원자환대응응 (원천, 자극의 원천, 환경, 대상, 응답, 응답측정)
  • 유틸리티 트리
    - 품질속성 목표파악, 속성간 우선순위 파악, 시나리오 도출 기법
    - 하향식
    - 요구사항 우선순위 결정, 의사소통 수단, 아키텍처 평가 기준
    - #유품속시 (유틸리티, 품질속성, 세분화 속성, 시나리오)
  • SW아키텍처 설계전략(Tactics)
    - #가변성 보테사
  • SAD(SW Architecture Description)
    - 원칙 : #핵표표내리 (핵심집중, 표현방법, 표준준수, 내용충실, 리뷰활동)
    - Perry and Wolf's Model : #요표근 (요소, 표현법, 근거)
    - Shaw and Garlan's Model : #컴커패 (컴포넌트, 커넥터, 패턴)
    - 비즈니스 목표 > 아키텍처 프레임워크 선택 > 아키텍처 요구사항/품질속성 식별 > 품질속성 시나리오 작성 > 품질요구사항 도출 > 설계전술(Tactic) 명세서 작성 > 아키택처 패턴(스타일) 선택 > 아키텍처 평가 > SW아키텍처 정의서 작성
  • 아키텍처 스타일
    - ) 116
    - #데데가호독이
    - Repogitory, MVC, C/S, DataFlow, Layerd, BlackBoard
  • 아키텍처 평가
    - 평가시기 : 이른평가, 아주이른평가(Discovery Review), 늦은평가
    - 평가기법 : 시나리오기반, 시뮬레이션 기반, 수학적 모델, 경험기반
    - 평가유형 : SAAM, ATAM, CBAM, ADR, ARID
    - 정방향/역방향 분석
  • SAAM
    - 수정가능성, 기능분석 중심
    - 입력 : 아키텍처 기술서, 품질속성 시나리오
    - 출력 : 시나리오-아키텍처 맵핑 결과
  • ATAM
    - 품질속성 만족과 품질속성간의 상호작용(Trade-off) 평가
    - 이해, 분석, 검증
    - 구조 : #준/소조테보/후 (준비, 소개, 조사/분석, 테스트, 보고, 후속조치)
    - 절차 : #아동아 식품분 우분발 (ATAM 소개, 동인, 아키텍처 소개, 아키텍처 접근법 식별, 품질속성 유틸리티 작성, 아키텍처 접근법 분석, 브레인스토밍 우선순위 결정, 아키텍터 접근법 분석 반복, 결과 발표)
    - 유틸리티 트리, 브레인 스토밍
    - 산출물 : 품질속성 요구사항 우선순위 정의서, 아키텍처 접근법, 접근법의 분석 질의서, 위협/무위협 정의서, 민감점-절충점 정의서,
  • CBAM
    - 비용, 이익, 불확실성
    - #시효이선 (시나리오 수집/정제/결정, 효용-반응값 곡선 작성, 전체이익 계산, 아키텍처 접근법 선정과 검증)
  • ADR
    - 부품(상세) 설계에 대한 평가
  • ARID
    - ATAM+ADR
    - 요구사항 검증(사전에 검증), 설계초기
    - 하루안에 실시
  • MVC
    - 모든 입력 Controller에서 처리
    - 하나의 Contoller, 여러개의 View
    - View는 Model을 이용해 업데이트
    - View-Model간의 의존성이 여전히 높음

  • MVC type-1
    - 사용자의 인터렉션이 뷰에서 동작하는 방식
    - 뷰와 컨트롤러의 혼용 운용
    - 장) 복잡도 낮음, 단) 뷰의 변경이 컨트롤러에 영향
    - 짧은 생명주기를 갖는 경우
  • MVC type-2
    - 뷰와 컨트롤러를 완전히 분리
    - 컨트롤러를 서블릿을 구현
    - 변화의 영향에 유연
    - 장기적으로 유지보수가 필요한 경우
  • MVP
    - 입력이 View
    - Presenter는 View의 인스턴스 보유, 1:1 관계(중복코드 발생 가능)
    - View-Model 완벽한 분리, MVC에 비해 필요 클래스수 증가
    - View-Presenter 의존성 매우 강함

  • MVVM
    - View를 나타내주기 위한 Model인 ViewModel
    - Model쪽에 가깝고, View에 바인딩될때 강력해짐
    - Command와 Data Binding으로 MVP와 달리 View-Model의 의존성을 완벽히 분리 가능

  • Clean Architecture
    - 프레임워크에 독립적, 테스트용이성, UI에 독립적, 데이터베이스에 독립적, 다른 외부요소들에 독립적

디자인 패턴

  • 개요
    - #이문해결
    - 캡슐화, 위임, 인터페이스, 느슨한결합, 개방&폐쇄, 의존관계
    - 아키텍처 스타일, 프레임워크, 리팩토링, 알고리즘
  • 패턴 유형
    - #생구행
    - 생성(5) : #생파애비프로싱글 (Factory(클), Abstract Factory, Builder, Prototype, Singleton)
    - 구현(7) : #ABCDFFP (Adapter(클), Bridge, Composite, Decorator, Facade, Flyweight, Proxy)
    - 행위(11) : #CIMS OTV (Command, Chain of Responsibility, Interpreter(클), Iterator, Memento, Mediator, State, Strategy, Observer, Template(클), Visitor)
  • 화이트박스/블랙박스 재사용
    - 클래스 패턴 : 클래스간 상속 관계에 대한 정의를 수행하는 패턴, 컴파일 타임에 정적으로 결정
    - 객체 패턴 : 객체 사이의 관계, 객체 사이의 관계는 보통 구성을 통해 정의, 실행중 관계가 생성, 동적/유연
    - 화이트박스 재사용 : 일반화/상세화의 관계나 상속구조를 통해 클래스의 구현 사항을 재사용 하는 기법, 클래스내의 내용을 알고 이를 재사용, 재사용 클래스 변경시 객체 영향 큼
    - 블랙박스 재사용 : 객체 인터페이스를 이용하여 객체를 조립하고 결합, 객체내 구현은 모른체 외부 기능만을 활용, 재사용 클래스의 변경이 일어난 경우 객체 미치는 영향 상대적으로 작음
    - 위임 : 어떤 객체의 조작 일부를 다른 객체에게 넘김(위탁자->수탁자), 상속보다는 위임을 통해 객체간 결합도 낮츰
  • Factory(Class)
    - 객체를 생성하는 인스턴스를 정의하지만, 인스턴스를 만들 클래스의 결정은 서브클래스 에게 위임, 설계를 재정의 가능한 것으로 하면서도 복잡해지지 않게 함
  • Abstract Factory
    - 구체적인 클래스를 정의하지 않고도 관련성을 갖는 객체들의 집합을 생성하거나 서로 독립적인 객체들의 집합을 생성할 수 있는 인터페이스를 제공
  • Builder
    - 복잡한 객체를 생성하는방법과 표현하는 방법을 정의하는 클래스를 별도로 분리해 서로 다른 표현이라도 이를 생성할 수 있는 동일한 구축 공정을 제공
  • Prototype
    - 원형이 되는(prototypical) 인스턴스를 사용하여 생성할 객체의 종류를 명시하고, 이렇게 만든 견본을 복사해서 새로운 객체를 생성하는설계 패턴
  • Singleton
    - 오직 단 하나의 인스턴스만을 생성하고 전역변수 사용과 같이 어디서나 인스턴스에 접근 가능한 디자인 패턴
  • Adaptor(Class)
    - 구체적인 클래스를 정의하지 않고도 관련성을 갖는 객체들의 집합을 생성하거나 서로 독립적인 객체들의 집합을 생성할 수 있는 인터페이스를 제공
  • Bridge
    - 기능의 클래스 계층과 구현의 클래스 계층을 분리하는 패턴 / 구현 뿐만 아니라 추상화된 부분까지 변경시켜야하는 경우 사용
  • Composite
    - 클라이언트에서 개별 객체와 복합 객체를 동일하게 다룰 수 있도록 함 / 그룻과 내용물을 동일시해서 재귀적인 구조를 만드는 패턴
  • Decorator
    - 상속없이 객체에 동적으로 새로운 서비스를 추가할 수 있게 한다. / 객체에 장식을 해가는 패턴
  • Façade
    - 다수 객체들의 인터페이스 집합에 대해 일관된 인터페이스 제공
  • Flyweight
    - 공유 가능한 정보와 그렇지 않은 정보를 분리하고 공유 가능한 정보를 객체 형태로 정의하여 정보 공유를 수행하는 형태의 설계 패턴
  • Proxy
    - 접근 대상 객체와 동일한 인터페이스를 제공하는 대리인 객체를 이용해 타겟 객체 접근 전에 추가적인 작업의 기회를 제공하는 패턴
  • Chain of Responsibility
    - 어떠한 요구가 발생 했을때 그 요구를 처리할 객체를 바로 결정 할 수 없는 경우에는 다수의 객체를 사슬처럼 연결해두고 객체의 사슬을 차례로 돌아다니면서 목적에 맞는 객체를 결정하는 패턴
  • Command
    - 동작이나 트랜잭션에 대한 요청을 객체를 통해 캡슐화 함으로서 해당 요청을 저장하거나 로그에 기록하고 실행취소(undo), 재실행(redo) 등의 기능을 제공하고자 하는 설계 패턴
  • Interpreter(Class)
    - 언어의 다양한 해석, 구체적으로 구문을 나누고 그 분리된 구문의 해석을 맡은 클래스를 각각 작성하여 여러 형태의 언어구문을 해석할 수 있게 만드는 패턴
  • Iterator
    - 집합 객체 요소들의 내부 표현 방식을 공개하지 않고, 순차적으로 접근하는 구조를 제공하는 디자인 패턴
  • Mediator
    - 각 객체가 관련성을 갖는 다른 객체에 대한 참조 관계를 직접 정의하기보다 이를 독립된 다른 객체 한 곳(Mediator)으로 몰아서 관리를 용이하게 해주는 패턴
  • Memento
    - 어떤 시점에서의 객체의 상태를 저장해 두었다가 필요 시 객체를 그 시점의 상태로 되돌리는 패턴
  • State
    - 행위(Behavioral) 유형의 패턴으로 상태를 일반적인 데이터 변수로 두지않고 객체로 만들어 그 상태에 따른 행동들을 분리한 패턴
  • Strategy
    - 상황에 따라 알고리즘이 달라져야 할 필요가 있을 때, 각 알고리즘 클래스들을 공통된 인터페이스에 맞게 구현하여 다형성을 활용하는 패턴
  • Observer
    - 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에게 통지되고 필요 시 자동으로 내용이 갱신되는 패턴
  • Template Method(Class)
    - 상위 클래스에서 처리의 흐름을 정하고 하위 클래스에서 구체적인 내용을 재정의하는 디자인 패턴
  • Visitor
    - 데이터 구조 안을 돌아다니는 주체인 ‘방문자’를 나타내는 클래스를 준비해서 그 클래스에게 처리를 맡김(렌더링, 이벤트 처리, 탐색 등)

UML

  • UML
    - #가구명문
    - #구행그주 의연일실
    - 도해(기능) : 유즈케이스
    - 도해(정적) : 객체, 클래스, 배치, 패키지 , 합성
    - 도해(동적) : 시퀀스, 액티비티 인터렉션 오버뷰, 상태, 스테이트 머신, 커뮤니케이션, 타이밍
  • UML 4계층
    - M0 : Runtime Instance
    - M1 : User Model
    - M2 : UML:Meta Model
    - M3 : MOF:Meta-Meta Model
  • UML 클래스 표현
    - 연관(Association) : has a, 화살표/실선
    - 의존(Dependency) : 일시적 관계, 화살표/점선
    - 집합연관(Aggregation) : part of, 빈마름모선
    - 복합연관(Composition) : contains a, 검정마름모선
    - 상속(Inheritance) : is a, 빈삼각형실선
    - 구현(Implement) : 위임, 빈 삼각형점선
    - 의존관계 : 오퍼레이션의 매개변수
    - 연관관계
    - 일반화관계(상속) : extends
    - 실체화관계(위임) : implement

  • Use-Case 다이어그램
    - 절차 : 시스템 상황 확인 > 액터식별 > 유즈케이스 식별, 유즈케이스 다이어그램 작성 > 유즈케이스 명세서 작성 > 유즈케이스 실체화
    - Actor, User Case, Package, Streotype, Association, Dependency, Extend, Include
  • Class 다이어그램
    - Class Name, Attrinute, Method
    - Interface, 변수, 클래스
  • Sequence 다이어그램
    - 객체들의 상호작용, 메소드 기준으로 작성
    - Actor, 활성객체, 제어사각형(활성화), 생명선, 메시지(동기, 반환, 비동기, 평판)
  • Activity 다이어그램
    - 비즈니스 프로세스 처리로직이나 조건에 따른 처리흐름을 순서에 따라 정의
    - 병렬적
    - #시종액전 분구시동 (시작상태, 종료상태, 액션상태, 전이, 분기, 구획면(SwimLane), 시그널, 동기바)
  • Interaction Overview 다이어그램
    - Activity + Sequence
  • Behavior 다이어그램
    - 연관성 있는 사물들간의 행위 및 상태를 표현
    - 컴포넌트 추출방법 : ERD를 통한 추출, 유지케이스의 공통 유즈케이스 추출, CRUD Matrix, Expert 판단
  • 스테이트 다이어그램
    - 상태전이 과정
    - #상전이가액
  • 통신 다이어그램
    - 교류(동적 흐름)
    - 객체, 링크, 메시지
  • 컴포넌트 다이어그램
    - 컴포넌트, 제공인터페이스, 요구인터페이스, 포트, 조립 컨넥터
  • 배치도
    - 노드, 관계선
  • 객체도
    - 객체, 연결
  • 패키지도
  • UML의 확정 매커니즘
    - #스제노꼬정유 (스테레오타입, 제약, 노트, 꼬리표값, 정제, UML Profile)
  • UML 2.0

정보시스템 감리

  • 정보시스템 감리 개요
    - 제 3자 입장, 정보시스템 효율성, 안정성을 위해 시스템 구축/운영 평가, 개선사항 도출/권고 하는 관리 활동
    - 전자정부법 제 57조, 정보시스템 감리기준 75조
  • 정보시스템 감리 점검 3.0
    - 사업유형/감리시점, 감리영역, 감리관점/점검기준
  • 사업유형/감리시점
    - EA : 1. 기반정립 및 현행아키텍처 수립 2. 목표아키텍처 구축 및 이행계획 수립
    - ISP : 1. 현황분석 및 전략수립 2. 개선모델 및 실행계획 수립
    - SD : 1. 요구분석 2. 분석/설계 1. 분석 2. 설계 3. 구현 4. 시험 5. 전개
    - DB : 1. 준비 2. 구축
    - OP : 1. 운영
    - MA : 1. 운영
  • 감리영역
    - EA : #기현목이관품 (기반정립, 현행아키텍처 구축, 목표아키텍처 구축, 이행계획, 관리체계, 품질보증활동)
    - ISP : #업기정품 (업무, 기술, 정보화계획, 품질보증활동)
    - SD : #시응데시운품 (시스템아키텍처, 응용시스템, 데이터 베이스, 시험활동, 운영준비, 품질보증활동)
    - DB : 데이터수집 및 시범구축, 데이터 구축, 푸밀검사
    - OP : 서비스 제공, 서비스 지원
    - MA : 유지보수 이행
    - 공통 : 사업 관리
  • 감리관점/점검기준
    - #절산성
    - 절차 : #계절준 (계획의 적정성, 절차의 적정성, 준거성)
    - 산출물 : #기무 편안보 효준일 (기능성, 무결성, 편리성, 안정성, 보안성, 효율성, 준거성, 일관성)
    - 성과 : #충실 (충족성, 실현가능성)
  • 감리 유형
    - 수행 : 정기, 3단계(요구사항, 설계, 종료), 2단계(설계, 종료), 상주
    - 분야 : 기술, 비용, 성과
    - 대상 : #사운 (사업, 운영)
    - 시기 : 사전, 진행, 사후
  • 감리 절차
    - #계계착현 종보반통 (1. 감리계약체결 2. 감리계획수립 3. 감리 착수회의 4. 현장감리/감리보고서 작성 5. 감리 종료회의 6. 감리보고 통보 7. 감리결과 반영 8. 감리결과 조치내역 확인 및 통보)

  • 감리 평가
    - 검토(적합, 부적합), 개선권고(필수, 협의, 권고), 개선시점(장기, 단기)
  • 감리대상
    - 5억이상 사업(총 사업비중 H/W, S/W 구매비 제외)
    - 대국민 서비스, 여러행정기관의 공동구축/사용(1억 미만 제외)
    - 행정기관 장의 필요성 판단
    - 20억미만 혹은 6개월 미만의 경우 2단계 감리
  • 공통감리절차 - 단계별 감리
    - #예현시
    - 예비조사 : 감리계획서
    - 현장감리 : 감리수행결과 보고서
    - 시정조치확인 : 시정조치 확인보고서
  • 현장감리
    - #시착수 작종통 (1. 감리시작 2. 착수회의 3. 감리수행 4. 보고서안 작성 및 검토 5. 종료회의 6 보고서 확정 및 통보)
  • 상주감리
    - 상주감리원 자격 : 사업비 20억 이상 감리 참여 3회 이상, PM/QA 분야 경력 3년 이상
  • 운영감리 범위
    - 서비스 지원 : 용역관리, 시스템운영, 신규 시스템 구축, 보안, 기타주요부분(산출물, 시스템업무편람)
    - 서비스 제공 : 유지보수 체계, 평가관리, 사용자 만족도 관리
  • 운영감리 유형
    - 정보시스템 진단 : 소스 인스펙션, 데이터품질/성능/보안 진단 등 정보시스템 진단
    - 운영프로세스 진단 : 서비스데스크, 장애관리, 변경관리, 서비스연속성관리 등 프로세스 진단
    - 도메인 요구사항 진단 : 도메인 요구사항이 정보시스템과 운영프로세스에 반영되었는지 진단
  • 감리 보고서
    - #계사총개상별 (감리계획서, 사업개요, 총평, 개선권고사항, 상세검토사항, 별첨)
  • 정보시스템 감리 법제현황
    - 전자정부법(2016.2) 57조 : 정보시스템 감리 유형, 절차 정의
    - 국가정보화 기본법(2008.2)
  • 정보시스템 감리 문제점/해결방안
    - 비용효과적 감리 수행 : 감리 인력 양성, 준거성 체크 후 실증성 확인
    - 경영층 의사결정 지원 : 비용/일정에 미치는 영향 보고, WBS 분석을 통한 EVM 도입
    - 감리수행 결과 효율성 향상 : 감리 자동화(코드 인스펙션 도구, 스크립트 기반 Record&Replay), 아키텍처 평가 지원
  • 보안 감리
    - 문제점 : 초기 보안설계 누락, 평가항목 적정성 미흡, 정보보호 활동 초기고려 누락
  • 보안감리 점검항목
    - 시스템 아키텍처 : 조직, 정책, 자산/위험식별, 네트워크, 서버, 단말기
    - 응용시스템 : 접근통제, 인증, 데이터 무결성, 시큐어코딩 가이드라인
    - 데이터베이스 : 취약점분석, 암호화, DBMS 보안기능 사용, 접근제어, SW패티
    - 시험활동 : 보안 운영지침서, 취약점진단 및 평가, 전담조직 사고 대응 절차, 해킹방지 적정성
    - 운영준비 : 개발자ID, 시스템접근권한, 트랩도어, 개발 로그 등에 대한 삭제 확인
    - 침투테스트 통한 보안감리 실행

정책

  • SW발주 프로세스
    - 예산수립/심의단계 > 발주준비 > 선정/계약 > 사업수행 > 종료/인수 > 유지관리
    - 소프트웨어산업진흥법, 전자정부법, 소프트웨어 사업관리 감독에 관한 일반기준, 정보시스템 구축/운영 지침, 국가계약볍
  • RFP
    - #기신사효유이 공
  • 제안서(Proposal)
    - #조제제 기사지 별가
    - #보현구
    - 평가 : 가중평가시스템, 사전필터링 시스템, 독립 산정 기법, 공급자 평가 시스템
  • 기술제안요청서
    - #사현사제 시기성보품 인데운제
  • ISMP
    - #프방분정이
    - 프로젝트 착수 및 참여자 결정 : 경영진 지원조직 형성, 프로젝트 수행 조직 편성, 프로젝트 계획 수립
    - 정보시스템 방향성 수립 : 정보화 전략 검토, 벤치마킹 분석, 정보시스템 추진 범위 및 방향 정의, 정보시스템 범위 및 방향 검토
    - 업무 및 정보기술 요건 분석 : 업무 및 정보기술 현황 분석, 업무요건분석, 정보기술 요건 분석, 업무 및 정보기술 요건 검토
    - 정보시스템 구조 및 요건정의 : 정보시스템 아키텍처 정의, 요건 간 이행 연관성 분석, 정보시스템 요건 기술서 작성, 정보시스템 요건 기술서 검토
    - 정보시스템 구축사업 이행방안 수립 : 정보시스템 구축사업 계획 수립, 분리발주 가능성 평가, 정보시스템 예산 수립, RFP작성, 정보시스템 구축 업체 선정 평가 지원
  • SW기술성 평가
    - #방기성 관지상 (전략 및 방법론, 기술 및 기능, 성능 및 품질, 프로젝트 관리, 프로젝트 지원, 상생협력 및 하도급계약 적정성)
  • SW품질평가 성능시험(BMT)
    - 소프트웨어산업진흥법(2016.1)
    - 문제) TTA독점, BMT품질저하, 비용 및 방법, 시간소요
    - SW제품 구매 금액이 5천만원 이상
  • PoC
    - 프로토타입(Mock-up, Gap), 파일럿 프로젝트(Spike, Agile)
  • SW 분리발주
    - 정부부처, 공공기관 7억원이상, 지자체 5억원 이상 사업규모
    - SW, HW, NW의 일괄(Turn-Key) 계약 지양
    - HW-SW, 패키지SW분리, SW개발부문 분리
  • SW 분할발주
    - #공할
    - 기획과 설계부실, 대가없는 과업환경, 수익성 악화, 불공정거래, 공공SW 생태계 악화, SW산업 경쟁력 약화
    - 공정, 기능, 부품분할
    - 3단계, 2단계, Steve McConnell의 분할발주의 지점
    - 1억미만 : 건수25%, 금액3%
    - 30억이상 : 건수3%, 금액 45%
    - 1억~30억 : 건수72%, 금액 52%
    - 요건정의, (기본)설계 : T&M계약
    - 개발, 테스트 : Fixed Price 계약
    - 소프트웨어산업진흥법 : 사업비 30억이상 의무, 30억 미만인 경우 과업심의위원회의 과업 내용 확정 명시
    - 1단계 설계사업의 분석 설계전문기업(PMO겸임) 고려

  • SW 대가산정 가이드
    - #유시모 기구운 (유형, 시점, 모형, 기획, 구현, 운영)
    - 절차 : 사업유형 식별, 대가산정 시점, 대가산정 모형 선정
    - 유형식별 : 기획단계, 구현단계, 운영단계
    - 기획단계 : ISP, ISP/BRP, EA/ITA, ISMP, 정보보안 컨설팅
    - 구현단계 : SW개발
    - 운영단계 : SW유지보수, SW운영, SW유지보수/운영, SW재개발
    - 대가산정 시점 : 예산확보 단계, 사업발주 단계, 사후정산 단계
    - 대가산정 모형 : 수명주기(유형) x 적용가능 시점
  • SW 대가산정 가이드, 2018년 변화
    - 2017.6 SW사업 대가산정 가이드 개정
    - DB구축비 산정 가이드 추가
    - 투입공수방식의 M/H 적용사례 추가
    - 주 52시간 맞춤 SW사업 대가 연구 : 사례별점수(UCP), 스토리점수(SP) 등 비교해 적용
    - 비기능 분야 기존 4가지 보정계수(규모, 애플리케이션 유형, 언어, 품질/특성) -> 5가지 보정계수(규모, 연계복잡성, 성능요구수준, 다중사이트 운영성, 보안)
  • 보안성 지속 서비스 대가
    - 2015. 정보보호산업의 진흥에 관한 법률(정보보호산업법)을 통해 보안성 지속 서비스 대가 관련 법적 토대 마련
    - 기존은 상호협의, 변경예정은 구체적 요율 명시
    - 연구조사 결과 인건비 등을 감안하여 9.9% 산정
  • FP
    - #유범이의 데이트
    - ISO14143
    ① 측정 유형 결정(개발, 개선, 유지보수)
    ② 측정 범위 및 애플리케이션 경계 식별(내부, 외부)
    ③ Data 기능 측정(ILF, EIF)
    ④ 트랜잭션 기능 측정(EI, EO, EQ)
    ⑤ 미조정 기능점수 결정(③+④)
    ⑥ 조정인자 결정
    ⑦ 조정기능 점수 결정
    - 가중치 : ILF(7.5), EIF(5.4), EI(4.0), EO(5.2), EQ(3.9)
  • 예비타당성 조사
    - ) 116
    - 정의 : 국가재정법 제 38조 및 시행령 제 13조의 규정에 따라 대규모 신규 사업에 대한 예산편성 및 기금운용 계획을 수립하기 위하여 기획재정부장관 주관으로 실시하는 사전적인 타당성 검증/평가 제도
    - 사전검토제도(국가제정법)
    - 필요성 : 예산낭비 최소화, 사업리스크 완화, 사업취소방지, 사업의 우선순위
    - 대상사업 : 사업비규모(총사업비 500억 이상 or 국가재정 지원규모 300억 이상 대형 신규 공공투자 사업), 정보화 사업대상, 신규사업, 대상사업요건
    - 선정기준 : 중장기 투자계획과의 부합성, 사업계획의 구체성, 사업추진의 시급성, 지역균형발전요인, 기술개발 필요성
    - 면제사업 : 국방, 통일, 재난/안전, 법령추진, 정책사업
    - 주요규정 : 수행기관(일반연구개발(한국개발연구원(KDI), 공공투자관리센터(PIMAC)), 순수국가연구개발사업(한국과학기술평가원)), 결과통보 및 공개(재정사업평가 자문위원회의 자문 등을 거쳐 기획재정부를 통해 해당 부처에 통보), 지침 및 재정사업 평가
    - 평가항목 : 기술성(적절성, 성공가능성, 중복성), 경제성(비용-편익분석), 정책성(일관성 및 추진의지, 위험요인), 종합평가(AHP)
    - 문제점 : 투자 적시성 확보문제(사업착수까지 1~2년 장기화), 수행기간의 장기화, 정보화 사업유형별 특성 미반영 및 지침/방법론 미흡, 일몰제문제(사업기획의 부실), 종합조정기능 미흡
    - 개선방향 : 면제요건 재정립, 면재결정 절차 마련, 사업기획 내실화를 위한 기획역량 제고, 사업계획 변경불허의 운영지침 명시, 대상사업 총사업비 기준 현실화, 사업유형 정의 및 유형별 분석 방법론 개발, 사업유형 고려한 다양한 조사 방법론 지침 마련, 일몰사업 대응 지침 마련, 범부처 중장기 투자전략에 입각한 투자 우선순위 설정, 조사 결과의 실질적 예산 반영
  • 공공 정보시스템 운영성과 평가
    - ) 116 ) 110
    - 정의 : 정보시스템 운영 타당성을 판단하기 위한 정해진 기준에 따라 성과를 측정하고, 그 결과에 따라 정보시스템의 유지관리 유형을 결정하여 업무 및 비용 측면의 성과를 높이기 위한 제반활동
    - 성과측정지표 : 비용(누적유지보수비 비율, 투입운영유지비 증감률, 평균운영 유지비 증감률), 업무(기능활용도, 사용편의성, 업무성과 달성도)
    - 성과측정지표 데이터 : 비용(정보시스템 개발비, 유지보수비, 운영비, 활용규모), 업무(기능수, 사용편의성 측정점수, 업무성과, 직전연도 성과목표)
    - 1차 성과측정 : 유지, 재개발, 기능고도화, 폐기 식별
    - 2차 성과측정 : 1차 유형중 기능고도화, 재개발, 폐기중 구축방안, 타당성 분석 통해 최종 의사결정
    - #유기재 전통폐 (유지, 기능고도화, 재개발, 전면재개발, 통폐합, 폐기)
    - 개선방안 : 정보자원 효율성 측정(자원효율성 지표정의), 구축방안 정의(구축범위 정의, 요구사항 정의, 구축방안 수립), 투자타당성 분석(경제성 분석, 정성적 효과분석), 최종의사결정

  • SW영향평가
    - 민간시장 침해여부를 사전 검증/평가
    - #국법7 기대 파필침공
    - 국가정보화기본법 제 7조
    - 기관공동사용형 평가방법 : SW산업계의 파급효과, 사업추진의 필요성
    - 대국민서비스형 평가방법 : 민간 유사서비스 침해여부, 추진사업의 공공성
  • 공공SW 발주관리의 제도 개선현황
    - SW산업육성 : 대기업참여제한(2003), 분리발주 의무화(2009), 상출제 기업참여제한(2013), 유지관리 요율상향(2013), 영향평가도입(2015), 하도급구조개선(2015), BMT의무화(2016)
    - 공정경쟁 및 제값주기 : 최저입찰가격 기준상향(2014), 특정규격 요구관행 개선(2014), SW모니터링단 운영(2015), SW개발사업 표준단가 상향(2015), SW 발주기술지원센터 운영(2015)
  • 공공SW 사업추진 절차 및 문제점
    - 절차 : 예산수립/심의단계, 발주준비, 선정/계약, 사업수행, 종료 및 인수, 유지관리
    - 문제점 : 법제도 준수율 대비 낮은 체감정도, 과업 명확화 문제, 과업 변경기준 부재, 사업 경험의 체계적 축적 부족
  • 공공SW사업 발주관리 개선방안
    - 2017.12 5대 공공SW 발주제도 혁신항목(SW 산업 육성을 위한 공공SW사업 혁신방안) - 심의 확정 내용
    - #명보원 산영 (명확, 보상, 원격지, 산출물, 영향평가제)
    - 과업범위 명확화 : 요구사항 상세화 기준 강화
    - 과업내용 기준 정립과 과업변경 보상 : 과업구체화 기준 관리, 과업변경 보상
    - 원격지 개발 활성화 : 작업장소 제한 완화
    - SW사업 산출물 활용 촉진 : 수주기업의 지식재산권 보장
    - SW영향평가제 법제화 : 민간시장 침해 방지
  • 공공SW사업 발주관리 중장기 개선 방안
    - 사업계획 충실화, 적정예산 확보, ISMP 활용 지원 정책, 사후정산 및 평가제도 도입, 공공발주자 확충 및 전문성 강화
  • SW중심사회
    - 아이디어와 상상력을 SW로 실현
    - 다양한 문제점을 SW로 해결
    - #사창개협 (사회, 창의, 개방, 협력) 문화가 SW를 매개로 하는 일상화 되는 사회
  • 현재 SW산업진흥법의 한계
    - HW 종속적인 법체계, 공공SW사업에 치중, 새로운 SW환경 대응 부재, SW문화 확산 미흡
  • SW산업 관련 법 제/개정 변화
    - 소프트웨어개발 촉진법(1987) : SW기술 개발 및 이용촉진 등 SW진행기반 조성
    - 소프트웨어산업 진흥법(2000) : 지식정보화 사회핵심 사업인 SW산업 종합 육성
    - 소프트웨어산업 진흥법(2017) : SW산업육성 강화 및 SW활용/확산 지원
  • 소프트웨어 산업 진흥법(소프트웨어 진흥법) 개정사항(안)
    - SW가 활용되는 국가 전 영역 : SW사업선진화 > SW산업기반 조성 > SW융합/교육 확산
    - 5장 38조 > 5장 92조
    - #총기융사보
    - #지창해인연 (SW산업기반조성 1. SW 지식재산권보호 2. SW사업/창업 활성화 3. 국제협력 및 해외진출 촉진 4. SW인력양성 5. SW연구 개발 활성화)
    - #융안교문기 (SW융합 및 교육확산 6. SW융합 촉진 7. SW안전 기준 8. SW교육의 활성화 9. SW문화 조성 10. SW기술자 우대)
    - #제과공장계분 (SW사업 선진화 11. 제안요청서에 대한 의견 제시 12. SW사업 과업심의위원회 13. 민간투자형 공공SW사업 14. 작업장소 선택의 자유 15. 계약목적물 활용 보장 16. SW사업분쟁조정위원회)
  • ICT융합 신산업 활성화의 발목을 잡는 규제이슈
    - 진입규제적 인프라 미흡 : 열거주의 방식(Positive) 법 체계, 기존 산업중심 및 오프라인 환경 위주의 사업요건, 법 개정으로 규제 완화 되었으나 여전히 미흡, 규제당국의 소극적 유권해석, 보이지 않는 규제 그림자, 규제 담당기관과 적용법령의 중복 규제
    - 기존 산업 이해 관계자들과의 충돌
    - 데이터 활동 제한 규제 : 광범위한 개인정보 개념, 개별적 사전동의 제도의 형해화, 엄격한 개인정보의 목적 외 이용처리 제한, 과도한 처벌 규정)
  • 4차 산업혁명시대의 규제개혁을 위한 개선방안
    - 입법방식 : #포성네유 (포괄적 개념 정의, 성과중심 관리체계, 요건나열식 네거티브 리스트, 유연한 분류체계)
    - 혁신제도 : #사탄샌시 (사후규제수간, 규제탄력 적용, 샌드박스, 시범사업/임시허가)
  • 포지티브 규제 vs 네거티브 규제
    - 원칙금지, 예외허용 / 원칙허용, 예외금지
    - 열거된것만 제한적으로 허용 / 금지한 것 외에는 모두 허용
    - 규정중심(Rule)의 열거주의 / 원칙중심(Principle)의 포괄주의
    - 국가의 감독, 규제 위주 법체계 / 민간의 자율, 창의 중심 법체계
    - 기본권의 최소 보장 / 기본권의 최대 보장
    - 융합 등 기술환경 변화에 대한 대응 곤란 / 융합 등 기술변화에 기민한 대응 가능
    - 사전규제 중심 / 사후관리와 사후규제 중심
    - 규제자(행정부)의 재량이 큼 / 규제자(행정부)의 재량이 적음
    - 사후 문자발생 최소화에 초점(규제많음) / 최소규제에 초점(규제적음)
    - 사례 : 국내 주요 금융정책(금산분리법, 전자금융거래법) / 전기통신사업법(이용자 이익저해 행위 열거하여 금지)
  • 금산분리
    - 금융자본과 산업자본이 상대 업종을 소유하거나 지배하는것의 금지 원칙
    - 공정거래법, 은행법, 금융지주회사법
  • 은산분리
    - 금산분리의 구체적 규칙
    - 소수 지분 투자자가 보유한 지분을 매각하는 과정에서 대주주의 지분을 묶어 함께 팔 수 있는 권리
    - 은행법상 산업자본에 대한 의결권이 있는 은행지분을 최대 4%까지만 보유할 수 있는 규정
    - 인터넷 은행에 한해 이 규정들을 완화하는 방안 추진중
  • 규제개혁 개선시 기대효과
    - 비즈니스 측면 : 시장경쟁력 확대, 중소/중견 기업의 서비스 출시 확대, 서비스의 효율성 및 사용성 증대
    - 기술 측면 : 기술 융복합 현상에 유연히 대응, 데이터 분석 확대로 신기술 R&D 증가, 산업분야 공통 플랫폼 형성
    - 인력 측면 : 전문가의 자율과 창의 보장, 신산업 분야 고용 증대 효과, 정책 연구 전문가 필요성 증대
Last Update. 2020.04.16