소프트웨어
- 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 : 프로세스 수행 지표, 프로세스 능력 지표
- 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
'Certification > ITPE' 카테고리의 다른 글
정보관리기술사 KeyNote #1. IT경영 (0) | 2021.04.13 |
---|---|
제116회 정보관리기술사 기출문제 (2018년) (0) | 2021.04.13 |